nolo-cli 0.33.0-alpha.21 → 0.33.0-alpha.23

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 (86) hide show
  1. package/{_executeModel-XKWVTZAY.js → _executeModel-C7G6UGVX.js} +21 -18
  2. package/{agentDeleteCommand-ZU4H6F6M.js → agentDeleteCommand-7T2AQL7Q.js} +24 -21
  3. package/{agentEmailCommands-6ULFXW4A.js → agentEmailCommands-M22DG56U.js} +37 -34
  4. package/{agentListCommands-VN7WCW7Z.js → agentListCommands-HDSQVOTR.js} +23 -20
  5. package/{agentMachineCommands-5PALVQBD.js → agentMachineCommands-B7HAFERS.js} +22 -19
  6. package/{agentRecordCommands-XEB66KRX.js → agentRecordCommands-DNEOXRTE.js} +28 -25
  7. package/{agentRunCommand-OJX27NII.js → agentRunCommand-G55YHYDL.js} +30 -27
  8. package/{agentRuntimeLocal-UWDOE55A.js → agentRuntimeLocal-YQGVUJ57.js} +10 -7
  9. package/{agentSlice-SZRRJ3ZX.js → agentSlice-A56VMSUG.js} +1 -1
  10. package/{appDeleteCommands-R63PZAY7.js → appDeleteCommands-57GIWQQ5.js} +17 -14
  11. package/{appDeployCommands-VNRT54YO.js → appDeployCommands-7IMZSUMQ.js} +17 -14
  12. package/{appDeployStatusCommands-6IPTKLEM.js → appDeployStatusCommands-ZNCK7TDT.js} +17 -14
  13. package/{appGetCommands-JPFVMVAI.js → appGetCommands-AZ4JVCGY.js} +17 -14
  14. package/{appListCommands-B3SLTPII.js → appListCommands-ABRHLEL7.js} +17 -14
  15. package/{authCommand-EX5G5PF4.js → authCommand-T5XN3VP2.js} +10 -10
  16. package/{authCommands-VR6Q6GU2.js → authCommands-W74NRPA6.js} +5 -5
  17. package/{chatQueueReduxAdapter-IEX32ZVP.js → chatQueueReduxAdapter-7CKSPWO5.js} +5 -5
  18. package/{chunk-XS543SNR.js → chunk-25MFIHEP.js} +3 -3
  19. package/{chunk-V4MT7AEN.js → chunk-3CVNNFKF.js} +7 -7
  20. package/chunk-3Z32AD6X.js +22 -0
  21. package/{chunk-PU47HKTF.js → chunk-3Z7GNZLS.js} +13 -13
  22. package/{chunk-XTSVOICC.js → chunk-4LSQNSXE.js} +25 -25
  23. package/{chunk-IHEC7VBF.js → chunk-4ZPH5WGJ.js} +1 -1
  24. package/{chunk-6MSSX7FI.js → chunk-AMKT2XOP.js} +2 -2
  25. package/{chunk-EQ6HOWEJ.js → chunk-EF36FMUE.js} +1 -1
  26. package/{chunk-SBPGB6TF.js → chunk-G3ONB6Y5.js} +5 -5
  27. package/{chunk-U2FRXKC7.js → chunk-JSIQQCPR.js} +1 -1
  28. package/{chunk-46JSKTPF.js → chunk-MIN2TNAM.js} +293 -64
  29. package/{chunk-LLKHGZME.js → chunk-O3LO3MRU.js} +13 -13
  30. package/{chunk-LJGEEYGC.js → chunk-OA7LCLY3.js} +1 -1
  31. package/{chunk-37LDAHQN.js → chunk-OH6MOEZN.js} +10 -10
  32. package/{chunk-REOW4YJX.js → chunk-OLFLSOUV.js} +5 -5
  33. package/{chunk-2UDMTJOM.js → chunk-PFJA4C7K.js} +13 -13
  34. package/{chunk-7BNPRRDS.js → chunk-R7UWXBVG.js} +21 -21
  35. package/{chunk-YH3FPBG6.js → chunk-SEFDSJK4.js} +321 -4
  36. package/chunk-TVXJEOU2.js +78 -0
  37. package/{chunk-GTEHJWXU.js → chunk-TZV6ELNR.js} +1 -1
  38. package/{chunk-RO3AEN3L.js → chunk-UCUCOZXY.js} +2 -2
  39. package/chunk-UOLENXLQ.js +1132 -0
  40. package/{chunk-M2YMQOLC.js → chunk-WHLQYPJZ.js} +12 -12
  41. package/{chunk-V44VE7R4.js → chunk-XLUTBJYU.js} +4 -4
  42. package/{chunk-JL2PUYVS.js → chunk-YBWR3WBJ.js} +12 -12
  43. package/{cliExecutor-DW3PHGEL.js → cliExecutor-BBUVQU4L.js} +2 -2
  44. package/{createAgentAutomationAction-72NNXELT.js → createAgentAutomationAction-YTMO34HZ.js} +6 -6
  45. package/{createDialogAction-3CJ2GXNO.js → createDialogAction-3B3FT7Y7.js} +7 -7
  46. package/{createPageAction-HZHQGQO6.js → createPageAction-WHUA54EI.js} +6 -6
  47. package/{dialogCommands-2BF4ZSWH.js → dialogCommands-OJYXBAR2.js} +16 -13
  48. package/{dialogSlice-5R4O4377.js → dialogSlice-S7CBGXUY.js} +5 -5
  49. package/{docCreateCommands-HMZUBFGL.js → docCreateCommands-LJPAIEMJ.js} +16 -13
  50. package/{docDeleteCommands-DFR7GCOR.js → docDeleteCommands-I7TIHWFQ.js} +17 -14
  51. package/{docReadCommands-YM7RDUAZ.js → docReadCommands-7RUZYEAA.js} +16 -13
  52. package/{docStore-A4SRW2DJ.js → docStore-YZACMKQG.js} +7 -7
  53. package/{docUpdateCommands-TTQBD7IU.js → docUpdateCommands-HTR5Y737.js} +16 -13
  54. package/emscripten-module-EDQBMDVK.js +576 -0
  55. package/emscripten-module-LCBQ7VWY.js +1506 -0
  56. package/emscripten-module-OFHQ7EL3.js +482 -0
  57. package/emscripten-module-XM7NDJQA.js +4536 -0
  58. package/ffi-6ZSX3QJ4.js +80 -0
  59. package/ffi-742Y76PE.js +92 -0
  60. package/ffi-AEYWSYLM.js +80 -0
  61. package/ffi-KQC27OUM.js +92 -0
  62. package/{handleSendMessageAction-CIFBZCI2.js → handleSendMessageAction-HJUPYPBF.js} +5 -5
  63. package/index.js +67 -67
  64. package/{machineCommands-QSW4JKR2.js → machineCommands-IJL73WA5.js} +39 -36
  65. package/{machineWsRunDispatch-X3ZC7DZJ.js → machineWsRunDispatch-7RE5KJRG.js} +26 -23
  66. package/module-ES6BEMUI-AFCVSBMS.js +14 -0
  67. package/module-asyncify-2EFITU5U-DEP2F2QP.js +9 -0
  68. package/package.json +1 -1
  69. package/{readlineWorkspace-J2ARMEUC.js → readlineWorkspace-EGSZ26XS.js} +196 -147
  70. package/{runAgentClientLoop-5I2R74NR.js → runAgentClientLoop-7OD74SBW.js} +12 -12
  71. package/{spaceCommands-EZYMMJJH.js → spaceCommands-5NCZJOOC.js} +23 -20
  72. package/{spaceSlice-TL2FR4AF.js → spaceSlice-KD2BB5GS.js} +6 -6
  73. package/{streamAgentChatTurn-UDYSE2ES.js → streamAgentChatTurn-LDQPG7A3.js} +32 -29
  74. package/{tools-KWYWDJ77.js → tools-XAC2C4LK.js} +10 -10
  75. package/{tuiSummaryLlmCaller-WUVAOIYU.js → tuiSummaryLlmCaller-LAOHMDTM.js} +3 -3
  76. package/{updateDialogTitleAction-NQCOEOLF.js → updateDialogTitleAction-PDIR5IVC.js} +8 -8
  77. package/{agentGrantCommands-2LEZDADN.js → agentGrantCommands-OPIGFRDO.js} +2 -2
  78. package/{agentPullCommand-TSWAJPS2.js → agentPullCommand-NYHSK6EW.js} +2 -2
  79. package/{chunk-YDTYDA5W.js → chunk-BY53PPQ2.js} +3 -3
  80. package/{chunk-HCOIKLSH.js → chunk-CP4QR2D2.js} +3 -3
  81. package/{chunk-ZHYK3N56.js → chunk-G7HTVVFL.js} +3 -3
  82. package/{chunk-SAQQLJZ5.js → chunk-JDSUTNYY.js} +3 -3
  83. package/{chunk-N2WDGMD5.js → chunk-N543Q3VR.js} +12 -12
  84. package/{offlineMarxistsAgentCommand-GEH6SNNA.js → offlineMarxistsAgentCommand-HDIQVGKN.js} +3 -3
  85. package/{runtimeDoctorCommands-KHGQKT3B.js → runtimeDoctorCommands-HT4O2PXL.js} +3 -3
  86. package/{tableCommands-64FZBAI3.js → tableCommands-5OKD2DKN.js} +8 -8
