@gitterm/cli 0.0.4 → 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 +2252 -455
  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
  }
@@ -3510,6 +5274,10 @@ function errorCode(code) {
3510
5274
  return code;
3511
5275
  return "SERVER_ERROR";
3512
5276
  }
5277
+ function toWorkspaceTrpcUrl(serverUrl) {
5278
+ const url = new URL(serverUrl);
5279
+ return url.pathname.endsWith("/trpc") ? serverUrl : new URL("/trpc", url).toString();
5280
+ }
3513
5281
  function createGittermWorkspaceClient(options = {}) {
3514
5282
  const detected = options.serverUrl && options.token && options.workspaceId ? null : getWorkspaceEnvironment();
3515
5283
  const rawServerUrl = options.serverUrl ?? detected?.serverUrl;
@@ -3522,13 +5290,13 @@ function createGittermWorkspaceClient(options = {}) {
3522
5290
  const trpc = createTRPCClient({
3523
5291
  links: [
3524
5292
  httpBatchLink({
3525
- url: new URL("/trpc", serverUrl).toString(),
5293
+ url: toWorkspaceTrpcUrl(serverUrl),
3526
5294
  fetch: createNoRedirectFetch(options.fetch),
3527
5295
  headers: () => ({ authorization: `Bearer ${token}` })
3528
5296
  })
3529
5297
  ]
3530
5298
  });
3531
- async function run2(operation) {
5299
+ async function run(operation) {
3532
5300
  try {
3533
5301
  return await operation();
3534
5302
  } catch (error) {
@@ -3541,11 +5309,12 @@ function createGittermWorkspaceClient(options = {}) {
3541
5309
  return {
3542
5310
  workspaceId,
3543
5311
  serverUrl,
3544
- self: { get: () => run2(() => trpc.workspaceOps.getSelf.query()) },
5312
+ self: { get: () => run(() => trpc.workspaceOps.getSelf.query()) },
3545
5313
  ports: {
3546
- list: () => run2(() => trpc.workspaceOps.listPorts.query()),
3547
- open: (port, input) => run2(() => trpc.workspaceOps.openPort.mutate({ port, ...input })),
3548
- 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 }))
3549
5318
  }
3550
5319
  };
3551
5320
  }
@@ -4207,8 +5976,8 @@ var exec = (string, columns, options = {}) => {
4207
5976
  if (ESCAPES.has(character)) {
4208
5977
  const { groups } = new RegExp(`(?:\\${ANSI_CSI}(?<code>\\d+)m|\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`).exec(preString.slice(preStringIndex)) || { groups: {} };
4209
5978
  if (groups.code !== undefined) {
4210
- const code2 = Number.parseFloat(groups.code);
4211
- escapeCode = code2 === END_CODE ? undefined : code2;
5979
+ const code = Number.parseFloat(groups.code);
5980
+ escapeCode = code === END_CODE ? undefined : code;
4212
5981
  } else if (groups.uri !== undefined) {
4213
5982
  escapeUrl = groups.uri.length === 0 ? undefined : groups.uri;
4214
5983
  }
@@ -4367,11 +6136,11 @@ function tokenizeArgString(argString) {
4367
6136
 
4368
6137
  // ../../node_modules/.bun/yargs-parser@22.0.0/node_modules/yargs-parser/build/lib/yargs-parser-types.js
4369
6138
  var DefaultValuesForTypeKey;
4370
- (function(DefaultValuesForTypeKey2) {
4371
- DefaultValuesForTypeKey2["BOOLEAN"] = "boolean";
4372
- DefaultValuesForTypeKey2["STRING"] = "string";
4373
- DefaultValuesForTypeKey2["NUMBER"] = "number";
4374
- DefaultValuesForTypeKey2["ARRAY"] = "array";
6139
+ (function(DefaultValuesForTypeKey) {
6140
+ DefaultValuesForTypeKey["BOOLEAN"] = "boolean";
6141
+ DefaultValuesForTypeKey["STRING"] = "string";
6142
+ DefaultValuesForTypeKey["NUMBER"] = "number";
6143
+ DefaultValuesForTypeKey["ARRAY"] = "array";
4375
6144
  })(DefaultValuesForTypeKey || (DefaultValuesForTypeKey = {}));
4376
6145
 
4377
6146
  // ../../node_modules/.bun/yargs-parser@22.0.0/node_modules/yargs-parser/build/lib/yargs-parser.js
@@ -4448,13 +6217,13 @@ class YargsParser {
4448
6217
  const negatedBoolean = new RegExp("^--" + configuration["negation-prefix"] + "(.+)");
4449
6218
  [].concat(opts.array || []).filter(Boolean).forEach(function(opt) {
4450
6219
  const key = typeof opt === "object" ? opt.key : opt;
4451
- const assignment = Object.keys(opt).map(function(key2) {
6220
+ const assignment = Object.keys(opt).map(function(key) {
4452
6221
  const arrayFlagKeys = {
4453
6222
  boolean: "bools",
4454
6223
  string: "strings",
4455
6224
  number: "numbers"
4456
6225
  };
4457
- return arrayFlagKeys[key2];
6226
+ return arrayFlagKeys[key];
4458
6227
  }).filter(Boolean).pop();
4459
6228
  if (assignment) {
4460
6229
  flags[assignment][key] = true;
@@ -4694,7 +6463,7 @@ class YargsParser {
4694
6463
  argv._.push(maybeCoercedNumber);
4695
6464
  }
4696
6465
  }
4697
- function eatNargs(i, key, args2, argAfterEqualSign) {
6466
+ function eatNargs(i, key, args, argAfterEqualSign) {
4698
6467
  let ii;
4699
6468
  let toEat = checkAllAliases(key, flags.nargs);
4700
6469
  toEat = typeof toEat !== "number" || isNaN(toEat) ? 1 : toEat;
@@ -4707,13 +6476,13 @@ class YargsParser {
4707
6476
  }
4708
6477
  let available = isUndefined(argAfterEqualSign) ? 0 : 1;
4709
6478
  if (configuration["nargs-eats-options"]) {
4710
- if (args2.length - (i + 1) + available < toEat) {
6479
+ if (args.length - (i + 1) + available < toEat) {
4711
6480
  error = Error(__("Not enough arguments following: %s", key));
4712
6481
  }
4713
6482
  available = toEat;
4714
6483
  } else {
4715
- for (ii = i + 1;ii < args2.length; ii++) {
4716
- 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]))
4717
6486
  available++;
4718
6487
  else
4719
6488
  break;
@@ -4727,13 +6496,13 @@ class YargsParser {
4727
6496
  consumed--;
4728
6497
  }
4729
6498
  for (ii = i + 1;ii < consumed + i + 1; ii++) {
4730
- setArg(key, args2[ii]);
6499
+ setArg(key, args[ii]);
4731
6500
  }
4732
6501
  return i + consumed;
4733
6502
  }
4734
- function eatArray(i, key, args2, argAfterEqualSign) {
6503
+ function eatArray(i, key, args, argAfterEqualSign) {
4735
6504
  let argsToSet = [];
4736
- let next = argAfterEqualSign || args2[i + 1];
6505
+ let next = argAfterEqualSign || args[i + 1];
4737
6506
  const nargsCount = checkAllAliases(key, flags.nargs);
4738
6507
  if (checkAllAliases(key, flags.bools) && !/^(true|false)$/.test(next)) {
4739
6508
  argsToSet.push(true);
@@ -4746,10 +6515,10 @@ class YargsParser {
4746
6515
  if (!isUndefined(argAfterEqualSign)) {
4747
6516
  argsToSet.push(processValue(key, argAfterEqualSign, true));
4748
6517
  }
4749
- for (let ii = i + 1;ii < args2.length; ii++) {
6518
+ for (let ii = i + 1;ii < args.length; ii++) {
4750
6519
  if (!configuration["greedy-arrays"] && argsToSet.length > 0 || nargsCount && typeof nargsCount === "number" && argsToSet.length >= nargsCount)
4751
6520
  break;
4752
- next = args2[ii];
6521
+ next = args[ii];
4753
6522
  if (/^-/.test(next) && !negative.test(next) && !isUnknownOptionAsArg(next))
4754
6523
  break;
4755
6524
  i = ii;
@@ -4791,14 +6560,14 @@ class YargsParser {
4791
6560
  }
4792
6561
  if (checkAllAliases(key, flags.normalize) && !checkAllAliases(key, flags.arrays)) {
4793
6562
  const keys = [key].concat(flags.aliases[key] || []);
4794
- keys.forEach(function(key2) {
4795
- Object.defineProperty(argvReturn, key2, {
6563
+ keys.forEach(function(key) {
6564
+ Object.defineProperty(argvReturn, key, {
4796
6565
  enumerable: true,
4797
6566
  get() {
4798
6567
  return val;
4799
6568
  },
4800
- set(value2) {
4801
- val = typeof value2 === "string" ? mixin2.normalize(value2) : value2;
6569
+ set(value) {
6570
+ val = typeof value === "string" ? mixin2.normalize(value) : value;
4802
6571
  }
4803
6572
  });
4804
6573
  });
@@ -4829,8 +6598,8 @@ class YargsParser {
4829
6598
  }
4830
6599
  if (checkAllAliases(key, flags.normalize) && checkAllAliases(key, flags.arrays)) {
4831
6600
  if (Array.isArray(val))
4832
- value = val.map((val2) => {
4833
- return mixin2.normalize(val2);
6601
+ value = val.map((val) => {
6602
+ return mixin2.normalize(val);
4834
6603
  });
4835
6604
  else
4836
6605
  value = mixin2.normalize(val);
@@ -4848,11 +6617,11 @@ class YargsParser {
4848
6617
  }
4849
6618
  return value;
4850
6619
  }
4851
- function setConfig(argv2) {
6620
+ function setConfig(argv) {
4852
6621
  const configLookup = Object.create(null);
4853
6622
  applyDefaultsAndAliases(configLookup, flags.aliases, defaults);
4854
6623
  Object.keys(flags.configs).forEach(function(configKey) {
4855
- const configPath = argv2[configKey] || configLookup[configKey];
6624
+ const configPath = argv[configKey] || configLookup[configKey];
4856
6625
  if (configPath) {
4857
6626
  try {
4858
6627
  let config = null;
@@ -4875,7 +6644,7 @@ class YargsParser {
4875
6644
  } catch (ex) {
4876
6645
  if (ex.name === "PermissionDenied")
4877
6646
  error = ex;
4878
- else if (argv2[configKey])
6647
+ else if (argv[configKey])
4879
6648
  error = Error(__("Invalid JSON config file: %s", configPath));
4880
6649
  }
4881
6650
  }
@@ -4901,7 +6670,7 @@ class YargsParser {
4901
6670
  });
4902
6671
  }
4903
6672
  }
4904
- function applyEnvVars(argv2, configOnly) {
6673
+ function applyEnvVars(argv, configOnly) {
4905
6674
  if (typeof envPrefix === "undefined")
4906
6675
  return;
4907
6676
  const prefix = typeof envPrefix === "string" ? envPrefix : "";
@@ -4914,24 +6683,24 @@ class YargsParser {
4914
6683
  }
4915
6684
  return camelCase(key);
4916
6685
  });
4917
- if ((configOnly && flags.configs[keys.join(".")] || !configOnly) && !hasKey(argv2, keys)) {
6686
+ if ((configOnly && flags.configs[keys.join(".")] || !configOnly) && !hasKey(argv, keys)) {
4918
6687
  setArg(keys.join("."), env[envVar]);
4919
6688
  }
4920
6689
  }
4921
6690
  });
4922
6691
  }
4923
- function applyCoercions(argv2) {
6692
+ function applyCoercions(argv) {
4924
6693
  let coerce;
4925
6694
  const applied = new Set;
4926
- Object.keys(argv2).forEach(function(key) {
6695
+ Object.keys(argv).forEach(function(key) {
4927
6696
  if (!applied.has(key)) {
4928
6697
  coerce = checkAllAliases(key, flags.coercions);
4929
6698
  if (typeof coerce === "function") {
4930
6699
  try {
4931
- const value = maybeCoerceNumber(key, coerce(argv2[key]));
6700
+ const value = maybeCoerceNumber(key, coerce(argv[key]));
4932
6701
  [].concat(flags.aliases[key] || [], key).forEach((ali) => {
4933
6702
  applied.add(ali);
4934
- argv2[ali] = value;
6703
+ argv[ali] = value;
4935
6704
  });
4936
6705
  } catch (err) {
4937
6706
  error = err;
@@ -4940,25 +6709,25 @@ class YargsParser {
4940
6709
  }
4941
6710
  });
4942
6711
  }
4943
- function setPlaceholderKeys(argv2) {
6712
+ function setPlaceholderKeys(argv) {
4944
6713
  flags.keys.forEach((key) => {
4945
6714
  if (~key.indexOf("."))
4946
6715
  return;
4947
- if (typeof argv2[key] === "undefined")
4948
- argv2[key] = undefined;
6716
+ if (typeof argv[key] === "undefined")
6717
+ argv[key] = undefined;
4949
6718
  });
4950
- return argv2;
6719
+ return argv;
4951
6720
  }
4952
- function applyDefaultsAndAliases(obj, aliases2, defaults2, canLog = false) {
4953
- Object.keys(defaults2).forEach(function(key) {
6721
+ function applyDefaultsAndAliases(obj, aliases, defaults, canLog = false) {
6722
+ Object.keys(defaults).forEach(function(key) {
4954
6723
  if (!hasKey(obj, key.split("."))) {
4955
- setKey(obj, key.split("."), defaults2[key]);
6724
+ setKey(obj, key.split("."), defaults[key]);
4956
6725
  if (canLog)
4957
6726
  defaulted[key] = true;
4958
- (aliases2[key] || []).forEach(function(x) {
6727
+ (aliases[key] || []).forEach(function(x) {
4959
6728
  if (hasKey(obj, x.split(".")))
4960
6729
  return;
4961
- setKey(obj, x.split("."), defaults2[key]);
6730
+ setKey(obj, x.split("."), defaults[key]);
4962
6731
  });
4963
6732
  }
4964
6733
  });
@@ -4967,8 +6736,8 @@ class YargsParser {
4967
6736
  let o = obj;
4968
6737
  if (!configuration["dot-notation"])
4969
6738
  keys = [keys.join(".")];
4970
- keys.slice(0, -1).forEach(function(key2) {
4971
- o = o[key2] || {};
6739
+ keys.slice(0, -1).forEach(function(key) {
6740
+ o = o[key] || {};
4972
6741
  });
4973
6742
  const key = keys[keys.length - 1];
4974
6743
  if (typeof o !== "object")
@@ -4980,20 +6749,20 @@ class YargsParser {
4980
6749
  let o = obj;
4981
6750
  if (!configuration["dot-notation"])
4982
6751
  keys = [keys.join(".")];
4983
- keys.slice(0, -1).forEach(function(key2) {
4984
- key2 = sanitizeKey(key2);
4985
- if (typeof o === "object" && o[key2] === undefined) {
4986
- 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] = {};
4987
6756
  }
4988
- if (typeof o[key2] !== "object" || Array.isArray(o[key2])) {
4989
- if (Array.isArray(o[key2])) {
4990
- o[key2].push({});
6757
+ if (typeof o[key] !== "object" || Array.isArray(o[key])) {
6758
+ if (Array.isArray(o[key])) {
6759
+ o[key].push({});
4991
6760
  } else {
4992
- o[key2] = [o[key2], {}];
6761
+ o[key] = [o[key], {}];
4993
6762
  }
4994
- o = o[key2][o[key2].length - 1];
6763
+ o = o[key][o[key].length - 1];
4995
6764
  } else {
4996
- o = o[key2];
6765
+ o = o[key];
4997
6766
  }
4998
6767
  });
4999
6768
  const key = sanitizeKey(keys[keys.length - 1]);
@@ -5024,8 +6793,8 @@ class YargsParser {
5024
6793
  o[key] = value;
5025
6794
  }
5026
6795
  }
5027
- function extendAliases(...args2) {
5028
- args2.forEach(function(obj) {
6796
+ function extendAliases(...args) {
6797
+ args.forEach(function(obj) {
5029
6798
  Object.keys(obj || {}).forEach(function(key) {
5030
6799
  if (flags.aliases[key])
5031
6800
  return;
@@ -5059,7 +6828,7 @@ class YargsParser {
5059
6828
  function checkAllAliases(key, flag) {
5060
6829
  const toCheck = [].concat(flags.aliases[key] || [], key);
5061
6830
  const keys = Object.keys(flag);
5062
- const setAlias = toCheck.find((key2) => keys.includes(key2));
6831
+ const setAlias = toCheck.find((key) => keys.includes(key));
5063
6832
  return setAlias ? flag[setAlias] : false;
5064
6833
  }
5065
6834
  function hasAnyFlag(key) {
@@ -5448,14 +7217,14 @@ class Y18N {
5448
7217
  }
5449
7218
  function y18n(opts, _shim) {
5450
7219
  shim = _shim;
5451
- const y18n2 = new Y18N(opts);
7220
+ const y18n = new Y18N(opts);
5452
7221
  return {
5453
- __: y18n2.__.bind(y18n2),
5454
- __n: y18n2.__n.bind(y18n2),
5455
- setLocale: y18n2.setLocale.bind(y18n2),
5456
- getLocale: y18n2.getLocale.bind(y18n2),
5457
- updateLocale: y18n2.updateLocale.bind(y18n2),
5458
- 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
5459
7228
  };
5460
7229
  }
5461
7230
 
@@ -5520,18 +7289,18 @@ var esm_default = {
5520
7289
  };
5521
7290
 
5522
7291
  // ../../node_modules/.bun/yargs@18.0.0/node_modules/yargs/build/lib/typings/common-types.js
5523
- function assertNotStrictEqual(actual, expected, shim2, message) {
5524
- shim2.assert.notStrictEqual(actual, expected, message);
7292
+ function assertNotStrictEqual(actual, expected, shim, message) {
7293
+ shim.assert.notStrictEqual(actual, expected, message);
5525
7294
  }
5526
- function assertSingleKey(actual, shim2) {
5527
- shim2.assert.strictEqual(typeof actual, "string");
7295
+ function assertSingleKey(actual, shim) {
7296
+ shim.assert.strictEqual(typeof actual, "string");
5528
7297
  }
5529
7298
  function objectKeys(object) {
5530
7299
  return Object.keys(object);
5531
7300
  }
5532
7301
 
5533
7302
  // ../../node_modules/.bun/yargs@18.0.0/node_modules/yargs/build/lib/utils/is-promise.js
5534
- function isPromise(maybePromise) {
7303
+ function isPromise2(maybePromise) {
5535
7304
  return !!maybePromise && !!maybePromise.then && typeof maybePromise.then === "function";
5536
7305
  }
5537
7306
 
@@ -5559,19 +7328,19 @@ function parseCommand(cmd) {
5559
7328
  demanded: [],
5560
7329
  optional: []
5561
7330
  };
5562
- splitCommand.forEach((cmd2, i) => {
7331
+ splitCommand.forEach((cmd, i) => {
5563
7332
  let variadic = false;
5564
- cmd2 = cmd2.replace(/\s/g, "");
5565
- if (/\.+[\]>]/.test(cmd2) && i === splitCommand.length - 1)
7333
+ cmd = cmd.replace(/\s/g, "");
7334
+ if (/\.+[\]>]/.test(cmd) && i === splitCommand.length - 1)
5566
7335
  variadic = true;
5567
- if (/^\[/.test(cmd2)) {
7336
+ if (/^\[/.test(cmd)) {
5568
7337
  parsedCommand.optional.push({
5569
- cmd: cmd2.replace(bregex, "").split("|"),
7338
+ cmd: cmd.replace(bregex, "").split("|"),
5570
7339
  variadic
5571
7340
  });
5572
7341
  } else {
5573
7342
  parsedCommand.demanded.push({
5574
- cmd: cmd2.replace(bregex, "").split("|"),
7343
+ cmd: cmd.replace(bregex, "").split("|"),
5575
7344
  variadic
5576
7345
  });
5577
7346
  }
@@ -5710,11 +7479,11 @@ function applyMiddleware(argv, yargs, middlewares, beforeValidation) {
5710
7479
  return acc;
5711
7480
  middleware.applied = true;
5712
7481
  }
5713
- if (isPromise(acc)) {
7482
+ if (isPromise2(acc)) {
5714
7483
  return acc.then((initialObj) => Promise.all([initialObj, middleware(initialObj, yargs)])).then(([initialObj, middlewareObj]) => Object.assign(initialObj, middlewareObj));
5715
7484
  } else {
5716
7485
  const result = middleware(acc, yargs);
5717
- 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);
5718
7487
  }
5719
7488
  }, argv);
5720
7489
  }
@@ -5725,7 +7494,7 @@ function maybeAsyncResult(getResult, resultHandler, errorHandler = (err) => {
5725
7494
  }) {
5726
7495
  try {
5727
7496
  const result = isFunction3(getResult) ? getResult() : getResult;
5728
- return isPromise(result) ? result.then((result2) => resultHandler(result2)) : resultHandler(result);
7497
+ return isPromise2(result) ? result.then((result) => resultHandler(result)) : resultHandler(result);
5729
7498
  } catch (err) {
5730
7499
  return errorHandler(err);
5731
7500
  }
@@ -5738,12 +7507,12 @@ function isFunction3(arg) {
5738
7507
  var DEFAULT_MARKER = /(^\*)|(^\$0)/;
5739
7508
 
5740
7509
  class CommandInstance {
5741
- constructor(usage, validation, globalMiddleware, shim2) {
7510
+ constructor(usage, validation, globalMiddleware, shim) {
5742
7511
  this.requireCache = new Set;
5743
7512
  this.handlers = {};
5744
7513
  this.aliasMap = {};
5745
7514
  this.frozens = [];
5746
- this.shim = shim2;
7515
+ this.shim = shim;
5747
7516
  this.usage = usage;
5748
7517
  this.globalMiddleware = globalMiddleware;
5749
7518
  this.validation = validation;
@@ -5885,7 +7654,7 @@ class CommandInstance {
5885
7654
  currentContext.fullCommands.push(commandHandler.original);
5886
7655
  }
5887
7656
  const builderResult = this.applyBuilderUpdateUsageAndParse(isDefaultCommand, commandHandler, yargs, parsed.aliases, parentCommands, commandIndex, helpOnly, helpOrVersionSet);
5888
- 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);
5889
7658
  }
5890
7659
  applyBuilderUpdateUsageAndParse(isDefaultCommand, commandHandler, yargs, aliases, parentCommands, commandIndex, helpOnly, helpOrVersionSet) {
5891
7660
  const builder = commandHandler.builder;
@@ -5893,7 +7662,7 @@ class CommandInstance {
5893
7662
  if (isCommandBuilderCallback(builder)) {
5894
7663
  yargs.getInternalMethods().getUsageInstance().freeze();
5895
7664
  const builderOutput = builder(yargs.getInternalMethods().reset(aliases), helpOrVersionSet);
5896
- if (isPromise(builderOutput)) {
7665
+ if (isPromise2(builderOutput)) {
5897
7666
  return builderOutput.then((output) => {
5898
7667
  innerYargs = isYargsInstance(output) ? output : yargs;
5899
7668
  return this.parseAndUpdateUsage(isDefaultCommand, commandHandler, innerYargs, parentCommands, commandIndex, helpOnly);
@@ -5915,7 +7684,7 @@ class CommandInstance {
5915
7684
  innerYargs.getInternalMethods().getUsageInstance().usage(this.usageFromParentCommandsCommandHandler(parentCommands, commandHandler), commandHandler.description);
5916
7685
  }
5917
7686
  const innerArgv = innerYargs.getInternalMethods().runYargsParserAndExecuteCommands(null, undefined, true, commandIndex, helpOnly);
5918
- return isPromise(innerArgv) ? innerArgv.then((argv) => ({
7687
+ return isPromise2(innerArgv) ? innerArgv.then((argv) => ({
5919
7688
  aliases: innerYargs.parsed.aliases,
5920
7689
  innerArgv: argv
5921
7690
  })) : {
@@ -5928,8 +7697,8 @@ class CommandInstance {
5928
7697
  }
5929
7698
  usageFromParentCommandsCommandHandler(parentCommands, commandHandler) {
5930
7699
  const c = DEFAULT_MARKER.test(commandHandler.original) ? commandHandler.original.replace(DEFAULT_MARKER, "").trim() : commandHandler.original;
5931
- const pc = parentCommands.filter((c2) => {
5932
- return !DEFAULT_MARKER.test(c2);
7700
+ const pc = parentCommands.filter((c) => {
7701
+ return !DEFAULT_MARKER.test(c);
5933
7702
  });
5934
7703
  pc.push(c);
5935
7704
  return `$0 ${pc.join(" ")}`;
@@ -5949,12 +7718,12 @@ class CommandInstance {
5949
7718
  innerArgv = applyMiddleware(innerArgv, yargs, middlewares, false);
5950
7719
  innerArgv = maybeAsyncResult(innerArgv, (result) => {
5951
7720
  const handlerResult = commandHandler.handler(result);
5952
- return isPromise(handlerResult) ? handlerResult.then(() => result) : result;
7721
+ return isPromise2(handlerResult) ? handlerResult.then(() => result) : result;
5953
7722
  });
5954
7723
  if (!isDefaultCommand) {
5955
7724
  yargs.getInternalMethods().getUsageInstance().cacheHelpMessage();
5956
7725
  }
5957
- if (isPromise(innerArgv) && !yargs.getInternalMethods().hasParseCallback()) {
7726
+ if (isPromise2(innerArgv) && !yargs.getInternalMethods().hasParseCallback()) {
5958
7727
  innerArgv.catch((error) => {
5959
7728
  try {
5960
7729
  yargs.getInternalMethods().getUsageInstance().fail(null, error);
@@ -5977,7 +7746,7 @@ class CommandInstance {
5977
7746
  }
5978
7747
  const middlewares = this.globalMiddleware.getMiddleware().slice(0).concat(commandHandler.middlewares);
5979
7748
  const maybePromiseArgv = applyMiddleware(innerArgv, yargs, middlewares, true);
5980
- 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);
5981
7750
  }
5982
7751
  populatePositionals(commandHandler, argv, context, yargs) {
5983
7752
  argv._ = argv._.slice(context.commands.length);
@@ -6135,8 +7904,8 @@ class CommandInstance {
6135
7904
  return this;
6136
7905
  }
6137
7906
  }
6138
- function command(usage, validation, globalMiddleware, shim2) {
6139
- return new CommandInstance(usage, validation, globalMiddleware, shim2);
7907
+ function command(usage, validation, globalMiddleware, shim) {
7908
+ return new CommandInstance(usage, validation, globalMiddleware, shim);
6140
7909
  }
6141
7910
  function isCommandBuilderDefinition(builder) {
6142
7911
  return typeof builder === "object" && !!builder.builder && typeof builder.handler === "function";
@@ -6181,8 +7950,8 @@ function setBlocking(blocking) {
6181
7950
  function isBoolean(fail) {
6182
7951
  return typeof fail === "boolean";
6183
7952
  }
6184
- function usage(yargs, shim2) {
6185
- const __ = shim2.y18n.__;
7953
+ function usage(yargs, shim) {
7954
+ const __ = shim.y18n.__;
6186
7955
  const self = {};
6187
7956
  const fails = [];
6188
7957
  self.failFn = function failFn(f) {
@@ -6205,14 +7974,14 @@ function usage(yargs, shim2) {
6205
7974
  const logger = yargs.getInternalMethods().getLoggerInstance();
6206
7975
  if (fails.length) {
6207
7976
  for (let i = fails.length - 1;i >= 0; --i) {
6208
- const fail2 = fails[i];
6209
- if (isBoolean(fail2)) {
7977
+ const fail = fails[i];
7978
+ if (isBoolean(fail)) {
6210
7979
  if (err)
6211
7980
  throw err;
6212
7981
  else if (msg)
6213
7982
  throw Error(msg);
6214
7983
  } else {
6215
- fail2(msg, err, self);
7984
+ fail(msg, err, self);
6216
7985
  }
6217
7986
  }
6218
7987
  } else {
@@ -6269,7 +8038,7 @@ function usage(yargs, shim2) {
6269
8038
  examples.push([cmd, description || ""]);
6270
8039
  };
6271
8040
  let commands = [];
6272
- self.command = function command2(cmd, description, isDefault, aliases, deprecated = false) {
8041
+ self.command = function command(cmd, description, isDefault, aliases, deprecated = false) {
6273
8042
  if (isDefault) {
6274
8043
  commands = commands.map((cmdArray) => {
6275
8044
  cmdArray[2] = false;
@@ -6305,7 +8074,7 @@ function usage(yargs, shim2) {
6305
8074
  wrap = cols;
6306
8075
  };
6307
8076
  self.getWrap = () => {
6308
- if (shim2.getEnv("YARGS_DISABLE_WRAP")) {
8077
+ if (shim.getEnv("YARGS_DISABLE_WRAP")) {
6309
8078
  return null;
6310
8079
  }
6311
8080
  if (!wrapSet) {
@@ -6320,7 +8089,7 @@ function usage(yargs, shim2) {
6320
8089
  if (cachedHelpMessage)
6321
8090
  return cachedHelpMessage;
6322
8091
  normalizeAliases();
6323
- 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);
6324
8093
  const demandedOptions = yargs.getDemandedOptions();
6325
8094
  const demandedCommands = yargs.getDemandedCommands();
6326
8095
  const deprecatedOptions = yargs.getDeprecatedOptions();
@@ -6338,19 +8107,19 @@ function usage(yargs, shim2) {
6338
8107
  return acc;
6339
8108
  }, {}));
6340
8109
  const theWrap = self.getWrap();
6341
- const ui2 = shim2.cliui({
8110
+ const ui = shim.cliui({
6342
8111
  width: theWrap,
6343
8112
  wrap: !!theWrap
6344
8113
  });
6345
8114
  if (!usageDisabled) {
6346
8115
  if (usages.length) {
6347
- usages.forEach((usage2) => {
6348
- ui2.div({ text: `${usage2[0].replace(/\$0/g, base$0)}` });
6349
- if (usage2[1]) {
6350
- 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] });
6351
8120
  }
6352
8121
  });
6353
- ui2.div();
8122
+ ui.div();
6354
8123
  } else if (commands.length) {
6355
8124
  let u = null;
6356
8125
  if (demandedCommands._) {
@@ -6360,48 +8129,48 @@ function usage(yargs, shim2) {
6360
8129
  u = `${base$0} [${__("command")}]
6361
8130
  `;
6362
8131
  }
6363
- ui2.div(`${u}`);
8132
+ ui.div(`${u}`);
6364
8133
  }
6365
8134
  }
6366
8135
  if (commands.length > 1 || commands.length === 1 && !commands[0][2]) {
6367
- ui2.div(__("Commands:"));
8136
+ ui.div(__("Commands:"));
6368
8137
  const context = yargs.getInternalMethods().getContext();
6369
8138
  const parentCommands = context.commands.length ? `${context.commands.join(" ")} ` : "";
6370
8139
  if (yargs.getInternalMethods().getParserConfiguration()["sort-commands"] === true) {
6371
8140
  commands = commands.sort((a, b) => a[0].localeCompare(b[0]));
6372
8141
  }
6373
8142
  const prefix = base$0 ? `${base$0} ` : "";
6374
- commands.forEach((command2) => {
6375
- const commandString = `${prefix}${parentCommands}${command2[0].replace(/^\$0 ?/, "")}`;
6376
- ui2.span({
8143
+ commands.forEach((command) => {
8144
+ const commandString = `${prefix}${parentCommands}${command[0].replace(/^\$0 ?/, "")}`;
8145
+ ui.span({
6377
8146
  text: commandString,
6378
8147
  padding: [0, 2, 0, 2],
6379
8148
  width: maxWidth(commands, theWrap, `${base$0}${parentCommands}`) + 4
6380
- }, { text: command2[1] });
8149
+ }, { text: command[1] });
6381
8150
  const hints = [];
6382
- if (command2[2])
8151
+ if (command[2])
6383
8152
  hints.push(`[${__("default")}]`);
6384
- if (command2[3] && command2[3].length) {
6385
- hints.push(`[${__("aliases:")} ${command2[3].join(", ")}]`);
8153
+ if (command[3] && command[3].length) {
8154
+ hints.push(`[${__("aliases:")} ${command[3].join(", ")}]`);
6386
8155
  }
6387
- if (command2[4]) {
6388
- if (typeof command2[4] === "string") {
6389
- hints.push(`[${__("deprecated: %s", command2[4])}]`);
8156
+ if (command[4]) {
8157
+ if (typeof command[4] === "string") {
8158
+ hints.push(`[${__("deprecated: %s", command[4])}]`);
6390
8159
  } else {
6391
8160
  hints.push(`[${__("deprecated")}]`);
6392
8161
  }
6393
8162
  }
6394
8163
  if (hints.length) {
6395
- ui2.div({
8164
+ ui.div({
6396
8165
  text: hints.join(" "),
6397
8166
  padding: [0, 0, 0, 2],
6398
8167
  align: "right"
6399
8168
  });
6400
8169
  } else {
6401
- ui2.div();
8170
+ ui.div();
6402
8171
  }
6403
8172
  });
6404
- ui2.div();
8173
+ ui.div();
6405
8174
  }
6406
8175
  const aliasKeys = (Object.keys(options.alias) || []).concat(Object.keys(yargs.parsed.newAliases) || []);
6407
8176
  keys = keys.filter((key) => !yargs.parsed.newAliases[key] && aliasKeys.every((alias) => (options.alias[alias] || []).indexOf(key) === -1));
@@ -6445,7 +8214,7 @@ function usage(yargs, shim2) {
6445
8214
  });
6446
8215
  }
6447
8216
  displayedGroups.forEach(({ groupName, normalizedKeys, switches }) => {
6448
- ui2.div(groupName);
8217
+ ui.div(groupName);
6449
8218
  normalizedKeys.forEach((key) => {
6450
8219
  const kswitch = switches[key];
6451
8220
  let desc = descriptions[key] || "";
@@ -6472,32 +8241,32 @@ function usage(yargs, shim2) {
6472
8241
  options.choices && options.choices[key] ? `[${__("choices:")} ${self.stringifiedValues(options.choices[key])}]` : null,
6473
8242
  defaultString(options.default[key], options.defaultDescription[key])
6474
8243
  ].filter(Boolean).join(" ");
6475
- ui2.span({
8244
+ ui.span({
6476
8245
  text: getText(kswitch),
6477
8246
  padding: [0, 2, 0, 2 + getIndentation(kswitch)],
6478
8247
  width: maxWidth(switches, theWrap) + 4
6479
8248
  }, desc);
6480
8249
  const shouldHideOptionExtras = yargs.getInternalMethods().getUsageConfiguration()["hide-types"] === true;
6481
8250
  if (extra && !shouldHideOptionExtras)
6482
- ui2.div({ text: extra, padding: [0, 0, 0, 2], align: "right" });
8251
+ ui.div({ text: extra, padding: [0, 0, 0, 2], align: "right" });
6483
8252
  else
6484
- ui2.div();
8253
+ ui.div();
6485
8254
  });
6486
- ui2.div();
8255
+ ui.div();
6487
8256
  });
6488
8257
  if (examples.length) {
6489
- ui2.div(__("Examples:"));
8258
+ ui.div(__("Examples:"));
6490
8259
  examples.forEach((example) => {
6491
8260
  example[0] = example[0].replace(/\$0/g, base$0);
6492
8261
  });
6493
8262
  examples.forEach((example) => {
6494
8263
  if (example[1] === "") {
6495
- ui2.div({
8264
+ ui.div({
6496
8265
  text: example[0],
6497
8266
  padding: [0, 2, 0, 2]
6498
8267
  });
6499
8268
  } else {
6500
- ui2.div({
8269
+ ui.div({
6501
8270
  text: example[0],
6502
8271
  padding: [0, 2, 0, 2],
6503
8272
  width: maxWidth(examples, theWrap) + 4
@@ -6506,15 +8275,15 @@ function usage(yargs, shim2) {
6506
8275
  });
6507
8276
  }
6508
8277
  });
6509
- ui2.div();
8278
+ ui.div();
6510
8279
  }
6511
8280
  if (epilogs.length > 0) {
6512
8281
  const e = epilogs.map((epilog) => epilog.replace(/\$0/g, base$0)).join(`
6513
8282
  `);
6514
- ui2.div(`${e}
8283
+ ui.div(`${e}
6515
8284
  `);
6516
8285
  }
6517
- return ui2.toString().replace(/\s*$/, "");
8286
+ return ui.toString().replace(/\s*$/, "");
6518
8287
  };
6519
8288
  function maxWidth(table, theWrap, modifier) {
6520
8289
  let width = 0;
@@ -6522,7 +8291,7 @@ function usage(yargs, shim2) {
6522
8291
  table = Object.values(table).map((v) => [v]);
6523
8292
  }
6524
8293
  table.forEach((v) => {
6525
- 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);
6526
8295
  });
6527
8296
  if (theWrap)
6528
8297
  width = Math.min(width, parseInt((theWrap * 0.5).toString(), 10));
@@ -6587,7 +8356,7 @@ function usage(yargs, shim2) {
6587
8356
  emit(self.help());
6588
8357
  };
6589
8358
  self.functionDescription = (fn) => {
6590
- const description = fn.name ? shim2.Parser.decamelize(fn.name, "-") : __("generated-value");
8359
+ const description = fn.name ? shim.Parser.decamelize(fn.name, "-") : __("generated-value");
6591
8360
  return ["(", description, ")"].join("");
6592
8361
  };
6593
8362
  self.stringifiedValues = function stringifiedValues(values, separator) {
@@ -6624,11 +8393,11 @@ function usage(yargs, shim2) {
6624
8393
  return `${string}]`;
6625
8394
  }
6626
8395
  function windowWidth() {
6627
- const maxWidth2 = 80;
6628
- if (shim2.process.stdColumns) {
6629
- return Math.min(maxWidth2, shim2.process.stdColumns);
8396
+ const maxWidth = 80;
8397
+ if (shim.process.stdColumns) {
8398
+ return Math.min(maxWidth, shim.process.stdColumns);
6630
8399
  } else {
6631
- return maxWidth2;
8400
+ return maxWidth;
6632
8401
  }
6633
8402
  }
6634
8403
  let version = null;
@@ -6766,17 +8535,17 @@ fi
6766
8535
 
6767
8536
  // ../../node_modules/.bun/yargs@18.0.0/node_modules/yargs/build/lib/completion.js
6768
8537
  class Completion {
6769
- constructor(yargs, usage2, command2, shim2) {
6770
- var _a2, _b2, _c2;
8538
+ constructor(yargs, usage, command, shim) {
8539
+ var _a, _b, _c;
6771
8540
  this.yargs = yargs;
6772
- this.usage = usage2;
6773
- this.command = command2;
6774
- this.shim = shim2;
8541
+ this.usage = usage;
8542
+ this.command = command;
8543
+ this.shim = shim;
6775
8544
  this.completionKey = "get-yargs-completions";
6776
8545
  this.aliases = null;
6777
8546
  this.customCompletionFunction = null;
6778
8547
  this.indexAfterLastReset = 0;
6779
- 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;
6780
8549
  }
6781
8550
  defaultCompletion(args, argv, current, done) {
6782
8551
  const handlers = this.command.getCommandHandlers();
@@ -6899,16 +8668,16 @@ class Completion {
6899
8668
  return false;
6900
8669
  }
6901
8670
  completeOptionKey(key, completions, current, negable) {
6902
- var _a2, _b2, _c2, _d;
8671
+ var _a, _b, _c, _d;
6903
8672
  let keyWithDesc = key;
6904
8673
  if (this.zshShell) {
6905
8674
  const descs = this.usage.getDescriptions();
6906
- const aliasKey = (_b2 = (_a2 = this === null || this === undefined ? undefined : this.aliases) === null || _a2 === undefined ? undefined : _a2[key]) === null || _b2 === undefined ? undefined : _b2.find((alias) => {
6907
- const desc2 = descs[alias];
6908
- 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;
6909
8678
  });
6910
8679
  const descFromAlias = aliasKey ? descs[aliasKey] : undefined;
6911
- 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 : "";
6912
8681
  keyWithDesc = `${key.replace(/:/g, "\\:")}:${desc.replace("__yargsString__:", "").replace(/(\r\n|\n|\r)/gm, " ")}`;
6913
8682
  }
6914
8683
  const startsByTwoDashes = (s) => /^--/.test(s);
@@ -6923,7 +8692,7 @@ class Completion {
6923
8692
  assertNotStrictEqual(this.customCompletionFunction, null, this.shim);
6924
8693
  if (isSyncCompletionFunction(this.customCompletionFunction)) {
6925
8694
  const result = this.customCompletionFunction(current, argv);
6926
- if (isPromise(result)) {
8695
+ if (isPromise2(result)) {
6927
8696
  return result.then((list) => {
6928
8697
  this.shim.process.nextTick(() => {
6929
8698
  done(null, list);
@@ -6948,8 +8717,8 @@ class Completion {
6948
8717
  getCompletion(args, done) {
6949
8718
  const current = args.length ? args[args.length - 1] : "";
6950
8719
  const argv = this.yargs.parse(args, true);
6951
- const completionFunction = this.customCompletionFunction ? (argv2) => this.customCompletion(args, argv2, current, done) : (argv2) => this.defaultCompletion(args, argv2, current, done);
6952
- 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);
6953
8722
  }
6954
8723
  generateCompletionScript($0, cmd) {
6955
8724
  let script = this.zshShell ? completionZshTemplate : completionShTemplate;
@@ -6967,8 +8736,8 @@ class Completion {
6967
8736
  this.aliases = parsed.aliases;
6968
8737
  }
6969
8738
  }
6970
- function completion(yargs, usage2, command2, shim2) {
6971
- return new Completion(yargs, usage2, command2, shim2);
8739
+ function completion(yargs, usage, command, shim) {
8740
+ return new Completion(yargs, usage, command, shim);
6972
8741
  }
6973
8742
  function isSyncCompletionFunction(completionFunction) {
6974
8743
  return completionFunction.length < 3;
@@ -7010,9 +8779,9 @@ function levenshtein(a, b) {
7010
8779
 
7011
8780
  // ../../node_modules/.bun/yargs@18.0.0/node_modules/yargs/build/lib/validation.js
7012
8781
  var specialKeys = ["$0", "--", "_"];
7013
- function validation(yargs, usage2, shim2) {
7014
- const __ = shim2.y18n.__;
7015
- const __n = shim2.y18n.__n;
8782
+ function validation(yargs, usage, shim) {
8783
+ const __ = shim.y18n.__;
8784
+ const __n = shim.y18n.__n;
7016
8785
  const self = {};
7017
8786
  self.nonOptionCount = function nonOptionCount(argv) {
7018
8787
  const demandedCommands = yargs.getDemandedCommands();
@@ -7021,22 +8790,22 @@ function validation(yargs, usage2, shim2) {
7021
8790
  if (demandedCommands._ && (_s < demandedCommands._.min || _s > demandedCommands._.max)) {
7022
8791
  if (_s < demandedCommands._.min) {
7023
8792
  if (demandedCommands._.minMsg !== undefined) {
7024
- 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);
7025
8794
  } else {
7026
- 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()));
7027
8796
  }
7028
8797
  } else if (_s > demandedCommands._.max) {
7029
8798
  if (demandedCommands._.maxMsg !== undefined) {
7030
- 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);
7031
8800
  } else {
7032
- 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()));
7033
8802
  }
7034
8803
  }
7035
8804
  }
7036
8805
  };
7037
8806
  self.positionalCount = function positionalCount(required, observed) {
7038
8807
  if (observed < required) {
7039
- 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 + ""));
7040
8809
  }
7041
8810
  };
7042
8811
  self.requiredArguments = function requiredArguments(argv, demandedOptions) {
@@ -7058,11 +8827,11 @@ function validation(yargs, usage2, shim2) {
7058
8827
  const customMsg = customMsgs.length ? `
7059
8828
  ${customMsgs.join(`
7060
8829
  `)}` : "";
7061
- 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));
7062
8831
  }
7063
8832
  };
7064
8833
  self.unknownArguments = function unknownArguments(argv, aliases, positionalMap, isDefaultCommand, checkPositionals = true) {
7065
- var _a2;
8834
+ var _a;
7066
8835
  const commandKeys = yargs.getInternalMethods().getCommandInstance().getCommands();
7067
8836
  const unknown = [];
7068
8837
  const currentContext = yargs.getInternalMethods().getContext();
@@ -7080,7 +8849,7 @@ ${customMsgs.join(`
7080
8849
  }
7081
8850
  if (checkPositionals) {
7082
8851
  const demandedCommands = yargs.getDemandedCommands();
7083
- const maxNonOptDemanded = ((_a2 = demandedCommands._) === null || _a2 === undefined ? undefined : _a2.max) || 0;
8852
+ const maxNonOptDemanded = ((_a = demandedCommands._) === null || _a === undefined ? undefined : _a.max) || 0;
7084
8853
  const expected = currentContext.commands.length + maxNonOptDemanded;
7085
8854
  if (expected < argv._.length) {
7086
8855
  argv._.slice(expected).forEach((key) => {
@@ -7092,7 +8861,7 @@ ${customMsgs.join(`
7092
8861
  }
7093
8862
  }
7094
8863
  if (unknown.length) {
7095
- 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(", ")));
7096
8865
  }
7097
8866
  };
7098
8867
  self.unknownCommands = function unknownCommands(argv) {
@@ -7107,7 +8876,7 @@ ${customMsgs.join(`
7107
8876
  });
7108
8877
  }
7109
8878
  if (unknown.length > 0) {
7110
- 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(", ")));
7111
8880
  return true;
7112
8881
  } else {
7113
8882
  return false;
@@ -7140,9 +8909,9 @@ ${customMsgs.join(`
7140
8909
  let msg = __("Invalid values:");
7141
8910
  invalidKeys.forEach((key) => {
7142
8911
  msg += `
7143
- ${__("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]))}`;
7144
8913
  });
7145
- usage2.fail(msg);
8914
+ usage.fail(msg);
7146
8915
  };
7147
8916
  let implied = {};
7148
8917
  self.implies = function implies(key, value) {
@@ -7159,7 +8928,7 @@ ${customMsgs.join(`
7159
8928
  if (Array.isArray(value)) {
7160
8929
  value.forEach((i) => self.implies(key, i));
7161
8930
  } else {
7162
- assertNotStrictEqual(value, undefined, shim2);
8931
+ assertNotStrictEqual(value, undefined, shim);
7163
8932
  implied[key].push(value);
7164
8933
  }
7165
8934
  }
@@ -7185,11 +8954,11 @@ ${customMsgs.join(`
7185
8954
  Object.keys(implied).forEach((key) => {
7186
8955
  const origKey = key;
7187
8956
  (implied[key] || []).forEach((value) => {
7188
- let key2 = origKey;
8957
+ let key = origKey;
7189
8958
  const origValue = value;
7190
- key2 = keyExists(argv, key2);
8959
+ key = keyExists(argv, key);
7191
8960
  value = keyExists(argv, value);
7192
- if (key2 && !value) {
8961
+ if (key && !value) {
7193
8962
  implyFail.push(` ${origKey} -> ${origValue}`);
7194
8963
  }
7195
8964
  });
@@ -7200,7 +8969,7 @@ ${customMsgs.join(`
7200
8969
  implyFail.forEach((value) => {
7201
8970
  msg += value;
7202
8971
  });
7203
- usage2.fail(msg);
8972
+ usage.fail(msg);
7204
8973
  }
7205
8974
  };
7206
8975
  let conflicting = {};
@@ -7228,7 +8997,7 @@ ${customMsgs.join(`
7228
8997
  if (conflicting[key]) {
7229
8998
  conflicting[key].forEach((value) => {
7230
8999
  if (value && argv[key] !== undefined && argv[value] !== undefined) {
7231
- usage2.fail(__("Arguments %s and %s are mutually exclusive", key, value));
9000
+ usage.fail(__("Arguments %s and %s are mutually exclusive", key, value));
7232
9001
  }
7233
9002
  });
7234
9003
  }
@@ -7236,8 +9005,8 @@ ${customMsgs.join(`
7236
9005
  if (yargs.getInternalMethods().getParserConfiguration()["strip-dashed"]) {
7237
9006
  Object.keys(conflicting).forEach((key) => {
7238
9007
  conflicting[key].forEach((value) => {
7239
- if (value && argv[shim2.Parser.camelCase(key)] !== undefined && argv[shim2.Parser.camelCase(value)] !== undefined) {
7240
- 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));
7241
9010
  }
7242
9011
  });
7243
9012
  });
@@ -7256,7 +9025,7 @@ ${customMsgs.join(`
7256
9025
  }
7257
9026
  }
7258
9027
  if (recommended)
7259
- usage2.fail(__("Did you mean %s?", recommended));
9028
+ usage.fail(__("Did you mean %s?", recommended));
7260
9029
  };
7261
9030
  self.reset = function reset(localLookup) {
7262
9031
  implied = objFilter(implied, (k) => !localLookup[k]);
@@ -7272,7 +9041,7 @@ ${customMsgs.join(`
7272
9041
  };
7273
9042
  self.unfreeze = function unfreeze() {
7274
9043
  const frozen = frozens.pop();
7275
- assertNotStrictEqual(frozen, undefined, shim2);
9044
+ assertNotStrictEqual(frozen, undefined, shim);
7276
9045
  ({ implied, conflicting } = frozen);
7277
9046
  };
7278
9047
  return self;
@@ -7317,12 +9086,12 @@ function getPathToDefaultConfig(cwd, pathToExtend) {
7317
9086
  }
7318
9087
  function mergeDeep(config1, config2) {
7319
9088
  const target = {};
7320
- function isObject2(obj) {
9089
+ function isObject(obj) {
7321
9090
  return obj && typeof obj === "object" && !Array.isArray(obj);
7322
9091
  }
7323
9092
  Object.assign(target, config1);
7324
9093
  for (const key of Object.keys(config2)) {
7325
- if (isObject2(config2[key]) && isObject2(target[key])) {
9094
+ if (isObject(config2[key]) && isObject(target[key])) {
7326
9095
  target[key] = mergeDeep(config1[key], config2[key]);
7327
9096
  } else {
7328
9097
  target[key] = config2[key];
@@ -7436,7 +9205,7 @@ var kTrackManuallySetKeys = Symbol("kTrackManuallySetKeys");
7436
9205
  var DEFAULT_LOCALE = "en_US";
7437
9206
 
7438
9207
  class YargsInstance {
7439
- constructor(processArgs = [], cwd, parentRequire, shim3) {
9208
+ constructor(processArgs = [], cwd, parentRequire, shim) {
7440
9209
  this.customScriptName = false;
7441
9210
  this.parsed = false;
7442
9211
  _YargsInstance_command.set(this, undefined);
@@ -7474,7 +9243,7 @@ class YargsInstance {
7474
9243
  _YargsInstance_usageConfig.set(this, {});
7475
9244
  _YargsInstance_versionOpt.set(this, null);
7476
9245
  _YargsInstance_validation.set(this, undefined);
7477
- __classPrivateFieldSet(this, _YargsInstance_shim, shim3, "f");
9246
+ __classPrivateFieldSet(this, _YargsInstance_shim, shim, "f");
7478
9247
  __classPrivateFieldSet(this, _YargsInstance_processArgs, processArgs, "f");
7479
9248
  __classPrivateFieldSet(this, _YargsInstance_cwd, cwd, "f");
7480
9249
  __classPrivateFieldSet(this, _YargsInstance_parentRequire, parentRequire, "f");
@@ -7582,8 +9351,8 @@ class YargsInstance {
7582
9351
  const coerceKey = keys;
7583
9352
  __classPrivateFieldGet(this, _YargsInstance_options, "f").key[coerceKey] = true;
7584
9353
  __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, "f").addCoerceMiddleware((argv, yargs) => {
7585
- var _a2;
7586
- const coerceKeyAliases = (_a2 = yargs.getAliases()[coerceKey]) !== null && _a2 !== undefined ? _a2 : [];
9354
+ var _a;
9355
+ const coerceKeyAliases = (_a = yargs.getAliases()[coerceKey]) !== null && _a !== undefined ? _a : [];
7587
9356
  const argvKeys = [coerceKey, ...coerceKeyAliases].filter((key) => Object.prototype.hasOwnProperty.call(argv, key));
7588
9357
  if (argvKeys.length === 0) {
7589
9358
  return argv;
@@ -7790,12 +9559,12 @@ class YargsInstance {
7790
9559
  async getCompletion(args, done) {
7791
9560
  argsert("<array> [function]", [args, done], arguments.length);
7792
9561
  if (!done) {
7793
- return new Promise((resolve5, reject) => {
9562
+ return new Promise((resolve, reject) => {
7794
9563
  __classPrivateFieldGet(this, _YargsInstance_completion, "f").getCompletion(args, (err, completions) => {
7795
9564
  if (err)
7796
9565
  reject(err);
7797
9566
  else
7798
- resolve5(completions);
9567
+ resolve(completions);
7799
9568
  });
7800
9569
  });
7801
9570
  } else {
@@ -7828,14 +9597,14 @@ class YargsInstance {
7828
9597
  if (!__classPrivateFieldGet(this, _YargsInstance_usage, "f").hasCachedHelpMessage()) {
7829
9598
  if (!this.parsed) {
7830
9599
  const parse = this[kRunYargsParserAndExecuteCommands](__classPrivateFieldGet(this, _YargsInstance_processArgs, "f"), undefined, undefined, 0, true);
7831
- if (isPromise(parse)) {
9600
+ if (isPromise2(parse)) {
7832
9601
  return parse.then(() => {
7833
9602
  return __classPrivateFieldGet(this, _YargsInstance_usage, "f").help();
7834
9603
  });
7835
9604
  }
7836
9605
  }
7837
9606
  const builderResponse = __classPrivateFieldGet(this, _YargsInstance_command, "f").runDefaultBuilderOn(this);
7838
- if (isPromise(builderResponse)) {
9607
+ if (isPromise2(builderResponse)) {
7839
9608
  return builderResponse.then(() => {
7840
9609
  return __classPrivateFieldGet(this, _YargsInstance_usage, "f").help();
7841
9610
  });
@@ -8054,7 +9823,7 @@ class YargsInstance {
8054
9823
  const parsed = this[kRunYargsParserAndExecuteCommands](args, !!shortCircuit);
8055
9824
  const tmpParsed = this.parsed;
8056
9825
  __classPrivateFieldGet(this, _YargsInstance_completion, "f").setParsed(this.parsed);
8057
- if (isPromise(parsed)) {
9826
+ if (isPromise2(parsed)) {
8058
9827
  return parsed.then((argv) => {
8059
9828
  if (__classPrivateFieldGet(this, _YargsInstance_parseFn, "f"))
8060
9829
  __classPrivateFieldGet(this, _YargsInstance_parseFn, "f").call(this, __classPrivateFieldGet(this, _YargsInstance_exitError, "f"), argv, __classPrivateFieldGet(this, _YargsInstance_output, "f"));
@@ -8078,11 +9847,11 @@ class YargsInstance {
8078
9847
  }
8079
9848
  parseAsync(args, shortCircuit, _parseFn) {
8080
9849
  const maybePromise = this.parse(args, shortCircuit, _parseFn);
8081
- return !isPromise(maybePromise) ? Promise.resolve(maybePromise) : maybePromise;
9850
+ return !isPromise2(maybePromise) ? Promise.resolve(maybePromise) : maybePromise;
8082
9851
  }
8083
9852
  parseSync(args, shortCircuit, _parseFn) {
8084
9853
  const maybePromise = this.parse(args, shortCircuit, _parseFn);
8085
- if (isPromise(maybePromise)) {
9854
+ if (isPromise2(maybePromise)) {
8086
9855
  throw new YError(".parseSync() must not be used with asynchronous builders, handlers, or middleware");
8087
9856
  }
8088
9857
  return maybePromise;
@@ -8175,7 +9944,7 @@ class YargsInstance {
8175
9944
  if (!__classPrivateFieldGet(this, _YargsInstance_usage, "f").hasCachedHelpMessage()) {
8176
9945
  if (!this.parsed) {
8177
9946
  const parse = this[kRunYargsParserAndExecuteCommands](__classPrivateFieldGet(this, _YargsInstance_processArgs, "f"), undefined, undefined, 0, true);
8178
- if (isPromise(parse)) {
9947
+ if (isPromise2(parse)) {
8179
9948
  parse.then(() => {
8180
9949
  __classPrivateFieldGet(this, _YargsInstance_usage, "f").showHelp(level);
8181
9950
  });
@@ -8183,7 +9952,7 @@ class YargsInstance {
8183
9952
  }
8184
9953
  }
8185
9954
  const builderResponse = __classPrivateFieldGet(this, _YargsInstance_command, "f").runDefaultBuilderOn(this);
8186
- if (isPromise(builderResponse)) {
9955
+ if (isPromise2(builderResponse)) {
8187
9956
  builderResponse.then(() => {
8188
9957
  __classPrivateFieldGet(this, _YargsInstance_usage, "f").showHelp(level);
8189
9958
  });
@@ -8445,13 +10214,13 @@ class YargsInstance {
8445
10214
  });
8446
10215
  }
8447
10216
  [kPopulateParserHintSingleValueDictionary](builder, type, key, value) {
8448
- this[kPopulateParserHintDictionary](builder, type, key, value, (type2, key2, value2) => {
8449
- __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;
8450
10219
  });
8451
10220
  }
8452
10221
  [kPopulateParserHintArrayDictionary](builder, type, key, value) {
8453
- this[kPopulateParserHintDictionary](builder, type, key, value, (type2, key2, value2) => {
8454
- __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);
8455
10224
  });
8456
10225
  }
8457
10226
  [kPopulateParserHintDictionary](builder, type, key, value, singleKeyHandler) {
@@ -8459,7 +10228,7 @@ class YargsInstance {
8459
10228
  key.forEach((k) => {
8460
10229
  builder(k, value);
8461
10230
  });
8462
- } else if (((key2) => typeof key2 === "object")(key)) {
10231
+ } else if (((key) => typeof key === "object")(key)) {
8463
10232
  for (const k of objectKeys(key)) {
8464
10233
  builder(k, key[k]);
8465
10234
  }
@@ -8477,20 +10246,20 @@ class YargsInstance {
8477
10246
  return this;
8478
10247
  }
8479
10248
  [kUnfreeze]() {
8480
- 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;
8481
10250
  const frozen = __classPrivateFieldGet(this, _YargsInstance_frozens, "f").pop();
8482
10251
  assertNotStrictEqual(frozen, undefined, __classPrivateFieldGet(this, _YargsInstance_shim, "f"));
8483
10252
  let configObjects;
8484
- _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, {
8485
10254
  options: { set value(_o) {
8486
- __classPrivateFieldSet(_a2, _YargsInstance_options, _o, "f");
10255
+ __classPrivateFieldSet(_a, _YargsInstance_options, _o, "f");
8487
10256
  } }.value,
8488
10257
  configObjects,
8489
10258
  exitProcess: { set value(_o) {
8490
- __classPrivateFieldSet(_b2, _YargsInstance_exitProcess, _o, "f");
10259
+ __classPrivateFieldSet(_b, _YargsInstance_exitProcess, _o, "f");
8491
10260
  } }.value,
8492
10261
  groups: { set value(_o) {
8493
- __classPrivateFieldSet(_c2, _YargsInstance_groups, _o, "f");
10262
+ __classPrivateFieldSet(_c, _YargsInstance_groups, _o, "f");
8494
10263
  } }.value,
8495
10264
  output: { set value(_o) {
8496
10265
  __classPrivateFieldSet(_d, _YargsInstance_output, _o, "f");
@@ -8527,9 +10296,9 @@ class YargsInstance {
8527
10296
  __classPrivateFieldGet(this, _YargsInstance_command, "f").unfreeze();
8528
10297
  __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, "f").unfreeze();
8529
10298
  }
8530
- [kValidateAsync](validation2, argv) {
10299
+ [kValidateAsync](validation, argv) {
8531
10300
  return maybeAsyncResult(argv, (result) => {
8532
- validation2(result);
10301
+ validation(result);
8533
10302
  return result;
8534
10303
  });
8535
10304
  }
@@ -8583,7 +10352,7 @@ class YargsInstance {
8583
10352
  [kPostProcess](argv, populateDoubleDash, calledFromCommand, runGlobalMiddleware) {
8584
10353
  if (calledFromCommand)
8585
10354
  return argv;
8586
- if (isPromise(argv))
10355
+ if (isPromise2(argv))
8587
10356
  return argv;
8588
10357
  if (!populateDoubleDash) {
8589
10358
  argv = this[kCopyDoubleDash](argv);
@@ -8640,10 +10409,10 @@ class YargsInstance {
8640
10409
  "deprecatedOptions"
8641
10410
  ];
8642
10411
  arrayOptions.forEach((k) => {
8643
- 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]);
8644
10413
  });
8645
10414
  objectOptions.forEach((k) => {
8646
- 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]);
8647
10416
  });
8648
10417
  tmpOptions.envPrefix = __classPrivateFieldGet(this, _YargsInstance_options, "f").envPrefix;
8649
10418
  __classPrivateFieldSet(this, _YargsInstance_options, tmpOptions, "f");
@@ -8664,7 +10433,7 @@ class YargsInstance {
8664
10433
  return __classPrivateFieldGet(this, _YargsInstance_shim, "f").path.relative(base, dir);
8665
10434
  }
8666
10435
  [kRunYargsParserAndExecuteCommands](args, shortCircuit, calledFromCommand, commandIndex = 0, helpOnly = false) {
8667
- var _a2, _b2, _c2, _d;
10436
+ var _a, _b, _c, _d;
8668
10437
  let skipValidation = !!calledFromCommand || helpOnly;
8669
10438
  args = args || __classPrivateFieldGet(this, _YargsInstance_processArgs, "f");
8670
10439
  __classPrivateFieldGet(this, _YargsInstance_options, "f").__ = __classPrivateFieldGet(this, _YargsInstance_shim, "f").y18n.__;
@@ -8707,9 +10476,9 @@ class YargsInstance {
8707
10476
  }
8708
10477
  __classPrivateFieldSet(this, _YargsInstance_isGlobalContext, false, "f");
8709
10478
  const handlerKeys = __classPrivateFieldGet(this, _YargsInstance_command, "f").getCommands();
8710
- const requestCompletions = ((_a2 = __classPrivateFieldGet(this, _YargsInstance_completion, "f")) === null || _a2 === undefined ? undefined : _a2.completionKey) ? [
8711
- (_b2 = __classPrivateFieldGet(this, _YargsInstance_completion, "f")) === null || _b2 === undefined ? undefined : _b2.completionKey,
8712
- ...(_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 : []
8713
10482
  ].some((key) => Object.prototype.hasOwnProperty.call(argv, key)) : false;
8714
10483
  const skipRecommendation = helpOptSet || requestCompletions || helpOnly;
8715
10484
  if (argv._.length) {
@@ -8748,8 +10517,8 @@ class YargsInstance {
8748
10517
  __classPrivateFieldGet(this, _YargsInstance_completion, "f").getCompletion(completionArgs, (err, completions) => {
8749
10518
  if (err)
8750
10519
  throw new YError(err.message);
8751
- (completions || []).forEach((completion2) => {
8752
- __classPrivateFieldGet(this, _YargsInstance_logger, "f").log(completion2);
10520
+ (completions || []).forEach((completion) => {
10521
+ __classPrivateFieldGet(this, _YargsInstance_logger, "f").log(completion);
8753
10522
  });
8754
10523
  this.exit(0);
8755
10524
  });
@@ -8779,12 +10548,12 @@ class YargsInstance {
8779
10548
  if (parsed.error)
8780
10549
  throw new YError(parsed.error.message);
8781
10550
  if (!requestCompletions) {
8782
- const validation2 = this[kRunValidation](aliases, {}, parsed.error);
10551
+ const validation = this[kRunValidation](aliases, {}, parsed.error);
8783
10552
  if (!calledFromCommand) {
8784
10553
  argvPromise = applyMiddleware(argv, this, __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, "f").getMiddleware(), true);
8785
10554
  }
8786
- argvPromise = this[kValidateAsync](validation2, argvPromise !== null && argvPromise !== undefined ? argvPromise : argv);
8787
- if (isPromise(argvPromise) && !calledFromCommand) {
10555
+ argvPromise = this[kValidateAsync](validation, argvPromise !== null && argvPromise !== undefined ? argvPromise : argv);
10556
+ if (isPromise2(argvPromise) && !calledFromCommand) {
8788
10557
  argvPromise = argvPromise.then(() => {
8789
10558
  return applyMiddleware(argv, this, __classPrivateFieldGet(this, _YargsInstance_globalMiddleware, "f").getMiddleware(), false);
8790
10559
  });
@@ -8843,7 +10612,7 @@ var yargs_default = Yargs;
8843
10612
  // package.json
8844
10613
  var package_default = {
8845
10614
  name: "@gitterm/cli",
8846
- version: "0.0.4",
10615
+ version: "0.1.0",
8847
10616
  description: "Complete suit of gitterm tools in one CLI",
8848
10617
  keywords: [
8849
10618
  "gitterm",
@@ -9443,8 +11212,8 @@ var onetime = (function_, options = {}) => {
9443
11212
  let returnValue;
9444
11213
  let callCount = 0;
9445
11214
  const functionName = function_.displayName || function_.name || "<anonymous>";
9446
- const onetime2 = function(...arguments_) {
9447
- calledFunctions.set(onetime2, ++callCount);
11215
+ const onetime = function(...arguments_) {
11216
+ calledFunctions.set(onetime, ++callCount);
9448
11217
  if (callCount === 1) {
9449
11218
  returnValue = function_.apply(this, arguments_);
9450
11219
  function_ = undefined;
@@ -9453,9 +11222,9 @@ var onetime = (function_, options = {}) => {
9453
11222
  }
9454
11223
  return returnValue;
9455
11224
  };
9456
- mimicFunction(onetime2, function_);
9457
- calledFunctions.set(onetime2, callCount);
9458
- return onetime2;
11225
+ mimicFunction(onetime, function_);
11226
+ calledFunctions.set(onetime, callCount);
11227
+ return onetime;
9459
11228
  };
9460
11229
  onetime.callCount = (function_) => {
9461
11230
  if (!calledFunctions.has(function_)) {
@@ -9476,7 +11245,7 @@ if (process.platform === "linux") {
9476
11245
  }
9477
11246
 
9478
11247
  // ../../node_modules/.bun/signal-exit@4.1.0/node_modules/signal-exit/dist/mjs/index.js
9479
- 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";
9480
11249
  var kExitEmitter = Symbol.for("signal-exit emitter");
9481
11250
  var global = globalThis;
9482
11251
  var ObjectDefineProperty = Object.defineProperty.bind(Object);
@@ -9566,15 +11335,15 @@ class SignalExit extends SignalExitBase {
9566
11335
  #originalProcessReallyExit;
9567
11336
  #sigListeners = {};
9568
11337
  #loaded = false;
9569
- constructor(process3) {
11338
+ constructor(process2) {
9570
11339
  super();
9571
- this.#process = process3;
11340
+ this.#process = process2;
9572
11341
  this.#sigListeners = {};
9573
11342
  for (const sig of signals) {
9574
11343
  this.#sigListeners[sig] = () => {
9575
11344
  const listeners = this.#process.listeners(sig);
9576
11345
  let { count } = this.#emitter;
9577
- const p = process3;
11346
+ const p = process2;
9578
11347
  if (typeof p.__signal_exit_emitter__ === "object" && typeof p.__signal_exit_emitter__.count === "number") {
9579
11348
  count += p.__signal_exit_emitter__.count;
9580
11349
  }
@@ -9583,12 +11352,12 @@ class SignalExit extends SignalExitBase {
9583
11352
  const ret = this.#emitter.emit("exit", null, sig);
9584
11353
  const s = sig === "SIGHUP" ? this.#hupSig : sig;
9585
11354
  if (!ret)
9586
- process3.kill(process3.pid, s);
11355
+ process2.kill(process2.pid, s);
9587
11356
  }
9588
11357
  };
9589
11358
  }
9590
- this.#originalProcessReallyExit = process3.reallyExit;
9591
- this.#originalProcessEmit = process3.emit;
11359
+ this.#originalProcessReallyExit = process2.reallyExit;
11360
+ this.#originalProcessEmit = process2.emit;
9592
11361
  }
9593
11362
  onExit(cb, opts) {
9594
11363
  if (!processOk(this.#process)) {
@@ -9674,10 +11443,10 @@ var {
9674
11443
  } = signalExitWrap(processOk(process3) ? new SignalExit(process3) : new SignalExitFallback);
9675
11444
 
9676
11445
  // ../../node_modules/.bun/restore-cursor@5.1.0/node_modules/restore-cursor/index.js
9677
- var terminal = process4.stderr.isTTY ? process4.stderr : process4.stdout.isTTY ? process4.stdout : undefined;
9678
- 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(() => {
9679
11448
  onExit(() => {
9680
- terminal.write("\x1B[?25h");
11449
+ terminal2.write("\x1B[?25h");
9681
11450
  }, { alwaysLast: true });
9682
11451
  }) : () => {};
9683
11452
  var restore_cursor_default = restoreCursor;
@@ -9748,12 +11517,12 @@ function isInteractive({ stream = process.stdout } = {}) {
9748
11517
  // ../../node_modules/.bun/is-unicode-supported@2.1.0/node_modules/is-unicode-supported/index.js
9749
11518
  import process7 from "node:process";
9750
11519
  function isUnicodeSupported2() {
9751
- const { env: env3 } = process7;
9752
- const { TERM, TERM_PROGRAM } = env3;
11520
+ const { env } = process7;
11521
+ const { TERM, TERM_PROGRAM } = env;
9753
11522
  if (process7.platform !== "win32") {
9754
11523
  return TERM !== "linux";
9755
11524
  }
9756
- 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";
9757
11526
  }
9758
11527
 
9759
11528
  // ../../node_modules/.bun/stdin-discarder@0.2.2/node_modules/stdin-discarder/index.js
@@ -10371,8 +12140,9 @@ async function runPortList(args) {
10371
12140
  console.log("No ports are open.");
10372
12141
  return;
10373
12142
  }
10374
- for (const port of ports)
10375
- 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
+ }
10376
12146
  } catch (error) {
10377
12147
  handleError(error, args.json);
10378
12148
  }
@@ -10380,11 +12150,27 @@ async function runPortList(args) {
10380
12150
  async function runPortOpen(args) {
10381
12151
  const spin = startSpinner(`Opening port ${args.port}...`, args.json);
10382
12152
  try {
10383
- 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);
10384
12170
  spin?.stop();
10385
12171
  if (args.json)
10386
12172
  return printJson(port);
10387
- success(`Port ${port.port} opened${port.url ? `: ${port.url}` : "."}`);
12173
+ success(`Port ${port.port} is now ${port.visibility}.`);
10388
12174
  } catch (error) {
10389
12175
  spin?.stop();
10390
12176
  handleError(error, args.json);
@@ -10420,7 +12206,18 @@ try {
10420
12206
  handleError(error);
10421
12207
  }
10422
12208
  if (workspaceEnvironment) {
10423
- 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());
10424
12221
  } else {
10425
12222
  cli.command("login", "Sign in via device-code flow", (builder) => builder.option("server", {
10426
12223
  alias: "s",