@bonginkan/maria 4.2.25 → 4.2.26

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.26"}`
1897
1897
  }
1898
1898
  });
1899
1899
  if (response2.status === 401) {
@@ -12929,6 +12929,142 @@ var init_autocomplete_dropdown = __esm({
12929
12929
  }
12930
12930
  });
12931
12931
 
12932
+ // node_modules/.pnpm/ansi-regex@6.1.0/node_modules/ansi-regex/index.js
12933
+ function ansiRegex({ onlyFirst = false } = {}) {
12934
+ const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
12935
+ const pattern2 = [
12936
+ `[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?${ST})`,
12937
+ "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"
12938
+ ].join("|");
12939
+ return new RegExp(pattern2, onlyFirst ? void 0 : "g");
12940
+ }
12941
+ var init_ansi_regex = __esm({
12942
+ "node_modules/.pnpm/ansi-regex@6.1.0/node_modules/ansi-regex/index.js"() {
12943
+ }
12944
+ });
12945
+
12946
+ // node_modules/.pnpm/strip-ansi@7.1.0/node_modules/strip-ansi/index.js
12947
+ function stripAnsi(string) {
12948
+ if (typeof string !== "string") {
12949
+ throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
12950
+ }
12951
+ return string.replace(regex, "");
12952
+ }
12953
+ var regex;
12954
+ var init_strip_ansi = __esm({
12955
+ "node_modules/.pnpm/strip-ansi@7.1.0/node_modules/strip-ansi/index.js"() {
12956
+ init_ansi_regex();
12957
+ regex = ansiRegex();
12958
+ }
12959
+ });
12960
+
12961
+ // node_modules/.pnpm/get-east-asian-width@1.3.0/node_modules/get-east-asian-width/lookup.js
12962
+ function isAmbiguous(x2) {
12963
+ 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;
12964
+ }
12965
+ function isFullWidth(x2) {
12966
+ return x2 === 12288 || x2 >= 65281 && x2 <= 65376 || x2 >= 65504 && x2 <= 65510;
12967
+ }
12968
+ function isWide(x2) {
12969
+ 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;
12970
+ }
12971
+ var init_lookup = __esm({
12972
+ "node_modules/.pnpm/get-east-asian-width@1.3.0/node_modules/get-east-asian-width/lookup.js"() {
12973
+ }
12974
+ });
12975
+
12976
+ // node_modules/.pnpm/get-east-asian-width@1.3.0/node_modules/get-east-asian-width/index.js
12977
+ function validate(codePoint) {
12978
+ if (!Number.isSafeInteger(codePoint)) {
12979
+ throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
12980
+ }
12981
+ }
12982
+ function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
12983
+ validate(codePoint);
12984
+ if (isFullWidth(codePoint) || isWide(codePoint) || ambiguousAsWide && isAmbiguous(codePoint)) {
12985
+ return 2;
12986
+ }
12987
+ return 1;
12988
+ }
12989
+ var init_get_east_asian_width = __esm({
12990
+ "node_modules/.pnpm/get-east-asian-width@1.3.0/node_modules/get-east-asian-width/index.js"() {
12991
+ init_lookup();
12992
+ }
12993
+ });
12994
+
12995
+ // node_modules/.pnpm/string-width@8.0.0/node_modules/string-width/index.js
12996
+ function baseVisible(segment) {
12997
+ return segment.replace(leadingNonPrintingRegex, "");
12998
+ }
12999
+ function isZeroWidthCluster(segment) {
13000
+ return zeroWidthClusterRegex.test(segment);
13001
+ }
13002
+ function isDoubleWidthEmojiCluster(segment) {
13003
+ const visible = baseVisible(segment);
13004
+ const baseScalar = visible.codePointAt(0);
13005
+ const baseChar = String.fromCodePoint(baseScalar);
13006
+ const baseIsEmojiPresentation = emojiPresentationRegex.test(baseChar);
13007
+ const hasVs16 = segment.includes("\uFE0F");
13008
+ const hasVs15 = segment.includes("\uFE0E");
13009
+ const codePointCount = [...segment].length;
13010
+ const multiScalarMeaningful = codePointCount > 1 && !(codePointCount === 2 && hasVs15 && !hasVs16);
13011
+ return hasVs16 || baseIsEmojiPresentation && !hasVs15 || multiScalarMeaningful;
13012
+ }
13013
+ function trailingHalfwidthWidth(segment, eastAsianWidthOptions) {
13014
+ let extra = 0;
13015
+ if (segment.length > 1) {
13016
+ for (const char of segment.slice(1)) {
13017
+ if (char >= "\uFF00" && char <= "\uFFEF") {
13018
+ extra += eastAsianWidth(char.codePointAt(0), eastAsianWidthOptions);
13019
+ }
13020
+ }
13021
+ }
13022
+ return extra;
13023
+ }
13024
+ function stringWidth(input3, options2 = {}) {
13025
+ if (typeof input3 !== "string" || input3.length === 0) {
13026
+ return 0;
13027
+ }
13028
+ const {
13029
+ ambiguousIsNarrow = true,
13030
+ countAnsiEscapeCodes = false
13031
+ } = options2;
13032
+ let string = input3;
13033
+ if (!countAnsiEscapeCodes) {
13034
+ string = stripAnsi(string);
13035
+ }
13036
+ if (string.length === 0) {
13037
+ return 0;
13038
+ }
13039
+ let width = 0;
13040
+ const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
13041
+ for (const { segment } of segmenter.segment(string)) {
13042
+ if (isZeroWidthCluster(segment)) {
13043
+ continue;
13044
+ }
13045
+ if (rgiEmojiRegex.test(segment) && isDoubleWidthEmojiCluster(segment)) {
13046
+ width += 2;
13047
+ continue;
13048
+ }
13049
+ const codePoint = baseVisible(segment).codePointAt(0);
13050
+ width += eastAsianWidth(codePoint, eastAsianWidthOptions);
13051
+ width += trailingHalfwidthWidth(segment, eastAsianWidthOptions);
13052
+ }
13053
+ return width;
13054
+ }
13055
+ var segmenter, zeroWidthClusterRegex, leadingNonPrintingRegex, rgiEmojiRegex, emojiPresentationRegex;
13056
+ var init_string_width = __esm({
13057
+ "node_modules/.pnpm/string-width@8.0.0/node_modules/string-width/index.js"() {
13058
+ init_strip_ansi();
13059
+ init_get_east_asian_width();
13060
+ segmenter = new Intl.Segmenter();
13061
+ zeroWidthClusterRegex = new RegExp("^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Mark}|\\p{Surrogate})+$", "v");
13062
+ leadingNonPrintingRegex = new RegExp("^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Mark}\\p{Surrogate}]+", "v");
13063
+ rgiEmojiRegex = new RegExp("^\\p{RGI_Emoji}$", "v");
13064
+ emojiPresentationRegex = new RegExp("^\\p{Emoji_Presentation}$", "v");
13065
+ }
13066
+ });
13067
+
12932
13068
  // src/services/interactive-cli.ts