@@ -1,3 +1,6 @@
1
+ import {
2
+ resolveMachineId
3
+ } from "./chunk-ESHYE7WU.js";
1
4
  import {
2
5
  buildLocalRunEnv,
3
6
  isFullstackCodingAgentRef,
@@ -6,15 +9,7 @@ import {
6
9
  resolveRawAgentInput,
7
10
  resolveServerUrl,
8
11
  writeUsage
9
- } from "./chunk-ZHYK3N56.js";
10
- import {
11
- getReadableCliDb
12
- } from "./chunk-UNHKVD2N.js";
13
- import {
14
- normalizeAgentHandle,
15
- readDbRecord,
16
- resolveAgentRecordFromHybridStore
17
- } from "./chunk-YDTYDA5W.js";
12
+ } from "./chunk-G7HTVVFL.js";
18
13
  import {
19
14
  agentRunCardLabels,
20
15
  createCliLocalRuntimeAdapter,
@@ -25,7 +20,15 @@ import {
25
20
  parseAgentRunEvent,
26
21
  t,
27
22
  toolLabel
28
- } from "./chunk-XTSVOICC.js";
23
+ } from "./chunk-4LSQNSXE.js";
24
+ import {
25
+ getReadableCliDb
26
+ } from "./chunk-UNHKVD2N.js";
27
+ import {
28
+ normalizeAgentHandle,
29
+ readDbRecord,
30
+ resolveAgentRecordFromHybridStore
31
+ } from "./chunk-BY53PPQ2.js";
29
32
  import {
30
33
  NOLO_PROJECT_MANAGER_AGENT_KEY,
31
34
  isLocalCliAgentKey
@@ -34,29 +37,29 @@ import {
34
37
  applyModelLayerOverride,
35
38
  buildModelLayerOverride
36
39
  } from "./chunk-LTRXGFMS.js";
37
- import {
38
- resolveMachineId
39
- } from "./chunk-ESHYE7WU.js";
40
40
  import {
41
41
  formatAgentListCard
42
- } from "./chunk-7BNPRRDS.js";
42
+ } from "./chunk-R7UWXBVG.js";
43
43
  import {
44
44
  isGatewayHttpStatus
45
45
  } from "./chunk-RQSOAMPJ.js";
