@gitterm/cli 0.0.6 → 0.1.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.
Files changed (3) hide show
  1. package/README.md +5 -0
  2. package/dist/index.js +2247 -454
  3. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -18,13 +18,15 @@ var __toESM = (mod, isNodeMode, target) => {
18
18
  return cached;
19
19
  }
20
20
  target = mod != null ? __create(__getProtoOf(mod)) : {};
21
- const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
22
- for (let key of __getOwnPropNames(mod))
23
- if (!__hasOwnProp.call(to, key))
24
- __defProp(to, key, {
25
- get: __accessProp.bind(mod, key),
26
- enumerable: true
27
- });
21
+ const to = isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
22
+ if (mod && typeof mod === "object" || typeof mod === "function") {
23
+ for (let key of __getOwnPropNames(mod))
24
+ if (!__hasOwnProp.call(to, key))
25
+ __defProp(to, key, {
26
+ get: __accessProp.bind(mod, key),
27
+ enumerable: true
28
+ });
29
+ }
28
30
  if (canCache)
29
31
  cache.set(mod, to);
30
32
  return to;
@@ -32,14 +34,14 @@ var __toESM = (mod, isNodeMode, target) => {
32
34
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
33
35
 
34
36
  // ../../node_modules/.bun/emoji-regex@10.6.0/node_modules/emoji-regex/index.js
35
- var require_emoji_regex = __commonJS((exports, module) => {
37
+ var require_emoji_regex = __commonJS(function(exports, module) {
36
38
  module.exports = () => {
37
39
  return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
38
40
  };
39
41
  });
40
42
 
41
43
  // ../../node_modules/.bun/get-caller-file@2.0.5/node_modules/get-caller-file/index.js
42
- var require_get_caller_file = __commonJS((exports, module) => {
44
+ var require_get_caller_file = __commonJS(function(exports, module) {
43
45
  module.exports = function getCallerFile(position) {
44
46
  if (position === undefined) {
45
47
  position = 2;
@@ -48,8 +50,8 @@ var require_get_caller_file = __commonJS((exports, module) => {
48
50
  throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `" + position + "` and Error.stackTraceLimit was: `" + Error.stackTraceLimit + "`");
49
51
  }
50
52
  var oldPrepareStackTrace = Error.prepareStackTrace;
51
- Error.prepareStackTrace = function(_, stack2) {
52
- return stack2;
53
+ Error.prepareStackTrace = function(_, stack) {
54
+ return stack;
53
55
  };
54
56
  var stack = new Error().stack;
55
57
  Error.prepareStackTrace = oldPrepareStackTrace;
@@ -60,7 +62,7 @@ var require_get_caller_file = __commonJS((exports, module) => {
60
62
  });
61
63
 
62
64
  // ../../node_modules/.bun/cli-spinners@2.9.2/node_modules/cli-spinners/spinners.json
63
- var require_spinners = __commonJS((exports, module) => {
65
+ var require_spinners = __commonJS(function(exports, module) {
64
66
  module.exports = {
65
67
  dots: {
66
68
  interval: 80,
@@ -1686,7 +1688,7 @@ var require_spinners = __commonJS((exports, module) => {
1686
1688
  });
1687
1689
 
1688
1690
  // ../../node_modules/.bun/cli-spinners@2.9.2/node_modules/cli-spinners/index.js
1689
- var require_cli_spinners = __commonJS((exports, module) => {
1691
+ var require_cli_spinners = __commonJS(function(exports, module) {
1690
1692
  var spinners = Object.assign({}, require_spinners());
1691
1693
  var spinnersList = Object.keys(spinners);
1692
1694
  Object.defineProperty(spinners, "random", {
@@ -1988,6 +1990,24 @@ function createChain(opts) {
1988
1990
  return obs$.subscribe(observer);
1989
1991
  });
1990
1992
  }
1993
+ function asArray(value) {
1994
+ return Array.isArray(value) ? value : [value];
1995
+ }
1996
+ function splitLink(opts) {
1997
+ return (runtime) => {
1998
+ const yes = asArray(opts.true).map((link) => link(runtime));
1999
+ const no = asArray(opts.false).map((link) => link(runtime));
2000
+ return (props) => {
2001
+ return observable((observer) => {
2002
+ const links = opts.condition(props.op) ? yes : no;
2003
+ return createChain({
2004
+ op: props.op,
2005
+ links
2006
+ }).subscribe(observer);
2007
+ });
2008
+ };
2009
+ };
2010
+ }
1991
2011
 
1992
2012
  // ../../node_modules/.bun/@trpc+server@11.8.1+1fb4c65d43e298b9/node_modules/@trpc/server/dist/codes-DagpWZLc.mjs
1993
2013
  function isObject(value) {
@@ -1996,6 +2016,7 @@ function isObject(value) {
1996
2016
  function emptyObject() {
1997
2017
  return Object.create(null);
1998
2018
  }
2019
+ var run = (fn) => fn();
1999
2020
  var TRPC_ERROR_CODES_BY_KEY = {
2000
2021
  PARSE_ERROR: -32700,
2001
2022
  BAD_REQUEST: -32600,
@@ -2212,9 +2233,608 @@ function transformResult(response, transformer) {
2212
2233
  }
2213
2234
  var import_objectSpread22 = __toESM3(require_objectSpread22(), 1);
2214
2235
  var trackedSymbol = Symbol();
2236
+ // ../../node_modules/.bun/@trpc+server@11.8.1+1fb4c65d43e298b9/node_modules/@trpc/server/dist/resolveResponse-C7AcnFLN.mjs
2237
+ var import_objectSpread2$12 = __toESM3(require_objectSpread22(), 1);
2238
+ /*!
2239
+ * is-plain-object <https://github.com/jonschlinkert/is-plain-object>
2240
+ *
2241
+ * Copyright (c) 2014-2017, Jon Schlinkert.
2242
+ * Released under the MIT License.
2243
+ */
2244
+ var import_defineProperty2 = __toESM3(require_defineProperty2(), 1);
2245
+ var _Symbol$toStringTag;
2246
+ var subscribableCache = /* @__PURE__ */ new WeakMap;
2247
+ var NOOP = () => {};
2248
+ _Symbol$toStringTag = Symbol.toStringTag;
2249
+ var Unpromise = class Unpromise {
2250
+ constructor(arg) {
2251
+ (0, import_defineProperty2.default)(this, "promise", undefined);
2252
+ (0, import_defineProperty2.default)(this, "subscribers", []);
2253
+ (0, import_defineProperty2.default)(this, "settlement", null);
2254
+ (0, import_defineProperty2.default)(this, _Symbol$toStringTag, "Unpromise");
2255
+ if (typeof arg === "function")
2256
+ this.promise = new Promise(arg);
2257
+ else
2258
+ this.promise = arg;
2259
+ const thenReturn = this.promise.then((value) => {
2260
+ const { subscribers } = this;
2261
+ this.subscribers = null;
2262
+ this.settlement = {
2263
+ status: "fulfilled",
2264
+ value
2265
+ };
2266
+ subscribers === null || subscribers === undefined || subscribers.forEach(({ resolve }) => {
2267
+ resolve(value);
2268
+ });
2269
+ });
2270
+ if ("catch" in thenReturn)
2271
+ thenReturn.catch((reason) => {
2272
+ const { subscribers } = this;
2273
+ this.subscribers = null;
2274
+ this.settlement = {
2275
+ status: "rejected",
2276
+ reason
2277
+ };
2278
+ subscribers === null || subscribers === undefined || subscribers.forEach(({ reject }) => {
2279
+ reject(reason);
2280
+ });
2281
+ });
2282
+ }
2283
+ subscribe() {
2284
+ let promise;
2285
+ let unsubscribe;
2286
+ const { settlement } = this;
2287
+ if (settlement === null) {
2288
+ if (this.subscribers === null)
2289
+ throw new Error("Unpromise settled but still has subscribers");
2290
+ const subscriber = withResolvers();
2291
+ this.subscribers = listWithMember(this.subscribers, subscriber);
2292
+ promise = subscriber.promise;
2293
+ unsubscribe = () => {
2294
+ if (this.subscribers !== null)
2295
+ this.subscribers = listWithoutMember(this.subscribers, subscriber);
2296
+ };
2297
+ } else {
2298
+ const { status } = settlement;
2299
+ if (status === "fulfilled")
2300
+ promise = Promise.resolve(settlement.value);
2301
+ else
2302
+ promise = Promise.reject(settlement.reason);
2303
+ unsubscribe = NOOP;
2304
+ }
2305
+ return Object.assign(promise, { unsubscribe });
2306
+ }
2307
+ then(onfulfilled, onrejected) {
2308
+ const subscribed = this.subscribe();
2309
+ const { unsubscribe } = subscribed;
2310
+ return Object.assign(subscribed.then(onfulfilled, onrejected), { unsubscribe });
2311
+ }
2312
+ catch(onrejected) {
2313
+ const subscribed = this.subscribe();
2314
+ const { unsubscribe } = subscribed;
2315
+ return Object.assign(subscribed.catch(onrejected), { unsubscribe });
2316
+ }
2317
+ finally(onfinally) {
2318
+ const subscribed = this.subscribe();
2319
+ const { unsubscribe } = subscribed;
2320
+ return Object.assign(subscribed.finally(onfinally), { unsubscribe });
2321
+ }
2322
+ static proxy(promise) {
2323
+ const cached = Unpromise.getSubscribablePromise(promise);
2324
+ return typeof cached !== "undefined" ? cached : Unpromise.createSubscribablePromise(promise);
2325
+ }
2326
+ static createSubscribablePromise(promise) {
2327
+ const created = new Unpromise(promise);
2328
+ subscribableCache.set(promise, created);
2329
+ subscribableCache.set(created, created);
2330
+ return created;
2331
+ }
2332
+ static getSubscribablePromise(promise) {
2333
+ return subscribableCache.get(promise);
2334
+ }
2335
+ static resolve(value) {
2336
+ const promise = typeof value === "object" && value !== null && "then" in value && typeof value.then === "function" ? value : Promise.resolve(value);
2337
+ return Unpromise.proxy(promise).subscribe();
2338
+ }
2339
+ static async any(values) {
2340
+ const valuesArray = Array.isArray(values) ? values : [...values];
2341
+ const subscribedPromises = valuesArray.map(Unpromise.resolve);
2342
+ try {
2343
+ return await Promise.any(subscribedPromises);
2344
+ } finally {
2345
+ subscribedPromises.forEach(({ unsubscribe }) => {
2346
+ unsubscribe();
2347
+ });
2348
+ }
2349
+ }
2350
+ static async race(values) {
2351
+ const valuesArray = Array.isArray(values) ? values : [...values];
2352
+ const subscribedPromises = valuesArray.map(Unpromise.resolve);
2353
+ try {
2354
+ return await Promise.race(subscribedPromises);
2355
+ } finally {
2356
+ subscribedPromises.forEach(({ unsubscribe }) => {
2357
+ unsubscribe();
2358
+ });
2359
+ }
2360
+ }
2361
+ static async raceReferences(promises) {
2362
+ const selfPromises = promises.map(resolveSelfTuple);
2363
+ try {
2364
+ return await Promise.race(selfPromises);
2365
+ } finally {
2366
+ for (const promise of selfPromises)
2367
+ promise.unsubscribe();
2368
+ }
2369
+ }
2370
+ };
2371
+ function resolveSelfTuple(promise) {
2372
+ return Unpromise.proxy(promise).then(() => [promise]);
2373
+ }
2374
+ function withResolvers() {
2375
+ let resolve;
2376
+ let reject;
2377
+ const promise = new Promise((_resolve, _reject) => {
2378
+ resolve = _resolve;
2379
+ reject = _reject;
2380
+ });
2381
+ return {
2382
+ promise,
2383
+ resolve,
2384
+ reject
2385
+ };
2386
+ }
2387
+ function listWithMember(arr, member) {
2388
+ return [...arr, member];
2389
+ }
2390
+ function listWithoutIndex(arr, index) {
2391
+ return [...arr.slice(0, index), ...arr.slice(index + 1)];
2392
+ }
2393
+ function listWithoutMember(arr, member) {
2394
+ const index = arr.indexOf(member);
2395
+ if (index !== -1)
2396
+ return listWithoutIndex(arr, index);
2397
+ return arr;
2398
+ }
2399
+ var _Symbol;
2400
+ var _Symbol$dispose;
2401
+ var _Symbol2;
2402
+ var _Symbol2$asyncDispose;
2403
+ (_Symbol$dispose = (_Symbol = Symbol).dispose) !== null && _Symbol$dispose !== undefined || (_Symbol.dispose = Symbol());
2404
+ (_Symbol2$asyncDispose = (_Symbol2 = Symbol).asyncDispose) !== null && _Symbol2$asyncDispose !== undefined || (_Symbol2.asyncDispose = Symbol());
2405
+ function makeResource(thing, dispose) {
2406
+ const it = thing;
2407
+ const existing = it[Symbol.dispose];
2408
+ it[Symbol.dispose] = () => {
2409
+ dispose();
2410
+ existing === null || existing === undefined || existing();
2411
+ };
2412
+ return it;
2413
+ }
2414
+ function makeAsyncResource(thing, dispose) {
2415
+ const it = thing;
2416
+ const existing = it[Symbol.asyncDispose];
2417
+ it[Symbol.asyncDispose] = async () => {
2418
+ await dispose();
2419
+ await (existing === null || existing === undefined ? undefined : existing());
2420
+ };
2421
+ return it;
2422
+ }
2423
+ var disposablePromiseTimerResult = Symbol();
2424
+ function timerResource(ms) {
2425
+ let timer = null;
2426
+ return makeResource({ start() {
2427
+ if (timer)
2428
+ throw new Error("Timer already started");
2429
+ const promise = new Promise((resolve) => {
2430
+ timer = setTimeout(() => resolve(disposablePromiseTimerResult), ms);
2431
+ });
2432
+ return promise;
2433
+ } }, () => {
2434
+ if (timer)
2435
+ clearTimeout(timer);
2436
+ });
2437
+ }
2438
+ var require_usingCtx = __commonJS3({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js"(exports, module) {
2439
+ function _usingCtx() {
2440
+ var r = typeof SuppressedError == "function" ? SuppressedError : function(r$1, e$1) {
2441
+ var n$1 = Error();
2442
+ return n$1.name = "SuppressedError", n$1.error = r$1, n$1.suppressed = e$1, n$1;
2443
+ }, e = {}, n = [];
2444
+ function using(r$1, e$1) {
2445
+ if (e$1 != null) {
2446
+ if (Object(e$1) !== e$1)
2447
+ throw new TypeError("using declarations can only be used with objects, functions, null, or undefined.");
2448
+ if (r$1)
2449
+ var o = e$1[Symbol.asyncDispose || Symbol["for"]("Symbol.asyncDispose")];
2450
+ if (o === undefined && (o = e$1[Symbol.dispose || Symbol["for"]("Symbol.dispose")], r$1))
2451
+ var t = o;
2452
+ if (typeof o != "function")
2453
+ throw new TypeError("Object is not disposable.");
2454
+ t && (o = function o$1() {
2455
+ try {
2456
+ t.call(e$1);
2457
+ } catch (r$2) {
2458
+ return Promise.reject(r$2);
2459
+ }
2460
+ }), n.push({
2461
+ v: e$1,
2462
+ d: o,
2463
+ a: r$1
2464
+ });
2465
+ } else
2466
+ r$1 && n.push({
2467
+ d: e$1,
2468
+ a: r$1
2469
+ });
2470
+ return e$1;
2471
+ }
2472
+ return {
2473
+ e,
2474
+ u: using.bind(null, false),
2475
+ a: using.bind(null, true),
2476
+ d: function d() {
2477
+ var o, t = this.e, s = 0;
2478
+ function next() {
2479
+ for (;o = n.pop(); )
2480
+ try {
2481
+ if (!o.a && s === 1)
2482
+ return s = 0, n.push(o), Promise.resolve().then(next);
2483
+ if (o.d) {
2484
+ var r$1 = o.d.call(o.v);
2485
+ if (o.a)
2486
+ return s |= 2, Promise.resolve(r$1).then(next, err);
2487
+ } else
2488
+ s |= 1;
2489
+ } catch (r$2) {
2490
+ return err(r$2);
2491
+ }
2492
+ if (s === 1)
2493
+ return t !== e ? Promise.reject(t) : Promise.resolve();
2494
+ if (t !== e)
2495
+ throw t;
2496
+ }
2497
+ function err(n$1) {
2498
+ return t = t !== e ? new r(n$1, t) : n$1, next();
2499
+ }
2500
+ return next();
2501
+ }
2502
+ };
2503
+ }
2504
+ module.exports = _usingCtx, module.exports.__esModule = true, module.exports["default"] = module.exports;
2505
+ } });
2506
+ var require_OverloadYield = __commonJS3({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js"(exports, module) {
2507
+ function _OverloadYield(e, d) {
2508
+ this.v = e, this.k = d;
2509
+ }
2510
+ module.exports = _OverloadYield, module.exports.__esModule = true, module.exports["default"] = module.exports;
2511
+ } });
2512
+ var require_awaitAsyncGenerator = __commonJS3({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js"(exports, module) {
2513
+ var OverloadYield$2 = require_OverloadYield();
2514
+ function _awaitAsyncGenerator$5(e) {
2515
+ return new OverloadYield$2(e, 0);
2516
+ }
2517
+ module.exports = _awaitAsyncGenerator$5, module.exports.__esModule = true, module.exports["default"] = module.exports;
2518
+ } });
2519
+ var require_wrapAsyncGenerator = __commonJS3({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js"(exports, module) {
2520
+ var OverloadYield$1 = require_OverloadYield();
2521
+ function _wrapAsyncGenerator$6(e) {
2522
+ return function() {
2523
+ return new AsyncGenerator(e.apply(this, arguments));
2524
+ };
2525
+ }
2526
+ function AsyncGenerator(e) {
2527
+ var r, t;
2528
+ function resume(r$1, t$1) {
2529
+ try {
2530
+ var n = e[r$1](t$1), o = n.value, u = o instanceof OverloadYield$1;
2531
+ Promise.resolve(u ? o.v : o).then(function(t$2) {
2532
+ if (u) {
2533
+ var i = r$1 === "return" ? "return" : "next";
2534
+ if (!o.k || t$2.done)
2535
+ return resume(i, t$2);
2536
+ t$2 = e[i](t$2).value;
2537
+ }
2538
+ settle(n.done ? "return" : "normal", t$2);
2539
+ }, function(e$1) {
2540
+ resume("throw", e$1);
2541
+ });
2542
+ } catch (e$1) {
2543
+ settle("throw", e$1);
2544
+ }
2545
+ }
2546
+ function settle(e$1, n) {
2547
+ switch (e$1) {
2548
+ case "return":
2549
+ r.resolve({
2550
+ value: n,
2551
+ done: true
2552
+ });
2553
+ break;
2554
+ case "throw":
2555
+ r.reject(n);
2556
+ break;
2557
+ default:
2558
+ r.resolve({
2559
+ value: n,
2560
+ done: false
2561
+ });
2562
+ }
2563
+ (r = r.next) ? resume(r.key, r.arg) : t = null;
2564
+ }
2565
+ this._invoke = function(e$1, n) {
2566
+ return new Promise(function(o, u) {
2567
+ var i = {
2568
+ key: e$1,
2569
+ arg: n,
2570
+ resolve: o,
2571
+ reject: u,
2572
+ next: null
2573
+ };
2574
+ t ? t = t.next = i : (r = t = i, resume(e$1, n));
2575
+ });
2576
+ }, typeof e["return"] != "function" && (this["return"] = undefined);
2577
+ }
2578
+ AsyncGenerator.prototype[typeof Symbol == "function" && Symbol.asyncIterator || "@@asyncIterator"] = function() {
2579
+ return this;
2580
+ }, AsyncGenerator.prototype.next = function(e) {
2581
+ return this._invoke("next", e);
2582
+ }, AsyncGenerator.prototype["throw"] = function(e) {
2583
+ return this._invoke("throw", e);
2584
+ }, AsyncGenerator.prototype["return"] = function(e) {
2585
+ return this._invoke("return", e);
2586
+ };
2587
+ module.exports = _wrapAsyncGenerator$6, module.exports.__esModule = true, module.exports["default"] = module.exports;
2588
+ } });
2589
+ var import_usingCtx$4 = __toESM3(require_usingCtx(), 1);
2590
+ var import_awaitAsyncGenerator$4 = __toESM3(require_awaitAsyncGenerator(), 1);
2591
+ var import_wrapAsyncGenerator$5 = __toESM3(require_wrapAsyncGenerator(), 1);
2592
+ var import_usingCtx$3 = __toESM3(require_usingCtx(), 1);
2593
+ var import_awaitAsyncGenerator$3 = __toESM3(require_awaitAsyncGenerator(), 1);
2594
+ var import_wrapAsyncGenerator$4 = __toESM3(require_wrapAsyncGenerator(), 1);
2595
+ var import_usingCtx$2 = __toESM3(require_usingCtx(), 1);
2596
+ var import_awaitAsyncGenerator$2 = __toESM3(require_awaitAsyncGenerator(), 1);
2597
+ var import_wrapAsyncGenerator$3 = __toESM3(require_wrapAsyncGenerator(), 1);
2598
+ var PING_SYM = Symbol("ping");
2599
+ var require_asyncIterator = __commonJS3({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js"(exports, module) {
2600
+ function _asyncIterator$2(r) {
2601
+ var n, t, o, e = 2;
2602
+ for (typeof Symbol != "undefined" && (t = Symbol.asyncIterator, o = Symbol.iterator);e--; ) {
2603
+ if (t && (n = r[t]) != null)
2604
+ return n.call(r);
2605
+ if (o && (n = r[o]) != null)
2606
+ return new AsyncFromSyncIterator(n.call(r));
2607
+ t = "@@asyncIterator", o = "@@iterator";
2608
+ }
2609
+ throw new TypeError("Object is not async iterable");
2610
+ }
2611
+ function AsyncFromSyncIterator(r) {
2612
+ function AsyncFromSyncIteratorContinuation(r$1) {
2613
+ if (Object(r$1) !== r$1)
2614
+ return Promise.reject(new TypeError(r$1 + " is not an object."));
2615
+ var n = r$1.done;
2616
+ return Promise.resolve(r$1.value).then(function(r$2) {
2617
+ return {
2618
+ value: r$2,
2619
+ done: n
2620
+ };
2621
+ });
2622
+ }
2623
+ return AsyncFromSyncIterator = function AsyncFromSyncIterator$1(r$1) {
2624
+ this.s = r$1, this.n = r$1.next;
2625
+ }, AsyncFromSyncIterator.prototype = {
2626
+ s: null,
2627
+ n: null,
2628
+ next: function next() {
2629
+ return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments));
2630
+ },
2631
+ return: function _return(r$1) {
2632
+ var n = this.s["return"];
2633
+ return n === undefined ? Promise.resolve({
2634
+ value: r$1,
2635
+ done: true
2636
+ }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));
2637
+ },
2638
+ throw: function _throw(r$1) {
2639
+ var n = this.s["return"];
2640
+ return n === undefined ? Promise.reject(r$1) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments));
2641
+ }
2642
+ }, new AsyncFromSyncIterator(r);
2643
+ }
2644
+ module.exports = _asyncIterator$2, module.exports.__esModule = true, module.exports["default"] = module.exports;
2645
+ } });
2646
+ var import_awaitAsyncGenerator$1 = __toESM3(require_awaitAsyncGenerator(), 1);
2647
+ var import_wrapAsyncGenerator$2 = __toESM3(require_wrapAsyncGenerator(), 1);
2648
+ var import_usingCtx$1 = __toESM3(require_usingCtx(), 1);
2649
+ var import_asyncIterator$1 = __toESM3(require_asyncIterator(), 1);
2650
+ var require_asyncGeneratorDelegate = __commonJS3({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncGeneratorDelegate.js"(exports, module) {
2651
+ var OverloadYield = require_OverloadYield();
2652
+ function _asyncGeneratorDelegate$1(t) {
2653
+ var e = {}, n = false;
2654
+ function pump(e$1, r) {
2655
+ return n = true, r = new Promise(function(n$1) {
2656
+ n$1(t[e$1](r));
2657
+ }), {
2658
+ done: false,
2659
+ value: new OverloadYield(r, 1)
2660
+ };
2661
+ }
2662
+ return e[typeof Symbol != "undefined" && Symbol.iterator || "@@iterator"] = function() {
2663
+ return this;
2664
+ }, e.next = function(t$1) {
2665
+ return n ? (n = false, t$1) : pump("next", t$1);
2666
+ }, typeof t["throw"] == "function" && (e["throw"] = function(t$1) {
2667
+ if (n)
2668
+ throw n = false, t$1;
2669
+ return pump("throw", t$1);
2670
+ }), typeof t["return"] == "function" && (e["return"] = function(t$1) {
2671
+ return n ? (n = false, t$1) : pump("return", t$1);
2672
+ }), e;
2673
+ }
2674
+ module.exports = _asyncGeneratorDelegate$1, module.exports.__esModule = true, module.exports["default"] = module.exports;
2675
+ } });
2676
+ var import_asyncIterator = __toESM3(require_asyncIterator(), 1);
2677
+ var import_awaitAsyncGenerator = __toESM3(require_awaitAsyncGenerator(), 1);
2678
+ var import_wrapAsyncGenerator$1 = __toESM3(require_wrapAsyncGenerator(), 1);
2679
+ var import_asyncGeneratorDelegate = __toESM3(require_asyncGeneratorDelegate(), 1);
2680
+ var import_usingCtx = __toESM3(require_usingCtx(), 1);
2681
+ var PING_EVENT = "ping";
2682
+ var SERIALIZED_ERROR_EVENT = "serialized-error";
2683
+ var CONNECTED_EVENT = "connected";
2684
+ var RETURN_EVENT = "return";
2685
+ async function withTimeout(opts) {
2686
+ try {
2687
+ var _usingCtx$1 = (0, import_usingCtx.default)();
2688
+ const timeoutPromise = _usingCtx$1.u(timerResource(opts.timeoutMs));
2689
+ const res = await Unpromise.race([opts.promise, timeoutPromise.start()]);
2690
+ if (res === disposablePromiseTimerResult)
2691
+ return await opts.onTimeout();
2692
+ return res;
2693
+ } catch (_) {
2694
+ _usingCtx$1.e = _;
2695
+ } finally {
2696
+ _usingCtx$1.d();
2697
+ }
2698
+ }
2699
+ function sseStreamConsumer(opts) {
2700
+ const { deserialize = (v) => v } = opts;
2701
+ let clientOptions = emptyObject();
2702
+ const signal = opts.signal;
2703
+ let _es = null;
2704
+ const createStream = () => new ReadableStream({
2705
+ async start(controller) {
2706
+ const [url, init] = await Promise.all([opts.url(), opts.init()]);
2707
+ const eventSource = _es = new opts.EventSource(url, init);
2708
+ controller.enqueue({
2709
+ type: "connecting",
2710
+ eventSource: _es,
2711
+ event: null
2712
+ });
2713
+ eventSource.addEventListener(CONNECTED_EVENT, (_msg) => {
2714
+ const msg = _msg;
2715
+ const options = JSON.parse(msg.data);
2716
+ clientOptions = options;
2717
+ controller.enqueue({
2718
+ type: "connected",
2719
+ options,
2720
+ eventSource
2721
+ });
2722
+ });
2723
+ eventSource.addEventListener(SERIALIZED_ERROR_EVENT, (_msg) => {
2724
+ const msg = _msg;
2725
+ controller.enqueue({
2726
+ type: "serialized-error",
2727
+ error: deserialize(JSON.parse(msg.data)),
2728
+ eventSource
2729
+ });
2730
+ });
2731
+ eventSource.addEventListener(PING_EVENT, () => {
2732
+ controller.enqueue({
2733
+ type: "ping",
2734
+ eventSource
2735
+ });
2736
+ });
2737
+ eventSource.addEventListener(RETURN_EVENT, () => {
2738
+ eventSource.close();
2739
+ controller.close();
2740
+ _es = null;
2741
+ });
2742
+ eventSource.addEventListener("error", (event) => {
2743
+ if (eventSource.readyState === eventSource.CLOSED)
2744
+ controller.error(event);
2745
+ else
2746
+ controller.enqueue({
2747
+ type: "connecting",
2748
+ eventSource,
2749
+ event
2750
+ });
2751
+ });
2752
+ eventSource.addEventListener("message", (_msg) => {
2753
+ const msg = _msg;
2754
+ const chunk = deserialize(JSON.parse(msg.data));
2755
+ const def = { data: chunk };
2756
+ if (msg.lastEventId)
2757
+ def.id = msg.lastEventId;
2758
+ controller.enqueue({
2759
+ type: "data",
2760
+ data: def,
2761
+ eventSource
2762
+ });
2763
+ });
2764
+ const onAbort = () => {
2765
+ try {
2766
+ eventSource.close();
2767
+ controller.close();
2768
+ } catch (_unused) {}
2769
+ };
2770
+ if (signal.aborted)
2771
+ onAbort();
2772
+ else
2773
+ signal.addEventListener("abort", onAbort);
2774
+ },
2775
+ cancel() {
2776
+ _es === null || _es === undefined || _es.close();
2777
+ }
2778
+ });
2779
+ const getStreamResource = () => {
2780
+ let stream = createStream();
2781
+ let reader = stream.getReader();
2782
+ async function dispose() {
2783
+ await reader.cancel();
2784
+ _es = null;
2785
+ }
2786
+ return makeAsyncResource({
2787
+ read() {
2788
+ return reader.read();
2789
+ },
2790
+ async recreate() {
2791
+ await dispose();
2792
+ stream = createStream();
2793
+ reader = stream.getReader();
2794
+ }
2795
+ }, dispose);
2796
+ };
2797
+ return run((0, import_wrapAsyncGenerator$1.default)(function* () {
2798
+ try {
2799
+ var _usingCtx3 = (0, import_usingCtx.default)();
2800
+ const stream = _usingCtx3.a(getStreamResource());
2801
+ while (true) {
2802
+ let promise = stream.read();
2803
+ const timeoutMs = clientOptions.reconnectAfterInactivityMs;
2804
+ if (timeoutMs)
2805
+ promise = withTimeout({
2806
+ promise,
2807
+ timeoutMs,
2808
+ onTimeout: async () => {
2809
+ const res = {
2810
+ value: {
2811
+ type: "timeout",
2812
+ ms: timeoutMs,
2813
+ eventSource: _es
2814
+ },
2815
+ done: false
2816
+ };
2817
+ await stream.recreate();
2818
+ return res;
2819
+ }
2820
+ });
2821
+ const result = yield (0, import_awaitAsyncGenerator.default)(promise);
2822
+ if (result.done)
2823
+ return result.value;
2824
+ yield result.value;
2825
+ }
2826
+ } catch (_) {
2827
+ _usingCtx3.e = _;
2828
+ } finally {
2829
+ yield (0, import_awaitAsyncGenerator.default)(_usingCtx3.d());
2830
+ }
2831
+ }));
2832
+ }
2833
+ var import_wrapAsyncGenerator = __toESM3(require_wrapAsyncGenerator(), 1);
2834
+ var import_objectSpread23 = __toESM3(require_objectSpread22(), 1);
2215
2835
  // ../../node_modules/.bun/@trpc+client@11.8.1+56fb0e3277503e89/node_modules/@trpc/client/dist/TRPCClientError-CjKyS10w.mjs
2216
- var import_defineProperty2 = __toESM2(require_defineProperty(), 1);
2217
- var import_objectSpread23 = __toESM2(require_objectSpread2(), 1);
2836
+ var import_defineProperty3 = __toESM2(require_defineProperty(), 1);
2837
+ var import_objectSpread24 = __toESM2(require_objectSpread2(), 1);
2218
2838
  function isTRPCClientError(cause) {
2219
2839
  return cause instanceof TRPCClientError;
2220
2840
  }
@@ -2228,32 +2848,32 @@ function getMessageFromUnknownError(err, fallback) {
2228
2848
  return err["message"];
2229
2849
  return fallback;
2230
2850
  }
2231
- var TRPCClientError = class TRPCClientError2 extends Error {
2851
+ var TRPCClientError = class TRPCClientError extends Error {
2232
2852
  constructor(message, opts) {
2233
2853
  var _opts$result, _opts$result2;
2234
2854
  const cause = opts === null || opts === undefined ? undefined : opts.cause;
2235
2855
  super(message, { cause });
2236
- (0, import_defineProperty2.default)(this, "cause", undefined);
2237
- (0, import_defineProperty2.default)(this, "shape", undefined);
2238
- (0, import_defineProperty2.default)(this, "data", undefined);
2239
- (0, import_defineProperty2.default)(this, "meta", undefined);
2856
+ (0, import_defineProperty3.default)(this, "cause", undefined);
2857
+ (0, import_defineProperty3.default)(this, "shape", undefined);
2858
+ (0, import_defineProperty3.default)(this, "data", undefined);
2859
+ (0, import_defineProperty3.default)(this, "meta", undefined);
2240
2860
  this.meta = opts === null || opts === undefined ? undefined : opts.meta;
2241
2861
  this.cause = cause;
2242
2862
  this.shape = opts === null || opts === undefined || (_opts$result = opts.result) === null || _opts$result === undefined ? undefined : _opts$result.error;
2243
2863
  this.data = opts === null || opts === undefined || (_opts$result2 = opts.result) === null || _opts$result2 === undefined ? undefined : _opts$result2.error.data;
2244
2864
  this.name = "TRPCClientError";
2245
- Object.setPrototypeOf(this, TRPCClientError2.prototype);
2865
+ Object.setPrototypeOf(this, TRPCClientError.prototype);
2246
2866
  }
2247
2867
  static from(_cause, opts = {}) {
2248
2868
  const cause = _cause;
2249
2869
  if (isTRPCClientError(cause)) {
2250
2870
  if (opts.meta)
2251
- cause.meta = (0, import_objectSpread23.default)((0, import_objectSpread23.default)({}, cause.meta), opts.meta);
2871
+ cause.meta = (0, import_objectSpread24.default)((0, import_objectSpread24.default)({}, cause.meta), opts.meta);
2252
2872
  return cause;
2253
2873
  }
2254
2874
  if (isTRPCErrorResponse(cause))
2255
- return new TRPCClientError2(cause.error.message, (0, import_objectSpread23.default)((0, import_objectSpread23.default)({}, opts), {}, { result: cause }));
2256
- return new TRPCClientError2(getMessageFromUnknownError(cause, "Unknown error"), (0, import_objectSpread23.default)((0, import_objectSpread23.default)({}, opts), {}, { cause }));
2875
+ return new TRPCClientError(cause.error.message, (0, import_objectSpread24.default)((0, import_objectSpread24.default)({}, opts), {}, { result: cause }));
2876
+ return new TRPCClientError(getMessageFromUnknownError(cause, "Unknown error"), (0, import_objectSpread24.default)((0, import_objectSpread24.default)({}, opts), {}, { cause }));
2257
2877
  }
2258
2878
  };
2259
2879
 
@@ -2290,7 +2910,7 @@ function getFetch(customFetchImpl) {
2290
2910
  return globalThis.fetch;
2291
2911
  throw new Error("No fetch implementation found");
2292
2912
  }
2293
- var import_objectSpread24 = __toESM2(require_objectSpread2(), 1);
2913
+ var import_objectSpread25 = __toESM2(require_objectSpread2(), 1);
2294
2914
  function resolveHTTPLinkOptions(opts) {
2295
2915
  return {
2296
2916
  url: opts.url.toString(),
@@ -2340,7 +2960,7 @@ var getBody = (opts) => {
2340
2960
  return input !== undefined ? JSON.stringify(input) : undefined;
2341
2961
  };
2342
2962
  var jsonHttpRequester = (opts) => {
2343
- return httpRequest((0, import_objectSpread24.default)((0, import_objectSpread24.default)({}, opts), {}, {
2963
+ return httpRequest((0, import_objectSpread25.default)((0, import_objectSpread25.default)({}, opts), {}, {
2344
2964
  contentTypeHeader: "application/json",
2345
2965
  getUrl,
2346
2966
  getBody
@@ -2375,7 +2995,7 @@ async function fetchHTTPResponse(opts) {
2375
2995
  return Object.fromEntries(heads);
2376
2996
  return heads;
2377
2997
  })();
2378
- const headers = (0, import_objectSpread24.default)((0, import_objectSpread24.default)((0, import_objectSpread24.default)({}, opts.contentTypeHeader && method !== "GET" ? { "content-type": opts.contentTypeHeader } : {}), opts.trpcAcceptHeader ? { "trpc-accept": opts.trpcAcceptHeader } : undefined), resolvedHeaders);
2998
+ const headers = (0, import_objectSpread25.default)((0, import_objectSpread25.default)((0, import_objectSpread25.default)({}, opts.contentTypeHeader && method !== "GET" ? { "content-type": opts.contentTypeHeader } : {}), opts.trpcAcceptHeader ? { "trpc-accept": opts.trpcAcceptHeader } : undefined), resolvedHeaders);
2379
2999
  return getFetch(opts.fetch)(url, {
2380
3000
  method,
2381
3001
  signal: opts.signal,
@@ -2396,7 +3016,7 @@ async function httpRequest(opts) {
2396
3016
  }
2397
3017
 
2398
3018
  // ../../node_modules/.bun/@trpc+client@11.8.1+56fb0e3277503e89/node_modules/@trpc/client/dist/httpLink-DCFpUmZF.mjs
2399
- var import_objectSpread25 = __toESM2(require_objectSpread2(), 1);
3019
+ var import_objectSpread26 = __toESM2(require_objectSpread2(), 1);
2400
3020
 
2401
3021
  // ../../node_modules/.bun/@trpc+client@11.8.1+56fb0e3277503e89/node_modules/@trpc/client/dist/httpBatchLink-BOe5aCcR.mjs
2402
3022
  var throwFatalError = () => {
@@ -2515,7 +3135,16 @@ function allAbortSignals(...signals) {
2515
3135
  signal === null || signal === undefined || signal.addEventListener("abort", onAbort, { once: true });
2516
3136
  return ac.signal;
2517
3137
  }
2518
- var import_objectSpread26 = __toESM2(require_objectSpread2(), 1);
3138
+ function raceAbortSignals(...signals) {
3139
+ const ac = new AbortController;
3140
+ for (const signal of signals)
3141
+ if (signal === null || signal === undefined ? undefined : signal.aborted)
3142
+ ac.abort();
3143
+ else
3144
+ signal === null || signal === undefined || signal.addEventListener("abort", () => ac.abort(), { once: true });
3145
+ return ac.signal;
3146
+ }
3147
+ var import_objectSpread27 = __toESM2(require_objectSpread2(), 1);
2519
3148
  function httpBatchLink(opts) {
2520
3149
  var _opts$maxURLLength, _opts$maxItems;
2521
3150
  const resolvedOpts = resolveHTTPLinkOptions(opts);
@@ -2531,7 +3160,7 @@ function httpBatchLink(opts) {
2531
3160
  return false;
2532
3161
  const path = batchOps.map((op) => op.path).join(",");
2533
3162
  const inputs = batchOps.map((op) => op.input);
2534
- const url = getUrl((0, import_objectSpread26.default)((0, import_objectSpread26.default)({}, resolvedOpts), {}, {
3163
+ const url = getUrl((0, import_objectSpread27.default)((0, import_objectSpread27.default)({}, resolvedOpts), {}, {
2535
3164
  type,
2536
3165
  path,
2537
3166
  inputs,
@@ -2543,7 +3172,7 @@ function httpBatchLink(opts) {
2543
3172
  const path = batchOps.map((op) => op.path).join(",");
2544
3173
  const inputs = batchOps.map((op) => op.input);
2545
3174
  const signal = allAbortSignals(...batchOps.map((op) => op.signal));
2546
- const res = await jsonHttpRequester((0, import_objectSpread26.default)((0, import_objectSpread26.default)({}, resolvedOpts), {}, {
3175
+ const res = await jsonHttpRequester((0, import_objectSpread27.default)((0, import_objectSpread27.default)({}, resolvedOpts), {}, {
2547
3176
  path,
2548
3177
  inputs,
2549
3178
  type,
@@ -2600,14 +3229,14 @@ function httpBatchLink(opts) {
2600
3229
  }
2601
3230
 
2602
3231
  // ../../node_modules/.bun/@trpc+client@11.8.1+56fb0e3277503e89/node_modules/@trpc/client/dist/loggerLink-ineCN1PO.mjs
2603
- var import_objectSpread27 = __toESM2(require_objectSpread2(), 1);
3232
+ var import_objectSpread28 = __toESM2(require_objectSpread2(), 1);
2604
3233
 
2605
3234
  // ../../node_modules/.bun/@trpc+client@11.8.1+56fb0e3277503e89/node_modules/@trpc/client/dist/wsLink-CatceK3c.mjs
2606
3235
  var resultOf = (value, ...args) => {
2607
3236
  return typeof value === "function" ? value(...args) : value;
2608
3237
  };
2609
3238
  var import_defineProperty$3 = __toESM2(require_defineProperty(), 1);
2610
- function withResolvers() {
3239
+ function withResolvers2() {
2611
3240
  let resolve;
2612
3241
  let reject;
2613
3242
  const promise = new Promise((res, rej) => {
@@ -2638,7 +3267,7 @@ async function buildConnectionMessage(connectionParams) {
2638
3267
  var import_defineProperty$2 = __toESM2(require_defineProperty(), 1);
2639
3268
  var import_defineProperty$1 = __toESM2(require_defineProperty(), 1);
2640
3269
  function asyncWsOpen(ws) {
2641
- const { promise, resolve, reject } = withResolvers();
3270
+ const { promise, resolve, reject } = withResolvers2();
2642
3271
  ws.addEventListener("open", () => {
2643
3272
  ws.removeEventListener("error", reject);
2644
3273
  resolve();
@@ -2677,10 +3306,10 @@ function setupPingInterval(ws, { intervalMs, pongTimeoutMs }) {
2677
3306
  clearTimeout(pongTimeout);
2678
3307
  });
2679
3308
  }
2680
- var WsConnection = class WsConnection2 {
3309
+ var WsConnection = class WsConnection {
2681
3310
  constructor(opts) {
2682
3311
  var _opts$WebSocketPonyfi;
2683
- (0, import_defineProperty$1.default)(this, "id", ++WsConnection2.connectCount);
3312
+ (0, import_defineProperty$1.default)(this, "id", ++WsConnection.connectCount);
2684
3313
  (0, import_defineProperty$1.default)(this, "WebSocketPonyfill", undefined);
2685
3314
  (0, import_defineProperty$1.default)(this, "urlOptions", undefined);
2686
3315
  (0, import_defineProperty$1.default)(this, "keepAliveOpts", undefined);
@@ -2708,7 +3337,7 @@ var WsConnection = class WsConnection2 {
2708
3337
  var _this = this;
2709
3338
  if (_this.openPromise)
2710
3339
  return _this.openPromise;
2711
- _this.id = ++WsConnection2.connectCount;
3340
+ _this.id = ++WsConnection.connectCount;
2712
3341
  const wsPromise = prepareUrl(_this.urlOptions).then((url) => new _this.WebSocketPonyfill(url));
2713
3342
  _this.openPromise = wsPromise.then(async (ws) => {
2714
3343
  _this.ws = ws;
@@ -2743,17 +3372,17 @@ var WsConnection = class WsConnection2 {
2743
3372
  }
2744
3373
  };
2745
3374
  (0, import_defineProperty$1.default)(WsConnection, "connectCount", 0);
2746
- var import_defineProperty3 = __toESM2(require_defineProperty(), 1);
2747
- var import_objectSpread28 = __toESM2(require_objectSpread2(), 1);
3375
+ var import_defineProperty4 = __toESM2(require_defineProperty(), 1);
3376
+ var import_objectSpread29 = __toESM2(require_objectSpread2(), 1);
2748
3377
 
2749
3378
  // ../../node_modules/.bun/@trpc+client@11.8.1+56fb0e3277503e89/node_modules/@trpc/client/dist/index.mjs
2750
- var import_defineProperty4 = __toESM2(require_defineProperty(), 1);
3379
+ var import_defineProperty5 = __toESM2(require_defineProperty(), 1);
2751
3380
  var import_objectSpread2$4 = __toESM2(require_objectSpread2(), 1);
2752
3381
  var TRPCUntypedClient = class {
2753
3382
  constructor(opts) {
2754
- (0, import_defineProperty4.default)(this, "links", undefined);
2755
- (0, import_defineProperty4.default)(this, "runtime", undefined);
2756
- (0, import_defineProperty4.default)(this, "requestId", undefined);
3383
+ (0, import_defineProperty5.default)(this, "links", undefined);
3384
+ (0, import_defineProperty5.default)(this, "runtime", undefined);
3385
+ (0, import_defineProperty5.default)(this, "requestId", undefined);
2757
3386
  this.requestId = 0;
2758
3387
  this.runtime = {};
2759
3388
  this.links = opts.links.map((link) => link(this.runtime));
@@ -2872,7 +3501,14 @@ function createTRPCClient(opts) {
2872
3501
  }
2873
3502
  var import_objectSpread2$3 = __toESM2(require_objectSpread2(), 1);
2874
3503
  var import_objectSpread2$2 = __toESM2(require_objectSpread2(), 1);
2875
- var require_asyncIterator = __commonJS2({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js"(exports, module) {
3504
+ function inputWithTrackedEventId(input, lastEventId) {
3505
+ if (!lastEventId)
3506
+ return input;
3507
+ if (input != null && typeof input !== "object")
3508
+ return input;
3509
+ return (0, import_objectSpread2$2.default)((0, import_objectSpread2$2.default)({}, input !== null && input !== undefined ? input : {}), {}, { lastEventId });
3510
+ }
3511
+ var require_asyncIterator2 = __commonJS2({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js"(exports, module) {
2876
3512
  function _asyncIterator$1(r) {
2877
3513
  var n, t, o, e = 2;
2878
3514
  for (typeof Symbol != "undefined" && (t = Symbol.asyncIterator, o = Symbol.iterator);e--; ) {
@@ -2919,9 +3555,153 @@ var require_asyncIterator = __commonJS2({ "../../node_modules/.pnpm/@oxc-project
2919
3555
  }
2920
3556
  module.exports = _asyncIterator$1, module.exports.__esModule = true, module.exports["default"] = module.exports;
2921
3557
  } });
2922
- var import_asyncIterator = __toESM2(require_asyncIterator(), 1);
2923
- var import_objectSpread2$12 = __toESM2(require_objectSpread2(), 1);
2924
- var require_usingCtx = __commonJS2({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js"(exports, module) {
3558
+ var import_asyncIterator2 = __toESM2(require_asyncIterator2(), 1);
3559
+ async function urlWithConnectionParams(opts) {
3560
+ let url = await resultOf(opts.url);
3561
+ if (opts.connectionParams) {
3562
+ const params = await resultOf(opts.connectionParams);
3563
+ const prefix = url.includes("?") ? "&" : "?";
3564
+ url += prefix + "connectionParams=" + encodeURIComponent(JSON.stringify(params));
3565
+ }
3566
+ return url;
3567
+ }
3568
+ function httpSubscriptionLink(opts) {
3569
+ const transformer = getTransformer(opts.transformer);
3570
+ return () => {
3571
+ return ({ op }) => {
3572
+ return observable((observer) => {
3573
+ var _opts$EventSource;
3574
+ const { type, path, input } = op;
3575
+ if (type !== "subscription")
3576
+ throw new Error("httpSubscriptionLink only supports subscriptions");
3577
+ let lastEventId = undefined;
3578
+ const ac = new AbortController;
3579
+ const signal = raceAbortSignals(op.signal, ac.signal);
3580
+ const eventSourceStream = sseStreamConsumer({
3581
+ url: async () => getUrl({
3582
+ transformer,
3583
+ url: await urlWithConnectionParams(opts),
3584
+ input: inputWithTrackedEventId(input, lastEventId),
3585
+ path,
3586
+ type,
3587
+ signal: null
3588
+ }),
3589
+ init: () => resultOf(opts.eventSourceOptions, { op }),
3590
+ signal,
3591
+ deserialize: (data) => transformer.output.deserialize(data),
3592
+ EventSource: (_opts$EventSource = opts.EventSource) !== null && _opts$EventSource !== undefined ? _opts$EventSource : globalThis.EventSource
3593
+ });
3594
+ const connectionState = behaviorSubject({
3595
+ type: "state",
3596
+ state: "connecting",
3597
+ error: null
3598
+ });
3599
+ const connectionSub = connectionState.subscribe({ next(state) {
3600
+ observer.next({ result: state });
3601
+ } });
3602
+ run(async () => {
3603
+ var _iteratorAbruptCompletion = false;
3604
+ var _didIteratorError = false;
3605
+ var _iteratorError;
3606
+ try {
3607
+ for (var _iterator = (0, import_asyncIterator2.default)(eventSourceStream), _step;_iteratorAbruptCompletion = !(_step = await _iterator.next()).done; _iteratorAbruptCompletion = false) {
3608
+ const chunk = _step.value;
3609
+ switch (chunk.type) {
3610
+ case "ping":
3611
+ break;
3612
+ case "data":
3613
+ const chunkData = chunk.data;
3614
+ let result;
3615
+ if (chunkData.id) {
3616
+ lastEventId = chunkData.id;
3617
+ result = {
3618
+ id: chunkData.id,
3619
+ data: chunkData
3620
+ };
3621
+ } else
3622
+ result = { data: chunkData.data };
3623
+ observer.next({
3624
+ result,
3625
+ context: { eventSource: chunk.eventSource }
3626
+ });
3627
+ break;
3628
+ case "connected": {
3629
+ observer.next({
3630
+ result: { type: "started" },
3631
+ context: { eventSource: chunk.eventSource }
3632
+ });
3633
+ connectionState.next({
3634
+ type: "state",
3635
+ state: "pending",
3636
+ error: null
3637
+ });
3638
+ break;
3639
+ }
3640
+ case "serialized-error": {
3641
+ const error = TRPCClientError.from({ error: chunk.error });
3642
+ if (retryableRpcCodes.includes(chunk.error.code)) {
3643
+ connectionState.next({
3644
+ type: "state",
3645
+ state: "connecting",
3646
+ error
3647
+ });
3648
+ break;
3649
+ }
3650
+ throw error;
3651
+ }
3652
+ case "connecting": {
3653
+ const lastState = connectionState.get();
3654
+ const error = chunk.event && TRPCClientError.from(chunk.event);
3655
+ if (!error && lastState.state === "connecting")
3656
+ break;
3657
+ connectionState.next({
3658
+ type: "state",
3659
+ state: "connecting",
3660
+ error
3661
+ });
3662
+ break;
3663
+ }
3664
+ case "timeout":
3665
+ connectionState.next({
3666
+ type: "state",
3667
+ state: "connecting",
3668
+ error: new TRPCClientError(`Timeout of ${chunk.ms}ms reached while waiting for a response`)
3669
+ });
3670
+ }
3671
+ }
3672
+ } catch (err) {
3673
+ _didIteratorError = true;
3674
+ _iteratorError = err;
3675
+ } finally {
3676
+ try {
3677
+ if (_iteratorAbruptCompletion && _iterator.return != null)
3678
+ await _iterator.return();
3679
+ } finally {
3680
+ if (_didIteratorError)
3681
+ throw _iteratorError;
3682
+ }
3683
+ }
3684
+ observer.next({ result: { type: "stopped" } });
3685
+ connectionState.next({
3686
+ type: "state",
3687
+ state: "idle",
3688
+ error: null
3689
+ });
3690
+ observer.complete();
3691
+ }).catch((error) => {
3692
+ observer.error(TRPCClientError.from(error));
3693
+ });
3694
+ return () => {
3695
+ observer.complete();
3696
+ ac.abort();
3697
+ connectionSub.unsubscribe();
3698
+ };
3699
+ });
3700
+ };
3701
+ };
3702
+ }
3703
+ var import_objectSpread2$13 = __toESM2(require_objectSpread2(), 1);
3704
+ var require_usingCtx2 = __commonJS2({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js"(exports, module) {
2925
3705
  function _usingCtx() {
2926
3706
  var r = typeof SuppressedError == "function" ? SuppressedError : function(r$1, e$1) {
2927
3707
  var n$1 = Error();
@@ -2987,96 +3767,752 @@ var require_usingCtx = __commonJS2({ "../../node_modules/.pnpm/@oxc-project+runt
2987
3767
  }
2988
3768
  };
2989
3769
  }
2990
- module.exports = _usingCtx, module.exports.__esModule = true, module.exports["default"] = module.exports;
2991
- } });
2992
- var require_OverloadYield = __commonJS2({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js"(exports, module) {
2993
- function _OverloadYield(e, d) {
2994
- this.v = e, this.k = d;
3770
+ module.exports = _usingCtx, module.exports.__esModule = true, module.exports["default"] = module.exports;
3771
+ } });
3772
+ var require_OverloadYield2 = __commonJS2({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js"(exports, module) {
3773
+ function _OverloadYield(e, d) {
3774
+ this.v = e, this.k = d;
3775
+ }
3776
+ module.exports = _OverloadYield, module.exports.__esModule = true, module.exports["default"] = module.exports;
3777
+ } });
3778
+ var require_awaitAsyncGenerator2 = __commonJS2({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js"(exports, module) {
3779
+ var OverloadYield$1 = require_OverloadYield2();
3780
+ function _awaitAsyncGenerator$1(e) {
3781
+ return new OverloadYield$1(e, 0);
3782
+ }
3783
+ module.exports = _awaitAsyncGenerator$1, module.exports.__esModule = true, module.exports["default"] = module.exports;
3784
+ } });
3785
+ var require_wrapAsyncGenerator2 = __commonJS2({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js"(exports, module) {
3786
+ var OverloadYield = require_OverloadYield2();
3787
+ function _wrapAsyncGenerator$1(e) {
3788
+ return function() {
3789
+ return new AsyncGenerator(e.apply(this, arguments));
3790
+ };
3791
+ }
3792
+ function AsyncGenerator(e) {
3793
+ var r, t;
3794
+ function resume(r$1, t$1) {
3795
+ try {
3796
+ var n = e[r$1](t$1), o = n.value, u = o instanceof OverloadYield;
3797
+ Promise.resolve(u ? o.v : o).then(function(t$2) {
3798
+ if (u) {
3799
+ var i = r$1 === "return" ? "return" : "next";
3800
+ if (!o.k || t$2.done)
3801
+ return resume(i, t$2);
3802
+ t$2 = e[i](t$2).value;
3803
+ }
3804
+ settle(n.done ? "return" : "normal", t$2);
3805
+ }, function(e$1) {
3806
+ resume("throw", e$1);
3807
+ });
3808
+ } catch (e$1) {
3809
+ settle("throw", e$1);
3810
+ }
3811
+ }
3812
+ function settle(e$1, n) {
3813
+ switch (e$1) {
3814
+ case "return":
3815
+ r.resolve({
3816
+ value: n,
3817
+ done: true
3818
+ });
3819
+ break;
3820
+ case "throw":
3821
+ r.reject(n);
3822
+ break;
3823
+ default:
3824
+ r.resolve({
3825
+ value: n,
3826
+ done: false
3827
+ });
3828
+ }
3829
+ (r = r.next) ? resume(r.key, r.arg) : t = null;
3830
+ }
3831
+ this._invoke = function(e$1, n) {
3832
+ return new Promise(function(o, u) {
3833
+ var i = {
3834
+ key: e$1,
3835
+ arg: n,
3836
+ resolve: o,
3837
+ reject: u,
3838
+ next: null
3839
+ };
3840
+ t ? t = t.next = i : (r = t = i, resume(e$1, n));
3841
+ });
3842
+ }, typeof e["return"] != "function" && (this["return"] = undefined);
3843
+ }
3844
+ AsyncGenerator.prototype[typeof Symbol == "function" && Symbol.asyncIterator || "@@asyncIterator"] = function() {
3845
+ return this;
3846
+ }, AsyncGenerator.prototype.next = function(e) {
3847
+ return this._invoke("next", e);
3848
+ }, AsyncGenerator.prototype["throw"] = function(e) {
3849
+ return this._invoke("throw", e);
3850
+ }, AsyncGenerator.prototype["return"] = function(e) {
3851
+ return this._invoke("return", e);
3852
+ };
3853
+ module.exports = _wrapAsyncGenerator$1, module.exports.__esModule = true, module.exports["default"] = module.exports;
3854
+ } });
3855
+ var import_usingCtx2 = __toESM2(require_usingCtx2(), 1);
3856
+ var import_awaitAsyncGenerator2 = __toESM2(require_awaitAsyncGenerator2(), 1);
3857
+ var import_wrapAsyncGenerator2 = __toESM2(require_wrapAsyncGenerator2(), 1);
3858
+ var import_objectSpread210 = __toESM2(require_objectSpread2(), 1);
3859
+ // ../../node_modules/.bun/eventsource-parser@4.1.0/node_modules/eventsource-parser/dist/errors.js
3860
+ class ParseError extends Error {
3861
+ constructor(message, options) {
3862
+ super(message);
3863
+ this.name = "ParseError";
3864
+ this.type = options.type;
3865
+ this.field = options.field;
3866
+ this.value = options.value;
3867
+ this.line = options.line;
3868
+ }
3869
+ }
3870
+
3871
+ // ../../node_modules/.bun/eventsource-parser@4.1.0/node_modules/eventsource-parser/dist/parse.js
3872
+ var LF = 10;
3873
+ var CR = 13;
3874
+ var SPACE = 32;
3875
+ var MAX_FIELD_PREFIX_LENGTH = 6;
3876
+ function createParser(config) {
3877
+ if (typeof config === "function") {
3878
+ throw new TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");
3879
+ }
3880
+ const { maxBufferSize, onComment, onError, onEvent, onId, onRetry } = config;
3881
+ const pendingFragments = [];
3882
+ let pendingFragmentsLength = 0;
3883
+ let isFirstChunk = true;
3884
+ let id;
3885
+ let data = "";
3886
+ let dataLines = 0;
3887
+ let eventType;
3888
+ let terminated = false;
3889
+ let skippingLine = false;
3890
+ let skipNextLineFeed = false;
3891
+ function feed(chunk) {
3892
+ if (terminated) {
3893
+ throw new Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");
3894
+ }
3895
+ if (isFirstChunk) {
3896
+ isFirstChunk = false;
3897
+ if (chunk.charCodeAt(0) === 65279) {
3898
+ chunk = chunk.slice(1);
3899
+ } else if (chunk.charCodeAt(0) === 239 && chunk.charCodeAt(1) === 187 && chunk.charCodeAt(2) === 191) {
3900
+ chunk = chunk.slice(3);
3901
+ }
3902
+ }
3903
+ if (skippingLine || skipNextLineFeed) {
3904
+ chunk = resumeAfterSkip(chunk);
3905
+ if (!chunk) {
3906
+ return;
3907
+ }
3908
+ }
3909
+ if (!pendingFragments.length) {
3910
+ const trailing = processLines(chunk);
3911
+ if (trailing !== "") {
3912
+ storeTrailing(trailing);
3913
+ }
3914
+ checkBufferSize();
3915
+ return;
3916
+ }
3917
+ if (chunk.indexOf(`
3918
+ `) === -1 && chunk.indexOf("\r") === -1) {
3919
+ if (pendingFragmentsLength < MAX_FIELD_PREFIX_LENGTH) {
3920
+ const head = pendingFragments.join("") + chunk.slice(0, MAX_FIELD_PREFIX_LENGTH - pendingFragmentsLength);
3921
+ if (!shouldBufferTrailing(head)) {
3922
+ pendingFragments.length = 0;
3923
+ pendingFragmentsLength = 0;
3924
+ skippingLine = true;
3925
+ return;
3926
+ }
3927
+ }
3928
+ pendingFragments.push(chunk);
3929
+ pendingFragmentsLength += chunk.length;
3930
+ checkBufferSize();
3931
+ return;
3932
+ }
3933
+ pendingFragments.push(chunk);
3934
+ const input = pendingFragments.join("");
3935
+ pendingFragments.length = 0;
3936
+ pendingFragmentsLength = 0;
3937
+ storeTrailing(processLines(input));
3938
+ checkBufferSize();
3939
+ }
3940
+ function resumeAfterSkip(chunk) {
3941
+ if (chunk.length === 0) {
3942
+ return chunk;
3943
+ }
3944
+ if (skipNextLineFeed) {
3945
+ skipNextLineFeed = false;
3946
+ return chunk.charCodeAt(0) === LF ? chunk.slice(1) : chunk;
3947
+ }
3948
+ const crIndex = chunk.indexOf("\r");
3949
+ const lfIndex = chunk.indexOf(`
3950
+ `);
3951
+ const lineEnd = crIndex === -1 ? lfIndex : lfIndex === -1 ? crIndex : crIndex < lfIndex ? crIndex : lfIndex;
3952
+ if (lineEnd === -1) {
3953
+ return "";
3954
+ }
3955
+ if (lineEnd === chunk.length - 1 && chunk.charCodeAt(lineEnd) === CR) {
3956
+ skippingLine = false;
3957
+ skipNextLineFeed = true;
3958
+ return "";
3959
+ }
3960
+ skippingLine = false;
3961
+ return chunk.slice(lineEnd + (chunk.charCodeAt(lineEnd) === CR && chunk.charCodeAt(lineEnd + 1) === LF ? 2 : 1));
3962
+ }
3963
+ function storeTrailing(trailing) {
3964
+ if (!trailing)
3965
+ return;
3966
+ if (trailing.charCodeAt(trailing.length - 1) === CR) {
3967
+ parseLine(trailing, 0, trailing.length - 1);
3968
+ skipNextLineFeed = true;
3969
+ return;
3970
+ }
3971
+ if (shouldBufferTrailing(trailing)) {
3972
+ pendingFragments.push(trailing);
3973
+ pendingFragmentsLength = trailing.length;
3974
+ return;
3975
+ }
3976
+ skippingLine = true;
3977
+ }
3978
+ function shouldBufferTrailing(trailing) {
3979
+ const firstCharCode = trailing.charCodeAt(0);
3980
+ return firstCharCode === 58 && !!onComment || firstCharCode === 100 && isPotentialField(trailing, "data") || firstCharCode === 101 && isPotentialField(trailing, "event") || firstCharCode === 105 && isPotentialField(trailing, "id") || firstCharCode === 114 && isPotentialField(trailing, "retry");
3981
+ }
3982
+ function checkBufferSize() {
3983
+ if (maxBufferSize === undefined)
3984
+ return;
3985
+ if (pendingFragmentsLength + data.length <= maxBufferSize)
3986
+ return;
3987
+ terminated = true;
3988
+ pendingFragments.length = 0;
3989
+ pendingFragmentsLength = 0;
3990
+ id = undefined;
3991
+ data = "";
3992
+ dataLines = 0;
3993
+ eventType = undefined;
3994
+ skippingLine = false;
3995
+ skipNextLineFeed = false;
3996
+ onError === null || onError === undefined || onError(new ParseError(`Buffered data exceeded max buffer size of ${maxBufferSize} characters`, {
3997
+ type: "max-buffer-size-exceeded"
3998
+ }));
3999
+ }
4000
+ function processLines(chunk) {
4001
+ let searchIndex = 0;
4002
+ if (chunk.indexOf("\r") === -1) {
4003
+ let lfIndex = chunk.indexOf(`
4004
+ `, searchIndex);
4005
+ while (lfIndex !== -1) {
4006
+ if (searchIndex === lfIndex) {
4007
+ if (id !== undefined) {
4008
+ onId === null || onId === undefined || onId(id);
4009
+ }
4010
+ if (dataLines > 0) {
4011
+ onEvent === null || onEvent === undefined || onEvent({ id, event: eventType, data });
4012
+ }
4013
+ id = undefined;
4014
+ data = "";
4015
+ dataLines = 0;
4016
+ eventType = undefined;
4017
+ searchIndex = lfIndex + 1;
4018
+ lfIndex = chunk.indexOf(`
4019
+ `, searchIndex);
4020
+ continue;
4021
+ }
4022
+ const firstCharCode = chunk.charCodeAt(searchIndex);
4023
+ if (isDataPrefix(chunk, searchIndex, firstCharCode)) {
4024
+ const valueStart = chunk.charCodeAt(searchIndex + 5) === SPACE ? searchIndex + 6 : searchIndex + 5;
4025
+ const value = chunk.slice(valueStart, lfIndex);
4026
+ if (dataLines === 0 && chunk.charCodeAt(lfIndex + 1) === LF) {
4027
+ if (id !== undefined) {
4028
+ onId === null || onId === undefined || onId(id);
4029
+ }
4030
+ onEvent === null || onEvent === undefined || onEvent({ id, event: eventType, data: value });
4031
+ id = undefined;
4032
+ data = "";
4033
+ eventType = undefined;
4034
+ searchIndex = lfIndex + 2;
4035
+ lfIndex = chunk.indexOf(`
4036
+ `, searchIndex);
4037
+ continue;
4038
+ }
4039
+ data = dataLines === 0 ? value : `${data}
4040
+ ${value}`;
4041
+ dataLines++;
4042
+ } else if (isEventPrefix(chunk, searchIndex, firstCharCode)) {
4043
+ eventType = chunk.slice(chunk.charCodeAt(searchIndex + 6) === SPACE ? searchIndex + 7 : searchIndex + 6, lfIndex) || undefined;
4044
+ } else {
4045
+ parseLine(chunk, searchIndex, lfIndex);
4046
+ }
4047
+ searchIndex = lfIndex + 1;
4048
+ lfIndex = chunk.indexOf(`
4049
+ `, searchIndex);
4050
+ }
4051
+ return chunk.slice(searchIndex);
4052
+ }
4053
+ while (searchIndex < chunk.length) {
4054
+ const crIndex = chunk.indexOf("\r", searchIndex);
4055
+ const lfIndex = chunk.indexOf(`
4056
+ `, searchIndex);
4057
+ let lineEnd = -1;
4058
+ if (crIndex !== -1 && lfIndex !== -1) {
4059
+ lineEnd = crIndex < lfIndex ? crIndex : lfIndex;
4060
+ } else if (crIndex !== -1) {
4061
+ if (crIndex === chunk.length - 1) {
4062
+ lineEnd = -1;
4063
+ } else {
4064
+ lineEnd = crIndex;
4065
+ }
4066
+ } else if (lfIndex !== -1) {
4067
+ lineEnd = lfIndex;
4068
+ }
4069
+ if (lineEnd === -1) {
4070
+ break;
4071
+ }
4072
+ parseLine(chunk, searchIndex, lineEnd);
4073
+ searchIndex = lineEnd + 1;
4074
+ if (chunk.charCodeAt(searchIndex - 1) === CR && chunk.charCodeAt(searchIndex) === LF) {
4075
+ searchIndex++;
4076
+ }
4077
+ }
4078
+ return chunk.slice(searchIndex);
4079
+ }
4080
+ function parseLine(chunk, start, end) {
4081
+ if (start === end) {
4082
+ dispatchEvent();
4083
+ return;
4084
+ }
4085
+ const firstCharCode = chunk.charCodeAt(start);
4086
+ if (isDataPrefix(chunk, start, firstCharCode)) {
4087
+ const valueStart = chunk.charCodeAt(start + 5) === SPACE ? start + 6 : start + 5;
4088
+ const value = chunk.slice(valueStart, end);
4089
+ data = dataLines === 0 ? value : `${data}
4090
+ ${value}`;
4091
+ dataLines++;
4092
+ return;
4093
+ }
4094
+ if (isEventPrefix(chunk, start, firstCharCode)) {
4095
+ eventType = chunk.slice(chunk.charCodeAt(start + 6) === SPACE ? start + 7 : start + 6, end) || undefined;
4096
+ return;
4097
+ }
4098
+ if (firstCharCode === 105 && chunk.charCodeAt(start + 1) === 100 && chunk.charCodeAt(start + 2) === 58) {
4099
+ const value = chunk.slice(chunk.charCodeAt(start + 3) === SPACE ? start + 4 : start + 3, end);
4100
+ if (!value.includes("\x00"))
4101
+ id = value;
4102
+ return;
4103
+ }
4104
+ if (firstCharCode === 58) {
4105
+ if (onComment) {
4106
+ const line = chunk.slice(start, end);
4107
+ onComment(line.slice(chunk.charCodeAt(start + 1) === SPACE ? 2 : 1));
4108
+ }
4109
+ return;
4110
+ }
4111
+ const line = chunk.slice(start, end);
4112
+ const fieldSeparatorIndex = line.indexOf(":");
4113
+ if (fieldSeparatorIndex === -1) {
4114
+ processField(line, "", line);
4115
+ return;
4116
+ }
4117
+ const field = line.slice(0, fieldSeparatorIndex);
4118
+ const offset = line.charCodeAt(fieldSeparatorIndex + 1) === SPACE ? 2 : 1;
4119
+ const value = line.slice(fieldSeparatorIndex + offset);
4120
+ processField(field, value, line);
4121
+ }
4122
+ function processField(field, value, line) {
4123
+ switch (field) {
4124
+ case "event":
4125
+ eventType = value || undefined;
4126
+ break;
4127
+ case "data":
4128
+ data = dataLines === 0 ? value : `${data}
4129
+ ${value}`;
4130
+ dataLines++;
4131
+ break;
4132
+ case "id":
4133
+ if (!value.includes("\x00"))
4134
+ id = value;
4135
+ break;
4136
+ case "retry":
4137
+ if (/^\d+$/.test(value)) {
4138
+ onRetry === null || onRetry === undefined || onRetry(parseInt(value, 10));
4139
+ } else {
4140
+ onError === null || onError === undefined || onError(new ParseError(`Invalid \`retry\` value: "${value}"`, {
4141
+ type: "invalid-retry",
4142
+ value,
4143
+ line
4144
+ }));
4145
+ }
4146
+ break;
4147
+ default:
4148
+ onError === null || onError === undefined || onError(new ParseError(`Unknown field "${field.length > 20 ? `${field.slice(0, 20)}…` : field}"`, { type: "unknown-field", field, value, line }));
4149
+ break;
4150
+ }
4151
+ }
4152
+ function dispatchEvent() {
4153
+ if (id !== undefined) {
4154
+ onId === null || onId === undefined || onId(id);
4155
+ }
4156
+ if (dataLines > 0) {
4157
+ onEvent === null || onEvent === undefined || onEvent({
4158
+ id,
4159
+ event: eventType,
4160
+ data
4161
+ });
4162
+ }
4163
+ id = undefined;
4164
+ data = "";
4165
+ dataLines = 0;
4166
+ eventType = undefined;
4167
+ }
4168
+ function reset(options = {}) {
4169
+ if (options.consume && pendingFragments.length > 0) {
4170
+ const incompleteLine = pendingFragments.join("");
4171
+ parseLine(incompleteLine, 0, incompleteLine.length);
4172
+ }
4173
+ isFirstChunk = true;
4174
+ id = undefined;
4175
+ data = "";
4176
+ dataLines = 0;
4177
+ eventType = undefined;
4178
+ pendingFragments.length = 0;
4179
+ pendingFragmentsLength = 0;
4180
+ terminated = false;
4181
+ skippingLine = false;
4182
+ skipNextLineFeed = false;
4183
+ }
4184
+ return { feed, reset };
4185
+ }
4186
+ function isDataPrefix(chunk, i, firstCharCode) {
4187
+ return firstCharCode === 100 && chunk.charCodeAt(i + 1) === 97 && chunk.charCodeAt(i + 2) === 116 && chunk.charCodeAt(i + 3) === 97 && chunk.charCodeAt(i + 4) === 58;
4188
+ }
4189
+ function isEventPrefix(chunk, i, firstCharCode) {
4190
+ return firstCharCode === 101 && chunk.charCodeAt(i + 1) === 118 && chunk.charCodeAt(i + 2) === 101 && chunk.charCodeAt(i + 3) === 110 && chunk.charCodeAt(i + 4) === 116 && chunk.charCodeAt(i + 5) === 58;
4191
+ }
4192
+ function isPotentialField(line, field) {
4193
+ let i = 1;
4194
+ while (i < line.length && i < field.length) {
4195
+ if (line.charCodeAt(i) !== field.charCodeAt(i)) {
4196
+ return false;
4197
+ }
4198
+ i++;
4199
+ }
4200
+ return line.length <= field.length || line.charCodeAt(field.length) === 58;
4201
+ }
4202
+ // ../../node_modules/.bun/eventsource@5.1.1/node_modules/eventsource/dist/errors.js
4203
+ class ErrorEvent extends Event {
4204
+ code;
4205
+ message;
4206
+ constructor(type, errorEventInitDict) {
4207
+ super(type);
4208
+ this.code = errorEventInitDict?.code ?? undefined;
4209
+ this.message = errorEventInitDict?.message ?? undefined;
4210
+ }
4211
+ [Symbol.for("nodejs.util.inspect.custom")](_depth, options, inspect) {
4212
+ return inspect(inspectableError(this), options);
2995
4213
  }
2996
- module.exports = _OverloadYield, module.exports.__esModule = true, module.exports["default"] = module.exports;
2997
- } });
2998
- var require_awaitAsyncGenerator = __commonJS2({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js"(exports, module) {
2999
- var OverloadYield$1 = require_OverloadYield();
3000
- function _awaitAsyncGenerator$1(e) {
3001
- return new OverloadYield$1(e, 0);
4214
+ [Symbol.for("Deno.customInspect")](inspect, options) {
4215
+ return inspect(inspectableError(this), options);
3002
4216
  }
3003
- module.exports = _awaitAsyncGenerator$1, module.exports.__esModule = true, module.exports["default"] = module.exports;
3004
- } });
3005
- var require_wrapAsyncGenerator = __commonJS2({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js"(exports, module) {
3006
- var OverloadYield = require_OverloadYield();
3007
- function _wrapAsyncGenerator$1(e) {
3008
- return function() {
3009
- return new AsyncGenerator(e.apply(this, arguments));
3010
- };
4217
+ }
4218
+ function syntaxError(message) {
4219
+ const DomException = globalThis.DOMException;
4220
+ if (typeof DomException === "function") {
4221
+ return new DomException(message, "SyntaxError");
3011
4222
  }
3012
- function AsyncGenerator(e) {
3013
- var r, t;
3014
- function resume(r$1, t$1) {
3015
- try {
3016
- var n = e[r$1](t$1), o = n.value, u = o instanceof OverloadYield;
3017
- Promise.resolve(u ? o.v : o).then(function(t$2) {
3018
- if (u) {
3019
- var i = r$1 === "return" ? "return" : "next";
3020
- if (!o.k || t$2.done)
3021
- return resume(i, t$2);
3022
- t$2 = e[i](t$2).value;
3023
- }
3024
- settle(n.done ? "return" : "normal", t$2);
3025
- }, function(e$1) {
3026
- resume("throw", e$1);
3027
- });
3028
- } catch (e$1) {
3029
- settle("throw", e$1);
4223
+ return new SyntaxError(message);
4224
+ }
4225
+ function flattenError(err) {
4226
+ if (!(err instanceof Error)) {
4227
+ return `${err}`;
4228
+ }
4229
+ if ("errors" in err && Array.isArray(err.errors)) {
4230
+ return err.errors.map(flattenError).join(", ");
4231
+ }
4232
+ if ("cause" in err && err.cause instanceof Error) {
4233
+ return `${err}: ${flattenError(err.cause)}`;
4234
+ }
4235
+ return err.message;
4236
+ }
4237
+ function inspectableError(err) {
4238
+ return {
4239
+ type: err.type,
4240
+ message: err.message,
4241
+ code: err.code,
4242
+ defaultPrevented: err.defaultPrevented,
4243
+ cancelable: err.cancelable,
4244
+ timeStamp: err.timeStamp
4245
+ };
4246
+ }
4247
+
4248
+ // ../../node_modules/.bun/eventsource@5.1.1/node_modules/eventsource/dist/EventSource.js
4249
+ var DEFAULT_MAX_BUFFER_SIZE = 100 * 1024 * 1024;
4250
+
4251
+ class EventSourceImpl extends EventTarget {
4252
+ static CONNECTING = 0;
4253
+ static OPEN = 1;
4254
+ static CLOSED = 2;
4255
+ CONNECTING = 0;
4256
+ OPEN = 1;
4257
+ CLOSED = 2;
4258
+ get readyState() {
4259
+ return this.#readyState;
4260
+ }
4261
+ get url() {
4262
+ return this.#url.href;
4263
+ }
4264
+ get withCredentials() {
4265
+ return this.#withCredentials;
4266
+ }
4267
+ get onerror() {
4268
+ return this.#onError;
4269
+ }
4270
+ set onerror(value) {
4271
+ if (this.#onError) {
4272
+ this.removeEventListener("error", this.#onError);
4273
+ }
4274
+ this.#onError = value;
4275
+ if (value) {
4276
+ this.addEventListener("error", value);
4277
+ }
4278
+ }
4279
+ get onmessage() {
4280
+ return this.#onMessage;
4281
+ }
4282
+ set onmessage(value) {
4283
+ if (this.#onMessage) {
4284
+ this.removeEventListener("message", this.#onMessage);
4285
+ }
4286
+ this.#onMessage = value;
4287
+ if (value) {
4288
+ this.addEventListener("message", value);
4289
+ }
4290
+ }
4291
+ get onopen() {
4292
+ return this.#onOpen;
4293
+ }
4294
+ set onopen(value) {
4295
+ if (this.#onOpen) {
4296
+ this.removeEventListener("open", this.#onOpen);
4297
+ }
4298
+ this.#onOpen = value;
4299
+ if (value) {
4300
+ this.addEventListener("open", value);
4301
+ }
4302
+ }
4303
+ addEventListener(type, listener, options) {
4304
+ const listen = listener;
4305
+ super.addEventListener(type, listen, options);
4306
+ }
4307
+ removeEventListener(type, listener, options) {
4308
+ const listen = listener;
4309
+ super.removeEventListener(type, listen, options);
4310
+ }
4311
+ constructor(url, eventSourceInitDict) {
4312
+ super();
4313
+ try {
4314
+ if (url instanceof URL) {
4315
+ this.#url = url;
4316
+ } else if (typeof url === "string") {
4317
+ this.#url = new URL(url, getBaseURL());
4318
+ } else {
4319
+ throw new Error("Invalid URL");
3030
4320
  }
4321
+ } catch {
4322
+ throw syntaxError("An invalid or illegal string was specified");
4323
+ }
4324
+ this.#parser = createParser({
4325
+ maxBufferSize: eventSourceInitDict?.maxBufferSize ?? DEFAULT_MAX_BUFFER_SIZE,
4326
+ onEvent: this.#onEvent,
4327
+ onError: this.#onParseError,
4328
+ onId: this.#onIdChange,
4329
+ onRetry: this.#onRetryChange
4330
+ });
4331
+ this.#readyState = this.CONNECTING;
4332
+ this.#reconnectInterval = 3000;
4333
+ this.#fetch = eventSourceInitDict?.fetch ?? globalThis.fetch;
4334
+ this.#withCredentials = eventSourceInitDict?.withCredentials ?? false;
4335
+ this.#connect();
4336
+ }
4337
+ close() {
4338
+ if (this.#reconnectTimer)
4339
+ clearTimeout(this.#reconnectTimer);
4340
+ if (this.#readyState === this.CLOSED)
4341
+ return;
4342
+ if (this.#controller)
4343
+ this.#controller.abort();
4344
+ this.#readyState = this.CLOSED;
4345
+ this.#controller = undefined;
4346
+ }
4347
+ #readyState;
4348
+ #url;
4349
+ #redirectUrl;
4350
+ #withCredentials;
4351
+ #fetch;
4352
+ #reconnectInterval;
4353
+ #reconnectTimer;
4354
+ #lastEventId = null;
4355
+ #controller;
4356
+ #parser;
4357
+ #onError = null;
4358
+ #onMessage = null;
4359
+ #onOpen = null;
4360
+ #connect() {
4361
+ this.#readyState = this.CONNECTING;
4362
+ this.#controller = new AbortController;
4363
+ const fetch2 = this.#fetch;
4364
+ fetch2(this.#url, this.#getRequestOptions()).then(this.#onFetchResponse).catch(this.#onFetchError);
4365
+ }
4366
+ #onFetchResponse = async (response) => {
4367
+ this.#parser.reset();
4368
+ const { body, redirected, status, headers } = response;
4369
+ if (status === 204) {
4370
+ this.#failConnection("Server sent HTTP 204, not reconnecting", 204);
4371
+ this.close();
4372
+ return;
3031
4373
  }
3032
- function settle(e$1, n) {
3033
- switch (e$1) {
3034
- case "return":
3035
- r.resolve({
3036
- value: n,
3037
- done: true
3038
- });
3039
- break;
3040
- case "throw":
3041
- r.reject(n);
3042
- break;
3043
- default:
3044
- r.resolve({
3045
- value: n,
3046
- done: false
3047
- });
4374
+ if (redirected) {
4375
+ this.#redirectUrl = new URL(response.url);
4376
+ } else {
4377
+ this.#redirectUrl = undefined;
4378
+ }
4379
+ if (status !== 200) {
4380
+ this.#failConnection(`Non-200 status code (${status})`, status);
4381
+ return;
4382
+ }
4383
+ const contentType = headers.get("content-type") || "";
4384
+ if (!contentType.startsWith("text/event-stream")) {
4385
+ this.#failConnection('Invalid content type, expected "text/event-stream"', status);
4386
+ return;
4387
+ }
4388
+ if (this.#readyState === this.CLOSED) {
4389
+ return;
4390
+ }
4391
+ this.#readyState = this.OPEN;
4392
+ const openEvent = new Event("open");
4393
+ this.dispatchEvent(openEvent);
4394
+ if (typeof body !== "object" || !body || !("getReader" in body)) {
4395
+ this.#failConnection("Invalid response body, expected a web ReadableStream", status);
4396
+ this.close();
4397
+ return;
4398
+ }
4399
+ const decoder = new TextDecoder;
4400
+ const reader = body.getReader();
4401
+ let open = true;
4402
+ do {
4403
+ const { done, value } = await reader.read();
4404
+ if (this.#readyState === this.CLOSED) {
4405
+ open = false;
4406
+ break;
3048
4407
  }
3049
- (r = r.next) ? resume(r.key, r.arg) : t = null;
4408
+ if (value) {
4409
+ this.#parser.feed(decoder.decode(value, { stream: !done }));
4410
+ }
4411
+ if (!done) {
4412
+ continue;
4413
+ }
4414
+ open = false;
4415
+ this.#parser.reset();
4416
+ this.#scheduleReconnect();
4417
+ } while (open);
4418
+ };
4419
+ #onFetchError = (err) => {
4420
+ this.#controller = undefined;
4421
+ if (err.name === "AbortError" || err.type === "aborted") {
4422
+ return;
3050
4423
  }
3051
- this._invoke = function(e$1, n) {
3052
- return new Promise(function(o, u) {
3053
- var i = {
3054
- key: e$1,
3055
- arg: n,
3056
- resolve: o,
3057
- reject: u,
3058
- next: null
3059
- };
3060
- t ? t = t.next = i : (r = t = i, resume(e$1, n));
3061
- });
3062
- }, typeof e["return"] != "function" && (this["return"] = undefined);
4424
+ this.#scheduleReconnect(flattenError(err));
4425
+ };
4426
+ #getRequestOptions() {
4427
+ const lastEvent = this.#lastEventId ? { "Last-Event-ID": this.#lastEventId } : undefined;
4428
+ const init = {
4429
+ mode: "cors",
4430
+ redirect: "follow",
4431
+ headers: { Accept: "text/event-stream", ...lastEvent },
4432
+ cache: "no-store",
4433
+ signal: this.#controller?.signal
4434
+ };
4435
+ if ("window" in globalThis) {
4436
+ init.credentials = this.withCredentials ? "include" : "same-origin";
4437
+ }
4438
+ return init;
3063
4439
  }
3064
- AsyncGenerator.prototype[typeof Symbol == "function" && Symbol.asyncIterator || "@@asyncIterator"] = function() {
3065
- return this;
3066
- }, AsyncGenerator.prototype.next = function(e) {
3067
- return this._invoke("next", e);
3068
- }, AsyncGenerator.prototype["throw"] = function(e) {
3069
- return this._invoke("throw", e);
3070
- }, AsyncGenerator.prototype["return"] = function(e) {
3071
- return this._invoke("return", e);
4440
+ #onIdChange = (value) => {
4441
+ this.#lastEventId = value;
3072
4442
  };
3073
- module.exports = _wrapAsyncGenerator$1, module.exports.__esModule = true, module.exports["default"] = module.exports;
3074
- } });
3075
- var import_usingCtx = __toESM2(require_usingCtx(), 1);
3076
- var import_awaitAsyncGenerator = __toESM2(require_awaitAsyncGenerator(), 1);
3077
- var import_wrapAsyncGenerator = __toESM2(require_wrapAsyncGenerator(), 1);
3078
- var import_objectSpread29 = __toESM2(require_objectSpread2(), 1);
3079
-
4443
+ #onEvent = (event) => {
4444
+ const origin = this.#redirectUrl ? this.#redirectUrl.origin : this.#url.origin;
4445
+ const lastEventId = this.#lastEventId ?? "";
4446
+ const messageEvent = new MessageEvent(event.event || "message", {
4447
+ data: event.data,
4448
+ origin,
4449
+ lastEventId
4450
+ });
4451
+ if (messageEvent.origin !== origin) {
4452
+ defineEventProperty(messageEvent, "origin", origin);
4453
+ }
4454
+ if (messageEvent.lastEventId !== lastEventId) {
4455
+ defineEventProperty(messageEvent, "lastEventId", lastEventId);
4456
+ }
4457
+ this.dispatchEvent(messageEvent);
4458
+ };
4459
+ #onRetryChange = (value) => {
4460
+ this.#reconnectInterval = value;
4461
+ };
4462
+ #onParseError = (error) => {
4463
+ if (error.type !== "max-buffer-size-exceeded") {
4464
+ return;
4465
+ }
4466
+ this.close();
4467
+ this.#failConnection(error.message);
4468
+ };
4469
+ #failConnection(message, code) {
4470
+ if (this.#readyState !== this.CLOSED) {
4471
+ this.#readyState = this.CLOSED;
4472
+ }
4473
+ const errorEvent = new ErrorEvent("error", { code, message });
4474
+ this.dispatchEvent(errorEvent);
4475
+ }
4476
+ #scheduleReconnect(message, code) {
4477
+ if (this.#readyState === this.CLOSED) {
4478
+ return;
4479
+ }
4480
+ this.#readyState = this.CONNECTING;
4481
+ const errorEvent = new ErrorEvent("error", { code, message });
4482
+ this.dispatchEvent(errorEvent);
4483
+ const timer = setTimeout(this.#reconnect, this.#reconnectInterval);
4484
+ if (typeof timer === "object" && timer !== null && "unref" in timer) {
4485
+ timer.unref();
4486
+ }
4487
+ this.#reconnectTimer = timer;
4488
+ }
4489
+ #reconnect = () => {
4490
+ this.#reconnectTimer = undefined;
4491
+ if (this.#readyState !== this.CONNECTING) {
4492
+ return;
4493
+ }
4494
+ this.#connect();
4495
+ };
4496
+ }
4497
+ Object.defineProperty(EventSourceImpl, "name", { value: "EventSource" });
4498
+ Object.defineProperty(EventSourceImpl, Symbol.for("eventsource.supports-fetch-override"), {
4499
+ value: true,
4500
+ writable: false,
4501
+ configurable: false,
4502
+ enumerable: false
4503
+ });
4504
+ var EventSource = EventSourceImpl;
4505
+ function getBaseURL() {
4506
+ const doc = "document" in globalThis ? globalThis.document : undefined;
4507
+ return doc && typeof doc === "object" && "baseURI" in doc && typeof doc.baseURI === "string" ? doc.baseURI : undefined;
4508
+ }
4509
+ function defineEventProperty(event, property, value) {
4510
+ Object.defineProperty(event, property, {
4511
+ value,
4512
+ enumerable: true,
4513
+ configurable: true
4514
+ });
4515
+ }
3080
4516
  // ../sdk/dist/index.js
3081
4517
  import { mkdir, readFile, unlink, writeFile } from "node:fs/promises";
3082
4518
  import { readFileSync } from "node:fs";
@@ -3117,6 +4553,13 @@ async function deleteConfig(configPath) {
3117
4553
  await unlink(getConfigPath(configPath));
3118
4554
  } catch {}
3119
4555
  }
4556
+ var WORKSPACE_LIFECYCLE_ERROR_CODES = [
4557
+ "WORKSPACE_NOT_RUNNING",
4558
+ "WORKSPACE_TERMINATED",
4559
+ "WORKSPACE_NON_RECOVERABLE",
4560
+ "WORKSPACE_START_TIMEOUT",
4561
+ "WORKSPACE_RESTART_FAILED"
4562
+ ];
3120
4563
 
3121
4564
  class GittermError extends Error {
3122
4565
  code;
@@ -3135,6 +4578,15 @@ class WorkspaceLifecycleError extends GittermError {
3135
4578
  this.name = "WorkspaceLifecycleError";
3136
4579
  }
3137
4580
  }
4581
+
4582
+ class AgentRunError extends GittermError {
4583
+ run;
4584
+ constructor(run, code) {
4585
+ super(code, run.error ?? (code === "INPUT_REQUIRED" ? "The agent needs input; supply a handler or use runs.respond()" : `Agent run ${run.status}`));
4586
+ this.run = run;
4587
+ this.name = "AgentRunError";
4588
+ }
4589
+ }
3138
4590
  var LOOPBACK_HOSTS = new Set(["localhost", "127.0.0.1", "[::1]", "::1"]);
3139
4591
  function normalizeServerUrl(value) {
3140
4592
  let url;
@@ -3163,6 +4615,139 @@ function createNoRedirectFetch(fetchImpl = fetch) {
3163
4615
  return response;
3164
4616
  };
3165
4617
  }
4618
+ function terminal(status) {
4619
+ return status === "completed" || status === "failed" || status === "cancelled";
4620
+ }
4621
+ function aborted(signal) {
4622
+ if (signal?.aborted)
4623
+ throw new GittermError("ABORTED", "Run observation was aborted; the agent was not cancelled");
4624
+ }
4625
+ async function abortable(operation, signal) {
4626
+ if (signal.aborted)
4627
+ operation.catch(() => {});
4628
+ aborted(signal);
4629
+ let onAbort;
4630
+ try {
4631
+ return await Promise.race([
4632
+ operation,
4633
+ new Promise((_, reject) => {
4634
+ onAbort = () => reject(new GittermError("ABORTED", "Run observation was aborted; the agent was not cancelled"));
4635
+ signal.addEventListener("abort", onAbort, { once: true });
4636
+ })
4637
+ ]);
4638
+ } finally {
4639
+ if (onAbort)
4640
+ signal.removeEventListener("abort", onAbort);
4641
+ }
4642
+ }
4643
+ async function deadline(options, operation) {
4644
+ aborted(options?.signal);
4645
+ const timeoutMs = options?.timeoutMs ?? 30 * 60000;
4646
+ if (!Number.isFinite(timeoutMs) || timeoutMs < 0)
4647
+ throw new GittermError("BAD_REQUEST", "timeoutMs must be finite and non-negative");
4648
+ const controller = new AbortController;
4649
+ const onAbort = () => controller.abort();
4650
+ options?.signal?.addEventListener("abort", onAbort, { once: true });
4651
+ let timedOut = false;
4652
+ const timer = setTimeout(() => {
4653
+ timedOut = true;
4654
+ controller.abort();
4655
+ }, timeoutMs);
4656
+ try {
4657
+ return await operation(controller.signal);
4658
+ } catch (error) {
4659
+ if (timedOut)
4660
+ throw new GittermError("TIMEOUT", "Run observation timed out; the agent was not cancelled", {
4661
+ cause: error
4662
+ });
4663
+ aborted(options?.signal);
4664
+ throw error;
4665
+ } finally {
4666
+ clearTimeout(timer);
4667
+ options?.signal?.removeEventListener("abort", onAbort);
4668
+ controller.abort();
4669
+ }
4670
+ }
4671
+ async function* runEvents(states) {
4672
+ const seen = new Set;
4673
+ let pending = new Set;
4674
+ let status;
4675
+ for await (const run of states) {
4676
+ if (run.status !== status) {
4677
+ status = run.status;
4678
+ yield { type: "run.status", run };
4679
+ }
4680
+ const current = new Set(run.pendingInputs.map((request) => request.id));
4681
+ for (const requestId of pending) {
4682
+ if (!current.has(requestId))
4683
+ yield { type: "input.resolved", run, requestId };
4684
+ }
4685
+ pending = current;
4686
+ for (const request of run.pendingInputs) {
4687
+ if (seen.has(request.id))
4688
+ continue;
4689
+ seen.add(request.id);
4690
+ yield { type: "input.required", run, request };
4691
+ }
4692
+ if (run.status === "completed" || run.status === "failed" || run.status === "cancelled") {
4693
+ yield { type: `run.${run.status}`, run };
4694
+ return;
4695
+ }
4696
+ }
4697
+ }
4698
+ function runHelpers(operations) {
4699
+ return {
4700
+ events: (ref, options) => runEvents(operations.watch(ref, options)),
4701
+ wait: (ref, options) => deadline(options, async (signal) => {
4702
+ for await (const run of operations.watch(ref, { signal })) {
4703
+ if (terminal(run.status) || run.status === "awaiting_input" && options?.until !== "terminal")
4704
+ return run;
4705
+ }
4706
+ throw new GittermError("NETWORK", "Run stream ended before a terminal state");
4707
+ }),
4708
+ result: (ref, options) => deadline(options, async (signal) => {
4709
+ for await (const event of runEvents(operations.watch(ref, { signal }))) {
4710
+ aborted(signal);
4711
+ if (event.type === "run.completed")
4712
+ return event.run;
4713
+ if (event.type === "run.failed")
4714
+ throw new AgentRunError(event.run, "RUN_FAILED");
4715
+ if (event.type === "run.cancelled")
4716
+ throw new AgentRunError(event.run, "RUN_CANCELLED");
4717
+ if (event.type !== "input.required")
4718
+ continue;
4719
+ const { request } = event;
4720
+ let reply;
4721
+ if (request.kind === "permission") {
4722
+ if (!options?.onPermission)
4723
+ throw new AgentRunError(event.run, "INPUT_REQUIRED");
4724
+ reply = {
4725
+ type: "permission",
4726
+ response: await abortable(Promise.resolve(options.onPermission(request, { signal })), signal)
4727
+ };
4728
+ } else {
4729
+ if (!options?.onQuestion)
4730
+ throw new AgentRunError(event.run, "INPUT_REQUIRED");
4731
+ reply = {
4732
+ type: "question",
4733
+ ...await abortable(Promise.resolve(options.onQuestion(request, { signal })), signal)
4734
+ };
4735
+ }
4736
+ aborted(signal);
4737
+ try {
4738
+ await abortable(operations.respond(ref, { requestId: request.id, reply }), signal);
4739
+ } catch (error) {
4740
+ if (!(error instanceof GittermError) || error.code !== "INPUT_NOT_PENDING")
4741
+ throw error;
4742
+ }
4743
+ }
4744
+ throw new GittermError("NETWORK", "Run stream ended before a terminal state");
4745
+ })
4746
+ };
4747
+ }
4748
+ function toConnection(connection) {
4749
+ return { ...connection, connectedAt: toIso(connection.connectedAt) };
4750
+ }
3166
4751
  function envValue(name) {
3167
4752
  const value = typeof process !== "undefined" ? process.env[name] : undefined;
3168
4753
  return value && value.trim() ? value : undefined;
@@ -3192,6 +4777,29 @@ function normalizeBaseCommit(value) {
3192
4777
  return null;
3193
4778
  return /^[0-9a-f]{40}([0-9a-f]{24})?$/i.test(trimmed) ? trimmed.toLowerCase() : trimmed;
3194
4779
  }
4780
+ function workspaceIdOf(ref) {
4781
+ return typeof ref === "string" ? ref : ref.id;
4782
+ }
4783
+ function runTargetOf(ref) {
4784
+ return { workspaceId: ref.workspaceId, runId: ref.id };
4785
+ }
4786
+ function throwIfAborted2(signal, what) {
4787
+ if (signal?.aborted)
4788
+ throw new GittermError("ABORTED", `Aborted while ${what}`);
4789
+ }
4790
+ function sleep2(ms, signal, what) {
4791
+ return new Promise((resolve, reject) => {
4792
+ const timer = setTimeout(() => {
4793
+ signal?.removeEventListener("abort", onAbort);
4794
+ resolve();
4795
+ }, ms);
4796
+ const onAbort = () => {
4797
+ clearTimeout(timer);
4798
+ reject(new GittermError("ABORTED", `Aborted while ${what}`));
4799
+ };
4800
+ signal?.addEventListener("abort", onAbort, { once: true });
4801
+ });
4802
+ }
3195
4803
  function normalizeWorkspace(workspace) {
3196
4804
  if (!workspace)
3197
4805
  return null;
@@ -3220,6 +4828,9 @@ function normalizeWorkspace(workspace) {
3220
4828
  name: workspace.image.name,
3221
4829
  imageId: workspace.image.imageId
3222
4830
  } : null,
4831
+ metadata: workspace.metadata ?? {},
4832
+ autoTerminateAt: toIso(workspace.autoTerminateAt),
4833
+ customImage: workspace.customImage ?? null,
3223
4834
  startedAt: toIso(workspace.startedAt),
3224
4835
  pausedAt: toIso(workspace.pausedAt),
3225
4836
  terminatedAt: toIso(workspace.terminatedAt),
@@ -3256,59 +4867,123 @@ function mapTrpcCode(code) {
3256
4867
  return "BAD_REQUEST";
3257
4868
  case "CONFLICT":
3258
4869
  return "CONFLICT";
4870
+ case "TIMEOUT":
4871
+ return "TIMEOUT";
3259
4872
  default:
3260
4873
  return "SERVER_ERROR";
3261
4874
  }
3262
4875
  }
4876
+ function credentialErrorCode(message) {
4877
+ const match = /^(MODEL_CREDENTIAL_(?:UNAVAILABLE|DUPLICATE_PROVIDER|INVALID|REQUIRED)):\s*/.exec(message);
4878
+ return match?.[1];
4879
+ }
4880
+ function toGittermError(serverUrl, error) {
4881
+ if (error instanceof GittermError)
4882
+ return error;
4883
+ if (error instanceof TRPCClientError) {
4884
+ const data = error.data;
4885
+ const trpcCode = data?.code;
4886
+ if (!error.data) {
4887
+ return new GittermError("NETWORK", `Could not reach the GitTerm server at ${serverUrl}`, {
4888
+ cause: error
4889
+ });
4890
+ }
4891
+ const code = mapTrpcCode(trpcCode);
4892
+ const structuredLifecycleCode = WORKSPACE_LIFECYCLE_ERROR_CODES.find((candidate) => candidate === data?.workspaceLifecycleCode);
4893
+ if (structuredLifecycleCode) {
4894
+ return new WorkspaceLifecycleError(structuredLifecycleCode, error.message, { cause: error });
4895
+ }
4896
+ if (error.message.startsWith("INPUT_NOT_PENDING:"))
4897
+ return new GittermError("INPUT_NOT_PENDING", error.message, { cause: error });
4898
+ const credentialCode = credentialErrorCode(error.message);
4899
+ if (credentialCode)
4900
+ return new GittermError(credentialCode, error.message, { cause: error });
4901
+ const lifecycleCode = WORKSPACE_LIFECYCLE_ERROR_CODES.find((candidate) => error.message.startsWith(`${candidate}:`));
4902
+ if (lifecycleCode) {
4903
+ return new WorkspaceLifecycleError(lifecycleCode, error.message, { cause: error });
4904
+ }
4905
+ return new GittermError(code, code === "UNAUTHORIZED" ? `Authentication failed: ${error.message}. Check that the API token is valid and has not expired.` : error.message, { cause: error });
4906
+ }
4907
+ return new GittermError("NETWORK", error instanceof Error ? error.message : "Network request failed", { cause: error });
4908
+ }
3263
4909
  async function runWithServer(serverUrl, operation) {
3264
4910
  try {
3265
4911
  return await operation();
3266
4912
  } catch (error) {
3267
- if (error instanceof GittermError)
3268
- throw error;
3269
- if (error instanceof TRPCClientError) {
3270
- const trpcCode = error.data?.code;
3271
- if (!error.data) {
3272
- throw new GittermError("NETWORK", `Could not reach the GitTerm server at ${serverUrl}`, {
3273
- cause: error
3274
- });
3275
- }
3276
- const code = mapTrpcCode(trpcCode);
3277
- if (/WORKSPACE_TERMINATED/.test(error.message)) {
3278
- throw new WorkspaceLifecycleError("WORKSPACE_TERMINATED", error.message, { cause: error });
3279
- }
3280
- if (/WORKSPACE_NON_RECOVERABLE/.test(error.message)) {
3281
- throw new WorkspaceLifecycleError("WORKSPACE_NON_RECOVERABLE", error.message, {
3282
- cause: error
3283
- });
3284
- }
3285
- if (/WORKSPACE_START_TIMEOUT/.test(error.message)) {
3286
- throw new WorkspaceLifecycleError("WORKSPACE_START_TIMEOUT", error.message, {
3287
- cause: error
3288
- });
3289
- }
3290
- if (/WORKSPACE_RESTART_FAILED/.test(error.message)) {
3291
- throw new WorkspaceLifecycleError("WORKSPACE_RESTART_FAILED", error.message, {
3292
- cause: error
3293
- });
3294
- }
3295
- throw new GittermError(code, code === "UNAUTHORIZED" ? "Not logged in or token expired. Run: gitterm login" : error.message, { cause: error });
4913
+ throw toGittermError(serverUrl, error);
4914
+ }
4915
+ }
4916
+ function isTerminalRun(status) {
4917
+ return status === "completed" || status === "failed" || status === "cancelled";
4918
+ }
4919
+ async function* watchRun(trpc, serverUrl, target, options) {
4920
+ const what = `watching run ${target.runId}`;
4921
+ throwIfAborted2(options?.signal, what);
4922
+ const queue = [];
4923
+ let wake;
4924
+ const push = (item) => {
4925
+ queue.push(item);
4926
+ wake?.();
4927
+ wake = undefined;
4928
+ };
4929
+ const onAbort = () => push({ error: new GittermError("ABORTED", `Aborted while ${what}`) });
4930
+ options?.signal?.addEventListener("abort", onAbort, { once: true });
4931
+ let last;
4932
+ const subscription = trpc.run.lifecycle.subscribe(target, {
4933
+ onData: (event) => {
4934
+ last = event.run;
4935
+ push({ run: last });
4936
+ },
4937
+ onError: (error) => push({ error }),
4938
+ onComplete: () => push(last && isTerminalRun(last.status) ? { done: true } : {
4939
+ error: new GittermError("NETWORK", `Run ${target.runId} event stream ended unexpectedly`)
4940
+ })
4941
+ });
4942
+ try {
4943
+ while (true) {
4944
+ throwIfAborted2(options?.signal, what);
4945
+ if (queue.length === 0)
4946
+ await new Promise((resolve) => wake = resolve);
4947
+ const item = queue.shift();
4948
+ if ("done" in item)
4949
+ return;
4950
+ if ("error" in item)
4951
+ throw toGittermError(serverUrl, item.error);
4952
+ yield item.run;
4953
+ if (isTerminalRun(item.run.status))
4954
+ return;
3296
4955
  }
3297
- throw new GittermError("NETWORK", error instanceof Error ? error.message : "Network request failed", { cause: error });
4956
+ } finally {
4957
+ options?.signal?.removeEventListener("abort", onAbort);
4958
+ subscription.unsubscribe();
3298
4959
  }
3299
4960
  }
3300
4961
  function createGittermClient(options = {}) {
3301
4962
  const credentials = resolveCredentials(options);
4963
+ const fetchImpl = createNoRedirectFetch(options.fetch);
4964
+ const authorization = `Bearer ${credentials.token}`;
3302
4965
  const trpc = createTRPCClient({
3303
4966
  links: [
3304
- httpBatchLink({
3305
- url: toTrpcUrl(credentials.serverUrl),
3306
- fetch: createNoRedirectFetch(options.fetch),
3307
- headers: () => ({ authorization: `Bearer ${credentials.token}` })
4967
+ splitLink({
4968
+ condition: (operation) => operation.type === "subscription",
4969
+ true: httpSubscriptionLink({
4970
+ url: toTrpcUrl(credentials.serverUrl),
4971
+ EventSource,
4972
+ eventSourceOptions: {
4973
+ fetch: (url, init) => fetchImpl(url, { ...init, headers: { ...init.headers, authorization } })
4974
+ }
4975
+ }),
4976
+ false: httpBatchLink({
4977
+ url: toTrpcUrl(credentials.serverUrl),
4978
+ fetch: fetchImpl,
4979
+ headers: () => ({ authorization })
4980
+ })
3308
4981
  })
3309
4982
  ]
3310
4983
  });
3311
- const run2 = (operation) => runWithServer(credentials.serverUrl, operation);
4984
+ const run = (operation) => runWithServer(credentials.serverUrl, operation);
4985
+ const watch = (ref, watchOptions) => watchRun(trpc, credentials.serverUrl, runTargetOf(ref), watchOptions);
4986
+ const respond = (ref, input) => run(async () => trpc.run.respond.mutate({ ...runTargetOf(ref), ...input }));
3312
4987
  const normalizeCreateResult = (result) => {
3313
4988
  const workspace = normalizeWorkspace(result.workspace);
3314
4989
  if (!workspace)
@@ -3328,16 +5003,18 @@ function createGittermClient(options = {}) {
3328
5003
  };
3329
5004
  return { workspace, runtime };
3330
5005
  };
3331
- const createWorkspace = (input) => run2(async () => {
5006
+ const createWorkspace = (input) => run(async () => {
3332
5007
  const result = await trpc.workspace.createWorkspace.mutate(input);
3333
5008
  return normalizeCreateResult(result);
3334
5009
  });
3335
5010
  const waitForWorkspaceSetup = async (workspaceId, waitOptions) => {
3336
5011
  const timeoutMs = waitOptions?.timeoutMs ?? 10 * 60000;
3337
5012
  const pollIntervalMs = waitOptions?.pollIntervalMs ?? 2000;
5013
+ const signal = waitOptions?.signal;
3338
5014
  const deadline = Date.now() + timeoutMs;
3339
5015
  while (true) {
3340
- const result = await trpc.workspace.getSetupStatus.query({ workspaceId });
5016
+ throwIfAborted2(signal, "waiting for workspace setup");
5017
+ const result = await trpc.workspace.getSetupStatus.query({ workspaceId }, { signal });
3341
5018
  if (result.status === "not_requested" || result.status === "succeeded")
3342
5019
  return result;
3343
5020
  if (result.status === "failed") {
@@ -3346,15 +5023,17 @@ function createGittermClient(options = {}) {
3346
5023
  ${log}` : ""}`);
3347
5024
  }
3348
5025
  if (Date.now() >= deadline) {
3349
- throw new GittermError("NETWORK", `Timed out waiting for workspace ${workspaceId} setup`);
5026
+ const log = result.log?.trim();
5027
+ throw new GittermError("TIMEOUT", `Timed out waiting for workspace ${workspaceId} setup (last status: ${result.status})${log ? `
5028
+ ${log}` : ""}`);
3350
5029
  }
3351
- await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
5030
+ await sleep2(pollIntervalMs, signal, "waiting for workspace setup");
3352
5031
  }
3353
5032
  };
3354
5033
  return {
3355
5034
  serverUrl: credentials.serverUrl,
3356
5035
  auth: {
3357
- status: () => run2(async () => {
5036
+ status: () => run(async () => {
3358
5037
  const me = await trpc.agent.me.query();
3359
5038
  return {
3360
5039
  loggedIn: true,
@@ -3367,30 +5046,35 @@ ${log}` : ""}`);
3367
5046
  })
3368
5047
  },
3369
5048
  workspaces: {
3370
- list: (input) => run2(async () => {
5049
+ list: (input) => run(async () => {
3371
5050
  const result = await trpc.workspace.listWorkspaces.query(input);
3372
5051
  return {
3373
- workspaces: result.workspaces.map((workspace) => normalizeWorkspace(workspace)),
5052
+ workspaces: result.workspaces.map(normalizeWorkspace).filter((workspace) => workspace !== null),
3374
5053
  pagination: result.pagination
3375
5054
  };
3376
5055
  }),
3377
- get: (workspaceId) => run2(async () => {
3378
- const result = await trpc.workspace.getWorkspace.query({ workspaceId });
5056
+ get: (ref) => run(async () => {
5057
+ const result = await trpc.workspace.getWorkspace.query({
5058
+ workspaceId: workspaceIdOf(ref)
5059
+ });
3379
5060
  const workspace = normalizeWorkspace(result.workspace);
3380
5061
  if (!workspace)
3381
5062
  throw new GittermError("NOT_FOUND", "Workspace not found");
3382
5063
  return workspace;
3383
5064
  }),
3384
- getRuntimeAccess: (workspaceId) => run2(async () => {
3385
- const result = await trpc.workspace.getRuntimeAccess.query({ workspaceId });
5065
+ getRuntimeAccess: (ref) => run(async () => {
5066
+ const result = await trpc.workspace.getRuntimeAccess.query({
5067
+ workspaceId: workspaceIdOf(ref)
5068
+ });
3386
5069
  return normalizeRuntime(result);
3387
5070
  }),
3388
- ensureRunning: (workspaceId, options2) => run2(async () => {
5071
+ ensureRunning: (ref, waitOptions) => run(async () => {
5072
+ throwIfAborted2(waitOptions?.signal, "ensuring the workspace is running");
3389
5073
  const result = await trpc.workspace.ensureRunning.mutate({
3390
- workspaceId,
3391
- timeoutMs: options2?.timeoutMs,
3392
- pollIntervalMs: options2?.pollIntervalMs
3393
- });
5074
+ workspaceId: workspaceIdOf(ref),
5075
+ timeoutMs: waitOptions?.timeoutMs,
5076
+ pollIntervalMs: waitOptions?.pollIntervalMs
5077
+ }, { signal: waitOptions?.signal });
3394
5078
  const workspace = normalizeWorkspace(result.workspace);
3395
5079
  if (!workspace)
3396
5080
  throw new GittermError("SERVER_ERROR", "ensureRunning failed");
@@ -3399,59 +5083,139 @@ ${log}` : ""}`);
3399
5083
  runtime: normalizeRuntime(result.runtime)
3400
5084
  };
3401
5085
  }),
3402
- pause: (workspaceId) => run2(async () => {
3403
- const result = await trpc.workspace.pauseWorkspace.mutate({ workspaceId });
5086
+ pause: (ref) => run(async () => {
5087
+ const result = await trpc.workspace.pauseWorkspace.mutate({
5088
+ workspaceId: workspaceIdOf(ref)
5089
+ });
3404
5090
  return { durationMinutes: result.durationMinutes };
3405
5091
  }),
3406
- restart: (workspaceId) => run2(async () => {
3407
- const result = await trpc.workspace.restartWorkspace.mutate({ workspaceId });
5092
+ restart: (ref) => run(async () => {
5093
+ const result = await trpc.workspace.restartWorkspace.mutate({
5094
+ workspaceId: workspaceIdOf(ref)
5095
+ });
3408
5096
  return { status: result.status };
3409
5097
  }),
3410
- terminate: (workspaceId) => run2(async () => {
3411
- const result = await trpc.workspace.deleteWorkspace.mutate({ workspaceId });
5098
+ terminate: (ref) => run(async () => {
5099
+ const result = await trpc.workspace.deleteWorkspace.mutate({
5100
+ workspaceId: workspaceIdOf(ref)
5101
+ });
3412
5102
  return {
3413
5103
  workspace: normalizeWorkspace(result.workspace),
3414
5104
  cleanupInBackground: result.cleanupInBackground
3415
5105
  };
3416
5106
  }),
3417
5107
  create: createWorkspace,
3418
- setupStatus: (workspaceId) => run2(async () => trpc.workspace.getSetupStatus.query({ workspaceId })),
3419
- waitForSetup: (workspaceId, waitOptions) => run2(() => waitForWorkspaceSetup(workspaceId, waitOptions))
5108
+ models: (ref) => run(() => trpc.workspace.getModelAccess.query({ workspaceId: workspaceIdOf(ref) })),
5109
+ setupStatus: (ref) => run(async () => trpc.workspace.getSetupStatus.query({ workspaceId: workspaceIdOf(ref) })),
5110
+ waitForSetup: (ref, waitOptions) => run(() => waitForWorkspaceSetup(workspaceIdOf(ref), waitOptions))
3420
5111
  },
3421
5112
  runs: {
3422
- create: (input) => run2(async () => trpc.run.create.mutate(input)),
3423
- get: (workspaceId, runId) => run2(async () => trpc.run.get.query({ workspaceId, runId })),
3424
- messages: (workspaceId, runId) => run2(async () => trpc.run.messages.query({ workspaceId, runId })),
3425
- cancel: (workspaceId, runId) => run2(async () => trpc.run.cancel.mutate({ workspaceId, runId })),
3426
- wait: (workspaceId, runId, waitOptions) => run2(async () => {
3427
- const timeoutMs = waitOptions?.timeoutMs ?? 30 * 60000;
3428
- const pollIntervalMs = waitOptions?.pollIntervalMs ?? 2000;
3429
- const deadline = Date.now() + timeoutMs;
3430
- while (true) {
3431
- const result = await trpc.run.get.query({ workspaceId, runId });
3432
- if (result.status !== "pending" && result.status !== "running" && result.status !== "retrying")
3433
- return result;
3434
- if (Date.now() >= deadline) {
3435
- throw new GittermError("NETWORK", `Timed out waiting for run ${runId}`);
3436
- }
3437
- await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
5113
+ create: (input) => run(async () => {
5114
+ const { signal, workspace, ...rest } = input;
5115
+ const request = {
5116
+ ...rest,
5117
+ workspaceId: workspaceIdOf(workspace),
5118
+ context: rest.context?.type === "continue" ? { type: "continue", runId: rest.context.run.id } : rest.context
5119
+ };
5120
+ if (request.waitForSetup) {
5121
+ await waitForWorkspaceSetup(request.workspaceId, {
5122
+ timeoutMs: request.setupTimeoutMs,
5123
+ signal
5124
+ });
3438
5125
  }
3439
- })
5126
+ throwIfAborted2(signal, "creating the run");
5127
+ return trpc.run.create.mutate({ ...request, idempotencyKey: request.idempotencyKey ?? crypto.randomUUID() }, { signal });
5128
+ }),
5129
+ list: (ref, listOptions) => run(async () => trpc.run.list.query({
5130
+ workspaceId: workspaceIdOf(ref),
5131
+ ...listOptions
5132
+ })),
5133
+ get: (ref) => run(async () => trpc.run.get.query(runTargetOf(ref))),
5134
+ messages: (ref) => run(async () => {
5135
+ const messages = await trpc.run.messages.query(runTargetOf(ref));
5136
+ return messages.map((message) => ({ ...message, parts: message.parts ?? [] }));
5137
+ }),
5138
+ cancel: (ref) => run(async () => trpc.run.cancel.mutate(runTargetOf(ref))),
5139
+ respond,
5140
+ watch,
5141
+ ...runHelpers({ watch, respond })
3440
5142
  },
3441
5143
  catalog: {
3442
- agentTypes: (input) => run2(async () => {
5144
+ agentTypes: (input) => run(async () => {
3443
5145
  const result = await trpc.workspace.listAgentTypes.query(input);
3444
5146
  return result.agentTypes;
3445
5147
  }),
3446
- cloudProviders: (input) => run2(async () => {
5148
+ cloudProviders: (input) => run(async () => {
3447
5149
  const result = await trpc.workspace.listCloudProviders.query(input);
3448
5150
  return result.cloudProviders;
3449
5151
  }),
3450
- workspaceOptions: () => run2(async () => trpc.workspace.getWorkspaceCatalog.query())
5152
+ workspaceOptions: () => run(async () => trpc.workspace.getWorkspaceCatalog.query())
5153
+ },
5154
+ integrations: {
5155
+ catalog: () => run(async () => trpc.integrations.catalog.query()),
5156
+ connections: {
5157
+ list: (filter) => run(async () => {
5158
+ const result = await trpc.integrations.connections.list.query(filter);
5159
+ return result.map(toConnection);
5160
+ }),
5161
+ get: (id) => run(async () => toConnection(await trpc.integrations.connections.get.query({ id }))),
5162
+ create: (input) => run(async () => {
5163
+ const result = await trpc.integrations.connections.create.mutate(input);
5164
+ return result.status === "connected" ? { ...result, connection: toConnection(result.connection) } : result;
5165
+ }),
5166
+ remove: (id) => run(async () => {
5167
+ await trpc.integrations.connections.remove.mutate({ id });
5168
+ }),
5169
+ waitFor: ({ integration, since, timeoutMs = 5 * 60000, intervalMs = 3000 }) => run(async () => {
5170
+ const sinceMs = since ? new Date(since).getTime() : 0;
5171
+ const deadline = Date.now() + timeoutMs;
5172
+ while (Date.now() < deadline) {
5173
+ const result = await trpc.integrations.connections.list.query({
5174
+ integration,
5175
+ kind: "personal"
5176
+ });
5177
+ const match = result.map(toConnection).filter((c) => c.status === "connected" && new Date(c.connectedAt).getTime() >= sinceMs).sort((a, b) => b.connectedAt.localeCompare(a.connectedAt))[0];
5178
+ if (match)
5179
+ return match;
5180
+ await new Promise((resolve) => setTimeout(resolve, intervalMs));
5181
+ }
5182
+ throw new Error(`Timed out waiting for a ${integration} connection`);
5183
+ })
5184
+ },
5185
+ github: {
5186
+ repositories: (connectionId) => run(async () => trpc.integrations.github.repositories.query({ connectionId })),
5187
+ branches: (connectionId, owner, repo) => run(async () => trpc.integrations.github.branches.query({ connectionId, owner, repo }))
5188
+ },
5189
+ google: {
5190
+ setup: () => run(async () => trpc.integrations.google.setup.query())
5191
+ }
5192
+ },
5193
+ credentials: {
5194
+ list: () => run(async () => {
5195
+ const result = await trpc.modelCredentials.listMyCredentials.query();
5196
+ return result.credentials.map((credential) => ({
5197
+ ...credential,
5198
+ lastUsedAt: toIso(credential.lastUsedAt),
5199
+ oauthExpiresAt: toIso(credential.oauthExpiresAt),
5200
+ createdAt: toIso(credential.createdAt),
5201
+ updatedAt: toIso(credential.updatedAt)
5202
+ }));
5203
+ }),
5204
+ listProviders: () => run(async () => {
5205
+ const result = await trpc.modelCredentials.listProviders.query();
5206
+ return result.providers.map((provider) => ({
5207
+ id: provider.id,
5208
+ name: provider.name,
5209
+ logicalProviderKey: provider.logicalProviderKey,
5210
+ displayName: provider.displayName,
5211
+ authType: provider.authType,
5212
+ isRecommended: provider.isRecommended
5213
+ }));
5214
+ })
3451
5215
  }
3452
5216
  };
3453
5217
  }
3454
- function sleep2(ms) {
5218
+ function sleep22(ms) {
3455
5219
  return new Promise((resolve) => setTimeout(resolve, ms));
3456
5220
  }
3457
5221
  async function loginWithDeviceCode(serverUrl, options = {}) {
@@ -3486,7 +5250,7 @@ async function loginWithDeviceCode(serverUrl, options = {}) {
3486
5250
  const errText = await tokenRes.text().catch(() => "");
3487
5251
  throw new Error(`Login failed: ${tokenRes.status} ${errText}`);
3488
5252
  }
3489
- await sleep2(Math.max(1, codeJson.intervalSeconds) * 1000);
5253
+ await sleep22(Math.max(1, codeJson.intervalSeconds) * 1000);
3490
5254
  }
3491
5255
  throw new Error("Device code expired; try again.");
3492
5256
  }
@@ -3532,7 +5296,7 @@ function createGittermWorkspaceClient(options = {}) {
3532
5296
  })
3533
5297
  ]
3534
5298
  });
3535
- async function run2(operation) {
5299
+ async function run(operation) {
3536
5300
  try {
3537
5301
  return await operation();
3538
5302
  } catch (error) {
@@ -3545,11 +5309,12 @@ function createGittermWorkspaceClient(options = {}) {
3545
5309
  return {
3546
5310
  workspaceId,
3547
5311
  serverUrl,
3548
- self: { get: () => run2(() => trpc.workspaceOps.getSelf.query()) },
5312
+ self: { get: () => run(() => trpc.workspaceOps.getSelf.query()) },
3549
5313
  ports: {
3550
- list: () => run2(() => trpc.workspaceOps.listPorts.query()),
3551
- open: (port, input) => run2(() => trpc.workspaceOps.openPort.mutate({ port, ...input })),
3552
- close: (port) => run2(() => trpc.workspaceOps.closePort.mutate({ port }))
5314
+ list: () => run(() => trpc.workspaceOps.listPorts.query()),
5315
+ open: (port, input) => run(() => trpc.workspaceOps.openPort.mutate({ port, ...input })),
5316
+ setVisibility: (port, visibility) => run(() => trpc.workspaceOps.setPortVisibility.mutate({ port, visibility })),
5317
+ close: (port) => run(() => trpc.workspaceOps.closePort.mutate({ port }))
3553
5318
  }
3554
5319
  };
3555
5320
  }
@@ -4211,8 +5976,8 @@ var exec = (string, columns, options = {}) => {
4211
5976
  if (ESCAPES.has(character)) {
4212
5977
  const { groups } = new RegExp(`(?:\\${ANSI_CSI}(?<code>\\d+)m|\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`).exec(preString.slice(preStringIndex)) || { groups: {} };
4213
5978
  if (groups.code !== undefined) {
4214
- const code2 = Number.parseFloat(groups.code);
4215
- escapeCode = code2 === END_CODE ? undefined : code2;
5979
+ const code = Number.parseFloat(groups.code);
5980
+ escapeCode = code === END_CODE ? undefined : code;
4216
5981
  } else if (groups.uri !== undefined) {
4217
5982
  escapeUrl = groups.uri.length === 0 ? undefined : groups.uri;
4218
5983
  }
@@ -4371,11 +6136,11 @@ function tokenizeArgString(argString) {
4371
6136
 
4372
6137
  // ../../node_modules/.bun/yargs-parser@22.0.0/node_modules/yargs-parser/build/lib/yargs-parser-types.js
4373
6138
  var DefaultValuesForTypeKey;
4374
- (function(DefaultValuesForTypeKey2) {
4375
- DefaultValuesForTypeKey2["BOOLEAN"] = "boolean";
4376
- DefaultValuesForTypeKey2["STRING"] = "string";
4377
- DefaultValuesForTypeKey2["NUMBER"] = "number";
4378
- DefaultValuesForTypeKey2["ARRAY"] = "array";
6139
+ (function(DefaultValuesForTypeKey) {
6140
+ DefaultValuesForTypeKey["BOOLEAN"] = "boolean";
6141
+ DefaultValuesForTypeKey["STRING"] = "string";
6142
+ DefaultValuesForTypeKey["NUMBER"] = "number";
6143
+ DefaultValuesForTypeKey["ARRAY"] = "array";
4379
6144
  })(DefaultValuesForTypeKey || (DefaultValuesForTypeKey = {}));
4380
6145
 
4381
6146
  // ../../node_modules/.bun/yargs-parser@22.0.0/node_modules/yargs-parser/build/lib/yargs-parser.js
@@ -4452,13 +6217,13 @@ class YargsParser {
4452
6217
  const negatedBoolean = new RegExp("^--" + configuration["negation-prefix"] + "(.+)");
4453
6218
  [].concat(opts.array || []).filter(Boolean).forEach(function(opt) {
4454
6219
  const key = typeof opt === "object" ? opt.key : opt;
4455
- const assignment = Object.keys(opt).map(function(key2) {
6220
+ const assignment = Object.keys(opt).map(function(key) {
4456
6221
  const arrayFlagKeys = {
4457
6222
  boolean: "bools",
4458
6223
  string: "strings",
4459
6224
  number: "numbers"
4460
6225
  };
4461
- return arrayFlagKeys[key2];
6226
+ return arrayFlagKeys[key];
4462
6227
  }).filter(Boolean).pop();
4463
6228
  if (assignment) {
4464
6229
  flags[assignment][key] = true;
@@ -4698,7 +6463,7 @@ class YargsParser {
4698
6463
  argv._.push(maybeCoercedNumber);
4699
6464
  }
4700
6465
  }
4701
- function eatNargs(i, key, args2, argAfterEqualSign) {
6466
+ function eatNargs(i, key, args, argAfterEqualSign) {
4702
6467
  let ii;
4703
6468
  let toEat = checkAllAliases(key, flags.nargs);
4704
6469
  toEat = typeof toEat !== "number" || isNaN(toEat) ? 1 : toEat;
@@ -4711,13 +6476,13 @@ class YargsParser {
4711
6476
  }
4712
6477
  let available = isUndefined(argAfterEqualSign) ? 0 : 1;
4713
6478
  if (configuration["nargs-eats-options"]) {
4714
- if (args2.length - (i + 1) + available < toEat) {
6479
+ if (args.length - (i + 1) + available < toEat) {
4715
6480
  error = Error(__("Not enough arguments following: %s", key));
4716
6481
  }
4717
6482
  available = toEat;
4718
6483
  } else {
4719
- for (ii = i + 1;ii < args2.length; ii++) {
4720
- if (!args2[ii].match(/^-[^0-9]/) || args2[ii].match(negative) || isUnknownOptionAsArg(args2[ii]))
6484
+ for (ii = i + 1;ii < args.length; ii++) {
6485
+ if (!args[ii].match(/^-[^0-9]/) || args[ii].match(negative) || isUnknownOptionAsArg(args[ii]))
4721
6486
  available++;
4722
6487
  else
4723
6488
  break;
@@ -4731,13 +6496,13 @@ class YargsParser {
4731
6496
  consumed--;
4732
6497
  }
4733
6498
  for (ii = i + 1;ii < consumed + i + 1; ii++) {
4734
- setArg(key, args2[ii]);
6499
+ setArg(key, args[ii]);
4735
6500
  }
4736
6501
  return i + consumed;
4737
6502
  }
4738
- function eatArray(i, key, args2, argAfterEqualSign) {
6503
+ function eatArray(i, key, args, argAfterEqualSign) {
4739
6504
  let argsToSet = [];
4740
- let next = argAfterEqualSign || args2[i + 1];
6505
+ let next = argAfterEqualSign || args[i + 1];
4741
6506
  const nargsCount = checkAllAliases(key, flags.nargs);
4742
6507
  if (checkAllAliases(key, flags.bools) && !/^(true|false)$/.test(next)) {
4743
6508
  argsToSet.push(true);
@@ -4750,10 +6515,10 @@ class YargsParser {
4750
6515
  if (!isUndefined(argAfterEqualSign)) {
4751
6516
  argsToSet.push(processValue(key, argAfterEqualSign, true));
4752
6517
  }
4753
- for (let ii = i + 1;ii < args2.length; ii++) {
6518
+ for (let ii = i + 1;ii < args.length; ii++) {
4754
6519
  if (!configuration["greedy-arrays"] && argsToSet.length > 0 || nargsCount && typeof nargsCount === "number" && argsToSet.length >= nargsCount)
4755
6520
  break;
4756
- next = args2[ii];
6521
+ next = args[ii];
4757
6522
  if (/^-/.test(next) && !negative.test(next) && !isUnknownOptionAsArg(next))
4758
6523
  break;
4759
6524
  i = ii;
@@ -4795,14 +6560,14 @@ class YargsParser {
4795
6560
  }
4796
6561
  if (checkAllAliases(key, flags.normalize) && !checkAllAliases(key, flags.arrays)) {
4797
6562
  const keys = [key].concat(flags.aliases[key] || []);
4798
- keys.forEach(function(key2) {
4799
- Object.defineProperty(argvReturn, key2, {
6563
+ keys.forEach(function(key) {
6564
+ Object.defineProperty(argvReturn, key, {
4800
6565
  enumerable: true,
4801
6566
  get() {
4802
6567
  return val;
4803
6568
  },
4804
- set(value2) {
4805
- val = typeof value2 === "string" ? mixin2.normalize(value2) : value2;
6569
+ set(value) {
6570
+ val = typeof value === "string" ? mixin2.normalize(value) : value;
4806
6571
  }
4807
6572
  });
4808
6573
  });
@@ -4833,8 +6598,8 @@ class YargsParser {
4833
6598
  }
4834
6599
  if (checkAllAliases(key, flags.normalize) && checkAllAliases(key, flags.arrays)) {
4835
6600
  if (Array.isArray(val))
4836
- value = val.map((val2) => {
4837
- return mixin2.normalize(val2);
6601
+ value = val.map((val) => {
6602
+ return mixin2.normalize(val);
4838
6603
  });
4839
6604
  else
4840
6605
  value = mixin2.normalize(val);
@@ -4852,11 +6617,11 @@ class YargsParser {
4852
6617
  }
4853
6618
  return value;
4854
6619
  }
4855
- function setConfig(argv2) {
6620
+ function setConfig(argv) {
4856
6621
  const configLookup = Object.create(null);
4857
6622
  applyDefaultsAndAliases(configLookup, flags.aliases, defaults);
4858
6623
  Object.keys(flags.configs).forEach(function(configKey) {
4859
- const configPath = argv2[configKey] || configLookup[configKey];
6624
+ const configPath = argv[configKey] || configLookup[configKey];
4860
6625
  if (configPath) {
4861
6626
  try {
4862
6627
  let config = null;
@@ -4879,7 +6644,7 @@ class YargsParser {
4879
6644
  } catch (ex) {
4880
6645
  if (ex.name === "PermissionDenied")
4881
6646
  error = ex;
4882
- else if (argv2[configKey])
6647
+ else if (argv[configKey])
4883
6648
  error = Error(__("Invalid JSON config file: %s", configPath));
4884
6649
  }
4885
6650
  }
@@ -4905,7 +6670,7 @@ class YargsParser {
4905
6670
  });
4906
6671
  }
4907
6672
  }
4908
- function applyEnvVars(argv2, configOnly) {
6673
+ function applyEnvVars(argv, configOnly) {
4909
6674
  if (typeof envPrefix === "undefined")
4910
6675
  return;
4911
6676
  const prefix = typeof envPrefix === "string" ? envPrefix : "";
@@ -4918,24 +6683,24 @@ class YargsParser {
4918
6683
  }
4919
6684
  return camelCase(key);
4920
6685
  });
4921
- if ((configOnly && flags.configs[keys.join(".")] || !configOnly) && !hasKey(argv2, keys)) {
6686
+ if ((configOnly && flags.configs[keys.join(".")] || !configOnly) && !hasKey(argv, keys)) {
4922
6687
  setArg(keys.join("."), env[envVar]);
4923
6688
  }
4924
6689
  }
4925
6690
  });
4926
6691
  }
4927
- function applyCoercions(argv2) {
6692
+ function applyCoercions(argv) {
4928
6693
  let coerce;
4929
6694
  const applied = new Set;
4930
- Object.keys(argv2).forEach(function(key) {
6695
+ Object.keys(argv).forEach(function(key) {
4931
6696
  if (!applied.has(key)) {
4932
6697
  coerce = checkAllAliases(key, flags.coercions);
4933
6698
  if (typeof coerce === "function") {
4934
6699
  try {
4935
- const value = maybeCoerceNumber(key, coerce(argv2[key]));
6700
+ const value = maybeCoerceNumber(key, coerce(argv[key]));
4936
6701
  [].concat(flags.aliases[key] || [], key).forEach((ali) => {
4937
6702
  applied.add(ali);
4938
- argv2[ali] = value;
6703
+ argv[ali] = value;
4939
6704
  });
4940
6705
  } catch (err) {
4941
6706
  error = err;
@@ -4944,25 +6709,25 @@ class YargsParser {
4944
6709
  }
4945
6710
  });
4946
6711
  }
4947
- function setPlaceholderKeys(argv2) {
6712
+ function setPlaceholderKeys(argv) {
4948
6713
  flags.keys.forEach((key) => {
4949
6714
  if (~key.indexOf("."))
4950
6715
  return;
4951
- if (typeof argv2[key] === "undefined")
4952
- argv2[key] = undefined;
6716
+ if (typeof argv[key] === "undefined")
6717
+ argv[key] = undefined;
4953
6718
  });
4954
- return argv2;
6719
+ return argv;
4955
6720
  }
4956
- function applyDefaultsAndAliases(obj, aliases2, defaults2, canLog = false) {
4957
- Object.keys(defaults2).forEach(function(key) {
6721
+ function applyDefaultsAndAliases(obj, aliases, defaults, canLog = false) {
6722
+ Object.keys(defaults).forEach(function(key) {
4958
6723
  if (!hasKey(obj, key.split("."))) {
4959
- setKey(obj, key.split("."), defaults2[key]);
6724
+ setKey(obj, key.split("."), defaults[key]);
4960
6725
  if (canLog)
4961
6726
  defaulted[key] = true;
4962
- (aliases2[key] || []).forEach(function(x) {
6727
+ (aliases[key] || []).forEach(function(x) {
4963
6728
  if (hasKey(obj, x.split(".")))
4964
6729
  return;
4965
- setKey(obj, x.split("."), defaults2[key]);
6730
+ setKey(obj, x.split("."), defaults[key]);
4966
6731
  });
4967
6732
  }
4968
6733
  });
@@ -4971,8 +6736,8 @@ class YargsParser {
4971
6736
  let o = obj;
4972
6737
  if (!configuration["dot-notation"])
4973
6738
  keys = [keys.join(".")];
4974
- keys.slice(0, -1).forEach(function(key2) {
4975
- o = o[key2] || {};
6739
+ keys.slice(0, -1).forEach(function(key) {
6740
+ o = o[key] || {};
4976
6741
  });
4977
6742
  const key = keys[keys.length - 1];
4978
6743
  if (typeof o !== "object")
@@ -4984,20 +6749,20 @@ class YargsParser {
4984
6749
  let o = obj;
4985
6750
  if (!configuration["dot-notation"])
4986
6751
  keys = [keys.join(".")];
4987
- keys.slice(0, -1).forEach(function(key2) {
4988
- key2 = sanitizeKey(key2);
4989
- if (typeof o === "object" && o[key2] === undefined) {
4990
- o[key2] = {};
6752
+ keys.slice(0, -1).forEach(function(key) {
6753
+ key = sanitizeKey(key);
6754
+ if (typeof o === "object" && o[key] === undefined) {
6755
+ o[key] = {};
4991
6756
  }
4992
- if (typeof o[key2] !== "object" || Array.isArray(o[key2])) {
4993
- if (Array.isArray(o[key2])) {
4994
- o[key2].push({});
6757
+ if (typeof o[key] !== "object" || Array.isArray(o[key])) {
6758
+ if (Array.isArray(o[key])) {
6759
+ o[key].push({});
4995
6760
  } else {
4996
- o[key2] = [o[key2], {}];
6761
+ o[key] = [o[key], {}];
4997
6762
  }
4998
- o = o[key2][o[key2].length - 1];
6763
+ o = o[key][o[key].length - 1];
4999
6764
  } else {
5000
- o = o[key2];
6765
+ o = o[key];
5001
6766
  }
5002
6767
  });
5003
6768
  const key = sanitizeKey(keys[keys.length - 1]);
@@ -5028,8 +6793,8 @@ class YargsParser {
5028
6793
  o[key] = value;
5029
6794
  }
5030
6795
  }
5031
- function extendAliases(...args2) {
5032
- args2.forEach(function(obj) {
6796
+ function extendAliases(...args) {
6797
+ args.forEach(function(obj) {
5033
6798
  Object.keys(obj || {}).forEach(function(key) {
5034
6799
  if (flags.aliases[key])
5035
6800
  return;
@@ -5063,7 +6828,7 @@ class YargsParser {
5063
6828
  function checkAllAliases(key, flag) {
5064
6829
  const toCheck = [].concat(flags.aliases[key] || [], key);
5065
6830
  const keys = Object.keys(flag);
5066
- const setAlias = toCheck.find((key2) => keys.includes(key2));
6831
+ const setAlias = toCheck.find((key) => keys.includes(key));
5067
6832
  return setAlias ? flag[setAlias] : false;
5068
6833
  }
5069
6834
  function hasAnyFlag(key) {
@@ -5452,14 +7217,14 @@ class Y18N {
5452
7217
  }
5453
7218
  function y18n(opts, _shim) {
5454
7219
  shim = _shim;
5455
- const y18n2 = new Y18N(opts);
7220
+ const y18n = new Y18N(opts);
5456
7221
  return {
5457
- __: y18n2.__.bind(y18n2),
5458
- __n: y18n2.__n.bind(y18n2),
5459
- setLocale: y18n2.setLocale.bind(y18n2),
5460
- getLocale: y18n2.getLocale.bind(y18n2),
5461
- updateLocale: y18n2.updateLocale.bind(y18n2),
5462
- locale: y18n2.locale
7222
+ __: y18n.__.bind(y18n),
7223
+ __n: y18n.__n.bind(y18n),
7224
+ setLocale: y18n.setLocale.bind(y18n),
7225
+ getLocale: y18n.getLocale.bind(y18n),
7226
+ updateLocale: y18n.updateLocale.bind(y18n),
7227
+ locale: y18n.locale
5463
7228
  };
5464
7229
  }
5465
7230
 
@@ -5524,18 +7289,18 @@ var esm_default = {
5524
7289
  };
5525
7290
 
5526
7291
  // ../../node_modules/.bun/yargs@18.0.0/node_modules/yargs/build/lib/typings/common-types.js
5527
- function assertNotStrictEqual(actual, expected, shim2, message) {
5528
- shim2.assert.notStrictEqual(actual, expected, message);
7292
+ function assertNotStrictEqual(actual, expected, shim, message) {
7293
+ shim.assert.notStrictEqual(actual, expected, message);
5529
7294
  }
5530
- function assertSingleKey(actual, shim2) {
5531
- shim2.assert.strictEqual(typeof actual, "string");
7295
+ function assertSingleKey(actual, shim) {
7296
+ shim.assert.strictEqual(typeof actual, "string");
5532
7297
  }
5533
7298
  function objectKeys(object) {
5534
7299
  return Object.keys(object);
5535
7300
  }
5536
7301
 
5537
7302
  // ../../node_modules/.bun/yargs@18.0.0/node_modules/yargs/build/lib/utils/is-promise.js
5538
- function isPromise(maybePromise) {
7303
+ function isPromise2(maybePromise) {
5539
7304
  return !!maybePromise && !!maybePromise.then && typeof maybePromise.then === "function";
5540
7305
  }
5541
7306
 
@@ -5563,19 +7328,19 @@ function parseCommand(cmd) {
5563
7328
  demanded: [],
5564
7329
  optional: []
5565
7330
  };
5566
- splitCommand.forEach((cmd2, i) => {
7331
+ splitCommand.forEach((cmd, i) => {
5567
7332
  let variadic = false;
5568
- cmd2 = cmd2.replace(/\s/g, "");
5569
- if (/\.+[\]>]/.test(cmd2) && i === splitCommand.length - 1)
7333
+ cmd = cmd.replace(/\s/g, "");
7334
+ if (/\.+[\]>]/.test(cmd) && i === splitCommand.length - 1)
5570
7335
  variadic = true;
5571
- if (/^\[/.test(cmd2)) {
7336
+ if (/^\[/.test(cmd)) {
5572
7337
  parsedCommand.optional.push({
5573
- cmd: cmd2.replace(bregex, "").split("|"),
7338
+ cmd: cmd.replace(bregex, "").split("|"),
5574
7339
  variadic
5575
7340
  });
5576
7341
  } else {
5577
7342
  parsedCommand.demanded.push({
5578
- cmd: cmd2.replace(bregex, "").split("|"),
7343
+ cmd: cmd.replace(bregex, "").split("|"),
5579
7344
  variadic
5580
7345
  });
5581
7346
  }
@@ -5714,11 +7479,11 @@ function applyMiddleware(argv, yargs, middlewares, beforeValidation) {
5714
7479
  return acc;
5715
7480
  middleware.applied = true;
5716
7481
  }
5717
- if (isPromise(acc)) {
7482
+ if (isPromise2(acc)) {
5718
7483
  return acc.then((initialObj) => Promise.all([initialObj, middleware(initialObj, yargs)])).then(([initialObj, middlewareObj]) => Object.assign(initialObj, middlewareObj));
5719
7484
  } else {
5720
7485
  const result = middleware(acc, yargs);
5721
- return isPromise(result) ? result.then((middlewareObj) => Object.assign(acc, middlewareObj)) : Object.assign(acc, result);
7486
+ return isPromise2(result) ? result.then((middlewareObj) => Object.assign(acc, middlewareObj)) : Object.assign(acc, result);
5722
7487
  }
5723
7488
  }, argv);
5724
7489
  }
@@ -5729,7 +7494,7 @@ function maybeAsyncResult(getResult, resultHandler, errorHandler = (err) => {
5729
7494
  }) {
5730
7495
  try {
5731
7496
  const result = isFunction3(getResult) ? getResult() : getResult;
5732
- return isPromise(result) ? result.then((result2) => resultHandler(result2)) : resultHandler(result);
7497
+ return isPromise2(result) ? result.then((result) => resultHandler(result)) : resultHandler(result);
5733
7498
  } catch (err) {
5734
7499
  return errorHandler(err);
5735
7500
  }
@@ -5742,12 +7507,12 @@ function isFunction3(arg) {
5742
7507
  var DEFAULT_MARKER = /(^\*)|(^\$0)/;
5743
7508
 
5744
7509
  class CommandInstance {
5745
- constructor(usage, validation, globalMiddleware, shim2) {
7510
+ constructor(usage, validation, globalMiddleware, shim) {
5746
7511
  this.requireCache = new Set;
5747
7512
  this.handlers = {};
5748
7513
  this.aliasMap = {};
5749
7514
  this.frozens = [];
5750
- this.shim = shim2;
7515
+ this.shim = shim;
5751
7516
  this.usage = usage;
5752
7517
  this.globalMiddleware = globalMiddleware;
5753
7518
  this.validation = validation;
@@ -5889,7 +7654,7 @@ class CommandInstance {
5889
7654
  currentContext.fullCommands.push(commandHandler.original);
5890
7655
  }
5891
7656
  const builderResult = this.applyBuilderUpdateUsageAndParse(isDefaultCommand, commandHandler, yargs, parsed.aliases, parentCommands, commandIndex, helpOnly, helpOrVersionSet);
5892
- return isPromise(builderResult) ? builderResult.then((result) => this.applyMiddlewareAndGetResult(isDefaultCommand, commandHandler, result.innerArgv, currentContext, helpOnly, result.aliases, yargs)) : this.applyMiddlewareAndGetResult(isDefaultCommand, commandHandler, builderResult.innerArgv, currentContext, helpOnly, builderResult.aliases, yargs);
7657
+ return isPromise2(builderResult) ? builderResult.then((result) => this.applyMiddlewareAndGetResult(isDefaultCommand, commandHandler, result.innerArgv, currentContext, helpOnly, result.aliases, yargs)) : this.applyMiddlewareAndGetResult(isDefaultCommand, commandHandler, builderResult.innerArgv, currentContext, helpOnly, builderResult.aliases, yargs);
5893
7658
  }
5894
7659
  applyBuilderUpdateUsageAndParse(isDefaultCommand, commandHandler, yargs, aliases, parentCommands, commandIndex, helpOnly, helpOrVersionSet) {
5895
7660
  const builder = commandHandler.builder;
@@ -5897,7 +7662,7 @@ class CommandInstance {
5897
7662
  if (isCommandBuilderCallback(builder)) {
5898
7663
  yargs.getInternalMethods().getUsageInstance().freeze();
5899
7664
  const builderOutput = builder(yargs.getInternalMethods().reset(aliases), helpOrVersionSet);
5900
- if (isPromise(builderOutput)) {
7665
+ if (isPromise2(builderOutput)) {
5901
7666
  return builderOutput.then((output) => {
5902
7667
  innerYargs = isYargsInstance(output) ? output : yargs;
5903
7668
  return this.parseAndUpdateUsage(isDefaultCommand, commandHandler, innerYargs, parentCommands, commandIndex, helpOnly);
@@ -5919,7 +7684,7 @@ class CommandInstance {
5919
7684
  innerYargs.getInternalMethods().getUsageInstance().usage(this.usageFromParentCommandsCommandHandler(parentCommands, commandHandler), commandHandler.description);
5920
7685
  }
5921
7686
  const innerArgv = innerYargs.getInternalMethods().runYargsParserAndExecuteCommands(null, undefined, true, commandIndex, helpOnly);
5922
- return isPromise(innerArgv) ? innerArgv.then((argv) => ({
7687
+ return isPromise2(innerArgv) ? innerArgv.then((argv) => ({
5923
7688
  aliases: innerYargs.parsed.aliases,
5924
7689
  innerArgv: argv
5925
7690
  })) : {
@@ -5932,8 +7697,8 @@ class CommandInstance {
5932
7697
  }
5933
7698
  usageFromParentCommandsCommandHandler(parentCommands, commandHandler) {
5934
7699
  const c = DEFAULT_MARKER.test(commandHandler.original) ? commandHandler.original.replace(DEFAULT_MARKER, "").trim() : commandHandler.original;
5935
- const pc = parentCommands.filter((c2) => {
5936
- return !DEFAULT_MARKER.test(c2);
7700
+ const pc = parentCommands.filter((c) => {
7701
+ return !DEFAULT_MARKER.test(c);
5937
7702
  });
5938
7703
  pc.push(c);
5939
7704
  return `$0 ${pc.join(" ")}`;
@@ -5953,12 +7718,12 @@ class CommandInstance {
5953
7718
  innerArgv = applyMiddleware(innerArgv, yargs, middlewares, false);
5954
7719
  innerArgv = maybeAsyncResult(innerArgv, (result) => {
5955
7720
  const handlerResult = commandHandler.handler(result);
5956
- return isPromise(handlerResult) ? handlerResult.then(() => result) : result;
7721
+ return isPromise2(handlerResult) ? handlerResult.then(() => result) : result;
5957
7722
  });
5958
7723
  if (!isDefaultCommand) {
5959
7724
  yargs.getInternalMethods().getUsageInstance().cacheHelpMessage();
5960
7725
  }
5961
- if (isPromise(innerArgv) && !yargs.getInternalMethods().hasParseCallback()) {
7726
+ if (isPromise2(innerArgv) && !yargs.getInternalMethods().hasParseCallback()) {
5962
7727
  innerArgv.catch((error) => {
5963
7728
  try {
5964
7729
  yargs.getInternalMethods().getUsageInstance().fail(null, error);
@@ -5981,7 +7746,7 @@ class CommandInstance {
5981
7746
  }
5982
7747
  const middlewares = this.globalMiddleware.getMiddleware().slice(0).concat(commandHandler.middlewares);
5983
7748
  const maybePromiseArgv = applyMiddleware(innerArgv, yargs, middlewares, true);
5984
- return isPromise(maybePromiseArgv) ? maybePromiseArgv.then((resolvedInnerArgv) => this.handleValidationAndGetResult(isDefaultCommand, commandHandler, resolvedInnerArgv, currentContext, aliases, yargs, middlewares, positionalMap)) : this.handleValidationAndGetResult(isDefaultCommand, commandHandler, maybePromiseArgv, currentContext, aliases, yargs, middlewares, positionalMap);
7749
+ return isPromise2(maybePromiseArgv) ? maybePromiseArgv.then((resolvedInnerArgv) => this.handleValidationAndGetResult(isDefaultCommand, commandHandler, resolvedInnerArgv, currentContext, aliases, yargs, middlewares, positionalMap)) : this.handleValidationAndGetResult(isDefaultCommand, commandHandler, maybePromiseArgv, currentContext, aliases, yargs, middlewares, positionalMap);
5985
7750
  }
5986
7751
  populatePositionals(commandHandler, argv, context, yargs) {
5987
7752
  argv._ = argv._.slice(context.commands.length);
@@ -6139,8 +7904,8 @@ class CommandInstance {
6139
7904
  return this;
6140
7905
  }
6141
7906
  }
6142
- function command(usage, validation, globalMiddleware, shim2) {
6143
- return new CommandInstance(usage, validation, globalMiddleware, shim2);
7907
+ function command(usage, validation, globalMiddleware, shim) {
7908
+ return new CommandInstance(usage, validation, globalMiddleware, shim);
6144
7909
  }
6145
7910
  function isCommandBuilderDefinition(builder) {
6146
7911
  return typeof builder === "object" && !!builder.builder && typeof builder.handler === "function";
@@ -6185,8 +7950,8 @@ function setBlocking(blocking) {
6185
7950
  function isBoolean(fail) {
6186
7951
  return typeof fail === "boolean";
6187
7952
  }
6188
- function usage(yargs, shim2) {
6189
- const __ = shim2.y18n.__;
7953
+ function usage(yargs, shim) {
7954
+ const __ = shim.y18n.__;
6190
7955
  const self = {};
6191
7956
  const fails = [];
6192
7957
  self.failFn = function failFn(f) {
@@ -6209,14 +7974,14 @@ function usage(yargs, shim2) {
6209
7974
  const logger = yargs.getInternalMethods().getLoggerInstance();
6210
7975
  if (fails.length) {
6211
7976
  for (let i = fails.length - 1;i >= 0; --i) {
6212
- const fail2 = fails[i];
6213
- if (isBoolean(fail2)) {
7977
+ const fail = fails[i];
7978
+ if (isBoolean(fail)) {
6214
7979
  if (err)
6215
7980
  throw err;
6216
7981
  else if (msg)
6217
7982
  throw Error(msg);
6218
7983
  } else {
6219
- fail2(msg, err, self);
7984
+ fail(msg, err, self);
6220
7985
  }
6221
7986
  }
6222
7987
  } else {
@@ -6273,7 +8038,7 @@ function usage(yargs, shim2) {
6273
8038
  examples.push([cmd, description || ""]);
6274
8039
  };
6275
8040
  let commands = [];
6276
- self.command = function command2(cmd, description, isDefault, aliases, deprecated = false) {
8041
+ self.command = function command(cmd, description, isDefault, aliases, deprecated = false) {
6277
8042
  if (isDefault) {
6278
8043
  commands = commands.map((cmdArray) => {
6279
8044
  cmdArray[2] = false;
@@ -6309,7 +8074,7 @@ function usage(yargs, shim2) {
6309
8074
  wrap = cols;
6310
8075
  };
6311
8076
  self.getWrap = () => {
6312
- if (shim2.getEnv("YARGS_DISABLE_WRAP")) {
8077
+ if (shim.getEnv("YARGS_DISABLE_WRAP")) {
6313
8078
  return null;
6314
8079
  }
6315
8080
  if (!wrapSet) {
@@ -6324,7 +8089,7 @@ function usage(yargs, shim2) {
6324
8089
  if (cachedHelpMessage)
6325
8090
  return cachedHelpMessage;
6326
8091
  normalizeAliases();
6327
- const base$0 = yargs.customScriptName ? yargs.$0 : shim2.path.basename(yargs.$0);
8092
+ const base$0 = yargs.customScriptName ? yargs.$0 : shim.path.basename(yargs.$0);
6328
8093
  const demandedOptions = yargs.getDemandedOptions();
6329
8094
  const demandedCommands = yargs.getDemandedCommands();
6330
8095
  const deprecatedOptions = yargs.getDeprecatedOptions();
@@ -6342,19 +8107,19 @@ function usage(yargs, shim2) {
6342
8107
  return acc;
6343
8108
  }, {}));
6344
8109
  const theWrap = self.getWrap();
6345
- const ui2 = shim2.cliui({
8110
+ const ui = shim.cliui({
6346
8111
  width: theWrap,
6347
8112
  wrap: !!theWrap
6348
8113
  });
6349
8114
  if (!usageDisabled) {
6350
8115
  if (usages.length) {
6351
- usages.forEach((usage2) => {
6352
- ui2.div({ text: `${usage2[0].replace(/\$0/g, base$0)}` });
6353
- if (usage2[1]) {
6354
- ui2.div({ text: `${usage2[1]}`, padding: [1, 0, 0, 0] });
8116
+ usages.forEach((usage) => {
8117
+ ui.div({ text: `${usage[0].replace(/\$0/g, base$0)}` });
8118
+ if (usage[1]) {
8119
+ ui.div({ text: `${usage[1]}`, padding: [1, 0, 0, 0] });
6355
8120
  }
6356
8121
  });
6357
- ui2.div();
8122
+ ui.div();
6358
8123
  } else if (commands.length) {
6359
8124
  let u = null;
6360
8125
  if (demandedCommands._) {
@@ -6364,48 +8129,48 @@ function usage(yargs, shim2) {
6364
8129
  u = `${base$0} [${__("command")}]
6365
8130
  `;
6366
8131
  }
6367
- ui2.div(`${u}`);
8132
+ ui.div(`${u}`);
6368
8133
  }
6369
8134
  }
6370
8135
  if (commands.length > 1 || commands.length === 1 && !commands[0][2]) {
6371
- ui2.div(__("Commands:"));
8136
+ ui.div(__("Commands:"));
6372
8137
  const context = yargs.getInternalMethods().getContext();
6373
8138
  const parentCommands = context.commands.length ? `${context.commands.join(" ")} ` : "";
6374
8139
  if (yargs.getInternalMethods().getParserConfiguration()["sort-commands"] === true) {
6375
8140
  commands = commands.sort((a, b) => a[0].localeCompare(b[0]));
6376
8141
  }
6377
8142
  const prefix = base$0 ? `${base$0} ` : "";
6378
- commands.forEach((command2) => {
6379
- const commandString = `${prefix}${parentCommands}${command2[0].replace(/^\$0 ?/, "")}`;
6380
- ui2.span({
8143
+ commands.forEach((command) => {
8144
+ const commandString = `${prefix}${parentCommands}${command[0].replace(/^\$0 ?/, "")}`;
8145
+ ui.span({
6381
8146
  text: commandString,
6382
8147
  padding: [0, 2, 0, 2],
6383
8148
  width: maxWidth(commands, theWrap, `${base$0}${parentCommands}`) + 4
6384
- }, { text: command2[1] });
8149
+ }, { text: command[1] });
6385
8150
  const hints = [];
6386
- if (command2[2])
8151
+ if (command[2])
6387
8152
  hints.push(`[${__("default")}]`);
6388
- if (command2[3] && command2[3].length) {
6389
- hints.push(`[${__("aliases:")} ${command2[3].join(", ")}]`);
8153
+ if (command[3] && command[3].length) {
8154
+ hints.push(`[${__("aliases:")} ${command[3].join(", ")}]`);
6390
8155
  }
6391
- if (command2[4]) {
6392
- if (typeof command2[4] === "string") {
6393
- hints.push(`[${__("deprecated: %s", command2[4])}]`);
8156
+ if (command[4]) {
8157
+ if (typeof command[4] === "string") {
8158
+ hints.push(`[${__("deprecated: %s", command[4])}]`);
6394
8159
  } else {
6395
8160
  hints.push(`[${__("deprecated")}]`);
6396
8161
  }
6397
8162
  }
6398
8163
  if (hints.length) {
6399
- ui2.div({
8164
+ ui.div({
6400
8165
  text: hints.join(" "),
6401
8166
  padding: [0, 0, 0, 2],
6402
8167
  align: "right"
6403
8168
  });
6404
8169
  } else {
6405
- ui2.div();
8170
+ ui.div();
6406
8171
  }
6407
8172
  });
6408
- ui2.div();
8173
+ ui.div();
6409
8174
  }
6410
8175
  const aliasKeys = (Object.keys(options.alias) || []).concat(Object.keys(yargs.parsed.newAliases) || []);
6411
8176
  keys = keys.filter((key) => !yargs.parsed.newAliases[key] && aliasKeys.every((alias) => (options.alias[alias] || []).indexOf(key) === -1));
@@ -6449,7 +8214,7 @@ function usage(yargs, shim2) {
6449
8214
  });
6450
8215
  }
6451
8216
  displayedGroups.forEach(({ groupName, normalizedKeys, switches }) => {
6452
- ui2.div(groupName);
8217
+ ui.div(groupName);
6453
8218
  normalizedKeys.forEach((key) => {
6454
8219
  const kswitch = switches[key];
6455
8220
  let desc = descriptions[key] || "";
@@ -6476,32 +8241,32 @@ function usage(yargs, shim2) {
6476
8241
  options.choices && options.choices[key] ? `[${__("choices:")} ${self.stringifiedValues(options.choices[key])}]` : null,
6477
8242
  defaultString(options.default[key], options.defaultDescription[key])
6478
8243
  ].filter(Boolean).join(" ");
6479
- ui2.span({
8244
+ ui.span({
6480
8245
  text: getText(kswitch),
6481
8246
  padding: [0, 2, 0, 2 + getIndentation(kswitch)],
6482
8247
  width: maxWidth(switches, theWrap) + 4
6483
8248
  }, desc);
6484
8249
  const shouldHideOptionExtras = yargs.getInternalMethods().getUsageConfiguration()["hide-types"] === true;
6485
8250
  if (extra && !shouldHideOptionExtras)
6486
- ui2.div({ text: extra, padding: [0, 0, 0, 2], align: "right" });
8251
+ ui.div({ text: extra, padding: [0, 0, 0, 2], align: "right" });
6487
8252
  else
6488
- ui2.div();
8253
+ ui.div();
6489
8254
  });
6490
- ui2.div();
8255
+ ui.div();
6491
8256
  });
6492
8257
  if (examples.length) {
6493
- ui2.div(__("Examples:"));
8258
+ ui.div(__("Examples:"));
6494
8259
  examples.forEach((example) => {
6495
8260
  example[0] = example[0].replace(/\$0/g, base$0);
6496
8261
  });
6497
8262
  examples.forEach((example) => {
6498
8263
  if (example[1] === "") {
6499
- ui2.div({
8264
+ ui.div({
6500
8265
  text: example[0],
6501
8266
  padding: [0, 2, 0, 2]
6502
8267
  });
6503
8268
  } else {
6504
- ui2.div({
8269
+ ui.div({
6505
8270
  text: example[0],
6506
8271
  padding: [0, 2, 0, 2],
6507
8272
  width: maxWidth(examples, theWrap) + 4
@@ -6510,15 +8275,15 @@ function usage(yargs, shim2) {
6510
8275
  });
6511
8276
  }
6512
8277
  });
6513
- ui2.div();
8278
+ ui.div();
6514
8279
  }
6515
8280
  if (epilogs.length > 0) {
6516
8281
  const e = epilogs.map((epilog) => epilog.replace(/\$0/g, base$0)).join(`
6517
8282
  `);
6518
- ui2.div(`${e}
8283
+ ui.div(`${e}
6519
8284
  `);
6520
8285
  }
6521
- return ui2.toString().replace(/\s*$/, "");
8286
+ return ui.toString().replace(/\s*$/, "");
6522
8287
  };
6523
8288
  function maxWidth(table, theWrap, modifier) {
6524
8289
  let width = 0;
@@ -6526,7 +8291,7 @@ function usage(yargs, shim2) {
6526
8291
  table = Object.values(table).map((v) => [v]);
6527
8292
  }
6528
8293
  table.forEach((v) => {
6529
- width = Math.max(shim2.stringWidth(modifier ? `${modifier} ${getText(v[0])}` : getText(v[0])) + getIndentation(v[0]), width);
8294
+ width = Math.max(shim.stringWidth(modifier ? `${modifier} ${getText(v[0])}` : getText(v[0])) + getIndentation(v[0]), width);
6530
8295
  });
6531
8296
  if (theWrap)
6532
8297
  width = Math.min(width, parseInt((theWrap * 0.5).toString(), 10));
@@ -6591,7 +8356,7 @@ function usage(yargs, shim2) {
6591
8356
  emit(self.help());
6592
8357
  };
6593
8358
  self.functionDescription = (fn) => {
6594
- const description = fn.name ? shim2.Parser.decamelize(fn.name, "-") : __("generated-value");
8359
+ const description = fn.name ? shim.Parser.decamelize(fn.name, "-") : __("generated-value");
6595
8360
  return ["(", description, ")"].join("");
6596
8361
  };
6597
8362
  self.stringifiedValues = function stringifiedValues(values, separator) {
@@ -6628,11 +8393,11 @@ function usage(yargs, shim2) {
6628
8393
  return `${string}]`;
6629
8394
  }
6630
8395
  function windowWidth() {
6631
- const maxWidth2 = 80;
6632
- if (shim2.process.stdColumns) {
6633
- return Math.min(maxWidth2, shim2.process.stdColumns);
8396
+ const maxWidth = 80;
8397
+ if (shim.process.stdColumns) {
8398
+ return Math.min(maxWidth, shim.process.stdColumns);
6634
8399
  } else {
6635
- return maxWidth2;
8400
+ return maxWidth;
6636
8401
  }
6637
8402
  }
6638
8403
  let version = null;
@@ -6770,17 +8535,17 @@ fi
6770
8535
 
6771
8536
  // ../../node_modules/.bun/yargs@18.0.0/node_modules/yargs/build/lib/completion.js
6772
8537
  class Completion {
6773
- constructor(yargs, usage2, command2, shim2) {
6774
- var _a2, _b2, _c2;
8538
+ constructor(yargs, usage, command, shim) {
8539
+ var _a, _b, _c;
6775
8540
  this.yargs = yargs;
6776
- this.usage = usage2;
6777
- this.command = command2;
6778
- this.shim = shim2;
8541
+ this.usage = usage;
8542
+ this.command = command;
8543
+ this.shim = shim;
6779
8544
  this.completionKey = "get-yargs-completions";
6780
8545
  this.aliases = null;
6781
8546
  this.customCompletionFunction = null;
6782
8547
  this.indexAfterLastReset = 0;
6783
- this.zshShell = (_c2 = ((_a2 = this.shim.getEnv("SHELL")) === null || _a2 === undefined ? undefined : _a2.includes("zsh")) || ((_b2 = this.shim.getEnv("ZSH_NAME")) === null || _b2 === undefined ? undefined : _b2.includes("zsh"))) !== null && _c2 !== undefined ? _c2 : false;
8548
+ this.zshShell = (_c = ((_a = this.shim.getEnv("SHELL")) === null || _a === undefined ? undefined : _a.includes("zsh")) || ((_b = this.shim.getEnv("ZSH_NAME")) === null || _b === undefined ? undefined : _b.includes("zsh"))) !== null && _c !== undefined ? _c : false;
6784
8549
  }
6785
8550
  defaultCompletion(args, argv, current, done) {
6786
8551
  const handlers = this.command.getCommandHandlers();
@@ -6903,16 +8668,16 @@ class Completion {
6903
8668
  return false;
6904
8669
  }
6905
8670
  completeOptionKey(key, completions, current, negable) {
6906
- var _a2, _b2, _c2, _d;
8671
+ var _a, _b, _c, _d;
6907
8672
  let keyWithDesc = key;
6908
8673
  if (this.zshShell) {
6909
8674
  const descs = this.usage.getDescriptions();
6910
- const aliasKey = (_b2 = (_a2 = this === null || this === undefined ? undefined : this.aliases) === null || _a2 === undefined ? undefined : _a2[key]) === null || _b2 === undefined ? undefined : _b2.find((alias) => {
6911
- const desc2 = descs[alias];
6912
- return typeof desc2 === "string" && desc2.length > 0;
8675
+ const aliasKey = (_b = (_a = this === null || this === undefined ? undefined : this.aliases) === null || _a === undefined ? undefined : _a[key]) === null || _b === undefined ? undefined : _b.find((alias) => {
8676
+ const desc = descs[alias];
8677
+ return typeof desc === "string" && desc.length > 0;
6913
8678
  });
6914
8679
  const descFromAlias = aliasKey ? descs[aliasKey] : undefined;
6915
- const desc = (_d = (_c2 = descs[key]) !== null && _c2 !== undefined ? _c2 : descFromAlias) !== null && _d !== undefined ? _d : "";
8680
+ const desc = (_d = (_c = descs[key]) !== null && _c !== undefined ? _c : descFromAlias) !== null && _d !== undefined ? _d : "";
6916
8681
  keyWithDesc = `${key.replace(/:/g, "\\:")}:${desc.replace("__yargsString__:", "").replace(/(\r\n|\n|\r)/gm, " ")}`;
6917
8682
  }
6918
8683
  const startsByTwoDashes = (s) => /^--/.test(s);
@@ -6927,7 +8692,7 @@ class Completion {
6927
8692
  assertNotStrictEqual(this.customCompletionFunction, null, this.shim);
6928
8693
  if (isSyncCompletionFunction(this.customCompletionFunction)) {
6929
8694
  const result = this.customCompletionFunction(current, argv);
6930
- if (isPromise(result)) {
8695
+ if (isPromise2(result)) {
6931
8696
  return result.then((list) => {
6932
8697
  this.shim.process.nextTick(() => {
6933
8698
  done(null, list);
@@ -6952,8 +8717,8 @@ class Completion {
6952
8717
  getCompletion(args, done) {
6953
8718
  const current = args.length ? args[args.length - 1] : "";
6954
8719
  const argv = this.yargs.parse(args, true);
6955
- const completionFunction = this.customCompletionFunction ? (argv2) => this.customCompletion(args, argv2, current, done) : (argv2) => this.defaultCompletion(args, argv2, current, done);
6956
- return isPromise(argv) ? argv.then(completionFunction) : completionFunction(argv);
8720
+ const completionFunction = this.customCompletionFunction ? (argv) => this.customCompletion(args, argv, current, done) : (argv) => this.defaultCompletion(args, argv, current, done);
8721
+ return isPromise2(argv) ? argv.then(completionFunction) : completionFunction(argv);
6957
8722
  }
6958
8723
  generateCompletionScript($0, cmd) {
6959
8724
  let script = this.zshShell ? completionZshTemplate : completionShTemplate;
@@ -6971,8 +8736,8 @@ class Completion {
6971
8736
  this.aliases = parsed.aliases;
6972
8737
  }
6973
8738
  }
6974
- function completion(yargs, usage2, command2, shim2) {
6975
- return new Completion(yargs, usage2, command2, shim2);
8739
+ function completion(yargs, usage, command, shim) {
8740
+ return new Completion(yargs, usage, command, shim);
6976
8741
  }
6977
8742
  function isSyncCompletionFunction(completionFunction) {
6978
8743
  return completionFunction.length < 3;
@@ -7014,9 +8779,9 @@ function levenshtein(a, b) {
7014
8779
 
7015
8780
  // ../../node_modules/.bun/yargs@18.0.0/node_modules/yargs/build/lib/validation.js
7016
8781
  var specialKeys = ["$0", "--", "_"];
7017
- function validation(yargs, usage2, shim2) {
7018
- const __ = shim2.y18n.__;
7019
- const __n = shim2.y18n.__n;
8782
+ function validation(yargs, usage, shim) {
8783
+ const __ = shim.y18n.__;
8784
+ const __n = shim.y18n.__n;
7020
8785
  const self = {};
7021
8786
  self.nonOptionCount = function nonOptionCount(argv) {
7022
8787
  const demandedCommands = yargs.getDemandedCommands();
@@ -7025,22 +8790,22 @@ function validation(yargs, usage2, shim2) {
7025
8790
  if (demandedCommands._ && (_s < demandedCommands._.min || _s > demandedCommands._.max)) {
7026
8791
  if (_s < demandedCommands._.min) {
7027
8792
  if (demandedCommands._.minMsg !== undefined) {
7028
- usage2.fail(demandedCommands._.minMsg ? demandedCommands._.minMsg.replace(/\$0/g, _s.toString()).replace(/\$1/, demandedCommands._.min.toString()) : null);
8793
+ usage.fail(demandedCommands._.minMsg ? demandedCommands._.minMsg.replace(/\$0/g, _s.toString()).replace(/\$1/, demandedCommands._.min.toString()) : null);
7029
8794
  } else {
7030
- usage2.fail(__n("Not enough non-option arguments: got %s, need at least %s", "Not enough non-option arguments: got %s, need at least %s", _s, _s.toString(), demandedCommands._.min.toString()));
8795
+ usage.fail(__n("Not enough non-option arguments: got %s, need at least %s", "Not enough non-option arguments: got %s, need at least %s", _s, _s.toString(), demandedCommands._.min.toString()));
7031
8796
  }
7032
8797
  } else if (_s > demandedCommands._.max) {
7033
8798
  if (demandedCommands._.maxMsg !== undefined) {
7034
- usage2.fail(demandedCommands._.maxMsg ? demandedCommands._.maxMsg.replace(/\$0/g, _s.toString()).replace(/\$1/, demandedCommands._.max.toString()) : null);
8799
+ usage.fail(demandedCommands._.maxMsg ? demandedCommands._.maxMsg.replace(/\$0/g, _s.toString()).replace(/\$1/, demandedCommands._.max.toString()) : null);
7035
8800
  } else {
7036
- usage2.fail(__n("Too many non-option arguments: got %s, maximum of %s", "Too many non-option arguments: got %s, maximum of %s", _s, _s.toString(), demandedCommands._.max.toString()));
8801
+ usage.fail(__n("Too many non-option arguments: got %s, maximum of %s", "Too many non-option arguments: got %s, maximum of %s", _s, _s.toString(), demandedCommands._.max.toString()));
7037
8802
  }
7038
8803
  }
7039
8804
  }
7040
8805
  };
7041
8806
  self.positionalCount = function positionalCount(required, observed) {
7042
8807
  if (observed < required) {
7043
- usage2.fail(__n("Not enough non-option arguments: got %s, need at least %s", "Not enough non-option arguments: got %s, need at least %s", observed, observed + "", required + ""));
8808
+ usage.fail(__n("Not enough non-option arguments: got %s, need at least %s", "Not enough non-option arguments: got %s, need at least %s", observed, observed + "", required + ""));
7044
8809
  }
7045
8810
  };
7046
8811
  self.requiredArguments = function requiredArguments(argv, demandedOptions) {
@@ -7062,11 +8827,11 @@ function validation(yargs, usage2, shim2) {
7062
8827
  const customMsg = customMsgs.length ? `
7063
8828
  ${customMsgs.join(`
7064
8829
  `)}` : "";
7065
- usage2.fail(__n("Missing required argument: %s", "Missing required arguments: %s", Object.keys(missing).length, Object.keys(missing).join(", ") + customMsg));
8830
+ usage.fail(__n("Missing required argument: %s", "Missing required arguments: %s", Object.keys(missing).length, Object.keys(missing).join(", ") + customMsg));
7066
8831
  }
7067
8832
  };
7068
8833
  self.unknownArguments = function unknownArguments(argv, aliases, positionalMap, isDefaultCommand, checkPositionals = true) {
7069
- var _a2;
8834
+ var _a;
7070
8835
  const commandKeys = yargs.getInternalMethods().getCommandInstance().getCommands();
7071
8836
  const unknown = [];
7072
8837
  const currentContext = yargs.getInternalMethods().getContext();
@@ -7084,7 +8849,7 @@ ${customMsgs.join(`
7084
8849
  }
7085
8850
  if (checkPositionals) {
7086
8851
  const demandedCommands = yargs.getDemandedCommands();
7087
- const maxNonOptDemanded = ((_a2 = demandedCommands._) === null || _a2 === undefined ? undefined : _a2.max) || 0;
8852
+ const maxNonOptDemanded = ((_a = demandedCommands._) === null || _a === undefined ? undefined : _a.max) || 0;
7088
8853
  const expected = currentContext.commands.length + maxNonOptDemanded;
7089
8854
  if (expected < argv._.length) {
7090
8855
  argv._.slice(expected).forEach((key) => {
@@ -7096,7 +8861,7 @@ ${customMsgs.join(`
7096
8861
  }
7097
8862
  }
7098
8863
  if (unknown.length) {
7099
- usage2.fail(__n("Unknown argument: %s", "Unknown arguments: %s", unknown.length, unknown.map((s) => s.trim() ? s : `"${s}"`).join(", ")));
8864
+ usage.fail(__n("Unknown argument: %s", "Unknown arguments: %s", unknown.length, unknown.map((s) => s.trim() ? s : `"${s}"`).join(", ")));
7100
8865
  }
7101
8866
  };
7102
8867
  self.unknownCommands = function unknownCommands(argv) {
@@ -7111,7 +8876,7 @@ ${customMsgs.join(`
7111
8876
  });
7112
8877
  }
7113
8878
  if (unknown.length > 0) {
7114
- usage2.fail(__n("Unknown command: %s", "Unknown commands: %s", unknown.length, unknown.join(", ")));
8879
+ usage.fail(__n("Unknown command: %s", "Unknown commands: %s", unknown.length, unknown.join(", ")));
7115
8880
  return true;
7116
8881
  } else {
7117
8882
  return false;
@@ -7144,9 +8909,9 @@ ${customMsgs.join(`
7144
8909
  let msg = __("Invalid values:");
7145
8910
  invalidKeys.forEach((key) => {
7146
8911
  msg += `
7147
- ${__("Argument: %s, Given: %s, Choices: %s", key, usage2.stringifiedValues(invalid[key]), usage2.stringifiedValues(options.choices[key]))}`;
8912
+ ${__("Argument: %s, Given: %s, Choices: %s", key, usage.stringifiedValues(invalid[key]), usage.stringifiedValues(options.choices[key]))}`;
7148
8913
  });
7149
- usage2.fail(msg);
8914
+ usage.fail(msg);
7150
8915
  };
7151
8916
  let implied = {};
7152
8917
  self.implies = function implies(key, value) {
@@ -7163,7 +8928,7 @@ ${customMsgs.join(`
7163
8928
  if (Array.isArray(value)) {
7164
8929
  value.forEach((i) => self.implies(key, i));
7165
8930
  } else {
7166
- assertNotStrictEqual(value, undefined, shim2);
8931
+ assertNotStrictEqual(value, undefined, shim);
7167
8932
  implied[key].push(value);
7168
8933
  }
7169
8934
  }
@@ -7189,11 +8954,11 @@ ${customMsgs.join(`
7189
8954
  Object.keys(implied).forEach((key) => {
7190
8955
  const origKey = key;
7191
8956
  (implied[key] || []).forEach((value) => {
7192
- let key2 = origKey;
8957
+ let key = origKey;
7193
8958
  const origValue = value;
7194
- key2 = keyExists(argv, key2);
8959
+ key = keyExists(argv, key);
7195
8960
  value = keyExists(argv, value);
7196
- if (key2 && !value) {
8961
+ if (key && !value) {
7197
8962
  implyFail.push(` ${origKey} -> ${origValue}`);
7198
8963
  }
7199
8964
  });
@@ -7204,7 +8969,7 @@ ${customMsgs.join(`
7204
8969
  implyFail.forEach((value) => {
7205
8970
  msg += value;
7206
8971
  });
7207
- usage2.fail(msg);
8972
+ usage.fail(msg);
7208
8973
  }
7209
8974
  };
7210
8975
  let conflicting = {};
@@ -7232,7 +8997,7 @@ ${customMsgs.join(`
7232
8997
  if (conflicting[key]) {
7233
8998
  conflicting[key].forEach((value) => {
7234
8999
  if (value && argv[key] !== undefined && argv[value] !== undefined) {
7235
- usage2.fail(__("Arguments %s and %s are mutually exclusive", key, value));
9000
+ usage.fail(__("Arguments %s and %s are mutually exclusive", key, value));
7236
9001
  }
7237
9002
  });
7238
9003
  }
@@ -7240,8 +9005,8 @@ ${customMsgs.join(`
7240
9005
  if (yargs.getInternalMethods().getParserConfiguration()["strip-dashed"]) {
7241
9006
  Object.keys(conflicting).forEach((key) => {
7242
9007
  conflicting[key].forEach((value) => {
7243
- if (value && argv[shim2.Parser.camelCase(key)] !== undefined && argv[shim2.Parser.camelCase(value)] !== undefined) {
7244
- usage2.fail(__("Arguments %s and %s are mutually exclusive", key, value));
9008
+ if (value && argv[shim.Parser.camelCase(key)] !== undefined && argv[shim.Parser.camelCase(value)] !== undefined) {
9009
+ usage.fail(__("Arguments %s and %s are mutually exclusive", key, value));
7245
9010
  }
7246
9011
  });
7247
9012
  });
@@ -7260,7 +9025,7 @@ ${customMsgs.join(`
7260
9025
  }
7261
9026
  }
7262
9027
  if (recommended)
7263
- usage2.fail(__("Did you mean %s?", recommended));
9028
+ usage.fail(__("Did you mean %s?", recommended));
7264
9029
  };
7265
9030
  self.reset = function reset(localLookup) {
7266
9031
  implied = objFilter(implied, (k) => !localLookup[k]);
@@ -7276,7 +9041,7 @@ ${customMsgs.join(`
7276
9041
  };
7277
9042
  self.unfreeze = function unfreeze() {
7278
9043
  const frozen = frozens.pop();
7279
- assertNotStrictEqual(frozen, undefined, shim2);
9044
+ assertNotStrictEqual(frozen, undefined, shim);
7280
9045
  ({ implied, conflicting } = frozen);
7281
9046
  };
7282
9047
  return self;
@@ -7321,12 +9086,12 @@ function getPathToDefaultConfig(cwd, pathToExtend) {
7321
9086
  }
7322
9087
  function mergeDeep(config1, config2) {
7323
9088
  const target = {};
7324
- function isObject2(obj) {
9089
+ function isObject(obj) {
7325
9090
  return obj && typeof obj === "object" && !Array.isArray(obj);
7326
9091
  }
7327
9092
  Object.assign(target, config1);
7328
9093
  for (const key of Object.keys(config2)) {
7329
- if (isObject2(config2[key]) && isObject2(target[key])) {
9094
+ if (isObject(config2[key]) && isObject(target[key])) {
7330
9095
  target[key] = mergeDeep(config1[key], config2[key]);
7331
9096
  } else {
7332
9097
  target[key] = config2[key];
@@ -7440,7 +9205,7 @@ var kTrackManuallySetKeys = Symbol("kTrackManuallySetKeys");
7440
9205
  var DEFAULT_LOCALE = "en_US";
7441
9206
 
7442
9207
  class YargsInstance {
7443
- constructor(processArgs = [], cwd, parentRequire, shim3) {
9208
+ constructor(processArgs = [], cwd, parentRequire, shim) {
7444
9209
  this.customScriptName = false;
7445
9210
  this.parsed = false;
7446
9211
  _YargsInstance_command.set(this, undefined);
@@ -7478,7 +9243,7 @@ class YargsInstance {
7478
9243
  _YargsInstance_usageConfig.set(this, {});
7479
9244
  _YargsInstance_versionOpt.set(this, null);
7480
9245
  _YargsInstance_validation.set(this, undefined);
7481
- __classPrivateFieldSet(this, _YargsInstance_shim, shim3, "f");
9246
+ __classPrivateFieldSet(this, _YargsInstance_shim, shim, "f");
7482
9247
  __classPrivateFieldSet(this, _YargsInstance_processArgs, processArgs, "f");
7483
9248
  __classPrivateFieldSet(this, _YargsInstance_cwd, cwd, "f");
7484
9249
  __classPrivateFieldSet(this, _YargsInstance_parentRequire, parentRequire, "f");
@@ -7586,8 +9351,8 @@ class YargsInstance {
7586
9351
  const coerceKey = keys;
7587
9352
  __classPrivateFieldGet(this, _YargsInstance_options, "f").key[coerceKey] = true;
7588
9353
  __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, "f").addCoerceMiddleware((argv, yargs) => {
7589
- var _a2;
7590
- const coerceKeyAliases = (_a2 = yargs.getAliases()[coerceKey]) !== null && _a2 !== undefined ? _a2 : [];
9354
+ var _a;
9355
+ const coerceKeyAliases = (_a = yargs.getAliases()[coerceKey]) !== null && _a !== undefined ? _a : [];
7591
9356
  const argvKeys = [coerceKey, ...coerceKeyAliases].filter((key) => Object.prototype.hasOwnProperty.call(argv, key));
7592
9357
  if (argvKeys.length === 0) {
7593
9358
  return argv;
@@ -7794,12 +9559,12 @@ class YargsInstance {
7794
9559
  async getCompletion(args, done) {
7795
9560
  argsert("<array> [function]", [args, done], arguments.length);
7796
9561
  if (!done) {
7797
- return new Promise((resolve5, reject) => {
9562
+ return new Promise((resolve, reject) => {
7798
9563
  __classPrivateFieldGet(this, _YargsInstance_completion, "f").getCompletion(args, (err, completions) => {
7799
9564
  if (err)
7800
9565
  reject(err);
7801
9566
  else
7802
- resolve5(completions);
9567
+ resolve(completions);
7803
9568
  });
7804
9569
  });
7805
9570
  } else {
@@ -7832,14 +9597,14 @@ class YargsInstance {
7832
9597
  if (!__classPrivateFieldGet(this, _YargsInstance_usage, "f").hasCachedHelpMessage()) {
7833
9598
  if (!this.parsed) {
7834
9599
  const parse = this[kRunYargsParserAndExecuteCommands](__classPrivateFieldGet(this, _YargsInstance_processArgs, "f"), undefined, undefined, 0, true);
7835
- if (isPromise(parse)) {
9600
+ if (isPromise2(parse)) {
7836
9601
  return parse.then(() => {
7837
9602
  return __classPrivateFieldGet(this, _YargsInstance_usage, "f").help();
7838
9603
  });
7839
9604
  }
7840
9605
  }
7841
9606
  const builderResponse = __classPrivateFieldGet(this, _YargsInstance_command, "f").runDefaultBuilderOn(this);
7842
- if (isPromise(builderResponse)) {
9607
+ if (isPromise2(builderResponse)) {
7843
9608
  return builderResponse.then(() => {
7844
9609
  return __classPrivateFieldGet(this, _YargsInstance_usage, "f").help();
7845
9610
  });
@@ -8058,7 +9823,7 @@ class YargsInstance {
8058
9823
  const parsed = this[kRunYargsParserAndExecuteCommands](args, !!shortCircuit);
8059
9824
  const tmpParsed = this.parsed;
8060
9825
  __classPrivateFieldGet(this, _YargsInstance_completion, "f").setParsed(this.parsed);
8061
- if (isPromise(parsed)) {
9826
+ if (isPromise2(parsed)) {
8062
9827
  return parsed.then((argv) => {
8063
9828
  if (__classPrivateFieldGet(this, _YargsInstance_parseFn, "f"))
8064
9829
  __classPrivateFieldGet(this, _YargsInstance_parseFn, "f").call(this, __classPrivateFieldGet(this, _YargsInstance_exitError, "f"), argv, __classPrivateFieldGet(this, _YargsInstance_output, "f"));
@@ -8082,11 +9847,11 @@ class YargsInstance {
8082
9847
  }
8083
9848
  parseAsync(args, shortCircuit, _parseFn) {
8084
9849
  const maybePromise = this.parse(args, shortCircuit, _parseFn);
8085
- return !isPromise(maybePromise) ? Promise.resolve(maybePromise) : maybePromise;
9850
+ return !isPromise2(maybePromise) ? Promise.resolve(maybePromise) : maybePromise;
8086
9851
  }
8087
9852
  parseSync(args, shortCircuit, _parseFn) {
8088
9853
  const maybePromise = this.parse(args, shortCircuit, _parseFn);
8089
- if (isPromise(maybePromise)) {
9854
+ if (isPromise2(maybePromise)) {
8090
9855
  throw new YError(".parseSync() must not be used with asynchronous builders, handlers, or middleware");
8091
9856
  }
8092
9857
  return maybePromise;
@@ -8179,7 +9944,7 @@ class YargsInstance {
8179
9944
  if (!__classPrivateFieldGet(this, _YargsInstance_usage, "f").hasCachedHelpMessage()) {
8180
9945
  if (!this.parsed) {
8181
9946
  const parse = this[kRunYargsParserAndExecuteCommands](__classPrivateFieldGet(this, _YargsInstance_processArgs, "f"), undefined, undefined, 0, true);
8182
- if (isPromise(parse)) {
9947
+ if (isPromise2(parse)) {
8183
9948
  parse.then(() => {
8184
9949
  __classPrivateFieldGet(this, _YargsInstance_usage, "f").showHelp(level);
8185
9950
  });
@@ -8187,7 +9952,7 @@ class YargsInstance {
8187
9952
  }
8188
9953
  }
8189
9954
  const builderResponse = __classPrivateFieldGet(this, _YargsInstance_command, "f").runDefaultBuilderOn(this);
8190
- if (isPromise(builderResponse)) {
9955
+ if (isPromise2(builderResponse)) {
8191
9956
  builderResponse.then(() => {
8192
9957
  __classPrivateFieldGet(this, _YargsInstance_usage, "f").showHelp(level);
8193
9958
  });
@@ -8449,13 +10214,13 @@ class YargsInstance {
8449
10214
  });
8450
10215
  }
8451
10216
  [kPopulateParserHintSingleValueDictionary](builder, type, key, value) {
8452
- this[kPopulateParserHintDictionary](builder, type, key, value, (type2, key2, value2) => {
8453
- __classPrivateFieldGet(this, _YargsInstance_options, "f")[type2][key2] = value2;
10217
+ this[kPopulateParserHintDictionary](builder, type, key, value, (type, key, value) => {
10218
+ __classPrivateFieldGet(this, _YargsInstance_options, "f")[type][key] = value;
8454
10219
  });
8455
10220
  }
8456
10221
  [kPopulateParserHintArrayDictionary](builder, type, key, value) {
8457
- this[kPopulateParserHintDictionary](builder, type, key, value, (type2, key2, value2) => {
8458
- __classPrivateFieldGet(this, _YargsInstance_options, "f")[type2][key2] = (__classPrivateFieldGet(this, _YargsInstance_options, "f")[type2][key2] || []).concat(value2);
10222
+ this[kPopulateParserHintDictionary](builder, type, key, value, (type, key, value) => {
10223
+ __classPrivateFieldGet(this, _YargsInstance_options, "f")[type][key] = (__classPrivateFieldGet(this, _YargsInstance_options, "f")[type][key] || []).concat(value);
8459
10224
  });
8460
10225
  }
8461
10226
  [kPopulateParserHintDictionary](builder, type, key, value, singleKeyHandler) {
@@ -8463,7 +10228,7 @@ class YargsInstance {
8463
10228
  key.forEach((k) => {
8464
10229
  builder(k, value);
8465
10230
  });
8466
- } else if (((key2) => typeof key2 === "object")(key)) {
10231
+ } else if (((key) => typeof key === "object")(key)) {
8467
10232
  for (const k of objectKeys(key)) {
8468
10233
  builder(k, key[k]);
8469
10234
  }
@@ -8481,20 +10246,20 @@ class YargsInstance {
8481
10246
  return this;
8482
10247
  }
8483
10248
  [kUnfreeze]() {
8484
- var _a2, _b2, _c2, _d, _e, _f, _g, _h, _j, _k, _l, _m;
10249
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
8485
10250
  const frozen = __classPrivateFieldGet(this, _YargsInstance_frozens, "f").pop();
8486
10251
  assertNotStrictEqual(frozen, undefined, __classPrivateFieldGet(this, _YargsInstance_shim, "f"));
8487
10252
  let configObjects;
8488
- _a2 = this, _b2 = this, _c2 = this, _d = this, _e = this, _f = this, _g = this, _h = this, _j = this, _k = this, _l = this, _m = this, {
10253
+ _a = this, _b = this, _c = this, _d = this, _e = this, _f = this, _g = this, _h = this, _j = this, _k = this, _l = this, _m = this, {
8489
10254
  options: { set value(_o) {
8490
- __classPrivateFieldSet(_a2, _YargsInstance_options, _o, "f");
10255
+ __classPrivateFieldSet(_a, _YargsInstance_options, _o, "f");
8491
10256
  } }.value,
8492
10257
  configObjects,
8493
10258
  exitProcess: { set value(_o) {
8494
- __classPrivateFieldSet(_b2, _YargsInstance_exitProcess, _o, "f");
10259
+ __classPrivateFieldSet(_b, _YargsInstance_exitProcess, _o, "f");
8495
10260
  } }.value,
8496
10261
  groups: { set value(_o) {
8497
- __classPrivateFieldSet(_c2, _YargsInstance_groups, _o, "f");
10262
+ __classPrivateFieldSet(_c, _YargsInstance_groups, _o, "f");
8498
10263
  } }.value,
8499
10264
  output: { set value(_o) {
8500
10265
  __classPrivateFieldSet(_d, _YargsInstance_output, _o, "f");
@@ -8531,9 +10296,9 @@ class YargsInstance {
8531
10296
  __classPrivateFieldGet(this, _YargsInstance_command, "f").unfreeze();
8532
10297
  __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, "f").unfreeze();
8533
10298
  }
8534
- [kValidateAsync](validation2, argv) {
10299
+ [kValidateAsync](validation, argv) {
8535
10300
  return maybeAsyncResult(argv, (result) => {
8536
- validation2(result);
10301
+ validation(result);
8537
10302
  return result;
8538
10303
  });
8539
10304
  }
@@ -8587,7 +10352,7 @@ class YargsInstance {
8587
10352
  [kPostProcess](argv, populateDoubleDash, calledFromCommand, runGlobalMiddleware) {
8588
10353
  if (calledFromCommand)
8589
10354
  return argv;
8590
- if (isPromise(argv))
10355
+ if (isPromise2(argv))
8591
10356
  return argv;
8592
10357
  if (!populateDoubleDash) {
8593
10358
  argv = this[kCopyDoubleDash](argv);
@@ -8644,10 +10409,10 @@ class YargsInstance {
8644
10409
  "deprecatedOptions"
8645
10410
  ];
8646
10411
  arrayOptions.forEach((k) => {
8647
- tmpOptions[k] = (__classPrivateFieldGet(this, _YargsInstance_options, "f")[k] || []).filter((k2) => !localLookup[k2]);
10412
+ tmpOptions[k] = (__classPrivateFieldGet(this, _YargsInstance_options, "f")[k] || []).filter((k) => !localLookup[k]);
8648
10413
  });
8649
10414
  objectOptions.forEach((k) => {
8650
- tmpOptions[k] = objFilter(__classPrivateFieldGet(this, _YargsInstance_options, "f")[k], (k2) => !localLookup[k2]);
10415
+ tmpOptions[k] = objFilter(__classPrivateFieldGet(this, _YargsInstance_options, "f")[k], (k) => !localLookup[k]);
8651
10416
  });
8652
10417
  tmpOptions.envPrefix = __classPrivateFieldGet(this, _YargsInstance_options, "f").envPrefix;
8653
10418
  __classPrivateFieldSet(this, _YargsInstance_options, tmpOptions, "f");
@@ -8668,7 +10433,7 @@ class YargsInstance {
8668
10433
  return __classPrivateFieldGet(this, _YargsInstance_shim, "f").path.relative(base, dir);
8669
10434
  }
8670
10435
  [kRunYargsParserAndExecuteCommands](args, shortCircuit, calledFromCommand, commandIndex = 0, helpOnly = false) {
8671
- var _a2, _b2, _c2, _d;
10436
+ var _a, _b, _c, _d;
8672
10437
  let skipValidation = !!calledFromCommand || helpOnly;
8673
10438
  args = args || __classPrivateFieldGet(this, _YargsInstance_processArgs, "f");
8674
10439
  __classPrivateFieldGet(this, _YargsInstance_options, "f").__ = __classPrivateFieldGet(this, _YargsInstance_shim, "f").y18n.__;
@@ -8711,9 +10476,9 @@ class YargsInstance {
8711
10476
  }
8712
10477
  __classPrivateFieldSet(this, _YargsInstance_isGlobalContext, false, "f");
8713
10478
  const handlerKeys = __classPrivateFieldGet(this, _YargsInstance_command, "f").getCommands();
8714
- const requestCompletions = ((_a2 = __classPrivateFieldGet(this, _YargsInstance_completion, "f")) === null || _a2 === undefined ? undefined : _a2.completionKey) ? [
8715
- (_b2 = __classPrivateFieldGet(this, _YargsInstance_completion, "f")) === null || _b2 === undefined ? undefined : _b2.completionKey,
8716
- ...(_d = this.getAliases()[(_c2 = __classPrivateFieldGet(this, _YargsInstance_completion, "f")) === null || _c2 === undefined ? undefined : _c2.completionKey]) !== null && _d !== undefined ? _d : []
10479
+ const requestCompletions = ((_a = __classPrivateFieldGet(this, _YargsInstance_completion, "f")) === null || _a === undefined ? undefined : _a.completionKey) ? [
10480
+ (_b = __classPrivateFieldGet(this, _YargsInstance_completion, "f")) === null || _b === undefined ? undefined : _b.completionKey,
10481
+ ...(_d = this.getAliases()[(_c = __classPrivateFieldGet(this, _YargsInstance_completion, "f")) === null || _c === undefined ? undefined : _c.completionKey]) !== null && _d !== undefined ? _d : []
8717
10482
  ].some((key) => Object.prototype.hasOwnProperty.call(argv, key)) : false;
8718
10483
  const skipRecommendation = helpOptSet || requestCompletions || helpOnly;
8719
10484
  if (argv._.length) {
@@ -8752,8 +10517,8 @@ class YargsInstance {
8752
10517
  __classPrivateFieldGet(this, _YargsInstance_completion, "f").getCompletion(completionArgs, (err, completions) => {
8753
10518
  if (err)
8754
10519
  throw new YError(err.message);
8755
- (completions || []).forEach((completion2) => {
8756
- __classPrivateFieldGet(this, _YargsInstance_logger, "f").log(completion2);
10520
+ (completions || []).forEach((completion) => {
10521
+ __classPrivateFieldGet(this, _YargsInstance_logger, "f").log(completion);
8757
10522
  });
8758
10523
  this.exit(0);
8759
10524
  });
@@ -8783,12 +10548,12 @@ class YargsInstance {
8783
10548
  if (parsed.error)
8784
10549
  throw new YError(parsed.error.message);
8785
10550
  if (!requestCompletions) {
8786
- const validation2 = this[kRunValidation](aliases, {}, parsed.error);
10551
+ const validation = this[kRunValidation](aliases, {}, parsed.error);
8787
10552
  if (!calledFromCommand) {
8788
10553
  argvPromise = applyMiddleware(argv, this, __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, "f").getMiddleware(), true);
8789
10554
  }
8790
- argvPromise = this[kValidateAsync](validation2, argvPromise !== null && argvPromise !== undefined ? argvPromise : argv);
8791
- if (isPromise(argvPromise) && !calledFromCommand) {
10555
+ argvPromise = this[kValidateAsync](validation, argvPromise !== null && argvPromise !== undefined ? argvPromise : argv);
10556
+ if (isPromise2(argvPromise) && !calledFromCommand) {
8792
10557
  argvPromise = argvPromise.then(() => {
8793
10558
  return applyMiddleware(argv, this, __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, "f").getMiddleware(), false);
8794
10559
  });
@@ -8847,7 +10612,7 @@ var yargs_default = Yargs;
8847
10612
  // package.json
8848
10613
  var package_default = {
8849
10614
  name: "@gitterm/cli",
8850
- version: "0.0.6",
10615
+ version: "0.1.0",
8851
10616
  description: "Complete suit of gitterm tools in one CLI",
8852
10617
  keywords: [
8853
10618
  "gitterm",
@@ -9447,8 +11212,8 @@ var onetime = (function_, options = {}) => {
9447
11212
  let returnValue;
9448
11213
  let callCount = 0;
9449
11214
  const functionName = function_.displayName || function_.name || "<anonymous>";
9450
- const onetime2 = function(...arguments_) {
9451
- calledFunctions.set(onetime2, ++callCount);
11215
+ const onetime = function(...arguments_) {
11216
+ calledFunctions.set(onetime, ++callCount);
9452
11217
  if (callCount === 1) {
9453
11218
  returnValue = function_.apply(this, arguments_);
9454
11219
  function_ = undefined;
@@ -9457,9 +11222,9 @@ var onetime = (function_, options = {}) => {
9457
11222
  }
9458
11223
  return returnValue;
9459
11224
  };
9460
- mimicFunction(onetime2, function_);
9461
- calledFunctions.set(onetime2, callCount);
9462
- return onetime2;
11225
+ mimicFunction(onetime, function_);
11226
+ calledFunctions.set(onetime, callCount);
11227
+ return onetime;
9463
11228
  };
9464
11229
  onetime.callCount = (function_) => {
9465
11230
  if (!calledFunctions.has(function_)) {
@@ -9480,7 +11245,7 @@ if (process.platform === "linux") {
9480
11245
  }
9481
11246
 
9482
11247
  // ../../node_modules/.bun/signal-exit@4.1.0/node_modules/signal-exit/dist/mjs/index.js
9483
- var processOk = (process3) => !!process3 && typeof process3 === "object" && typeof process3.removeListener === "function" && typeof process3.emit === "function" && typeof process3.reallyExit === "function" && typeof process3.listeners === "function" && typeof process3.kill === "function" && typeof process3.pid === "number" && typeof process3.on === "function";
11248
+ var processOk = (process2) => !!process2 && typeof process2 === "object" && typeof process2.removeListener === "function" && typeof process2.emit === "function" && typeof process2.reallyExit === "function" && typeof process2.listeners === "function" && typeof process2.kill === "function" && typeof process2.pid === "number" && typeof process2.on === "function";
9484
11249
  var kExitEmitter = Symbol.for("signal-exit emitter");
9485
11250
  var global = globalThis;
9486
11251
  var ObjectDefineProperty = Object.defineProperty.bind(Object);
@@ -9570,15 +11335,15 @@ class SignalExit extends SignalExitBase {
9570
11335
  #originalProcessReallyExit;
9571
11336
  #sigListeners = {};
9572
11337
  #loaded = false;
9573
- constructor(process3) {
11338
+ constructor(process2) {
9574
11339
  super();
9575
- this.#process = process3;
11340
+ this.#process = process2;
9576
11341
  this.#sigListeners = {};
9577
11342
  for (const sig of signals) {
9578
11343
  this.#sigListeners[sig] = () => {
9579
11344
  const listeners = this.#process.listeners(sig);
9580
11345
  let { count } = this.#emitter;
9581
- const p = process3;
11346
+ const p = process2;
9582
11347
  if (typeof p.__signal_exit_emitter__ === "object" && typeof p.__signal_exit_emitter__.count === "number") {
9583
11348
  count += p.__signal_exit_emitter__.count;
9584
11349
  }
@@ -9587,12 +11352,12 @@ class SignalExit extends SignalExitBase {
9587
11352
  const ret = this.#emitter.emit("exit", null, sig);
9588
11353
  const s = sig === "SIGHUP" ? this.#hupSig : sig;
9589
11354
  if (!ret)
9590
- process3.kill(process3.pid, s);
11355
+ process2.kill(process2.pid, s);
9591
11356
  }
9592
11357
  };
9593
11358
  }
9594
- this.#originalProcessReallyExit = process3.reallyExit;
9595
- this.#originalProcessEmit = process3.emit;
11359
+ this.#originalProcessReallyExit = process2.reallyExit;
11360
+ this.#originalProcessEmit = process2.emit;
9596
11361
  }
9597
11362
  onExit(cb, opts) {
9598
11363
  if (!processOk(this.#process)) {
@@ -9678,10 +11443,10 @@ var {
9678
11443
  } = signalExitWrap(processOk(process3) ? new SignalExit(process3) : new SignalExitFallback);
9679
11444
 
9680
11445
  // ../../node_modules/.bun/restore-cursor@5.1.0/node_modules/restore-cursor/index.js
9681
- var terminal = process4.stderr.isTTY ? process4.stderr : process4.stdout.isTTY ? process4.stdout : undefined;
9682
- var restoreCursor = terminal ? onetime_default(() => {
11446
+ var terminal2 = process4.stderr.isTTY ? process4.stderr : process4.stdout.isTTY ? process4.stdout : undefined;
11447
+ var restoreCursor = terminal2 ? onetime_default(() => {
9683
11448
  onExit(() => {
9684
- terminal.write("\x1B[?25h");
11449
+ terminal2.write("\x1B[?25h");
9685
11450
  }, { alwaysLast: true });
9686
11451
  }) : () => {};
9687
11452
  var restore_cursor_default = restoreCursor;
@@ -9752,12 +11517,12 @@ function isInteractive({ stream = process.stdout } = {}) {
9752
11517
  // ../../node_modules/.bun/is-unicode-supported@2.1.0/node_modules/is-unicode-supported/index.js
9753
11518
  import process7 from "node:process";
9754
11519
  function isUnicodeSupported2() {
9755
- const { env: env3 } = process7;
9756
- const { TERM, TERM_PROGRAM } = env3;
11520
+ const { env } = process7;
11521
+ const { TERM, TERM_PROGRAM } = env;
9757
11522
  if (process7.platform !== "win32") {
9758
11523
  return TERM !== "linux";
9759
11524
  }
9760
- return Boolean(env3.WT_SESSION) || Boolean(env3.TERMINUS_SUBLIME) || env3.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env3.TERMINAL_EMULATOR === "JetBrains-JediTerm";
11525
+ return Boolean(env.WT_SESSION) || Boolean(env.TERMINUS_SUBLIME) || env.ConEmuTask === "{cmd::Cmder}" || TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
9761
11526
  }
9762
11527
 
9763
11528
  // ../../node_modules/.bun/stdin-discarder@0.2.2/node_modules/stdin-discarder/index.js
@@ -10375,8 +12140,9 @@ async function runPortList(args) {
10375
12140
  console.log("No ports are open.");
10376
12141
  return;
10377
12142
  }
10378
- for (const port of ports)
10379
- console.log(`${port.port} ${port.name ?? ""} ${port.url ?? ""}`);
12143
+ for (const port of ports) {
12144
+ console.log(`${port.port} ${port.visibility} ${port.name ?? ""} ${port.url ?? ""}`);
12145
+ }
10380
12146
  } catch (error) {
10381
12147
  handleError(error, args.json);
10382
12148
  }
@@ -10384,11 +12150,27 @@ async function runPortList(args) {
10384
12150
  async function runPortOpen(args) {
10385
12151
  const spin = startSpinner(`Opening port ${args.port}...`, args.json);
10386
12152
  try {
10387
- const port = await createGittermWorkspaceClient().ports.open(args.port, { name: args.name });
12153
+ const port = await createGittermWorkspaceClient().ports.open(args.port, {
12154
+ name: args.name,
12155
+ visibility: args.visibility
12156
+ });
12157
+ spin?.stop();
12158
+ if (args.json)
12159
+ return printJson(port);
12160
+ success(`Port ${port.port} opened (${port.visibility})${port.url ? `: ${port.url}` : "."}`);
12161
+ } catch (error) {
12162
+ spin?.stop();
12163
+ handleError(error, args.json);
12164
+ }
12165
+ }
12166
+ async function runPortVisibility(args) {
12167
+ const spin = startSpinner(`Making port ${args.port} ${args.visibility}...`, args.json);
12168
+ try {
12169
+ const port = await createGittermWorkspaceClient().ports.setVisibility(args.port, args.visibility);
10388
12170
  spin?.stop();
10389
12171
  if (args.json)
10390
12172
  return printJson(port);
10391
- success(`Port ${port.port} opened${port.url ? `: ${port.url}` : "."}`);
12173
+ success(`Port ${port.port} is now ${port.visibility}.`);
10392
12174
  } catch (error) {
10393
12175
  spin?.stop();
10394
12176
  handleError(error, args.json);
@@ -10424,7 +12206,18 @@ try {
10424
12206
  handleError(error);
10425
12207
  }
10426
12208
  if (workspaceEnvironment) {
10427
- cli.command("workspace", "Inspect this workspace", (workspace) => workspace.command("info", "Show this workspace", (builder) => builder.options(jsonOption), (argv) => runCurrentWorkspaceInfo({ json: argv.json })).demandCommand(1, "Please specify a workspace command").strict()).command(["ports", "port"], "Manage ports for this workspace", (ports) => ports.command("list", "List open ports", (builder) => builder.options(jsonOption), (argv) => runPortList({ json: argv.json })).command("open <port>", "Open a port", (builder) => builder.positional("port", { type: "number", demandOption: true }).option("name", { type: "string", description: "Display name" }).options(jsonOption), (argv) => runPortOpen({ port: argv.port, name: argv.name, json: argv.json })).command("close <port>", "Close a port", (builder) => builder.positional("port", { type: "number", demandOption: true }).options(jsonOption), (argv) => runPortClose({ port: argv.port, json: argv.json })).demandCommand(1, "Please specify a port command").strict());
12209
+ cli.command("workspace", "Inspect this workspace", (workspace) => workspace.command("info", "Show this workspace", (builder) => builder.options(jsonOption), (argv) => runCurrentWorkspaceInfo({ json: argv.json })).demandCommand(1, "Please specify a workspace command").strict()).command(["ports", "port"], "Manage ports for this workspace", (ports) => ports.command("list", "List open ports", (builder) => builder.options(jsonOption), (argv) => runPortList({ json: argv.json })).command("open <port>", "Open a port", (builder) => builder.positional("port", { type: "number", demandOption: true }).option("name", { type: "string", description: "Display name" }).option("public", {
12210
+ type: "boolean",
12211
+ description: "Allow anyone with the URL to reach the port (default: private)"
12212
+ }).options(jsonOption), (argv) => runPortOpen({
12213
+ port: argv.port,
12214
+ name: argv.name,
12215
+ visibility: argv.public === undefined ? undefined : argv.public ? "public" : "private",
12216
+ json: argv.json
12217
+ })).command("visibility <port> <visibility>", "Make a port private (owner only) or public (anyone with the URL)", (builder) => builder.positional("port", { type: "number", demandOption: true }).positional("visibility", {
12218
+ choices: ["private", "public"],
12219
+ demandOption: true
12220
+ }).options(jsonOption), (argv) => runPortVisibility({ port: argv.port, visibility: argv.visibility, json: argv.json })).command("close <port>", "Close a port", (builder) => builder.positional("port", { type: "number", demandOption: true }).options(jsonOption), (argv) => runPortClose({ port: argv.port, json: argv.json })).demandCommand(1, "Please specify a port command").strict());
10428
12221
  } else {
10429
12222
  cli.command("login", "Sign in via device-code flow", (builder) => builder.option("server", {
10430
12223
  alias: "s",