@bonginkan/maria 4.2.25 → 4.2.27

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.
package/dist/cli.cjs CHANGED
@@ -1893,7 +1893,7 @@ var init_AuthenticationManager = __esm({
1893
1893
  const response2 = await fetch(`${this.apiBase}/api/user/profile`, {
1894
1894
  headers: {
1895
1895
  "Authorization": `Bearer ${tokens.accessToken}`,
1896
- "User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.2.25"}`
1896
+ "User-Agent": `maria-cli/${process.env.CLI_VERSION || "4.2.27"}`
1897
1897
  }
1898
1898
  });
1899
1899
  if (response2.status === 401) {
@@ -12104,26 +12104,22 @@ var init_continuation = __esm({
12104
12104
 
12105
12105
  // src/services/ai-response/responders/question.ts
12106
12106
  function buildQuestionResponse(options2) {
12107
- const { question, isJapanese, topics = [], includeExample = true } = options2;
12107
+ const { question, topics = [], includeExample = true } = options2;
12108
+ const isJapanese = false;
12108
12109
  const parts = [];
12109
12110
  if (process.env.MARIA_PLAIN_OUTPUT === "1" || process.env.MARIA_DISABLE_GUIDED_FLOW === "1") {
12110
12111
  return "";
12111
12112
  }
12112
12113
  const cleanQuestion = cleanUserInput(question);
12113
12114
  parts.push(
12114
- isJapanese ? `\u3054\u8CEA\u554F\u3042\u308A\u304C\u3068\u3046\u3054\u3056\u3044\u307E\u3059\u3002\u300C${cleanQuestion}\u300D\u306B\u3064\u3044\u3066\u8AAC\u660E\u3057\u307E\u3059\u3002` : `Great question about "${cleanQuestion}". Let me explain.`
12115
+ `Great question about "${cleanQuestion}". Let me explain.`
12115
12116
  );
12116
12117
  parts.push("");
12117
12118
  parts.push(
12118
- createSectionHeader(isJapanese ? "\u56DE\u7B54\u306E\u69CB\u6210" : "Answer Structure", 3)
12119
+ createSectionHeader("Answer Structure", 3)
12119
12120
  );
12120
12121
  parts.push("");
12121
- const structure = isJapanese ? [
12122
- "\u80CC\u666F\u3068\u57FA\u672C\u6982\u5FF5",
12123
- "\u5B9F\u88C5\u65B9\u6CD5(\u6700\u5C0F\u4F8B)",
12124
- "\u30D9\u30B9\u30C8\u30D7\u30E9\u30AF\u30C6\u30A3\u30B9\u3068\u6CE8\u610F\u70B9",
12125
- "\u5B9F\u969B\u306E\u4F7F\u7528\u4F8B"
12126
- ] : [
12122
+ const structure = [
12127
12123
  "Background & Concepts",
12128
12124
  "Implementation (minimal example)",
12129
12125
  "Best practices & pitfalls",
@@ -12132,14 +12128,14 @@ function buildQuestionResponse(options2) {
12132
12128
  parts.push(formatList(structure, true));
12133
12129
  parts.push("");
12134
12130
  parts.push(
12135
- createSectionHeader(isJapanese ? "\u7C21\u6F54\u306A\u56DE\u7B54" : "Quick Answer", 3)
12131
+ createSectionHeader("Quick Answer", 3)
12136
12132
  );
12137
12133
  parts.push("");
12138
12134
  parts.push(generateQuickAnswer(question, isJapanese, topics));
12139
12135
  parts.push("");
12140
12136
  if (includeExample && shouldIncludeCode(question)) {
12141
12137
  parts.push(
12142
- createSectionHeader(isJapanese ? "\u30B3\u30FC\u30C9\u4F8B" : "Code Example", 3)
12138
+ createSectionHeader("Code Example", 3)
12143
12139
  );
12144
12140
  parts.push("");
12145
12141
  parts.push(generateExampleCode(topics));
@@ -12147,17 +12143,12 @@ function buildQuestionResponse(options2) {
12147
12143
  }
12148
12144
  parts.push(
12149
12145
  createSectionHeader(
12150
- isJapanese ? "\u8A73\u7D30\u3092\u77E5\u308A\u305F\u3044\u5834\u5408" : "Want to know more?",
12146
+ "Want to know more?",
12151
12147
  3
12152
12148
  )
12153
12149
  );
12154
12150
  parts.push("");
12155
- const detailOptions = isJapanese ? [
12156
- "\u8A73\u7D30\u306A\u5B9F\u88C5\u4F8B\u3092\u898B\u308B",
12157
- "\u95A2\u9023\u3059\u308B\u6982\u5FF5\u3092\u5B66\u3076",
12158
- "\u30C8\u30E9\u30D6\u30EB\u30B7\u30E5\u30FC\u30C6\u30A3\u30F3\u30B0",
12159
- "\u5B9F\u969B\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3078\u306E\u9069\u7528"
12160
- ] : [
12151
+ const detailOptions = [
12161
12152
  "See detailed implementation",
12162
12153
  "Learn related concepts",
12163
12154
  "Troubleshooting guide",
@@ -12166,7 +12157,7 @@ function buildQuestionResponse(options2) {
12166
12157
  parts.push(formatList(detailOptions, true));
12167
12158
  parts.push("");
12168
12159
  parts.push(
12169
- isJapanese ? "\u756A\u53F7\u3092\u9078\u3093\u3067\u8A73\u7D30\u3092\u78BA\u8A8D\u3059\u308B\u304B\u3001\u8FFD\u52A0\u306E\u8CEA\u554F\u3092\u3057\u3066\u304F\u3060\u3055\u3044\u3002" : "Choose a number for details or ask a follow-up question."
12160
+ "Choose a number for details or ask a follow-up question."
12170
12161
  );
12171
12162
  return parts.join("\n");
12172
12163
  }
@@ -12247,7 +12238,6 @@ function solution(input: string): string {
12247
12238
  function buildComprehensiveAnswer(question, detectedTopics, isJapanese) {
12248
12239
  return buildQuestionResponse({
12249
12240
  question,
12250
- isJapanese,
12251
12241
  topics: detectedTopics,
12252
12242
  includeExample: true
12253
12243
  });
@@ -12598,7 +12588,7 @@ ${prompt}`,
12598
12588
  return generateNextAPITemplate(isJapanese);
12599
12589
  return "";
12600
12590
  case "QUESTION":
12601
- return buildComprehensiveAnswer(userInput, topics, isJapanese);
12591
+ return buildComprehensiveAnswer(userInput, topics);
12602
12592
  case "CONTINUATION": {
12603
12593
  const contextPreview = context2.recentMessages.slice(-3).map((m2) => m2.content).join(" ");
12604
12594
  return buildSmartContinuation(contextPreview, topics, isJapanese);
@@ -12929,6 +12919,142 @@ var init_autocomplete_dropdown = __esm({
12929
12919
  }
12930
12920
  });
12931
12921
 
12922
+ // node_modules/.pnpm/ansi-regex@6.1.0/node_modules/ansi-regex/index.js
12923
+ function ansiRegex({ onlyFirst = false } = {}) {
12924
+ const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
12925
+ const pattern2 = [
12926
+ `[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`,
12927
+ "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"
12928
+ ].join("|");
12929
+ return new RegExp(pattern2, onlyFirst ? void 0 : "g");
12930
+ }
12931
+ var init_ansi_regex = __esm({
12932
+ "node_modules/.pnpm/ansi-regex@6.1.0/node_modules/ansi-regex/index.js"() {
12933
+ }
12934
+ });
12935
+
12936
+ // node_modules/.pnpm/strip-ansi@7.1.0/node_modules/strip-ansi/index.js
12937
+ function stripAnsi(string) {
12938
+ if (typeof string !== "string") {
12939
+ throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
12940
+ }
12941
+ return string.replace(regex, "");
12942
+ }
12943
+ var regex;
12944
+ var init_strip_ansi = __esm({
12945
+ "node_modules/.pnpm/strip-ansi@7.1.0/node_modules/strip-ansi/index.js"() {
12946
+ init_ansi_regex();
12947
+ regex = ansiRegex();
12948
+ }
12949
+ });
12950
+
12951
+ // node_modules/.pnpm/get-east-asian-width@1.3.0/node_modules/get-east-asian-width/lookup.js
12952
+ function isAmbiguous(x2) {
12953
+ return x2 === 161 || x2 === 164 || x2 === 167 || x2 === 168 || x2 === 170 || x2 === 173 || x2 === 174 || x2 >= 176 && x2 <= 180 || x2 >= 182 && x2 <= 186 || x2 >= 188 && x2 <= 191 || x2 === 198 || x2 === 208 || x2 === 215 || x2 === 216 || x2 >= 222 && x2 <= 225 || x2 === 230 || x2 >= 232 && x2 <= 234 || x2 === 236 || x2 === 237 || x2 === 240 || x2 === 242 || x2 === 243 || x2 >= 247 && x2 <= 250 || x2 === 252 || x2 === 254 || x2 === 257 || x2 === 273 || x2 === 275 || x2 === 283 || x2 === 294 || x2 === 295 || x2 === 299 || x2 >= 305 && x2 <= 307 || x2 === 312 || x2 >= 319 && x2 <= 322 || x2 === 324 || x2 >= 328 && x2 <= 331 || x2 === 333 || x2 === 338 || x2 === 339 || x2 === 358 || x2 === 359 || x2 === 363 || x2 === 462 || x2 === 464 || x2 === 466 || x2 === 468 || x2 === 470 || x2 === 472 || x2 === 474 || x2 === 476 || x2 === 593 || x2 === 609 || x2 === 708 || x2 === 711 || x2 >= 713 && x2 <= 715 || x2 === 717 || x2 === 720 || x2 >= 728 && x2 <= 731 || x2 === 733 || x2 === 735 || x2 >= 768 && x2 <= 879 || x2 >= 913 && x2 <= 929 || x2 >= 931 && x2 <= 937 || x2 >= 945 && x2 <= 961 || x2 >= 963 && x2 <= 969 || x2 === 1025 || x2 >= 1040 && x2 <= 1103 || x2 === 1105 || x2 === 8208 || x2 >= 8211 && x2 <= 8214 || x2 === 8216 || x2 === 8217 || x2 === 8220 || x2 === 8221 || x2 >= 8224 && x2 <= 8226 || x2 >= 8228 && x2 <= 8231 || x2 === 8240 || x2 === 8242 || x2 === 8243 || x2 === 8245 || x2 === 8251 || x2 === 8254 || x2 === 8308 || x2 === 8319 || x2 >= 8321 && x2 <= 8324 || x2 === 8364 || x2 === 8451 || x2 === 8453 || x2 === 8457 || x2 === 8467 || x2 === 8470 || x2 === 8481 || x2 === 8482 || x2 === 8486 || x2 === 8491 || x2 === 8531 || x2 === 8532 || x2 >= 8539 && x2 <= 8542 || x2 >= 8544 && x2 <= 8555 || x2 >= 8560 && x2 <= 8569 || x2 === 8585 || x2 >= 8592 && x2 <= 8601 || x2 === 8632 || x2 === 8633 || x2 === 8658 || x2 === 8660 || x2 === 8679 || x2 === 8704 || x2 === 8706 || x2 === 8707 || x2 === 8711 || x2 === 8712 || x2 === 8715 || x2 === 8719 || x2 === 8721 || x2 === 8725 || x2 === 8730 || x2 >= 8733 && x2 <= 8736 || x2 === 8739 || x2 === 8741 || x2 >= 8743 && x2 <= 8748 || x2 === 8750 || x2 >= 8756 && x2 <= 8759 || x2 === 8764 || x2 === 8765 || x2 === 8776 || x2 === 8780 || x2 === 8786 || x2 === 8800 || x2 === 8801 || x2 >= 8804 && x2 <= 8807 || x2 === 8810 || x2 === 8811 || x2 === 8814 || x2 === 8815 || x2 === 8834 || x2 === 8835 || x2 === 8838 || x2 === 8839 || x2 === 8853 || x2 === 8857 || x2 === 8869 || x2 === 8895 || x2 === 8978 || x2 >= 9312 && x2 <= 9449 || x2 >= 9451 && x2 <= 9547 || x2 >= 9552 && x2 <= 9587 || x2 >= 9600 && x2 <= 9615 || x2 >= 9618 && x2 <= 9621 || x2 === 9632 || x2 === 9633 || x2 >= 9635 && x2 <= 9641 || x2 === 9650 || x2 === 9651 || x2 === 9654 || x2 === 9655 || x2 === 9660 || x2 === 9661 || x2 === 9664 || x2 === 9665 || x2 >= 9670 && x2 <= 9672 || x2 === 9675 || x2 >= 9678 && x2 <= 9681 || x2 >= 9698 && x2 <= 9701 || x2 === 9711 || x2 === 9733 || x2 === 9734 || x2 === 9737 || x2 === 9742 || x2 === 9743 || x2 === 9756 || x2 === 9758 || x2 === 9792 || x2 === 9794 || x2 === 9824 || x2 === 9825 || x2 >= 9827 && x2 <= 9829 || x2 >= 9831 && x2 <= 9834 || x2 === 9836 || x2 === 9837 || x2 === 9839 || x2 === 9886 || x2 === 9887 || x2 === 9919 || x2 >= 9926 && x2 <= 9933 || x2 >= 9935 && x2 <= 9939 || x2 >= 9941 && x2 <= 9953 || x2 === 9955 || x2 === 9960 || x2 === 9961 || x2 >= 9963 && x2 <= 9969 || x2 === 9972 || x2 >= 9974 && x2 <= 9977 || x2 === 9979 || x2 === 9980 || x2 === 9982 || x2 === 9983 || x2 === 10045 || x2 >= 10102 && x2 <= 10111 || x2 >= 11094 && x2 <= 11097 || x2 >= 12872 && x2 <= 12879 || x2 >= 57344 && x2 <= 63743 || x2 >= 65024 && x2 <= 65039 || x2 === 65533 || x2 >= 127232 && x2 <= 127242 || x2 >= 127248 && x2 <= 127277 || x2 >= 127280 && x2 <= 127337 || x2 >= 127344 && x2 <= 127373 || x2 === 127375 || x2 === 127376 || x2 >= 127387 && x2 <= 127404 || x2 >= 917760 && x2 <= 917999 || x2 >= 983040 && x2 <= 1048573 || x2 >= 1048576 && x2 <= 1114109;
12954
+ }
12955
+ function isFullWidth(x2) {
12956
+ return x2 === 12288 || x2 >= 65281 && x2 <= 65376 || x2 >= 65504 && x2 <= 65510;
12957
+ }
12958
+ function isWide(x2) {
12959
+ return x2 >= 4352 && x2 <= 4447 || x2 === 8986 || x2 === 8987 || x2 === 9001 || x2 === 9002 || x2 >= 9193 && x2 <= 9196 || x2 === 9200 || x2 === 9203 || x2 === 9725 || x2 === 9726 || x2 === 9748 || x2 === 9749 || x2 >= 9776 && x2 <= 9783 || x2 >= 9800 && x2 <= 9811 || x2 === 9855 || x2 >= 9866 && x2 <= 9871 || x2 === 9875 || x2 === 9889 || x2 === 9898 || x2 === 9899 || x2 === 9917 || x2 === 9918 || x2 === 9924 || x2 === 9925 || x2 === 9934 || x2 === 9940 || x2 === 9962 || x2 === 9970 || x2 === 9971 || x2 === 9973 || x2 === 9978 || x2 === 9981 || x2 === 9989 || x2 === 9994 || x2 === 9995 || x2 === 10024 || x2 === 10060 || x2 === 10062 || x2 >= 10067 && x2 <= 10069 || x2 === 10071 || x2 >= 10133 && x2 <= 10135 || x2 === 10160 || x2 === 10175 || x2 === 11035 || x2 === 11036 || x2 === 11088 || x2 === 11093 || x2 >= 11904 && x2 <= 11929 || x2 >= 11931 && x2 <= 12019 || x2 >= 12032 && x2 <= 12245 || x2 >= 12272 && x2 <= 12287 || x2 >= 12289 && x2 <= 12350 || x2 >= 12353 && x2 <= 12438 || x2 >= 12441 && x2 <= 12543 || x2 >= 12549 && x2 <= 12591 || x2 >= 12593 && x2 <= 12686 || x2 >= 12688 && x2 <= 12773 || x2 >= 12783 && x2 <= 12830 || x2 >= 12832 && x2 <= 12871 || x2 >= 12880 && x2 <= 42124 || x2 >= 42128 && x2 <= 42182 || x2 >= 43360 && x2 <= 43388 || x2 >= 44032 && x2 <= 55203 || x2 >= 63744 && x2 <= 64255 || x2 >= 65040 && x2 <= 65049 || x2 >= 65072 && x2 <= 65106 || x2 >= 65108 && x2 <= 65126 || x2 >= 65128 && x2 <= 65131 || x2 >= 94176 && x2 <= 94180 || x2 === 94192 || x2 === 94193 || x2 >= 94208 && x2 <= 100343 || x2 >= 100352 && x2 <= 101589 || x2 >= 101631 && x2 <= 101640 || x2 >= 110576 && x2 <= 110579 || x2 >= 110581 && x2 <= 110587 || x2 === 110589 || x2 === 110590 || x2 >= 110592 && x2 <= 110882 || x2 === 110898 || x2 >= 110928 && x2 <= 110930 || x2 === 110933 || x2 >= 110948 && x2 <= 110951 || x2 >= 110960 && x2 <= 111355 || x2 >= 119552 && x2 <= 119638 || x2 >= 119648 && x2 <= 119670 || x2 === 126980 || x2 === 127183 || x2 === 127374 || x2 >= 127377 && x2 <= 127386 || x2 >= 127488 && x2 <= 127490 || x2 >= 127504 && x2 <= 127547 || x2 >= 127552 && x2 <= 127560 || x2 === 127568 || x2 === 127569 || x2 >= 127584 && x2 <= 127589 || x2 >= 127744 && x2 <= 127776 || x2 >= 127789 && x2 <= 127797 || x2 >= 127799 && x2 <= 127868 || x2 >= 127870 && x2 <= 127891 || x2 >= 127904 && x2 <= 127946 || x2 >= 127951 && x2 <= 127955 || x2 >= 127968 && x2 <= 127984 || x2 === 127988 || x2 >= 127992 && x2 <= 128062 || x2 === 128064 || x2 >= 128066 && x2 <= 128252 || x2 >= 128255 && x2 <= 128317 || x2 >= 128331 && x2 <= 128334 || x2 >= 128336 && x2 <= 128359 || x2 === 128378 || x2 === 128405 || x2 === 128406 || x2 === 128420 || x2 >= 128507 && x2 <= 128591 || x2 >= 128640 && x2 <= 128709 || x2 === 128716 || x2 >= 128720 && x2 <= 128722 || x2 >= 128725 && x2 <= 128727 || x2 >= 128732 && x2 <= 128735 || x2 === 128747 || x2 === 128748 || x2 >= 128756 && x2 <= 128764 || x2 >= 128992 && x2 <= 129003 || x2 === 129008 || x2 >= 129292 && x2 <= 129338 || x2 >= 129340 && x2 <= 129349 || x2 >= 129351 && x2 <= 129535 || x2 >= 129648 && x2 <= 129660 || x2 >= 129664 && x2 <= 129673 || x2 >= 129679 && x2 <= 129734 || x2 >= 129742 && x2 <= 129756 || x2 >= 129759 && x2 <= 129769 || x2 >= 129776 && x2 <= 129784 || x2 >= 131072 && x2 <= 196605 || x2 >= 196608 && x2 <= 262141;
12960
+ }
12961
+ var init_lookup = __esm({
12962
+ "node_modules/.pnpm/get-east-asian-width@1.3.0/node_modules/get-east-asian-width/lookup.js"() {
12963
+ }
12964
+ });
12965
+
12966
+ // node_modules/.pnpm/get-east-asian-width@1.3.0/node_modules/get-east-asian-width/index.js
12967
+ function validate(codePoint) {
12968
+ if (!Number.isSafeInteger(codePoint)) {
12969
+ throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
12970
+ }
12971
+ }
12972
+ function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
12973
+ validate(codePoint);
12974
+ if (isFullWidth(codePoint) || isWide(codePoint) || ambiguousAsWide && isAmbiguous(codePoint)) {
12975
+ return 2;
12976
+ }
12977
+ return 1;
12978
+ }
12979
+ var init_get_east_asian_width = __esm({
12980
+ "node_modules/.pnpm/get-east-asian-width@1.3.0/node_modules/get-east-asian-width/index.js"() {
12981
+ init_lookup();
12982
+ }
12983
+ });
12984
+
12985
+ // node_modules/.pnpm/string-width@8.0.0/node_modules/string-width/index.js
12986
+ function baseVisible(segment) {
12987
+ return segment.replace(leadingNonPrintingRegex, "");
12988
+ }
12989
+ function isZeroWidthCluster(segment) {
12990
+ return zeroWidthClusterRegex.test(segment);
12991
+ }
12992
+ function isDoubleWidthEmojiCluster(segment) {
12993
+ const visible = baseVisible(segment);
12994
+ const baseScalar = visible.codePointAt(0);
12995
+ const baseChar = String.fromCodePoint(baseScalar);
12996
+ const baseIsEmojiPresentation = emojiPresentationRegex.test(baseChar);
12997
+ const hasVs16 = segment.includes("\uFE0F");
12998
+ const hasVs15 = segment.includes("\uFE0E");
12999
+ const codePointCount = [...segment].length;
13000
+ const multiScalarMeaningful = codePointCount > 1 && !(codePointCount === 2 && hasVs15 && !hasVs16);
13001
+ return hasVs16 || baseIsEmojiPresentation && !hasVs15 || multiScalarMeaningful;
13002
+ }
13003
+ function trailingHalfwidthWidth(segment, eastAsianWidthOptions) {
13004
+ let extra = 0;
13005
+ if (segment.length > 1) {
13006
+ for (const char of segment.slice(1)) {
13007
+ if (char >= "\uFF00" && char <= "\uFFEF") {
13008
+ extra += eastAsianWidth(char.codePointAt(0), eastAsianWidthOptions);
13009
+ }
13010
+ }
13011
+ }
13012
+ return extra;
13013
+ }
13014
+ function stringWidth(input3, options2 = {}) {
13015
+ if (typeof input3 !== "string" || input3.length === 0) {
13016
+ return 0;
13017
+ }
13018
+ const {
13019
+ ambiguousIsNarrow = true,
13020
+ countAnsiEscapeCodes = false
13021
+ } = options2;
13022
+ let string = input3;
13023
+ if (!countAnsiEscapeCodes) {
13024
+ string = stripAnsi(string);
13025
+ }
13026
+ if (string.length === 0) {
13027
+ return 0;
13028
+ }
13029
+ let width = 0;
13030
+ const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
13031
+ for (const { segment } of segmenter.segment(string)) {
13032
+ if (isZeroWidthCluster(segment)) {
13033
+ continue;
13034
+ }
13035
+ if (rgiEmojiRegex.test(segment) && isDoubleWidthEmojiCluster(segment)) {
13036
+ width += 2;
13037
+ continue;
13038
+ }
13039
+ const codePoint = baseVisible(segment).codePointAt(0);
13040
+ width += eastAsianWidth(codePoint, eastAsianWidthOptions);
13041
+ width += trailingHalfwidthWidth(segment, eastAsianWidthOptions);
13042
+ }
13043
+ return width;
13044
+ }
13045
+ var segmenter, zeroWidthClusterRegex, leadingNonPrintingRegex, rgiEmojiRegex, emojiPresentationRegex;
13046
+ var init_string_width = __esm({
13047
+ "node_modules/.pnpm/string-width@8.0.0/node_modules/string-width/index.js"() {
13048
+ init_strip_ansi();
13049
+ init_get_east_asian_width();
13050
+ segmenter = new Intl.Segmenter();
13051
+ zeroWidthClusterRegex = new RegExp("^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Mark}|\\p{Surrogate})+$", "v");
13052
+ leadingNonPrintingRegex = new RegExp("^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Mark}\\p{Surrogate}]+", "v");
13053
+ rgiEmojiRegex = new RegExp("^\\p{RGI_Emoji}$", "v");
13054
+ emojiPresentationRegex = new RegExp("^\\p{Emoji_Presentation}$", "v");
13055
+ }
13056
+ });
13057
+
12932
13058
  // src/services/interactive-cli.ts
12933
13059
  var interactive_cli_exports = {};
12934
13060
  __export(interactive_cli_exports, {
@@ -12939,6 +13065,7 @@ var init_interactive_cli = __esm({
12939
13065
  "src/services/interactive-cli.ts"() {
12940
13066
  init_command_groups();
12941
13067
  init_autocomplete_dropdown();
13068
+ init_string_width();
12942
13069
  InteractiveCLI = class {
12943
13070
  rl;
12944
13071
  currentInput = "";
@@ -12953,6 +13080,11 @@ var init_interactive_cli = __esm({
12953
13080
  // Added: suspend overlays during /code execution
12954
13081
  isWaitingForInput = false;
12955
13082
  // Added: prevent duplicate enter handling
13083
+ segmenter = null;
13084
+ lastRenderLines = 0;
13085
+ // Track how many terminal lines the last render occupied
13086
+ lastCursorRowOffset = 0;
13087
+ // Row offset within the last rendered block where cursor ended
12956
13088
  constructor(options2 = {}) {
12957
13089
  this.options = {
12958
13090
  maxSuggestions: options2.maxSuggestions || 5,
@@ -12965,6 +13097,11 @@ var init_interactive_cli = __esm({
12965
13097
  terminal: true
12966
13098
  });
12967
13099
  this.dropdown = new AutocompleteDropdown();
13100
+ try {
13101
+ this.segmenter = new Intl.Segmenter(void 0, { granularity: "grapheme" });
13102
+ } catch {
13103
+ this.segmenter = null;
13104
+ }
12968
13105
  if (process.stdin.isTTY) {
12969
13106
  process.stdin.setRawMode(true);
12970
13107
  }
@@ -13090,7 +13227,9 @@ var init_interactive_cli = __esm({
13090
13227
  * Handle character input
13091
13228
  */
13092
13229
  handleCharacter(char) {
13093
- this.currentInput = this.currentInput.slice(0, this.cursorPosition) + char + this.currentInput.slice(this.cursorPosition);
13230
+ const left = this.sliceByGraphemes(this.currentInput, 0, this.cursorPosition);
13231
+ const right = this.sliceByGraphemes(this.currentInput, this.cursorPosition);
13232
+ this.currentInput = left + char + right;
13094
13233
  this.cursorPosition++;
13095
13234
  void this.updateSuggestions();
13096
13235
  this.render();
@@ -13100,7 +13239,9 @@ var init_interactive_cli = __esm({
13100
13239
  */
13101
13240
  handleBackspace() {
13102
13241
  if (this.cursorPosition > 0) {
13103
- this.currentInput = this.currentInput.slice(0, this.cursorPosition - 1) + this.currentInput.slice(this.cursorPosition);
13242
+ const left = this.sliceByGraphemes(this.currentInput, 0, this.cursorPosition - 1);
13243
+ const right = this.sliceByGraphemes(this.currentInput, this.cursorPosition);
13244
+ this.currentInput = left + right;
13104
13245
  this.cursorPosition--;
13105
13246
  void this.updateSuggestions();
13106
13247
  this.render();
@@ -13150,11 +13291,11 @@ var init_interactive_cli = __esm({
13150
13291
  this.dropdown.hide();
13151
13292
  this.isShowingSuggestions = false;
13152
13293
  this.suggestions = [];
13153
- const promptLength = 2;
13154
- readline__namespace.cursorTo(process.stdout, this.cursorPosition + promptLength);
13294
+ this.render();
13155
13295
  } else {
13156
13296
  this.currentInput = "";
13157
13297
  this.cursorPosition = 0;
13298
+ this.lastRenderLines = 0;
13158
13299
  this.render();
13159
13300
  }
13160
13301
  }
@@ -13187,7 +13328,7 @@ var init_interactive_cli = __esm({
13187
13328
  * Move cursor right
13188
13329
  */
13189
13330
  moveCursorRight() {
13190
- if (this.cursorPosition < this.currentInput.length) {
13331
+ if (this.cursorPosition < this.countGraphemes(this.currentInput)) {
13191
13332
  this.cursorPosition++;
13192
13333
  this.render();
13193
13334
  }
@@ -13224,14 +13365,75 @@ var init_interactive_cli = __esm({
13224
13365
  if (this.overlaysSuspended) {
13225
13366
  return;
13226
13367
  }
13227
- readline__namespace.cursorTo(process.stdout, 0);
13228
- readline__namespace.clearLine(process.stdout, 0);
13368
+ const stdout2 = process.stdout;
13369
+ const columns = Math.max(1, stdout2.columns || 80);
13370
+ readline__namespace.cursorTo(stdout2, 0);
13371
+ if (this.lastRenderLines > 0) {
13372
+ if (this.lastCursorRowOffset > 0) {
13373
+ readline__namespace.moveCursor(stdout2, 0, -this.lastCursorRowOffset);
13374
+ }
13375
+ if (this.lastRenderLines > 1) {
13376
+ readline__namespace.moveCursor(stdout2, 0, this.lastRenderLines - 1);
13377
+ }
13378
+ for (let i2 = 0; i2 < this.lastRenderLines; i2++) {
13379
+ readline__namespace.clearLine(stdout2, 0);
13380
+ if (i2 < this.lastRenderLines - 1) {
13381
+ readline__namespace.moveCursor(stdout2, 0, -1);
13382
+ }
13383
+ }
13384
+ readline__namespace.cursorTo(stdout2, 0);
13385
+ }
13229
13386
  const prompt = chalk29__default.default.cyan("> ");
13230
13387
  const displayInput = this.currentInput;
13231
- process.stdout.write(prompt + displayInput);
13232
- const promptLength = 2;
13233
- const actualCursorPos = promptLength + this.cursorPosition;
13234
- readline__namespace.cursorTo(process.stdout, actualCursorPos);
13388
+ stdout2.write(prompt + displayInput);
13389
+ const promptColumns = 2;
13390
+ const totalColumns = promptColumns + stringWidth(displayInput);
13391
+ const newRenderLines = Math.max(1, Math.ceil(totalColumns / columns));
13392
+ const leftText = this.sliceByGraphemes(displayInput, 0, this.cursorPosition);
13393
+ const leftColumns = stringWidth(leftText);
13394
+ const cursorAbsolute = promptColumns + leftColumns;
13395
+ const targetRowOffset = Math.floor(cursorAbsolute / columns);
13396
+ const targetCol = cursorAbsolute % columns;
13397
+ if (newRenderLines > 1) {
13398
+ readline__namespace.moveCursor(stdout2, 0, -(newRenderLines - 1));
13399
+ }
13400
+ readline__namespace.cursorTo(stdout2, 0);
13401
+ if (targetRowOffset > 0) {
13402
+ readline__namespace.moveCursor(stdout2, 0, targetRowOffset);
13403
+ }
13404
+ readline__namespace.cursorTo(stdout2, targetCol);
13405
+ this.lastRenderLines = newRenderLines;
13406
+ this.lastCursorRowOffset = targetRowOffset;
13407
+ }
13408
+ /**
13409
+ * Count graphemes (visible characters)
13410
+ */
13411
+ countGraphemes(input3) {
13412
+ if (!input3) return 0;
13413
+ if (this.segmenter) {
13414
+ let count = 0;
13415
+ for (const _ of this.segmenter.segment(input3)) count++;
13416
+ return count;
13417
+ }
13418
+ return Array.from(input3).length;
13419
+ }
13420
+ /**
13421
+ * Slice string by grapheme indices [start, end)
13422
+ */
13423
+ sliceByGraphemes(input3, start, end) {
13424
+ if (!input3) return "";
13425
+ if (start < 0) start = 0;
13426
+ if (end !== void 0 && end < start) end = start;
13427
+ if (this.segmenter) {
13428
+ const segs = Array.from(this.segmenter.segment(input3));
13429
+ const s3 = Math.min(start, segs.length);
13430
+ const e3 = end === void 0 ? segs.length : Math.min(end, segs.length);
13431
+ return segs.slice(s3, e3).map((seg) => seg.segment).join("");
13432
+ }
13433
+ const arr = Array.from(input3);
13434
+ const s2 = Math.min(start, arr.length);
13435
+ const e2 = end === void 0 ? arr.length : Math.min(end, arr.length);
13436
+ return arr.slice(s2, e2).join("");
13235
13437
  }
13236
13438
  /**
13237
13439
  * Update only the selection indicator without redrawing the entire box
@@ -13240,8 +13442,9 @@ var init_interactive_cli = __esm({
13240
13442
  if (!this.isShowingSuggestions || this.suggestions.length === 0) {
13241
13443
  return;
13242
13444
  }
13243
- const promptLength = 2;
13244
- const savedX = this.cursorPosition + promptLength;
13445
+ const promptColumns = 2;
13446
+ const leftText = this.sliceByGraphemes(this.currentInput, 0, this.cursorPosition);
13447
+ const savedX = promptColumns + stringWidth(leftText);
13245
13448
  readline__namespace.moveCursor(process.stdout, 0, 2);
13246
13449
  this.suggestions.forEach((suggestion, index2) => {
13247
13450
  const isSelected = index2 === this.selectedIndex;
@@ -13265,8 +13468,9 @@ var init_interactive_cli = __esm({
13265
13468
  * Render autocomplete suggestions - downward only
13266
13469
  */
13267
13470
  renderSuggestionsDownward() {
13268
- const promptLength = 2;
13269
- const savedX = this.cursorPosition + promptLength;
13471
+ const promptColumns = 2;
13472
+ const leftText = this.sliceByGraphemes(this.currentInput, 0, this.cursorPosition);
13473
+ const savedX = promptColumns + stringWidth(leftText);
13270
13474
  process.stdout.write("\n");
13271
13475
  process.stdout.write(chalk29__default.default.white("\u256D\u2500\u2500\u2500\u2500 Command Suggestions \u2500\u2500\u2500\u2500\u256E\n"));
13272
13476
  this.suggestions.forEach((suggestion, index2) => {
@@ -13309,6 +13513,7 @@ var init_interactive_cli = __esm({
13309
13513
  this.suggestions = [];
13310
13514
  this.selectedIndex = 0;
13311
13515
  this.previousSuggestionsCount = 0;
13516
+ this.lastRenderLines = 0;
13312
13517
  readline__namespace.cursorTo(process.stdout, 0);
13313
13518
  readline__namespace.clearLine(process.stdout, 0);
13314
13519
  }
@@ -13322,6 +13527,7 @@ var init_interactive_cli = __esm({
13322
13527
  this.selectedIndex = 0;
13323
13528
  this.isShowingSuggestions = false;
13324
13529
  this.isWaitingForInput = true;
13530
+ this.lastRenderLines = 0;
13325
13531
  process.stdout.write(prompt);
13326
13532
  return new Promise((resolve8) => {
13327
13533
  const handler = (input3) => {
@@ -13338,6 +13544,7 @@ var init_interactive_cli = __esm({
13338
13544
  prompt() {
13339
13545
  this.currentInput = "";
13340
13546
  this.cursorPosition = 0;
13547
+ this.lastRenderLines = 0;
13341
13548
  this.render();
13342
13549
  }
13343
13550
  /**
@@ -13351,6 +13558,7 @@ var init_interactive_cli = __esm({
13351
13558
  process.stdin.setRawMode(false);
13352
13559
  }
13353
13560
  this.rl.close();
13561
+ this.lastRenderLines = 0;
13354
13562
  }
13355
13563
  /**
13356
13564
  * Get readline interface
@@ -19715,8 +19923,8 @@ var require_package = __commonJS({
19715
19923
  "package.json"(exports, module) {
19716
19924
  module.exports = {
19717
19925
  name: "@bonginkan/maria",
19718
- version: "4.2.25",
19719
- description: "\u{1F680} MARIA v4.2.25 - Enterprise AI Development Platform with 100% Command Availability. Features 74 production-ready commands with comprehensive fallback implementation, local LLM support, and zero external dependencies. Includes natural language coding, AI safety evaluation, intelligent evolution system, episodic memory with PII masking, and real-time monitoring dashboard. Built with TypeScript AST-powered code generation, OAuth2.0 + PKCE authentication, quantum-resistant cryptography, and enterprise-grade performance.",
19926
+ version: "4.2.27",
19927
+ description: "\u{1F680} MARIA v4.2.27 - Enterprise AI Development Platform with 100% Command Availability. Features 74 production-ready commands with comprehensive fallback implementation, local LLM support, and zero external dependencies. Includes natural language coding, AI safety evaluation, intelligent evolution system, episodic memory with PII masking, and real-time monitoring dashboard. Built with TypeScript AST-powered code generation, OAuth2.0 + PKCE authentication, quantum-resistant cryptography, and enterprise-grade performance.",
19720
19928
  keywords: [
19721
19929
  "ai",
19722
19930
  "cli",
@@ -32177,7 +32385,7 @@ var init_about_command = __esm({
32177
32385
  async execute(args2, context2) {
32178
32386
  const output3 = [];
32179
32387
  output3.push("");
32180
- output3.push(chalk29__default.default.cyan.bold("\u{1F916} About MARIA v4.2.25"));
32388
+ output3.push(chalk29__default.default.cyan.bold("\u{1F916} About MARIA v4.2.27"));
32181
32389
  output3.push(chalk29__default.default.gray("\u2550".repeat(40)));
32182
32390
  output3.push("");
32183
32391
  output3.push(chalk29__default.default.white.bold("MARIA - Minimal API, Maximum Power"));
@@ -49721,69 +49929,6 @@ var init_log_symbols = __esm({
49721
49929
  }
49722
49930
  });
49723
49931
 
49724
- // node_modules/.pnpm/ansi-regex@6.1.0/node_modules/ansi-regex/index.js
49725
- function ansiRegex({ onlyFirst = false } = {}) {
49726
- const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
49727
- const pattern2 = [
49728
- `[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`,
49729
- "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"
49730
- ].join("|");
49731
- return new RegExp(pattern2, onlyFirst ? void 0 : "g");
49732
- }
49733
- var init_ansi_regex = __esm({
49734
- "node_modules/.pnpm/ansi-regex@6.1.0/node_modules/ansi-regex/index.js"() {
49735
- }
49736
- });
49737
-
49738
- // node_modules/.pnpm/strip-ansi@7.1.0/node_modules/strip-ansi/index.js
49739
- function stripAnsi(string) {
49740
- if (typeof string !== "string") {
49741
- throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
49742
- }
49743
- return string.replace(regex, "");
49744
- }
49745
- var regex;
49746
- var init_strip_ansi = __esm({
49747
- "node_modules/.pnpm/strip-ansi@7.1.0/node_modules/strip-ansi/index.js"() {
49748
- init_ansi_regex();
49749
- regex = ansiRegex();
49750
- }
49751
- });
49752
-
49753
- // node_modules/.pnpm/get-east-asian-width@1.3.0/node_modules/get-east-asian-width/lookup.js
49754
- function isAmbiguous(x2) {
49755
- return x2 === 161 || x2 === 164 || x2 === 167 || x2 === 168 || x2 === 170 || x2 === 173 || x2 === 174 || x2 >= 176 && x2 <= 180 || x2 >= 182 && x2 <= 186 || x2 >= 188 && x2 <= 191 || x2 === 198 || x2 === 208 || x2 === 215 || x2 === 216 || x2 >= 222 && x2 <= 225 || x2 === 230 || x2 >= 232 && x2 <= 234 || x2 === 236 || x2 === 237 || x2 === 240 || x2 === 242 || x2 === 243 || x2 >= 247 && x2 <= 250 || x2 === 252 || x2 === 254 || x2 === 257 || x2 === 273 || x2 === 275 || x2 === 283 || x2 === 294 || x2 === 295 || x2 === 299 || x2 >= 305 && x2 <= 307 || x2 === 312 || x2 >= 319 && x2 <= 322 || x2 === 324 || x2 >= 328 && x2 <= 331 || x2 === 333 || x2 === 338 || x2 === 339 || x2 === 358 || x2 === 359 || x2 === 363 || x2 === 462 || x2 === 464 || x2 === 466 || x2 === 468 || x2 === 470 || x2 === 472 || x2 === 474 || x2 === 476 || x2 === 593 || x2 === 609 || x2 === 708 || x2 === 711 || x2 >= 713 && x2 <= 715 || x2 === 717 || x2 === 720 || x2 >= 728 && x2 <= 731 || x2 === 733 || x2 === 735 || x2 >= 768 && x2 <= 879 || x2 >= 913 && x2 <= 929 || x2 >= 931 && x2 <= 937 || x2 >= 945 && x2 <= 961 || x2 >= 963 && x2 <= 969 || x2 === 1025 || x2 >= 1040 && x2 <= 1103 || x2 === 1105 || x2 === 8208 || x2 >= 8211 && x2 <= 8214 || x2 === 8216 || x2 === 8217 || x2 === 8220 || x2 === 8221 || x2 >= 8224 && x2 <= 8226 || x2 >= 8228 && x2 <= 8231 || x2 === 8240 || x2 === 8242 || x2 === 8243 || x2 === 8245 || x2 === 8251 || x2 === 8254 || x2 === 8308 || x2 === 8319 || x2 >= 8321 && x2 <= 8324 || x2 === 8364 || x2 === 8451 || x2 === 8453 || x2 === 8457 || x2 === 8467 || x2 === 8470 || x2 === 8481 || x2 === 8482 || x2 === 8486 || x2 === 8491 || x2 === 8531 || x2 === 8532 || x2 >= 8539 && x2 <= 8542 || x2 >= 8544 && x2 <= 8555 || x2 >= 8560 && x2 <= 8569 || x2 === 8585 || x2 >= 8592 && x2 <= 8601 || x2 === 8632 || x2 === 8633 || x2 === 8658 || x2 === 8660 || x2 === 8679 || x2 === 8704 || x2 === 8706 || x2 === 8707 || x2 === 8711 || x2 === 8712 || x2 === 8715 || x2 === 8719 || x2 === 8721 || x2 === 8725 || x2 === 8730 || x2 >= 8733 && x2 <= 8736 || x2 === 8739 || x2 === 8741 || x2 >= 8743 && x2 <= 8748 || x2 === 8750 || x2 >= 8756 && x2 <= 8759 || x2 === 8764 || x2 === 8765 || x2 === 8776 || x2 === 8780 || x2 === 8786 || x2 === 8800 || x2 === 8801 || x2 >= 8804 && x2 <= 8807 || x2 === 8810 || x2 === 8811 || x2 === 8814 || x2 === 8815 || x2 === 8834 || x2 === 8835 || x2 === 8838 || x2 === 8839 || x2 === 8853 || x2 === 8857 || x2 === 8869 || x2 === 8895 || x2 === 8978 || x2 >= 9312 && x2 <= 9449 || x2 >= 9451 && x2 <= 9547 || x2 >= 9552 && x2 <= 9587 || x2 >= 9600 && x2 <= 9615 || x2 >= 9618 && x2 <= 9621 || x2 === 9632 || x2 === 9633 || x2 >= 9635 && x2 <= 9641 || x2 === 9650 || x2 === 9651 || x2 === 9654 || x2 === 9655 || x2 === 9660 || x2 === 9661 || x2 === 9664 || x2 === 9665 || x2 >= 9670 && x2 <= 9672 || x2 === 9675 || x2 >= 9678 && x2 <= 9681 || x2 >= 9698 && x2 <= 9701 || x2 === 9711 || x2 === 9733 || x2 === 9734 || x2 === 9737 || x2 === 9742 || x2 === 9743 || x2 === 9756 || x2 === 9758 || x2 === 9792 || x2 === 9794 || x2 === 9824 || x2 === 9825 || x2 >= 9827 && x2 <= 9829 || x2 >= 9831 && x2 <= 9834 || x2 === 9836 || x2 === 9837 || x2 === 9839 || x2 === 9886 || x2 === 9887 || x2 === 9919 || x2 >= 9926 && x2 <= 9933 || x2 >= 9935 && x2 <= 9939 || x2 >= 9941 && x2 <= 9953 || x2 === 9955 || x2 === 9960 || x2 === 9961 || x2 >= 9963 && x2 <= 9969 || x2 === 9972 || x2 >= 9974 && x2 <= 9977 || x2 === 9979 || x2 === 9980 || x2 === 9982 || x2 === 9983 || x2 === 10045 || x2 >= 10102 && x2 <= 10111 || x2 >= 11094 && x2 <= 11097 || x2 >= 12872 && x2 <= 12879 || x2 >= 57344 && x2 <= 63743 || x2 >= 65024 && x2 <= 65039 || x2 === 65533 || x2 >= 127232 && x2 <= 127242 || x2 >= 127248 && x2 <= 127277 || x2 >= 127280 && x2 <= 127337 || x2 >= 127344 && x2 <= 127373 || x2 === 127375 || x2 === 127376 || x2 >= 127387 && x2 <= 127404 || x2 >= 917760 && x2 <= 917999 || x2 >= 983040 && x2 <= 1048573 || x2 >= 1048576 && x2 <= 1114109;
49756
- }
49757
- function isFullWidth(x2) {
49758
- return x2 === 12288 || x2 >= 65281 && x2 <= 65376 || x2 >= 65504 && x2 <= 65510;
49759
- }
49760
- function isWide(x2) {
49761
- return x2 >= 4352 && x2 <= 4447 || x2 === 8986 || x2 === 8987 || x2 === 9001 || x2 === 9002 || x2 >= 9193 && x2 <= 9196 || x2 === 9200 || x2 === 9203 || x2 === 9725 || x2 === 9726 || x2 === 9748 || x2 === 9749 || x2 >= 9776 && x2 <= 9783 || x2 >= 9800 && x2 <= 9811 || x2 === 9855 || x2 >= 9866 && x2 <= 9871 || x2 === 9875 || x2 === 9889 || x2 === 9898 || x2 === 9899 || x2 === 9917 || x2 === 9918 || x2 === 9924 || x2 === 9925 || x2 === 9934 || x2 === 9940 || x2 === 9962 || x2 === 9970 || x2 === 9971 || x2 === 9973 || x2 === 9978 || x2 === 9981 || x2 === 9989 || x2 === 9994 || x2 === 9995 || x2 === 10024 || x2 === 10060 || x2 === 10062 || x2 >= 10067 && x2 <= 10069 || x2 === 10071 || x2 >= 10133 && x2 <= 10135 || x2 === 10160 || x2 === 10175 || x2 === 11035 || x2 === 11036 || x2 === 11088 || x2 === 11093 || x2 >= 11904 && x2 <= 11929 || x2 >= 11931 && x2 <= 12019 || x2 >= 12032 && x2 <= 12245 || x2 >= 12272 && x2 <= 12287 || x2 >= 12289 && x2 <= 12350 || x2 >= 12353 && x2 <= 12438 || x2 >= 12441 && x2 <= 12543 || x2 >= 12549 && x2 <= 12591 || x2 >= 12593 && x2 <= 12686 || x2 >= 12688 && x2 <= 12773 || x2 >= 12783 && x2 <= 12830 || x2 >= 12832 && x2 <= 12871 || x2 >= 12880 && x2 <= 42124 || x2 >= 42128 && x2 <= 42182 || x2 >= 43360 && x2 <= 43388 || x2 >= 44032 && x2 <= 55203 || x2 >= 63744 && x2 <= 64255 || x2 >= 65040 && x2 <= 65049 || x2 >= 65072 && x2 <= 65106 || x2 >= 65108 && x2 <= 65126 || x2 >= 65128 && x2 <= 65131 || x2 >= 94176 && x2 <= 94180 || x2 === 94192 || x2 === 94193 || x2 >= 94208 && x2 <= 100343 || x2 >= 100352 && x2 <= 101589 || x2 >= 101631 && x2 <= 101640 || x2 >= 110576 && x2 <= 110579 || x2 >= 110581 && x2 <= 110587 || x2 === 110589 || x2 === 110590 || x2 >= 110592 && x2 <= 110882 || x2 === 110898 || x2 >= 110928 && x2 <= 110930 || x2 === 110933 || x2 >= 110948 && x2 <= 110951 || x2 >= 110960 && x2 <= 111355 || x2 >= 119552 && x2 <= 119638 || x2 >= 119648 && x2 <= 119670 || x2 === 126980 || x2 === 127183 || x2 === 127374 || x2 >= 127377 && x2 <= 127386 || x2 >= 127488 && x2 <= 127490 || x2 >= 127504 && x2 <= 127547 || x2 >= 127552 && x2 <= 127560 || x2 === 127568 || x2 === 127569 || x2 >= 127584 && x2 <= 127589 || x2 >= 127744 && x2 <= 127776 || x2 >= 127789 && x2 <= 127797 || x2 >= 127799 && x2 <= 127868 || x2 >= 127870 && x2 <= 127891 || x2 >= 127904 && x2 <= 127946 || x2 >= 127951 && x2 <= 127955 || x2 >= 127968 && x2 <= 127984 || x2 === 127988 || x2 >= 127992 && x2 <= 128062 || x2 === 128064 || x2 >= 128066 && x2 <= 128252 || x2 >= 128255 && x2 <= 128317 || x2 >= 128331 && x2 <= 128334 || x2 >= 128336 && x2 <= 128359 || x2 === 128378 || x2 === 128405 || x2 === 128406 || x2 === 128420 || x2 >= 128507 && x2 <= 128591 || x2 >= 128640 && x2 <= 128709 || x2 === 128716 || x2 >= 128720 && x2 <= 128722 || x2 >= 128725 && x2 <= 128727 || x2 >= 128732 && x2 <= 128735 || x2 === 128747 || x2 === 128748 || x2 >= 128756 && x2 <= 128764 || x2 >= 128992 && x2 <= 129003 || x2 === 129008 || x2 >= 129292 && x2 <= 129338 || x2 >= 129340 && x2 <= 129349 || x2 >= 129351 && x2 <= 129535 || x2 >= 129648 && x2 <= 129660 || x2 >= 129664 && x2 <= 129673 || x2 >= 129679 && x2 <= 129734 || x2 >= 129742 && x2 <= 129756 || x2 >= 129759 && x2 <= 129769 || x2 >= 129776 && x2 <= 129784 || x2 >= 131072 && x2 <= 196605 || x2 >= 196608 && x2 <= 262141;
49762
- }
49763
- var init_lookup = __esm({
49764
- "node_modules/.pnpm/get-east-asian-width@1.3.0/node_modules/get-east-asian-width/lookup.js"() {
49765
- }
49766
- });
49767
-
49768
- // node_modules/.pnpm/get-east-asian-width@1.3.0/node_modules/get-east-asian-width/index.js
49769
- function validate(codePoint) {
49770
- if (!Number.isSafeInteger(codePoint)) {
49771
- throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
49772
- }
49773
- }
49774
- function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
49775
- validate(codePoint);
49776
- if (isFullWidth(codePoint) || isWide(codePoint) || ambiguousAsWide && isAmbiguous(codePoint)) {
49777
- return 2;
49778
- }
49779
- return 1;
49780
- }
49781
- var init_get_east_asian_width = __esm({
49782
- "node_modules/.pnpm/get-east-asian-width@1.3.0/node_modules/get-east-asian-width/index.js"() {
49783
- init_lookup();
49784
- }
49785
- });
49786
-
49787
49932
  // node_modules/.pnpm/emoji-regex@10.4.0/node_modules/emoji-regex/index.mjs
49788
49933
  var emoji_regex_default;
49789
49934
  var init_emoji_regex = __esm({
@@ -49795,7 +49940,7 @@ var init_emoji_regex = __esm({
49795
49940
  });
49796
49941
 
49797
49942
  // node_modules/.pnpm/string-width@7.2.0/node_modules/string-width/index.js
49798
- function stringWidth(string, options2 = {}) {
49943
+ function stringWidth2(string, options2 = {}) {
49799
49944
  if (typeof string !== "string" || string.length === 0) {
49800
49945
  return 0;
49801
49946
  }
@@ -49811,7 +49956,7 @@ function stringWidth(string, options2 = {}) {
49811
49956
  }
49812
49957
  let width = 0;
49813
49958
  const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
49814
- for (const { segment: character } of segmenter.segment(string)) {
49959
+ for (const { segment: character } of segmenter2.segment(string)) {
49815
49960
  const codePoint = character.codePointAt(0);
49816
49961
  if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
49817
49962
  continue;
@@ -49839,13 +49984,13 @@ function stringWidth(string, options2 = {}) {
49839
49984
  }
49840
49985
  return width;
49841
49986
  }
49842
- var segmenter, defaultIgnorableCodePointRegex;
49843
- var init_string_width = __esm({
49987
+ var segmenter2, defaultIgnorableCodePointRegex;
49988
+ var init_string_width2 = __esm({
49844
49989
  "node_modules/.pnpm/string-width@7.2.0/node_modules/string-width/index.js"() {
49845
49990
  init_strip_ansi();
49846
49991
  init_get_east_asian_width();
49847
49992
  init_emoji_regex();
49848
- segmenter = new Intl.Segmenter();
49993
+ segmenter2 = new Intl.Segmenter();
49849
49994
  defaultIgnorableCodePointRegex = new RegExp("^\\p{Default_Ignorable_Code_Point}$", "u");
49850
49995
  }
49851
49996
  });
@@ -49929,7 +50074,7 @@ var init_ora = __esm({
49929
50074
  import_cli_spinners = __toESM(require_cli_spinners());
49930
50075
  init_log_symbols();
49931
50076
  init_strip_ansi();
49932
- init_string_width();
50077
+ init_string_width2();
49933
50078
  init_is_interactive();
49934
50079
  init_is_unicode_supported2();
49935
50080
  init_stdin_discarder();
@@ -50081,7 +50226,7 @@ var init_ora = __esm({
50081
50226
  const fullText = " ".repeat(this.#indent) + fullPrefixText + "--" + this.#text + "--" + fullSuffixText;
50082
50227
  this.#lineCount = 0;
50083
50228
  for (const line of stripAnsi(fullText).split("\n")) {
50084
- this.#lineCount += Math.max(1, Math.ceil(stringWidth(line, { countAnsiEscapeCodes: true }) / columns));
50229
+ this.#lineCount += Math.max(1, Math.ceil(stringWidth2(line, { countAnsiEscapeCodes: true }) / columns));
50085
50230
  }
50086
50231
  }
50087
50232
  get isEnabled() {
@@ -59848,8 +59993,7 @@ async function startInteractiveSession() {
59848
59993
  if (interactiveCLI) {
59849
59994
  while (true) {
59850
59995
  try {
59851
- const prompt = chalk29__default.default.gray("> ");
59852
- process.stdout.write(prompt);
59996
+ interactiveCLI.prompt();
59853
59997
  const line = await interactiveCLI.question("");
59854
59998
  console.log();
59855
59999
  if (line.toLowerCase() === "exit" || line.toLowerCase() === "quit") {