46
- import {
47
- getDefaultCliLocalRuntimeDb
48
- } from "./chunk-N4XRDM26.js";
49
46
  import {
50
47
  buildMemorySubjectsForAgent,
51
48
  chooseMemoryOwners,
52
49
  loadMemoryCandidatesFromDb,
53
50
  resolveAgentMemoryPolicy
54
- } from "./chunk-RO3AEN3L.js";
51
+ } from "./chunk-UCUCOZXY.js";
52
+ import {
53
+ CliProviderQuotaError
54
+ } from "./chunk-JDSUTNYY.js";
55
+ import {
56
+ getDefaultCliLocalRuntimeDb
57
+ } from "./chunk-N4XRDM26.js";
55
58
  import {
56
59
  API_REPORTED_COST_MULTIPLIER,
57
60
  normalizeUsage,
58
61
  parseUiAskChoiceContent
59
- } from "./chunk-JL2PUYVS.js";
62
+ } from "./chunk-YBWR3WBJ.js";
60
63
  import {
61
64
  resolveAgentRuntimeConfigFromRecord
62
65
  } from "./chunk-OIQPORYI.js";
@@ -65,7 +68,7 @@ import {
65
68
  LOCAL_TURN_ABORTED_CODE,
66
69
  readActionGate,
67
70
  readCommandActionGatePayload
68
- } from "./chunk-YH3FPBG6.js";
71
+ } from "./chunk-SEFDSJK4.js";
69
72
  import {
70
73
  createThinkParserState,
71
74
  flushThinkParser,
@@ -80,10 +83,13 @@ import {
80
83
  } from "./chunk-2CNX3CJE.js";
81
84
  import {
82
85
  clipCompactText
83
- } from "./chunk-HCOIKLSH.js";
86
+ } from "./chunk-CP4QR2D2.js";
84
87
  import {
85
88
  findModelConfig
86
89
  } from "./chunk-7SLMYTSF.js";
90
+ import {
91
+ toErrorMessage
92
+ } from "./chunk-HNMXYYJR.js";
87
93
  import {
88
94
  buildSkillDiscoveryContextLayer
89
95
  } from "./chunk-DMT4NJXR.js";
@@ -116,19 +122,6 @@ import {
116
122
  isAgentRunTerminalStatus,
117
123
  runShowsLogTail
118
124
  } from "./chunk-KXKQO4Q6.js";
119
- import {
120
- CliProviderQuotaError
121
- } from "./chunk-SAQQLJZ5.js";
122
- import {
123
- toErrorMessage
124
- } from "./chunk-HNMXYYJR.js";
125
- import {
126
- readPipeText,
127
- spawnProcess
128
- } from "./chunk-IDZTNRP2.js";
129
- import {
130
- resolveAuthToken
131
- } from "./chunk-A7GB5UGH.js";
132
125
  import {
133
126
  parsePositiveFiniteNumberOrFallback
134
127
  } from "./chunk-Y5GCAMGP.js";