12933
13069
  var interactive_cli_exports = {};
12934
13070
  __export(interactive_cli_exports, {
@@ -12939,6 +13075,7 @@ var init_interactive_cli = __esm({
12939
13075
  "src/services/interactive-cli.ts"() {
12940
13076
  init_command_groups();
12941
13077
  init_autocomplete_dropdown();
13078
+ init_string_width();
12942
13079
  InteractiveCLI = class {
12943
13080
  rl;
12944
13081
  currentInput = "";
@@ -12953,6 +13090,7 @@ var init_interactive_cli = __esm({
12953
13090
  // Added: suspend overlays during /code execution
12954
13091
  isWaitingForInput = false;
12955
13092
  // Added: prevent duplicate enter handling
13093
+ segmenter = null;
12956
13094
  constructor(options2 = {}) {
12957
13095
  this.options = {
12958
13096
  maxSuggestions: options2.maxSuggestions || 5,
@@ -12965,6 +13103,11 @@ var init_interactive_cli = __esm({
12965
13103
  terminal: true
12966
13104
  });
12967
13105
  this.dropdown = new AutocompleteDropdown();
13106
+ try {
13107
+ this.segmenter = new Intl.Segmenter(void 0, { granularity: "grapheme" });
13108
+ } catch {
13109
+ this.segmenter = null;
13110
+ }
12968
13111
  if (process.stdin.isTTY) {
12969
13112
  process.stdin.setRawMode(true);
12970
13113
  }
@@ -13090,7 +13233,9 @@ var init_interactive_cli = __esm({
13090
13233
  * Handle character input
13091
13234
  */
13092
13235
  handleCharacter(char) {
13093
- this.currentInput = this.currentInput.slice(0, this.cursorPosition) + char + this.currentInput.slice(this.cursorPosition);
13236
+ const left = this.sliceByGraphemes(this.currentInput, 0, this.cursorPosition);
13237
+ const right = this.sliceByGraphemes(this.currentInput, this.cursorPosition);
13238
+ this.currentInput = left + char + right;
13094
13239
  this.cursorPosition++;
13095
13240
  void this.updateSuggestions();
13096
13241
  this.render();
@@ -13100,7 +13245,9 @@ var init_interactive_cli = __esm({
13100
13245
  */
13101
13246
  handleBackspace() {
13102
13247
  if (this.cursorPosition > 0) {
13103
- this.currentInput = this.currentInput.slice(0, this.cursorPosition - 1) + this.currentInput.slice(this.cursorPosition);
13248
+ const left = this.sliceByGraphemes(this.currentInput, 0, this.cursorPosition - 1);
13249
+ const right = this.sliceByGraphemes(this.currentInput, this.cursorPosition);
13250
+ this.currentInput = left + right;
13104
13251
  this.cursorPosition--;
13105
13252
  void this.updateSuggestions();
13106
13253
  this.render();
@@ -13187,7 +13334,7 @@ var init_interactive_cli = __esm({
13187
13334
  * Move cursor right
13188
13335
  */
13189
13336
  moveCursorRight() {
13190
- if (this.cursorPosition < this.currentInput.length) {
13337
+ if (this.cursorPosition < this.countGraphemes(this.currentInput)) {
13191
13338
  this.cursorPosition++;
13192
13339
  this.render();
13193
13340
  }
@@ -13229,10 +13376,42 @@ var init_interactive_cli = __esm({
13229
13376
  const prompt = chalk29__default.default.cyan("> ");
13230
13377
  const displayInput = this.currentInput;
13231
13378
  process.stdout.write(prompt + displayInput);
13232
- const promptLength = 2;
13233
- const actualCursorPos = promptLength + this.cursorPosition;
13379
+ const promptColumns = 2;
13380
+ const leftText = this.sliceByGraphemes(displayInput, 0, this.cursorPosition);
13381
+ const leftColumns = stringWidth(leftText);
13382
+ const actualCursorPos = promptColumns + leftColumns;
13234
13383
  readline__namespace.cursorTo(process.stdout, actualCursorPos);
13235
13384
  }
13385
+ /**
13386
+ * Count graphemes (visible characters)
13387
+ */
13388
+ countGraphemes(input3) {
13389
+ if (!input3) return 0;
13390
+ if (this.segmenter) {
13391
+ let count = 0;
13392
+ for (const _ of this.segmenter.segment(input3)) count++;
13393
+ return count;
13394
+ }
13395
+ return Array.from(input3).length;
13396
+ }
13397
+ /**
13398
+ * Slice string by grapheme indices [start, end)
13399
+ */
13400
+ sliceByGraphemes(input3, start, end) {
13401
+ if (!input3) return "";
13402
+ if (start < 0) start = 0;
13403
+ if (end !== void 0 && end < start) end = start;
13404
+ if (this.segmenter) {
13405
+ const segs = Array.from(this.segmenter.segment(input3));
13406
+ const s3 = Math.min(start, segs.length);
13407
+ const e3 = end === void 0 ? segs.length : Math.min(end, segs.length);
13408
+ return segs.slice(s3, e3).map((seg) => seg.segment).join("");
13409
+ }
13410
+ const arr = Array.from(input3);
13411
+ const s2 = Math.min(start, arr.length);
13412
+ const e2 = end === void 0 ? arr.length : Math.min(end, arr.length);
13413
+ return arr.slice(s2, e2).join("");
13414
+ }
13236
13415
  /**
13237
13416
  * Update only the selection indicator without redrawing the entire box
13238
13417
  */
@@ -13240,8 +13419,9 @@ var init_interactive_cli = __esm({
13240
13419
  if (!this.isShowingSuggestions || this.suggestions.length === 0) {
13241
13420
  return;
13242
13421
  }
13243
- const promptLength = 2;
13244
- const savedX = this.cursorPosition + promptLength;
13422
+ const promptColumns = 2;
13423
+ const leftText = this.sliceByGraphemes(this.currentInput, 0, this.cursorPosition);
13424
+ const savedX = promptColumns + stringWidth(leftText);
13245
13425
  readline__namespace.moveCursor(process.stdout, 0, 2);
13246
13426
  this.suggestions.forEach((suggestion, index2) => {
13247
13427
  const isSelected = index2 === this.selectedIndex;
@@ -13265,8 +13445,9 @@ var init_interactive_cli = __esm({
13265
13445
  * Render autocomplete suggestions - downward only
13266
13446
  */
13267
13447
  renderSuggestionsDownward() {
13268
- const promptLength = 2;
13269
- const savedX = this.cursorPosition + promptLength;
13448
+ const promptColumns = 2;
13449
+ const leftText = this.sliceByGraphemes(this.currentInput, 0, this.cursorPosition);
13450
+ const savedX = promptColumns + stringWidth(leftText);
13270
13451
  process.stdout.write("\n");
13271
13452
  process.stdout.write(chalk29__default.default.white("\u256D\u2500\u2500\u2500\u2500 Command Suggestions \u2500\u2500\u2500\u2500\u256E\n"));
13272
13453
  this.suggestions.forEach((suggestion, index2) => {
@@ -19715,8 +19896,8 @@ var require_package = __commonJS({
19715
19896
  "package.json"(exports, module) {
19716
19897
  module.exports = {
19717
19898
  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.",
19899
+ version: "4.2.26",
19900
+ description: "\u{1F680} MARIA v4.2.26 - 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
19901
  keywords: [
19721
19902
  "ai",
19722
19903
  "cli",
@@ -32177,7 +32358,7 @@ var init_about_command = __esm({
32177
32358
  async execute(args2, context2) {
32178
32359
  const output3 = [];
32179
32360
  output3.push("");
32180
- output3.push(chalk29__default.default.cyan.bold("\u{1F916} About MARIA v4.2.25"));
32361
+ output3.push(chalk29__default.default.cyan.bold("\u{1F916} About MARIA v4.2.26"));
32181
32362
  output3.push(chalk29__default.default.gray("\u2550".repeat(40)));
32182
32363
  output3.push("");
32183
32364
  output3.push(chalk29__default.default.white.bold("MARIA - Minimal API, Maximum Power"));
@@ -49721,69 +49902,6 @@ var init_log_symbols = __esm({
49721
49902
  }
49722
49903
  });
49723
49904
 
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
49905
  // node_modules/.pnpm/emoji-regex@10.4.0/node_modules/emoji-regex/index.mjs
49788
49906
  var emoji_regex_default;
49789
49907
  var init_emoji_regex = __esm({
@@ -49795,7 +49913,7 @@ var init_emoji_regex = __esm({
49795
49913
  });
49796
49914
 
49797
49915
  // node_modules/.pnpm/string-width@7.2.0/node_modules/string-width/index.js
49798
- function stringWidth(string, options2 = {}) {
49916
+ function stringWidth2(string, options2 = {}) {
49799
49917
  if (typeof string !== "string" || string.length === 0) {
49800
49918
  return 0;
49801
49919
  }
@@ -49811,7 +49929,7 @@ function stringWidth(string, options2 = {}) {
49811
49929
  }
49812
49930
  let width = 0;
49813
49931
  const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
49814
- for (const { segment: character } of segmenter.segment(string)) {
49932
+ for (const { segment: character } of segmenter2.segment(string)) {
49815
49933
  const codePoint = character.codePointAt(0);
49816
49934
  if (codePoint <= 31 || codePoint >= 127 && codePoint <= 159) {
49817
49935
  continue;
@@ -49839,13 +49957,13 @@ function stringWidth(string, options2 = {}) {
49839
49957
  }
49840
49958
  return width;
49841
49959
  }
49842
- var segmenter, defaultIgnorableCodePointRegex;
49843
- var init_string_width = __esm({
49960
+ var segmenter2, defaultIgnorableCodePointRegex;
49961
+ var init_string_width2 = __esm({
49844
49962
  "node_modules/.pnpm/string-width@7.2.0/node_modules/string-width/index.js"() {
49845
49963
  init_strip_ansi();
49846
49964
  init_get_east_asian_width();
49847
49965
  init_emoji_regex();
49848
- segmenter = new Intl.Segmenter();
49966
+ segmenter2 = new Intl.Segmenter();
49849
49967
  defaultIgnorableCodePointRegex = new RegExp("^\\p{Default_Ignorable_Code_Point}$", "u");
49850
49968
  }
49851
49969
  });
@@ -49929,7 +50047,7 @@ var init_ora = __esm({
49929
50047
  import_cli_spinners = __toESM(require_cli_spinners());
49930
50048
  init_log_symbols();
49931
50049
  init_strip_ansi();
49932
- init_string_width();
50050
+ init_string_width2();
49933
50051
  init_is_interactive();
49934
50052
  init_is_unicode_supported2();
49935
50053
  init_stdin_discarder();
@@ -50081,7 +50199,7 @@ var init_ora = __esm({
50081
50199
  const fullText = " ".repeat(this.#indent) + fullPrefixText + "--" + this.#text + "--" + fullSuffixText;
50082
50200
  this.#lineCount = 0;
50083
50201
  for (const line of stripAnsi(fullText).split("\n")) {
50084
- this.#lineCount += Math.max(1, Math.ceil(stringWidth(line, { countAnsiEscapeCodes: true }) / columns));
50202
+ this.#lineCount += Math.max(1, Math.ceil(stringWidth2(line, { countAnsiEscapeCodes: true }) / columns));
50085
50203
  }
50086
50204
  }
50087
50205
  get isEnabled() {