oathbound 0.17.1 → 0.17.2

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 (2) hide show
  1. package/dist/cli.cjs +45 -349
  2. package/package.json +1 -1
package/dist/cli.cjs CHANGED
@@ -11518,12 +11518,12 @@ var require_resolve_flow_scalar = __commonJS((exports2) => {
11518
11518
  };
11519
11519
  }
11520
11520
  const valueEnd = offset + source.length;
11521
- const re2 = resolveEnd.resolveEnd(end, valueEnd, strict, onError);
11521
+ const re = resolveEnd.resolveEnd(end, valueEnd, strict, onError);
11522
11522
  return {
11523
11523
  value,
11524
11524
  type: _type,
11525
- comment: re2.comment,
11526
- range: [offset, valueEnd, re2.offset]
11525
+ comment: re.comment,
11526
+ range: [offset, valueEnd, re.offset]
11527
11527
  };
11528
11528
  }
11529
11529
  function plainValue(source, onError) {
@@ -11895,10 +11895,10 @@ var require_compose_node = __commonJS((exports2) => {
11895
11895
  if (alias.source.endsWith(":"))
11896
11896
  onError(offset + source.length - 1, "BAD_ALIAS", "Alias ending in : is ambiguous", true);
11897
11897
  const valueEnd = offset + source.length;
11898
- const re2 = resolveEnd.resolveEnd(end, valueEnd, options.strict, onError);
11899
- alias.range = [offset, valueEnd, re2.offset];
11900
- if (re2.comment)
11901
- alias.comment = re2.comment;
11898
+ const re = resolveEnd.resolveEnd(end, valueEnd, options.strict, onError);
11899
+ alias.range = [offset, valueEnd, re.offset];
11900
+ if (re.comment)
11901
+ alias.comment = re.comment;
11902
11902
  return alias;
11903
11903
  }
11904
11904
  exports2.composeEmptyNode = composeEmptyNode;
@@ -11936,10 +11936,10 @@ var require_compose_doc = __commonJS((exports2) => {
11936
11936
  }
11937
11937
  doc.contents = value ? composeNode.composeNode(ctx, value, props, onError) : composeNode.composeEmptyNode(ctx, props.end, start, null, props, onError);
11938
11938
  const contentEnd = doc.contents.range[2];
11939
- const re2 = resolveEnd.resolveEnd(end, contentEnd, false, onError);
11940
- if (re2.comment)
11941
- doc.comment = re2.comment;
11942
- doc.range = [offset, contentEnd, re2.offset];
11939
+ const re = resolveEnd.resolveEnd(end, contentEnd, false, onError);
11940
+ if (re.comment)
11941
+ doc.comment = re.comment;
11942
+ doc.range = [offset, contentEnd, re.offset];
11943
11943
  return doc;
11944
11944
  }
11945
11945
  exports2.composeDoc = composeDoc;
@@ -16704,15 +16704,7 @@ function W(t, e) {
16704
16704
  const s = t;
16705
16705
  s.isTTY && s.setRawMode(e);
16706
16706
  }
16707
- var rt = (t) => ("columns" in t) && typeof t.columns == "number" ? t.columns : 80;
16708
16707
  var nt = (t) => ("rows" in t) && typeof t.rows == "number" ? t.rows : 20;
16709
- function Bt(t, e, s, i = s) {
16710
- const r = rt(t ?? import_node_process.stdout);
16711
- return K(e, r - s.length, { hard: true, trim: false }).split(`
16712
- `).map((n, u) => `${u === 0 ? i : s}${n}`).join(`
16713
- `);
16714
- }
16715
-
16716
16708
  class B {
16717
16709
  input;
16718
16710
  output;
@@ -16981,33 +16973,6 @@ class yt extends B {
16981
16973
  });
16982
16974
  }
16983
16975
  }
16984
- class Tt extends B {
16985
- options;
16986
- cursor = 0;
16987
- get _selectedValue() {
16988
- return this.options[this.cursor];
16989
- }
16990
- changeValue() {
16991
- this.value = this._selectedValue.value;
16992
- }
16993
- constructor(e) {
16994
- super(e, false), this.options = e.options;
16995
- const s = this.options.findIndex(({ value: r }) => r === e.initialValue), i = s === -1 ? 0 : s;
16996
- this.cursor = this.options[i].disabled ? x(i, 1, this.options) : i, this.changeValue(), this.on("cursor", (r) => {
16997
- switch (r) {
16998
- case "left":
16999
- case "up":
17000
- this.cursor = x(this.cursor, -1, this.options);
17001
- break;
17002
- case "down":
17003
- case "right":
17004
- this.cursor = x(this.cursor, 1, this.options);
17005
- break;
17006
- }
17007
- this.changeValue();
17008
- });
17009
- }
17010
- }
17011
16976
 