@@ -149,6 +142,13 @@ import {
149
142
  import {
150
143
  parsePublicAgentId
151
144
  } from "./chunk-BJIRLHJR.js";
145
+ import {
146
+ readPipeText,
147
+ spawnProcess
148
+ } from "./chunk-IDZTNRP2.js";
149
+ import {
150
+ resolveAuthToken
151
+ } from "./chunk-A7GB5UGH.js";
152
152
  import {
153
153
  isLoopbackUrl
154
154
  } from "./chunk-4SN6J65J.js";
@@ -318,11 +318,243 @@ function dimCliText(text, enabled = resolveCliColorEnabled()) {
318
318
  return styleCliText(text, "dim", enabled);
319
319
  }
320
320
 
321
+ // node_modules/ansi-regex/index.js
322
+ function ansiRegex({ onlyFirst = false } = {}) {
323
+ const ST = "(?:\\u0007|\\u001B\\u005C|\\u009C)";
324
+ const osc = `(?:\\u001B\\][^\\u0007\\u001B\\u009C]*${ST})`;
325
+ const csi = "[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
326
+ const pattern = `${osc}|${csi}`;
327
+ return new RegExp(pattern, onlyFirst ? void 0 : "g");
328
+ }
329
+
330
+ // node_modules/strip-ansi/index.js
331
+ var regex = ansiRegex();
332
+ function stripAnsi(string) {
333
+ if (typeof string !== "string") {
334
+ throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
335
+ }
336
+ if (!string.includes("\x1B") && !string.includes("\x9B")) {
337
+ return string;
338
+ }
339
+ return string.replace(regex, "");
340
+ }
341
+
342
+ // node_modules/get-east-asian-width/lookup-data.js
343
+ var ambiguousMinimalCodePoint = 161;
344
+ var ambiguousMaximumCodePoint = 1114109;
345
+ var ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];
346
+ var fullwidthMinimalCodePoint = 12288;
347
+ var fullwidthMaximumCodePoint = 65510;
348
+ var fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];
349
+ var wideMinimalCodePoint = 4352;
350
+ var wideMaximumCodePoint = 262141;
351
+ var wideRanges = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141];
352
+
353
+ // node_modules/get-east-asian-width/utilities.js
354
+ var isInRange = (ranges, codePoint) => {
355
+ let low = 0;
356
+ let high = Math.floor(ranges.length / 2) - 1;
357
+ while (low <= high) {
358
+ const mid = Math.floor((low + high) / 2);
359
+ const i = mid * 2;
360
+ if (codePoint < ranges[i]) {
361
+ high = mid - 1;
362
+ } else if (codePoint > ranges[i + 1]) {
363
+ low = mid + 1;
364
+ } else {
365
+ return true;
366
+ }
367
+ }
368
+ return false;
369
+ };
370
+
371
+ // node_modules/get-east-asian-width/lookup.js
372
+ var commonCjkCodePoint = 19968;
373
+ var [wideFastPathStart, wideFastPathEnd] = /* @__PURE__ */ findWideFastPathRange(wideRanges);
374
+ function findWideFastPathRange(ranges) {
375
+ let fastPathStart = ranges[0];
376
+ let fastPathEnd = ranges[1];
377
+ for (let index = 0; index < ranges.length; index += 2) {
378
+ const start = ranges[index];
379
+ const end = ranges[index + 1];
380
+ if (commonCjkCodePoint >= start && commonCjkCodePoint <= end) {
381
+ return [start, end];
382
+ }
383
+ if (end - start > fastPathEnd - fastPathStart) {
384
+ fastPathStart = start;
385
+ fastPathEnd = end;
386
+ }
387
+ }
388
+ return [fastPathStart, fastPathEnd];
389
+ }
390
+ var isAmbiguous = (codePoint) => {
391
+ if (codePoint < ambiguousMinimalCodePoint || codePoint > ambiguousMaximumCodePoint) {
392
+ return false;
393
+ }
394
+ return isInRange(ambiguousRanges, codePoint);
395
+ };
396
+ var isFullWidth = (codePoint) => {
397
+ if (codePoint < fullwidthMinimalCodePoint || codePoint > fullwidthMaximumCodePoint) {
398
+ return false;
399
+ }
400
+ return isInRange(fullwidthRanges, codePoint);
401
+ };
402
+ var isWide = (codePoint) => {
403
+ if (codePoint >= wideFastPathStart && codePoint <= wideFastPathEnd) {
404
+ return true;
405
+ }
406
+ if (codePoint < wideMinimalCodePoint || codePoint > wideMaximumCodePoint) {
407
+ return false;
408
+ }
409
+ return isInRange(wideRanges, codePoint);
410
+ };
411
+
412
+ // node_modules/get-east-asian-width/index.js
413
+ function validate(codePoint) {
414
+ if (!Number.isSafeInteger(codePoint)) {
415
+ throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
416
+ }
417
+ }
418
+ function eastAsianWidth(codePoint, { ambiguousAsWide = false } = {}) {
419
+ validate(codePoint);
420
+ if (isFullWidth(codePoint) || isWide(codePoint) || ambiguousAsWide && isAmbiguous(codePoint)) {
421
+ return 2;
422
+ }
423
+ return 1;
424
+ }
425
+
426
+ // node_modules/string-width/index.js
427
+ var segmenter = new Intl.Segmenter();
428
+ var zeroWidthClusterRegex = new RegExp("^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Format}|\\p{Nonspacing_Mark}|\\p{Enclosing_Mark}|\\p{Surrogate})+$", "v");
429
+ var leadingNonPrintingRegex = new RegExp("^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Nonspacing_Mark}\\p{Enclosing_Mark}\\p{Surrogate}]+", "v");
430
+ var spacingMarkRegex = new RegExp("\\p{Spacing_Mark}", "v");
431
+ var rgiEmojiRegex = new RegExp("^\\p{RGI_Emoji}$", "v");
432
+ var unqualifiedKeycapRegex = /^[\d#*]\u20E3$/;
433
+ var extendedPictographicRegex = new RegExp("\\p{Extended_Pictographic}", "gu");
434
+ function isDoubleWidthNonRgiEmojiSequence(segment) {
435
+ if (segment.length > 50) {
436
+ return false;
437
+ }
438
+ if (unqualifiedKeycapRegex.test(segment)) {
439
+ return true;
440
+ }
441
+ if (segment.includes("\u200D")) {
442
+ const pictographics = segment.match(extendedPictographicRegex);
443
+ return pictographics !== null && pictographics.length >= 2;
444
+ }
445
+ return false;
446
+ }
447
+ function baseVisible(segment) {
448
+ return segment.replace(leadingNonPrintingRegex, "");
449
+ }
450
+ function isZeroWidthCluster(segment) {
451
+ return zeroWidthClusterRegex.test(segment);
452
+ }
453
+ function isHangulLeadingJamo(codePoint) {
454
+ return codePoint >= 4352 && codePoint <= 4447 || codePoint >= 43360 && codePoint <= 43388;
455
+ }
456
+ function isHangulVowelJamo(codePoint) {
457
+ return codePoint >= 4448 && codePoint <= 4519 || codePoint >= 55216 && codePoint <= 55238;
458
+ }
459
+ function isHangulTrailingJamo(codePoint) {
460
+ return codePoint >= 4520 && codePoint <= 4607 || codePoint >= 55243 && codePoint <= 55291;
461
+ }
462
+ function isHangulJamo(codePoint) {
463
+ return isHangulLeadingJamo(codePoint) || isHangulVowelJamo(codePoint) || isHangulTrailingJamo(codePoint);
464
+ }
465
+ function hangulClusterWidth(visibleSegment, eastAsianWidthOptions) {
466
+ const codePoints = [];
467
+ for (const character of visibleSegment) {
468
+ if (zeroWidthClusterRegex.test(character)) {
469
+ continue;
470
+ }
471
+ codePoints.push(character.codePointAt(0));
472
+ }
473
+ if (codePoints.length === 0) {
474
+ return void 0;
475
+ }
476
+ let width = 0;
477
+ for (let index = 0; index < codePoints.length; index++) {
478
+ const codePoint = codePoints[index];
479
+ if (!isHangulJamo(codePoint)) {
480
+ if (width === 0) {
481
+ return void 0;
482
+ }
483
+ for (let remaining = index; remaining < codePoints.length; remaining++) {
484
+ width += eastAsianWidth(codePoints[remaining], eastAsianWidthOptions);
485
+ }
486
+ return width;
487
+ }
488
+ if (isHangulLeadingJamo(codePoint) && isHangulVowelJamo(codePoints[index + 1])) {
489
+ width += 2;
490
+ index += isHangulTrailingJamo(codePoints[index + 2]) ? 2 : 1;
491
+ continue;
492
+ }
493
+ width += eastAsianWidth(codePoint, eastAsianWidthOptions);
494
+ }
495
+ return width;
496
+ }
497
+ function trailingWidth(visibleSegment, eastAsianWidthOptions) {
498
+ let extra = 0;
499
+ let first = true;
500
+ for (const character of visibleSegment) {
501
+ if (first) {
502
+ first = false;
503
+ continue;
504
+ }
505
+ if (spacingMarkRegex.test(character) || character >= "\uFF00" && character <= "\uFFEF") {
506
+ extra += eastAsianWidth(character.codePointAt(0), eastAsianWidthOptions);
507
+ }
508
+ }
509
+ return extra;
510
+ }
511
+ function stringWidth(input, options = {}) {
512
+ if (typeof input !== "string" || input.length === 0) {
513
+ return 0;
514
+ }
515
+ const {
516
+ ambiguousIsNarrow = true,
517
+ countAnsiEscapeCodes = false
518
+ } = options;
519
+ let string = input;
520
+ if (!countAnsiEscapeCodes && (string.includes("\x1B") || string.includes("\x9B"))) {
521
+ string = stripAnsi(string);
522
+ }
523
+ if (string.length === 0) {
524
+ return 0;
525
+ }
526
+ if (/^[\u0020-\u007E]*$/.test(string)) {
527
+ return string.length;
528
+ }
529
+ let width = 0;
530
+ const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
531
+ for (const { segment } of segmenter.segment(string)) {
532
+ if (isZeroWidthCluster(segment)) {
533
+ continue;
534
+ }
535
+ if (rgiEmojiRegex.test(segment) || isDoubleWidthNonRgiEmojiSequence(segment)) {
536
+ width += 2;
537
+ continue;
538
+ }
539
+ const visibleSegment = baseVisible(segment);
540
+ const hangulWidth = hangulClusterWidth(visibleSegment, eastAsianWidthOptions);
541
+ if (hangulWidth !== void 0) {
542
+ width += hangulWidth;
543
+ continue;
544
+ }
545
+ const codePoint = visibleSegment.codePointAt(0);
546
+ width += eastAsianWidth(codePoint, eastAsianWidthOptions);
547
+ width += trailingWidth(visibleSegment, eastAsianWidthOptions);
548
+ }
549
+ return width;
550
+ }
551
+
321
552
  // packages/cli/tui/tuiAnsi.ts
322
553
  var ANSI_ESCAPE_REGEX = /\x1b\[[\x30-\x3f]*[\x20-\x2f]*[\x40-\x7e]/g;
323
- var OSC_HYPERLINK_REGEX = /\x1b\]8;;[^\x07\x1b]*(?:\x07|\x1b\\)\x1b\]8;;(?:\x07|\x1b\\)|\x1b\]8;;[^\x07\x1b]*(?:\x07|\x1b\\)/g;
324
- function stripAnsi(text) {
325
- return text.replace(OSC_HYPERLINK_REGEX, "").replace(ANSI_ESCAPE_REGEX, "");
554
+ var ALL_ANSI_ESCAPE_REGEX = ansiRegex();
555
+ var FIRST_ANSI_ESCAPE_REGEX = ansiRegex({ onlyFirst: true });
556
+ function stripAnsi2(text) {
557
+ return text.replace(ANSI_ESCAPE_REGEX, "").replace(ALL_ANSI_ESCAPE_REGEX, "");
326
558
  }
327
559
  var SGR_SEQUENCE_REGEX = /^\x1b\[[0-9;]*m/;
328
560
  var TRAILING_SGR_REGEX = /(?:\x1b\[[0-9;]*m)+$/;
@@ -384,32 +616,19 @@ function applyTerminalOutputToText(existing, chunk) {
384
616
  return text;
385
617
  }
386
618
  function displayWidth(str) {
387
- let width = 0;
388
- for (const char of str) {
389
- const code = char.codePointAt(0) ?? 0;
390
- if (code < 32 || code === 127) continue;
391
- if (code >= 768 && code <= 879 || code >= 6832 && code <= 6911 || code >= 7616 && code <= 7679 || code >= 8203 && code <= 8207 || code >= 8234 && code <= 8238 || code >= 8288 && code <= 8303 || code >= 8400 && code <= 8447 || code >= 65024 && code <= 65039 || code >= 65056 && code <= 65071 || code >= 917760 && code <= 917999) {
392
- continue;
393
- }
394
- if (code >= 4352 && code <= 4447 || // 0x2768-0x2775 (ornamental brackets, incl. the ❯ prompt at U+276F)
395
- // render narrow in terminals; counting them wide drifts the cursor.
396
- code >= 9728 && code <= 10175 && !(code >= 10088 && code <= 10101) || // 0x2B00-0x2BFF (Misc Symbols and Arrows, incl. ⬢ U+2B22 used as the
397
- // status-line agent icon) render double-wide in common monospace fonts;
398
- // counting ⬢ as width 1 drifts the whole status line right of the icon.
399
- code >= 11008 && code <= 11263 || code >= 11904 && code <= 12350 || code >= 12352 && code <= 13247 || code >= 13312 && code <= 19903 || code >= 19968 && code <= 42191 || code >= 44032 && code <= 55203 || code >= 63744 && code <= 64255 || code >= 65072 && code <= 65135 || code >= 65281 && code <= 65376 || code >= 65504 && code <= 65510 || code >= 127744 && code <= 129791 || code >= 131072 && code <= 196605 || code >= 196608 && code <= 262141 || // East Asian Ambiguous CJK quotation marks (U+201C/D “ ”, U+2018/9 ‘ ’).
400
- // In CJK locale + CJK fonts these render double-wide like 全角 punctuation;
401
- // in English fonts they stay width 1. Follow the active locale so Chinese
402
- // replies align correctly without breaking English terminal output.
403
- getCliLocale() === "zh" && (code === 8220 || code === 8221 || code === 8216 || code === 8217)) {
404
- width += 2;
405
- } else {
406
- width += 1;
407
- }
619
+ const plain = stripAnsi2(str);
620
+ let width = stringWidth(plain);
621
+ for (const { segment } of graphemeSegmenter.segment(plain)) {
622
+ if (stringWidth(segment) !== 1) continue;
623
+ const code = segment.codePointAt(0) ?? 0;
624
+ const forceWideSymbol = code >= 9728 && code <= 10175 && !(code >= 10088 && code <= 10101) || code >= 11008 && code <= 11263 || code >= 127744 && code <= 129791;
625
+ const cjkQuote = getCliLocale() === "zh" && (code === 8220 || code === 8221 || code === 8216 || code === 8217);
626
+ if (forceWideSymbol || cjkQuote) width += 1;
408
627
  }
409
628
  return width;
410
629
  }
411
630
  function visibleWidth(str) {
412
- return displayWidth(stripAnsi(str));
631
+ return displayWidth(stripAnsi2(str));
413
632
  }
414
633
  function truncateAnsi(text, maxWidth) {
415
634
  if (maxWidth <= 0) return "";
@@ -497,10 +716,16 @@ function tokenizeAnsiLine(line) {
497
716
  }
498
717
  const csi = line.slice(index).match(/^\x1b\[[\x30-\x3f]*[\x20-\x2f]*[\x40-\x7e]/);
499
718
  if (csi) {
500
- tokens.push({ kind: "sgr", value: csi[0], width: 0, charIndex: index });
501
719
  index += csi[0].length;
502
720
  continue;
503
721
  }
722
+ const escape = FIRST_ANSI_ESCAPE_REGEX.exec(line.slice(index));
723
+ if (escape?.index === 0) {
724
+ index += escape[0].length;
725
+ continue;
726
+ }
727
+ index += 1;
728
+ continue;
504
729
  }
505
730
  let nextEsc = line.indexOf("\x1B", index);
506
731
  if (nextEsc === -1) nextEsc = line.length;
@@ -685,9 +910,11 @@ function wrapTranscriptLineWithLayout(line, columns, hangingIndent = "", lineSou
685
910
  }
686
911
  }
687
912
  start = segmentEnd;
913
+ let softWrapJoiner = "";
688
914
  while (start < tokens.length) {
689
915
  const token = tokens[start];
690
916
  if (token.kind === "char" && token.value === " " && token.charIndex >= prefixCharCount) {
917
+ softWrapJoiner += token.value;
691
918
  const mappedOffset = sourceMapping && sourceMapping[plainCharIndex] !== void 0 ? sourceMapping[plainCharIndex] + 1 : plainCharIndex + 1;
692
919
  segSourceEnd = lineSourceStart + mappedOffset;
693
920
  plainCharIndex += token.value.length;
@@ -704,7 +931,9 @@ function wrapTranscriptLineWithLayout(line, columns, hangingIndent = "", lineSou
704
931
  sourceStart: segSourceStart,
705
932
  sourceEnd: segSourceEnd,
706
933
  prefixWidth: currentPrefixWidth,
707
- sourceMapping: rowMapping.length > 0 ? rowMapping : void 0
934
+ sourceMapping: rowMapping.length > 0 ? rowMapping : void 0,
935
+ softWrapped: start < tokens.length,
936
+ softWrapJoiner
708
937
  });
709
938
  }
710
939
  return rows.length > 0 ? rows : [
@@ -720,7 +949,7 @@ function wrapTranscriptLine(line, columns, hangingIndent = "") {
720
949
  return wrapTranscriptLineWithLayout(line, columns, hangingIndent).map((r) => r.rendered);
721
950
  }
722
951
  function buildWindowTitle(title) {
723
- const plain = stripAnsi(title).replace(/[\x00-\x1f\x7f]+/g, " ");
952
+ const plain = stripAnsi2(title).replace(/[\x00-\x1f\x7f]+/g, " ");
724
953
  let truncated = "";
725
954
  let width = 0;
726
955
  const maxCols = 80;
@@ -3671,7 +3900,7 @@ function findCollapsedPasteSpanAt(buffer, pos, opts = {}) {
3671
3900
  // packages/cli/client/agentRun.ts
3672
3901
  import { ulid } from "ulid";
3673
3902
  async function loadRunLocalAgentTurn() {
3674
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-UWDOE55A.js");
3903
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-YQGVUJ57.js");
3675
3904
  return runLocalAgentTurn;
3676
3905
  }
3677
3906
  async function resolveCurrentMachineId(options) {
@@ -5511,7 +5740,7 @@ export {
5511
5740
  resolveCliColorEnabled,
5512
5741
  dimCliText,
5513
5742
  ANSI_ESCAPE_REGEX,
5514
- stripAnsi,
5743
+ stripAnsi2 as stripAnsi,
5515
5744
  applyTerminalOutputToText,
5516
5745
  displayWidth,
5517
5746
  visibleWidth,
@@ -1,29 +1,19 @@
1
1
  import {
2
2
  createCliLocalRuntimeAdapter,
3
3
  summarizeEndpoint
4
- } from "./chunk-XTSVOICC.js";
4
+ } from "./chunk-4LSQNSXE.js";
5
5
  import {
6
6
  clipMultilineText
7
- } from "./chunk-7BNPRRDS.js";
7
+ } from "./chunk-R7UWXBVG.js";
8
8
  import {
9
9
  runLocalAgentTurn
10
- } from "./chunk-YH3FPBG6.js";
10
+ } from "./chunk-SEFDSJK4.js";
11
11
  import {
12
12
  resolveLocalRuntimeEnvFromPolicy
13
13
  } from "./chunk-RQFO3CAF.js";
14
14
  import {
15
15
  toErrorMessage
16
16
  } from "./chunk-HNMXYYJR.js";
17
- import {
18
- readPipeText,
19
- spawnProcess
20
- } from "./chunk-IDZTNRP2.js";
21
- import {
22
- parseUserIdFromAuthToken
23
- } from "./chunk-A7GB5UGH.js";
24
- import {
25
- DEFAULT_NOLO_SERVER_URL
26
- } from "./chunk-OLZBQWZU.js";
27
17
  import {
28
18
  asRecordOrEmpty
29
19
  } from "./chunk-KX6YBIHG.js";
@@ -42,6 +32,16 @@ import {
42
32
  import {
43
33
  isRecord
44
34
  } from "./chunk-KUG52IAP.js";
35
+ import {
36
+ readPipeText,
37
+ spawnProcess
38
+ } from "./chunk-IDZTNRP2.js";
39
+ import {
40
+ parseUserIdFromAuthToken
41
+ } from "./chunk-A7GB5UGH.js";
42
+ import {
43
+ DEFAULT_NOLO_SERVER_URL
44
+ } from "./chunk-OLZBQWZU.js";
45
45
  import {
46
46
  asOptionalTrimmedString
47
47
  } from "./chunk-G3SUCT4W.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  i18n_default,
3
3
  toolRegistry
4
- } from "./chunk-7BNPRRDS.js";
4
+ } from "./chunk-R7UWXBVG.js";
5
5
  import {
6
6
  canonicalizeToolNames
7
7
  } from "./chunk-ZZ2MH7LE.js";
@@ -10,7 +10,7 @@ import {
10
10
  fetchAndSerializeTable,
11
11
  resolveBuiltinSkillPage,
12
12
  waitForAbortableDelay
13
- } from "./chunk-7BNPRRDS.js";
13
+ } from "./chunk-R7UWXBVG.js";
14
14
  import {
15
15
  createDrainExhaustedResponse,
16
16
  isCoreDrainingBody,
@@ -26,13 +26,13 @@ import {
26
26
  } from "./chunk-GM6PU7B6.js";
27
27
  import {
28
28
  fetchAndCacheMessages
29
- } from "./chunk-JL2PUYVS.js";
29
+ } from "./chunk-YBWR3WBJ.js";
30
30
  import {
31
31
  shouldUseServerProxy
32
32
  } from "./chunk-YYLHWIW6.js";
33
33
  import {
34
34
  fetchServerSyncedCredential
35
- } from "./chunk-XS543SNR.js";
35
+ } from "./chunk-25MFIHEP.js";
36
36
  import {
37
37
  buildCurrentTimeBlock,
38
38
  buildIdentityBlock,
@@ -51,7 +51,7 @@ import {
51
51
  } from "./chunk-OQVRTSZ5.js";
52
52
  import {
53
53
  estimateTokenCount
54
- } from "./chunk-HCOIKLSH.js";
54
+ } from "./chunk-CP4QR2D2.js";
55
55
  import {
56
56
  isOpenAiResponsesModel,
57
57
  resolvePlatformChatCompletionsEndpoint,
@@ -65,6 +65,12 @@ import {
65
65
  import {
66
66
  createFileCredentialBroker
67
67
  } from "./chunk-RQFO3CAF.js";
68
+ import {
69
+ toErrorMessage
70
+ } from "./chunk-HNMXYYJR.js";
71
+ import {
72
+ createSpaceKey
73
+ } from "./chunk-KMMQFY5O.js";
68
74
  import {
69
75
  MEMORY_USE_GUIDANCE,
70
76
  buildUserResponseLanguageContext,
@@ -78,17 +84,11 @@ import {
78
84
  import {
79
85
  canonicalizeToolNames
80
86
  } from "./chunk-ZZ2MH7LE.js";
81
- import {
82
- toErrorMessage
83
- } from "./chunk-HNMXYYJR.js";
84
87
  import {
85
88
  isDeepInfraKimiModel,
86
89
  isFireworksKimiModel,
87
90
  resolveFireworksKimiModel
88
91
  } from "./chunk-7EPNNOL4.js";
89
- import {
90
- createSpaceKey
91
- } from "./chunk-KMMQFY5O.js";
92
92
  import {
93
93
  read
94
94
  } from "./chunk-6YH4UR3E.js";
@@ -7,7 +7,7 @@ import {
7
7
  providerHttpFailure,
8
8
  readSseFrames,
9
9
  throwIfChatCompletionStreamFailed
10
- } from "./chunk-EQ6HOWEJ.js";
10
+ } from "./chunk-EF36FMUE.js";
11
11
  import {
12
12
  sanitizeForOutbound
13
13
  } from "./chunk-T27IEBNQ.js";
@@ -30,7 +30,7 @@ import {
30
30
  spawnToWebStreams,
31
31
  truncateToolOutput,
32
32
  waitForNodeProcessExit
33
- } from "./chunk-YH3FPBG6.js";
33
+ } from "./chunk-SEFDSJK4.js";
34
34
  import {
35
35
  createThinkParserState,
36
36
  createToolCallAccumulator,
@@ -67,12 +67,12 @@ import {
67
67
  import {
68
68
  buildDialogFallbackTitleFromUserInput
69
69
  } from "./chunk-2MBTWINN.js";
70
- import {
71
- canonicalizeToolName
72
- } from "./chunk-ZZ2MH7LE.js";
73
70
  import {
74
71
  toErrorMessage
75
72
  } from "./chunk-HNMXYYJR.js";
73
+ import {
74
+ canonicalizeToolName
75
+ } from "./chunk-ZZ2MH7LE.js";
76
76
  import {
77
77
  asRecordOrEmpty
78
78
  } from "./chunk-KX6YBIHG.js";