17012
16977
  // node_modules/@clack/prompts/dist/index.mjs
17013
16978
  var import_node_util2 = require("node:util");
@@ -17056,234 +17021,13 @@ var W2 = (e) => {
17056
17021
  return import_node_util2.styleText("green", V);
17057
17022
  }
17058
17023
  };
17059
- var ve = (e) => {
17060
- switch (e) {
17061
- case "initial":
17062
- case "active":
17063
- return import_node_util2.styleText("cyan", h);
17064
- case "cancel":
17065
- return import_node_util2.styleText("red", h);
17066
- case "error":
17067
- return import_node_util2.styleText("yellow", h);
17068
- case "submit":
17069
- return import_node_util2.styleText("green", h);
17070
- }
17071
- };
17072
- var mt2 = (e) => e === 161 || e === 164 || e === 167 || e === 168 || e === 170 || e === 173 || e === 174 || e >= 176 && e <= 180 || e >= 182 && e <= 186 || e >= 188 && e <= 191 || e === 198 || e === 208 || e === 215 || e === 216 || e >= 222 && e <= 225 || e === 230 || e >= 232 && e <= 234 || e === 236 || e === 237 || e === 240 || e === 242 || e === 243 || e >= 247 && e <= 250 || e === 252 || e === 254 || e === 257 || e === 273 || e === 275 || e === 283 || e === 294 || e === 295 || e === 299 || e >= 305 && e <= 307 || e === 312 || e >= 319 && e <= 322 || e === 324 || e >= 328 && e <= 331 || e === 333 || e === 338 || e === 339 || e === 358 || e === 359 || e === 363 || e === 462 || e === 464 || e === 466 || e === 468 || e === 470 || e === 472 || e === 474 || e === 476 || e === 593 || e === 609 || e === 708 || e === 711 || e >= 713 && e <= 715 || e === 717 || e === 720 || e >= 728 && e <= 731 || e === 733 || e === 735 || e >= 768 && e <= 879 || e >= 913 && e <= 929 || e >= 931 && e <= 937 || e >= 945 && e <= 961 || e >= 963 && e <= 969 || e === 1025 || e >= 1040 && e <= 1103 || e === 1105 || e === 8208 || e >= 8211 && e <= 8214 || e === 8216 || e === 8217 || e === 8220 || e === 8221 || e >= 8224 && e <= 8226 || e >= 8228 && e <= 8231 || e === 8240 || e === 8242 || e === 8243 || e === 8245 || e === 8251 || e === 8254 || e === 8308 || e === 8319 || e >= 8321 && e <= 8324 || e === 8364 || e === 8451 || e === 8453 || e === 8457 || e === 8467 || e === 8470 || e === 8481 || e === 8482 || e === 8486 || e === 8491 || e === 8531 || e === 8532 || e >= 8539 && e <= 8542 || e >= 8544 && e <= 8555 || e >= 8560 && e <= 8569 || e === 8585 || e >= 8592 && e <= 8601 || e === 8632 || e === 8633 || e === 8658 || e === 8660 || e === 8679 || e === 8704 || e === 8706 || e === 8707 || e === 8711 || e === 8712 || e === 8715 || e === 8719 || e === 8721 || e === 8725 || e === 8730 || e >= 8733 && e <= 8736 || e === 8739 || e === 8741 || e >= 8743 && e <= 8748 || e === 8750 || e >= 8756 && e <= 8759 || e === 8764 || e === 8765 || e === 8776 || e === 8780 || e === 8786 || e === 8800 || e === 8801 || e >= 8804 && e <= 8807 || e === 8810 || e === 8811 || e === 8814 || e === 8815 || e === 8834 || e === 8835 || e === 8838 || e === 8839 || e === 8853 || e === 8857 || e === 8869 || e === 8895 || e === 8978 || e >= 9312 && e <= 9449 || e >= 9451 && e <= 9547 || e >= 9552 && e <= 9587 || e >= 9600 && e <= 9615 || e >= 9618 && e <= 9621 || e === 9632 || e === 9633 || e >= 9635 && e <= 9641 || e === 9650 || e === 9651 || e === 9654 || e === 9655 || e === 9660 || e === 9661 || e === 9664 || e === 9665 || e >= 9670 && e <= 9672 || e === 9675 || e >= 9678 && e <= 9681 || e >= 9698 && e <= 9701 || e === 9711 || e === 9733 || e === 9734 || e === 9737 || e === 9742 || e === 9743 || e === 9756 || e === 9758 || e === 9792 || e === 9794 || e === 9824 || e === 9825 || e >= 9827 && e <= 9829 || e >= 9831 && e <= 9834 || e === 9836 || e === 9837 || e === 9839 || e === 9886 || e === 9887 || e === 9919 || e >= 9926 && e <= 9933 || e >= 9935 && e <= 9939 || e >= 9941 && e <= 9953 || e === 9955 || e === 9960 || e === 9961 || e >= 9963 && e <= 9969 || e === 9972 || e >= 9974 && e <= 9977 || e === 9979 || e === 9980 || e === 9982 || e === 9983 || e === 10045 || e >= 10102 && e <= 10111 || e >= 11094 && e <= 11097 || e >= 12872 && e <= 12879 || e >= 57344 && e <= 63743 || e >= 65024 && e <= 65039 || e === 65533 || e >= 127232 && e <= 127242 || e >= 127248 && e <= 127277 || e >= 127280 && e <= 127337 || e >= 127344 && e <= 127373 || e === 127375 || e === 127376 || e >= 127387 && e <= 127404 || e >= 917760 && e <= 917999 || e >= 983040 && e <= 1048573 || e >= 1048576 && e <= 1114109;
17073
- var gt2 = (e) => e === 12288 || e >= 65281 && e <= 65376 || e >= 65504 && e <= 65510;
17074
- var ft2 = (e) => e >= 4352 && e <= 4447 || e === 8986 || e === 8987 || e === 9001 || e === 9002 || e >= 9193 && e <= 9196 || e === 9200 || e === 9203 || e === 9725 || e === 9726 || e === 9748 || e === 9749 || e >= 9800 && e <= 9811 || e === 9855 || e === 9875 || e === 9889 || e === 9898 || e === 9899 || e === 9917 || e === 9918 || e === 9924 || e === 9925 || e === 9934 || e === 9940 || e === 9962 || e === 9970 || e === 9971 || e === 9973 || e === 9978 || e === 9981 || e === 9989 || e === 9994 || e === 9995 || e === 10024 || e === 10060 || e === 10062 || e >= 10067 && e <= 10069 || e === 10071 || e >= 10133 && e <= 10135 || e === 10160 || e === 10175 || e === 11035 || e === 11036 || e === 11088 || e === 11093 || e >= 11904 && e <= 11929 || e >= 11931 && e <= 12019 || e >= 12032 && e <= 12245 || e >= 12272 && e <= 12287 || e >= 12289 && e <= 12350 || e >= 12353 && e <= 12438 || e >= 12441 && e <= 12543 || e >= 12549 && e <= 12591 || e >= 12593 && e <= 12686 || e >= 12688 && e <= 12771 || e >= 12783 && e <= 12830 || e >= 12832 && e <= 12871 || e >= 12880 && e <= 19903 || e >= 19968 && e <= 42124 || e >= 42128 && e <= 42182 || e >= 43360 && e <= 43388 || e >= 44032 && e <= 55203 || e >= 63744 && e <= 64255 || e >= 65040 && e <= 65049 || e >= 65072 && e <= 65106 || e >= 65108 && e <= 65126 || e >= 65128 && e <= 65131 || e >= 94176 && e <= 94180 || e === 94192 || e === 94193 || e >= 94208 && e <= 100343 || e >= 100352 && e <= 101589 || e >= 101632 && e <= 101640 || e >= 110576 && e <= 110579 || e >= 110581 && e <= 110587 || e === 110589 || e === 110590 || e >= 110592 && e <= 110882 || e === 110898 || e >= 110928 && e <= 110930 || e === 110933 || e >= 110948 && e <= 110951 || e >= 110960 && e <= 111355 || e === 126980 || e === 127183 || e === 127374 || e >= 127377 && e <= 127386 || e >= 127488 && e <= 127490 || e >= 127504 && e <= 127547 || e >= 127552 && e <= 127560 || e === 127568 || e === 127569 || e >= 127584 && e <= 127589 || e >= 127744 && e <= 127776 || e >= 127789 && e <= 127797 || e >= 127799 && e <= 127868 || e >= 127870 && e <= 127891 || e >= 127904 && e <= 127946 || e >= 127951 && e <= 127955 || e >= 127968 && e <= 127984 || e === 127988 || e >= 127992 && e <= 128062 || e === 128064 || e >= 128066 && e <= 128252 || e >= 128255 && e <= 128317 || e >= 128331 && e <= 128334 || e >= 128336 && e <= 128359 || e === 128378 || e === 128405 || e === 128406 || e === 128420 || e >= 128507 && e <= 128591 || e >= 128640 && e <= 128709 || e === 128716 || e >= 128720 && e <= 128722 || e >= 128725 && e <= 128727 || e >= 128732 && e <= 128735 || e === 128747 || e === 128748 || e >= 128756 && e <= 128764 || e >= 128992 && e <= 129003 || e === 129008 || e >= 129292 && e <= 129338 || e >= 129340 && e <= 129349 || e >= 129351 && e <= 129535 || e >= 129648 && e <= 129660 || e >= 129664 && e <= 129672 || e >= 129680 && e <= 129725 || e >= 129727 && e <= 129733 || e >= 129742 && e <= 129755 || e >= 129760 && e <= 129768 || e >= 129776 && e <= 129784 || e >= 131072 && e <= 196605 || e >= 196608 && e <= 262141;
17075
- var we = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y;
17076
- var re = /[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y;
17077
- var ie = /\t{1,1000}/y;
17078
- var Ae = /[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu;
17079
- var ne = /(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y;
17080
- var Ft2 = /\p{M}+/gu;
17081
17024
  var yt2 = { limit: 1 / 0, ellipsis: "" };
17082
- var Le = (e, r = {}, s = {}) => {
17083
- const i = r.limit ?? 1 / 0, a = r.ellipsis ?? "", o = r?.ellipsisWidth ?? (a ? Le(a, yt2, s).width : 0), u = s.ansiWidth ?? 0, l = s.controlWidth ?? 0, n = s.tabWidth ?? 8, c = s.ambiguousWidth ?? 1, p = s.emojiWidth ?? 2, f = s.fullWidthWidth ?? 2, g = s.regularWidth ?? 1, E = s.wideWidth ?? 2;
17084
- let $ = 0, m = 0, d = e.length, F = 0, y2 = false, v = d, C = Math.max(0, i - o), A = 0, b = 0, w = 0, S2 = 0;
17085
- e:
17086
- for (;; ) {
17087
- if (b > A || m >= d && m > $) {
17088
- const T2 = e.slice(A, b) || e.slice($, m);
17089
- F = 0;
17090
- for (const M2 of T2.replaceAll(Ft2, "")) {
17091
- const O2 = M2.codePointAt(0) || 0;
17092
- if (gt2(O2) ? S2 = f : ft2(O2) ? S2 = E : c !== g && mt2(O2) ? S2 = c : S2 = g, w + S2 > C && (v = Math.min(v, Math.max(A, $) + F)), w + S2 > i) {
17093
- y2 = true;
17094
- break e;
17095
- }
17096
- F += M2.length, w += S2;
17097
- }
17098
- A = b = 0;
17099
- }
17100
- if (m >= d)
17101
- break;
17102
- if (ne.lastIndex = m, ne.test(e)) {
17103
- if (F = ne.lastIndex - m, S2 = F * g, w + S2 > C && (v = Math.min(v, m + Math.floor((C - w) / g))), w + S2 > i) {
17104
- y2 = true;
17105
- break;
17106
- }
17107
- w += S2, A = $, b = m, m = $ = ne.lastIndex;
17108
- continue;
17109
- }
17110
- if (we.lastIndex = m, we.test(e)) {
17111
- if (w + u > C && (v = Math.min(v, m)), w + u > i) {
17112
- y2 = true;
17113
- break;
17114
- }
17115
- w += u, A = $, b = m, m = $ = we.lastIndex;
17116
- continue;
17117
- }
17118
- if (re.lastIndex = m, re.test(e)) {
17119
- if (F = re.lastIndex - m, S2 = F * l, w + S2 > C && (v = Math.min(v, m + Math.floor((C - w) / l))), w + S2 > i) {
17120
- y2 = true;
17121
- break;
17122
- }
17123
- w += S2, A = $, b = m, m = $ = re.lastIndex;
17124
- continue;
17125
- }
17126
- if (ie.lastIndex = m, ie.test(e)) {
17127
- if (F = ie.lastIndex - m, S2 = F * n, w + S2 > C && (v = Math.min(v, m + Math.floor((C - w) / n))), w + S2 > i) {
17128
- y2 = true;
17129
- break;
17130
- }
17131
- w += S2, A = $, b = m, m = $ = ie.lastIndex;
17132
- continue;
17133
- }
17134
- if (Ae.lastIndex = m, Ae.test(e)) {
17135
- if (w + p > C && (v = Math.min(v, m)), w + p > i) {
17136
- y2 = true;
17137
- break;
17138
- }
17139
- w += p, A = $, b = m, m = $ = Ae.lastIndex;
17140
- continue;
17141
- }
17142
- m += 1;
17143
- }
17144
- return { width: y2 ? C : w, index: y2 ? v : d, truncated: y2, ellipsed: y2 && i >= o };
17145
- };
17146
17025
  var Et2 = { limit: 1 / 0, ellipsis: "", ellipsisWidth: 0 };
17147
- var D2 = (e, r = {}) => Le(e, Et2, r).width;
17148
- var ae = "\x1B";
17149
- var je = "›";
17150
- var vt2 = 39;
17151
17026
  var Ce = "\x07";
17152
17027
  var ke = "[";
17153
17028
  var wt2 = "]";
17154
- var Ve = "m";
17155
17029
  var Se = `${wt2}8;;`;
17156
17030
  var He = new RegExp(`(?:\\${ke}(?<code>\\d+)m|\\${Se}(?<uri>.*)${Ce})`, "y");
17157
- var At2 = (e) => {
17158
- if (e >= 30 && e <= 37 || e >= 90 && e <= 97)
17159
- return 39;
17160
- if (e >= 40 && e <= 47 || e >= 100 && e <= 107)
17161
- return 49;
17162
- if (e === 1 || e === 2)
17163
- return 22;
17164
- if (e === 3)
17165
- return 23;
17166
- if (e === 4)
17167
- return 24;
17168
- if (e === 7)
17169
- return 27;
17170
- if (e === 8)
17171
- return 28;
17172
- if (e === 9)
17173
- return 29;
17174
- if (e === 0)
17175
- return 0;
17176
- };
17177
- var Ue = (e) => `${ae}${ke}${e}${Ve}`;
17178
- var Ke = (e) => `${ae}${Se}${e}${Ce}`;
17179
- var Ct2 = (e) => e.map((r) => D2(r));
17180
- var Ie = (e, r, s) => {
17181
- const i = r[Symbol.iterator]();
17182
- let a = false, o = false, u = e.at(-1), l = u === undefined ? 0 : D2(u), n = i.next(), c = i.next(), p = 0;
17183
- for (;!n.done; ) {
17184
- const f = n.value, g = D2(f);
17185
- l + g <= s ? e[e.length - 1] += f : (e.push(f), l = 0), (f === ae || f === je) && (a = true, o = r.startsWith(Se, p + 1)), a ? o ? f === Ce && (a = false, o = false) : f === Ve && (a = false) : (l += g, l === s && !c.done && (e.push(""), l = 0)), n = c, c = i.next(), p += f.length;
17186
- }
17187
- u = e.at(-1), !l && u !== undefined && u.length > 0 && e.length > 1 && (e[e.length - 2] += e.pop());
17188
- };
17189
- var St2 = (e) => {
17190
- const r = e.split(" ");
17191
- let s = r.length;
17192
- for (;s > 0 && !(D2(r[s - 1]) > 0); )
17193
- s--;
17194
- return s === r.length ? e : r.slice(0, s).join(" ") + r.slice(s).join("");
17195
- };
17196
- var It2 = (e, r, s = {}) => {
17197
- if (s.trim !== false && e.trim() === "")
17198
- return "";
17199
- let i = "", a, o;
17200
- const u = e.split(" "), l = Ct2(u);
17201
- let n = [""];
17202
- for (const [$, m] of u.entries()) {
17203
- s.trim !== false && (n[n.length - 1] = (n.at(-1) ?? "").trimStart());
17204
- let d = D2(n.at(-1) ?? "");
17205
- if ($ !== 0 && (d >= r && (s.wordWrap === false || s.trim === false) && (n.push(""), d = 0), (d > 0 || s.trim === false) && (n[n.length - 1] += " ", d++)), s.hard && l[$] > r) {
17206
- const F = r - d, y2 = 1 + Math.floor((l[$] - F - 1) / r);
17207
- Math.floor((l[$] - 1) / r) < y2 && n.push(""), Ie(n, m, r);
17208
- continue;
17209
- }
17210
- if (d + l[$] > r && d > 0 && l[$] > 0) {
17211
- if (s.wordWrap === false && d < r) {
17212
- Ie(n, m, r);
17213
- continue;
17214
- }
17215
- n.push("");
17216
- }
17217
- if (d + l[$] > r && s.wordWrap === false) {
17218
- Ie(n, m, r);
17219
- continue;
17220
- }
17221
- n[n.length - 1] += m;
17222
- }
17223
- s.trim !== false && (n = n.map(($) => St2($)));
17224
- const c = n.join(`
17225
- `), p = c[Symbol.iterator]();
17226
- let f = p.next(), g = p.next(), E = 0;
17227
- for (;!f.done; ) {
17228
- const $ = f.value, m = g.value;
17229
- if (i += $, $ === ae || $ === je) {
17230
- He.lastIndex = E + 1;
17231
- const y2 = He.exec(c)?.groups;
17232
- if (y2?.code !== undefined) {
17233
- const v = Number.parseFloat(y2.code);
17234
- a = v === vt2 ? undefined : v;
17235
- } else
17236
- y2?.uri !== undefined && (o = y2.uri.length === 0 ? undefined : y2.uri);
17237
- }
17238
- const d = a ? At2(a) : undefined;
17239
- m === `
17240
- ` ? (o && (i += Ke("")), a && d && (i += Ue(d))) : $ === `
17241
- ` && (a && d && (i += Ue(a)), o && (i += Ke(o))), E += $.length, f = g, g = p.next();
17242
- }
17243
- return i;
17244
- };
17245
- function J(e, r, s) {
17246
- return String(e).normalize().replaceAll(`\r
17247
- `, `
17248
- `).split(`
17249
- `).map((i) => It2(i, r, s)).join(`
17250
- `);
17251
- }
17252
- var bt2 = (e, r, s, i, a) => {
17253
- let o = r, u = 0;
17254
- for (let l = s;l < i; l++) {
17255
- const n = e[l];
17256
- if (o = o - n.length, u++, o <= a)
17257
- break;
17258
- }
17259
- return { lineCount: o, removals: u };
17260
- };
17261
- var X2 = ({ cursor: e, options: r, style: s, output: i = process.stdout, maxItems: a = Number.POSITIVE_INFINITY, columnPadding: o = 0, rowPadding: u = 4 }) => {
17262
- const l = rt(i) - o, n = nt(i), c = import_node_util2.styleText("dim", "..."), p = Math.max(n - u, 0), f = Math.max(Math.min(a, p), 5);
17263
- let g = 0;
17264
- e >= f - 3 && (g = Math.max(Math.min(e - f + 3, r.length - f), 0));
17265
- let E = f < r.length && g > 0, $ = f < r.length && g + f < r.length;
17266
- const m = Math.min(g + f, r.length), d = [];
17267
- let F = 0;
17268
- E && F++, $ && F++;
17269
- const y2 = g + (E ? 1 : 0), v = m - ($ ? 1 : 0);
17270
- for (let A = y2;A < v; A++) {
17271
- const b = J(s(r[A], A === e), l, { hard: true, trim: false }).split(`
17272
- `);
17273
- d.push(b), F += b.length;
17274
- }
17275
- if (F > p) {
17276
- let A = 0, b = 0, w = F;
17277
- const S2 = e - y2, T2 = (M2, O2) => bt2(d, w, M2, O2, p);
17278
- E ? ({ lineCount: w, removals: A } = T2(0, S2), w > p && ({ lineCount: w, removals: b } = T2(S2 + 1, d.length))) : ({ lineCount: w, removals: b } = T2(S2 + 1, d.length), w > p && ({ lineCount: w, removals: A } = T2(0, S2))), A > 0 && (E = true, d.splice(0, A)), b > 0 && ($ = true, d.splice(d.length - b, b));
17279
- }
17280
- const C = [];
17281
- E && C.push(c);
17282
- for (const A of d)
17283
- for (const b of A)
17284
- C.push(b);
17285
- return $ && C.push(c), C;
17286
- };
17287
17031
  var Rt = (e) => {
17288
17032
  const r = e.active ?? "Yes", s = e.inactive ?? "No";
17289
17033
  return new kt({ active: r, inactive: s, signal: e.signal, input: e.input, output: e.output, initialValue: e.initialValue ?? true, render() {
@@ -17330,51 +17074,6 @@ ${import_node_util2.styleText("gray", x2)} ` : "";
17330
17074
  `);
17331
17075
  };
17332
17076
  var ze = { light: I2("─", "-"), heavy: I2("━", "="), block: I2("█", "#") };
17333
- var oe = (e, r) => e.includes(`
17334
- `) ? e.split(`
17335
- `).map((s) => r(s)).join(`
17336
- `) : r(e);
17337
- var Jt = (e) => {
17338
- const r = (s, i) => {
17339
- const a = s.label ?? String(s.value);
17340
- switch (i) {
17341
- case "disabled":
17342
- return `${import_node_util2.styleText("gray", H2)} ${oe(a, (o) => import_node_util2.styleText("gray", o))}${s.hint ? ` ${import_node_util2.styleText("dim", `(${s.hint ?? "disabled"})`)}` : ""}`;
17343
- case "selected":
17344
- return `${oe(a, (o) => import_node_util2.styleText("dim", o))}`;
17345
- case "active":
17346
- return `${import_node_util2.styleText("green", z2)} ${a}${s.hint ? ` ${import_node_util2.styleText("dim", `(${s.hint})`)}` : ""}`;
17347
- case "cancelled":
17348
- return `${oe(a, (o) => import_node_util2.styleText(["strikethrough", "dim"], o))}`;
17349
- default:
17350
- return `${import_node_util2.styleText("dim", H2)} ${oe(a, (o) => import_node_util2.styleText("dim", o))}`;
17351
- }
17352
- };
17353
- return new Tt({ options: e.options, signal: e.signal, input: e.input, output: e.output, initialValue: e.initialValue, render() {
17354
- const s = e.withGuide ?? _.withGuide, i = `${W2(this.state)} `, a = `${ve(this.state)} `, o = Bt(e.output, e.message, a, i), u = `${s ? `${import_node_util2.styleText("gray", h)}
17355
- ` : ""}${o}
17356
- `;
17357
- switch (this.state) {
17358
- case "submit": {
17359
- const l = s ? `${import_node_util2.styleText("gray", h)} ` : "", n = Bt(e.output, r(this.options[this.cursor], "selected"), l);
17360
- return `${u}${n}`;
17361
- }
17362
- case "cancel": {
17363
- const l = s ? `${import_node_util2.styleText("gray", h)} ` : "", n = Bt(e.output, r(this.options[this.cursor], "cancelled"), l);
17364
- return `${u}${n}${s ? `
17365
- ${import_node_util2.styleText("gray", h)}` : ""}`;
17366
- }
17367
- default: {
17368
- const l = s ? `${import_node_util2.styleText("cyan", h)} ` : "", n = s ? import_node_util2.styleText("cyan", x2) : "", c = u.split(`
17369
- `).length, p = s ? 2 : 1;
17370
- return `${u}${l}${X2({ output: e.output, cursor: this.cursor, options: this.options, maxItems: e.maxItems, columnPadding: l.length, rowPadding: c + p, style: (f, g) => r(f, f.disabled ? "disabled" : g ? "active" : "inactive") }).join(`
17371
- ${l}`)}
17372
- ${n}
17373
- `;
17374
- }
17375
- }
17376
- } }).prompt();
17377
- };
17378
17077
  var Qe = `${import_node_util2.styleText("gray", h)} `;
17379
17078
 
17380
17079
  // ui.ts
@@ -18850,7 +18549,7 @@ ${BRAND} ${TEAL}${showing}${RESET}
18850
18549
  }
18851
18550
  }
18852
18551
  // cli.ts
18853
- var VERSION = "0.17.1";
18552
+ var VERSION = "0.17.2";
18854
18553
  function parseSkillArg(arg) {
18855
18554
  const slash = arg.indexOf("/");
18856
18555
  if (slash < 1 || slash === arg.length - 1)
@@ -19000,27 +18699,13 @@ async function ensureInitialized() {
19000
18699
  process.exit(1);
19001
18700
  }
19002
18701
  process.stderr.write(`
19003
- ${BRAND} ${YELLOW}No oathbound hooks detected.${RESET}
18702
+ ${BRAND} ${YELLOW}No oathbound hooks detected. Setting up...${RESET}
19004
18703
  `);
19005
18704
  process.stderr.write(`${DIM} Hooks verify skills on every Claude Code session.${RESET}
19006
18705
 
19007
18706
  `);
19008
- const scope = await Jt({
19009
- message: "Where should oathbound install hooks?",
19010
- options: [
19011
- { value: "both", label: "Global + this project", hint: "recommended" },
19012
- { value: "global", label: "Global only", hint: "~/.claude/settings.json" },
19013
- { value: "local", label: "This project only", hint: ".claude/settings.json" }
19014
- ]
19015
- });
19016
- if (Ct(scope)) {
19017
- Nt("Pull cancelled.");
19018
- process.exit(1);
19019
- }
19020
- if (scope === "both" || scope === "global")
19021
- initGlobal();
19022
- if (scope === "both" || scope === "local")
19023
- await initLocal();
18707
+ initGlobal();
18708
+ await initLocal();
19024
18709
  }
19025
18710
  async function pull(skillArg, options = {}) {
19026
18711
  const parsed = parseSkillArg(skillArg);
@@ -19060,28 +18745,36 @@ ${BRAND} ${TEAL}↓ Pulling ${fullName}${version3 ? `@${version3}` : ""}...${RES
19060
18745
  console.log(`${RED} expected: ${skill.tar_hash}${RESET}`);
19061
18746
  fail("Verification failed", `Downloaded file does not match expected hash for ${fullName}`);
19062
18747
  }
19063
- let skillsDir;
19064
- if (options.global) {
19065
- skillsDir = import_node_path9.join(import_node_os4.homedir(), ".claude", "skills");
19066
- import_node_fs9.mkdirSync(skillsDir, { recursive: true });
19067
- } else {
18748
+ const installGlobal = !options.local;
18749
+ const installLocal = !options.global;
18750
+ const targets = [];
18751
+ if (installGlobal) {
18752
+ const globalDir = import_node_path9.join(import_node_os4.homedir(), ".claude", "skills");
18753
+ import_node_fs9.mkdirSync(globalDir, { recursive: true });
18754
+ targets.push(globalDir);
18755
+ }
18756
+ if (installLocal) {
19068
18757
  const dirs = findSkillsDirs();
19069
18758
  const localEntry = dirs.find((d) => d.source === "local");
18759
+ let localDir;
19070
18760
  if (localEntry) {
19071
- skillsDir = localEntry.path;
18761
+ localDir = localEntry.path;
19072
18762
  } else {
19073
- skillsDir = import_node_path9.join(process.cwd(), ".claude", "skills");
19074
- import_node_fs9.mkdirSync(skillsDir, { recursive: true });
19075
- console.log(`${DIM} Created ${skillsDir}${RESET}`);
18763
+ localDir = import_node_path9.join(process.cwd(), ".claude", "skills");
18764
+ import_node_fs9.mkdirSync(localDir, { recursive: true });
18765
+ console.log(`${DIM} Created ${localDir}${RESET}`);
19076
18766
  }
18767
+ targets.push(localDir);
19077
18768
  }
19078
18769
  import_node_fs9.writeFileSync(tarFile, buffer);
19079
- try {
19080
- import_node_child_process3.execFileSync("tar", ["-xf", tarFile, "-C", skillsDir], { stdio: "pipe" });
19081
- } catch (e) {
19082
- import_node_fs9.unlinkSync(tarFile);
19083
- const msg = e instanceof Error ? e.message : "Unknown error";
19084
- fail("Extraction failed", msg);
18770
+ for (const dir of targets) {
18771
+ try {
18772
+ import_node_child_process3.execFileSync("tar", ["-xf", tarFile, "-C", dir], { stdio: "pipe" });
18773
+ } catch (e) {
18774
+ import_node_fs9.unlinkSync(tarFile);
18775
+ const msg = e instanceof Error ? e.message : "Unknown error";
18776
+ fail("Extraction failed", msg);
18777
+ }
19085
18778
  }
19086
18779
  import_node_fs9.unlinkSync(tarFile);
19087
18780
  try {
@@ -19097,7 +18790,9 @@ ${BRAND} ${TEAL}↓ Pulling ${fullName}${version3 ? `@${version3}` : ""}...${RES
19097
18790
  } catch {}
19098
18791
  console.log(`${BOLD}${GREEN} ✓ Skill verified${RESET}`);
19099
18792
  console.log(`${DIM} ${fullName} v${skill.version}${RESET}`);
19100
- console.log(`${DIM} → ${import_node_path9.join(skillsDir, name)}${RESET}`);
18793
+ for (const dir of targets) {
18794
+ console.log(`${DIM} → ${import_node_path9.join(dir, name)}${RESET}`);
18795
+ }
19101
18796
  }
19102
18797
  async function agentPull(agentArg) {
19103
18798
  const parsed = parseSkillArg(agentArg);
@@ -19279,12 +18974,13 @@ if (require.main == module) {
19279
18974
  } else {
19280
18975
  const PULL_ALIASES = new Set(["pull", "i", "install"]);
19281
18976
  const pullArgs = args.slice(1);
19282
- const isGlobalPull = pullArgs.includes("--global");
19283
- const skillArg = pullArgs.find((a) => !a.startsWith("--"));
18977
+ const isGlobalPull = pullArgs.includes("--global") || pullArgs.includes("-g");
18978
+ const isLocalPull = pullArgs.includes("--local") || pullArgs.includes("-l");
18979
+ const skillArg = pullArgs.find((a) => !a.startsWith("-"));
19284
18980
  if (!subcommand || !PULL_ALIASES.has(subcommand) || !skillArg) {
19285
18981
  usage();
19286
18982
  }
19287
- await pull(skillArg, { global: isGlobalPull }).catch((err) => {
18983
+ await pull(skillArg, { global: isGlobalPull, local: isLocalPull }).catch((err) => {
19288
18984
  const msg = err instanceof Error ? err.message : "Unknown error";
19289
18985
  fail("Unexpected error", msg);
19290
18986
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oathbound",
3
- "version": "0.17.1",
3
+ "version": "0.17.2",
4
4
  "description": "Install verified Claude Code skills and agents from the Oath Bound registry",
5
5
  "license": "MIT",
6
6
  "author": "Josh Anderson",