flavor-code 1.4.0-beta.10 → 1.4.0-beta.11

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.
@@ -34,13 +34,15 @@ import {
34
34
  instances_default,
35
35
  osc,
36
36
  shiftAnchor,
37
+ stringWidth,
37
38
  stripAnsi,
38
39
  useStdout,
39
40
  use_app_default,
40
41
  use_input_default
41
- } from "./chunk-XMRKRPNC.js";
42
+ } from "./chunk-26T23AKR.js";
42
43
  import {
43
- execFileNoThrow
44
+ execFileNoThrow,
45
+ getGraphemeSegmenter
44
46
  } from "./chunk-ZJCAQXA7.js";
45
47
  import "./chunk-S32JRDZK.js";
46
48
 
@@ -969,7 +971,12 @@ function wrapPromptInput(input, codePointCursor, options) {
969
971
  // src/ui/task-progress.tsx
970
972
  import { useRef as useRef3 } from "react";
971
973
  import { Fragment as Fragment2, jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
972
- function TaskStatusLine({ block, interactive }) {
974
+ function TaskStatusLine({
975
+ block,
976
+ interactive,
977
+ textWidth,
978
+ maxTextLines
979
+ }) {
973
980
  const running = block.state === "running";
974
981
  const { stdout } = useStdout();
975
982
  const foreground = interactive && (block.activity === "model" || block.task?.role === "main");
@@ -1007,8 +1014,20 @@ function TaskStatusLine({ block, interactive }) {
1007
1014
  thinkingScroll.current = { start: state.start, lastTime: time };
1008
1015
  return state.text;
1009
1016
  })() : void 0;
1017
+ const textSegments = [
1018
+ { text: `${presentation.glyph} `, color: presentation.color },
1019
+ ...presentation.badge ? [{ text: `${presentation.badge} `, color: presentation.badgeColor }] : [],
1020
+ { text: before, color: presentation.color },
1021
+ ...statusLabel === void 0 ? [] : [
1022
+ { text: " \xB7 ", color: presentation.color },
1023
+ { text: statusLabel, color: statusColor ?? presentation.color }
1024
+ ],
1025
+ ...after ? [{ text: after, color: presentation.color }] : [],
1026
+ ...metaLabel === void 0 ? [] : [{ text: ` ${metaLabel}`, color: metaColor ?? "ansi:blackBright" }]
1027
+ ];
1028
+ const boundedText = textWidth === void 0 || maxTextLines === void 0 ? void 0 : limitTaskTextSegments(textSegments, textWidth, maxTextLines).segments;
1010
1029
  return /* @__PURE__ */ jsxs2(Box_default, { flexDirection: "column", width: "100%", children: [
1011
- /* @__PURE__ */ jsxs2(Box_default, { ref, flexDirection: "row", children: [
1030
+ /* @__PURE__ */ jsx3(Box_default, { ref, flexDirection: "row", width: "100%", children: boundedText === void 0 ? /* @__PURE__ */ jsxs2(Fragment2, { children: [
1012
1031
  /* @__PURE__ */ jsxs2(Text, { ...presentation.color === void 0 ? {} : { color: presentation.color }, children: [
1013
1032
  presentation.glyph,
1014
1033
  " "
@@ -1027,10 +1046,69 @@ function TaskStatusLine({ block, interactive }) {
1027
1046
  " ",
1028
1047
  metaLabel
1029
1048
  ] })
1030
- ] }),
1049
+ ] }) : /* @__PURE__ */ jsx3(Text, { children: boundedText.map((segment, index) => /* @__PURE__ */ jsx3(Text, { ...segment.color === void 0 ? {} : { color: segment.color }, children: segment.text }, index)) }) }),
1031
1050
  thinkingLine === void 0 ? null : /* @__PURE__ */ jsx3(ThinkingLineView, { text: thinkingLine })
1032
1051
  ] });
1033
1052
  }
1053
+ function limitTaskTextSegments(segments, width, maxLines = 3) {
1054
+ const lineWidth = Math.max(3, Math.floor(width));
1055
+ const lineLimit = Math.max(1, Math.floor(maxLines));
1056
+ const lines = [[]];
1057
+ const widths = [0];
1058
+ let truncated = false;
1059
+ outer: for (let segmentIndex = 0; segmentIndex < segments.length; segmentIndex += 1) {
1060
+ const segment = segments[segmentIndex];
1061
+ for (const { segment: grapheme } of getGraphemeSegmenter().segment(segment.text)) {
1062
+ if (grapheme === "\n" || grapheme === "\r" || grapheme === "\r\n") {
1063
+ if (lines.length >= lineLimit) {
1064
+ truncated = true;
1065
+ break outer;
1066
+ }
1067
+ lines.push([]);
1068
+ widths.push(0);
1069
+ continue;
1070
+ }
1071
+ const glyphWidth = stringWidth(grapheme);
1072
+ const lineIndex = lines.length - 1;
1073
+ if (glyphWidth > 0 && widths[lineIndex] + glyphWidth > lineWidth && lines[lineIndex].length > 0) {
1074
+ if (lines.length >= lineLimit) {
1075
+ truncated = true;
1076
+ break outer;
1077
+ }
1078
+ lines.push([]);
1079
+ widths.push(0);
1080
+ }
1081
+ const target = lines.length - 1;
1082
+ lines[target].push({ value: grapheme, width: glyphWidth, segmentIndex });
1083
+ widths[target] = widths[target] + glyphWidth;
1084
+ }
1085
+ }
1086
+ if (truncated) {
1087
+ const lastIndex = lines.length - 1;
1088
+ const last = lines[lastIndex];
1089
+ while (last.length > 0 && widths[lastIndex] > lineWidth - 3) {
1090
+ widths[lastIndex] = widths[lastIndex] - last.pop().width;
1091
+ }
1092
+ while (last.length > 0 && /^\s$/u.test(last.at(-1).value)) {
1093
+ widths[lastIndex] = widths[lastIndex] - last.pop().width;
1094
+ }
1095
+ last.push({ value: "...", width: 3, segmentIndex: last.at(-1)?.segmentIndex ?? 0 });
1096
+ }
1097
+ const output = [];
1098
+ const append = (value, segmentIndex) => {
1099
+ const previous = output.at(-1);
1100
+ if (previous?.segmentIndex === segmentIndex) previous.text += value;
1101
+ else output.push({ text: value, color: segments[segmentIndex]?.color, segmentIndex });
1102
+ };
1103
+ lines.forEach((line, lineIndex) => {
1104
+ if (lineIndex > 0) append("\n", line[0]?.segmentIndex ?? output.at(-1)?.segmentIndex ?? 0);
1105
+ for (const token of line) append(token.value, token.segmentIndex);
1106
+ });
1107
+ return {
1108
+ truncated,
1109
+ segments: output.map(({ text, color }) => ({ text, ...color === void 0 ? {} : { color } }))
1110
+ };
1111
+ }
1034
1112
  var THINKING_RAIL = "#416f84";
1035
1113
  var THINKING_TEXT = "#91a0a8";
1036
1114
  function ThinkingLineView({ text }) {
@@ -1045,7 +1123,8 @@ function TaskProgressPanel({
1045
1123
  interactive,
1046
1124
  maxHeight = 8,
1047
1125
  columns = 80,
1048
- scrollRef,
1126
+ mainScrollRef,
1127
+ subagentScrollRef,
1049
1128
  onHoverChange
1050
1129
  }) {
1051
1130
  if (blocks.length === 0 || maxHeight <= 0) return null;
@@ -1054,54 +1133,203 @@ function TaskProgressPanel({
1054
1133
  const hasTasks = taskBlocks.length > 0;
1055
1134
  const hasSubagents = subagentBlocks.length > 0;
1056
1135
  const split = hasTasks && hasSubagents && columns >= SPLIT_TRACK_MIN_COLUMNS;
1057
- return /* @__PURE__ */ jsxs2(
1136
+ const hoverProps = (track) => ({
1137
+ onMouseEnter: () => onHoverChange?.(track)
1138
+ });
1139
+ return /* @__PURE__ */ jsx3(
1058
1140
  Box_default,
1059
1141
  {
1060
1142
  flexDirection: "column",
1061
1143
  flexShrink: 0,
1062
1144
  width: "100%",
1063
1145
  maxHeight,
1064
- onMouseEnter: () => onHoverChange?.(true),
1065
- onMouseLeave: () => onHoverChange?.(false),
1066
- children: [
1067
- split ? /* @__PURE__ */ jsx3(SplitTrackHeaders, {}) : /* @__PURE__ */ jsx3(TrackHeader, { role: hasTasks ? "main" : "subagent" }),
1068
- maxHeight > 1 ? /* @__PURE__ */ jsx3(
1069
- ScrollBox_default,
1070
- {
1071
- ...scrollRef === void 0 ? {} : { ref: scrollRef },
1072
- flexDirection: "column",
1073
- flexShrink: 1,
1074
- width: "100%",
1075
- maxHeight: maxHeight - 1,
1076
- children: split ? pairedTrackRows(taskBlocks, subagentBlocks).map(([task, subagent], index) => /* @__PURE__ */ jsxs2(Box_default, { flexDirection: "row", width: "100%", columnGap: 2, children: [
1077
- /* @__PURE__ */ jsx3(Box_default, { flexBasis: 0, flexGrow: 1, minWidth: 0, flexDirection: "column", children: task === void 0 ? null : /* @__PURE__ */ jsx3(TaskStatusLine, { block: task, interactive }) }),
1078
- /* @__PURE__ */ jsx3(Box_default, { flexBasis: 0, flexGrow: 1, minWidth: 0, flexDirection: "column", children: subagent === void 0 ? null : /* @__PURE__ */ jsx3(TaskStatusLine, { block: subagent, interactive }) })
1079
- ] }, `${task?.id ?? "task"}:${subagent?.id ?? "subagent"}:${index}`)) : hasTasks && hasSubagents ? /* @__PURE__ */ jsxs2(Fragment2, { children: [
1080
- taskBlocks.map((block) => /* @__PURE__ */ jsx3(TaskStatusLine, { block, interactive }, block.id)),
1081
- /* @__PURE__ */ jsx3(TrackHeader, { role: "subagent" }),
1082
- subagentBlocks.map((block) => /* @__PURE__ */ jsx3(TaskStatusLine, { block, interactive }, block.id))
1083
- ] }) : (hasTasks ? taskBlocks : subagentBlocks).map((block) => /* @__PURE__ */ jsx3(TaskStatusLine, { block, interactive }, block.id))
1084
- }
1085
- ) : null
1086
- ]
1146
+ onMouseLeave: () => onHoverChange?.(null),
1147
+ children: split ? /* @__PURE__ */ jsx3(
1148
+ SplitTracks,
1149
+ {
1150
+ taskBlocks,
1151
+ subagentBlocks,
1152
+ interactive,
1153
+ height: maxHeight,
1154
+ columns,
1155
+ mainScrollRef,
1156
+ subagentScrollRef,
1157
+ hoverProps
1158
+ }
1159
+ ) : hasTasks && hasSubagents ? /* @__PURE__ */ jsx3(
1160
+ StackedTracks,
1161
+ {
1162
+ taskBlocks,
1163
+ subagentBlocks,
1164
+ interactive,
1165
+ height: maxHeight,
1166
+ columns,
1167
+ mainScrollRef,
1168
+ subagentScrollRef,
1169
+ hoverProps
1170
+ }
1171
+ ) : /* @__PURE__ */ jsx3(
1172
+ SingleTrack,
1173
+ {
1174
+ role: hasTasks ? "main" : "subagent",
1175
+ blocks: hasTasks ? taskBlocks : subagentBlocks,
1176
+ interactive,
1177
+ height: maxHeight,
1178
+ width: columns,
1179
+ scrollRef: hasTasks ? mainScrollRef : subagentScrollRef,
1180
+ hoverProps
1181
+ }
1182
+ )
1087
1183
  }
1088
1184
  );
1089
1185
  }
1090
- function TrackHeader({ role }) {
1091
- return /* @__PURE__ */ jsxs2(Text, { dimColor: true, children: [
1092
- "\u2500\u2500 ",
1093
- role === "main" ? "task plan" : "subagent exploration",
1094
- " \u2500\u2500"
1186
+ function SplitTracks({
1187
+ taskBlocks,
1188
+ subagentBlocks,
1189
+ interactive,
1190
+ height,
1191
+ columns,
1192
+ mainScrollRef,
1193
+ subagentScrollRef,
1194
+ hoverProps
1195
+ }) {
1196
+ const contentHeight = Math.max(0, height - 1);
1197
+ const leftWidth = Math.max(1, Math.floor((columns - 1) / 2));
1198
+ const rightWidth = Math.max(1, columns - leftWidth - 1);
1199
+ return /* @__PURE__ */ jsxs2(Fragment2, { children: [
1200
+ /* @__PURE__ */ jsxs2(Box_default, { flexDirection: "row", width: "100%", children: [
1201
+ /* @__PURE__ */ jsx3(Box_default, { width: leftWidth, ...hoverProps("main"), children: /* @__PURE__ */ jsx3(TrackHeader, { role: "main", width: leftWidth }) }),
1202
+ /* @__PURE__ */ jsx3(Text, { color: "ansi:white", children: "\u252C" }),
1203
+ /* @__PURE__ */ jsx3(Box_default, { width: rightWidth, ...hoverProps("subagent"), children: /* @__PURE__ */ jsx3(TrackHeader, { role: "subagent", width: rightWidth }) })
1204
+ ] }),
1205
+ contentHeight <= 0 ? null : /* @__PURE__ */ jsxs2(Box_default, { flexDirection: "row", width: "100%", height: contentHeight, children: [
1206
+ /* @__PURE__ */ jsx3(Box_default, { width: leftWidth, minWidth: 0, flexDirection: "column", ...hoverProps("main"), children: /* @__PURE__ */ jsx3(
1207
+ TrackScrollBox,
1208
+ {
1209
+ ref: mainScrollRef,
1210
+ blocks: taskBlocks,
1211
+ interactive,
1212
+ height: contentHeight,
1213
+ width: leftWidth
1214
+ }
1215
+ ) }),
1216
+ /* @__PURE__ */ jsx3(TrackDivider, { height: contentHeight }),
1217
+ /* @__PURE__ */ jsx3(Box_default, { width: rightWidth, minWidth: 0, flexDirection: "column", ...hoverProps("subagent"), children: /* @__PURE__ */ jsx3(
1218
+ TrackScrollBox,
1219
+ {
1220
+ ref: subagentScrollRef,
1221
+ blocks: subagentBlocks,
1222
+ interactive,
1223
+ height: contentHeight,
1224
+ width: rightWidth
1225
+ }
1226
+ ) })
1227
+ ] })
1228
+ ] });
1229
+ }
1230
+ function StackedTracks({
1231
+ taskBlocks,
1232
+ subagentBlocks,
1233
+ interactive,
1234
+ height,
1235
+ columns,
1236
+ mainScrollRef,
1237
+ subagentScrollRef,
1238
+ hoverProps
1239
+ }) {
1240
+ if (height <= 1) {
1241
+ return /* @__PURE__ */ jsx3(Box_default, { ...hoverProps("main"), children: /* @__PURE__ */ jsx3(TrackHeader, { role: "main", width: columns }) });
1242
+ }
1243
+ const mainHeight = Math.ceil(height / 2);
1244
+ const subagentHeight = Math.floor(height / 2);
1245
+ return /* @__PURE__ */ jsxs2(Fragment2, { children: [
1246
+ /* @__PURE__ */ jsx3(
1247
+ SingleTrack,
1248
+ {
1249
+ role: "main",
1250
+ blocks: taskBlocks,
1251
+ interactive,
1252
+ height: mainHeight,
1253
+ width: columns,
1254
+ scrollRef: mainScrollRef,
1255
+ hoverProps
1256
+ }
1257
+ ),
1258
+ /* @__PURE__ */ jsx3(
1259
+ SingleTrack,
1260
+ {
1261
+ role: "subagent",
1262
+ blocks: subagentBlocks,
1263
+ interactive,
1264
+ height: subagentHeight,
1265
+ width: columns,
1266
+ scrollRef: subagentScrollRef,
1267
+ hoverProps
1268
+ }
1269
+ )
1095
1270
  ] });
1096
1271
  }
1097
- function SplitTrackHeaders() {
1098
- return /* @__PURE__ */ jsxs2(Box_default, { flexDirection: "row", width: "100%", columnGap: 2, children: [
1099
- /* @__PURE__ */ jsx3(Box_default, { flexBasis: 0, flexGrow: 1, minWidth: 0, children: /* @__PURE__ */ jsx3(TrackHeader, { role: "main" }) }),
1100
- /* @__PURE__ */ jsx3(Box_default, { flexBasis: 0, flexGrow: 1, minWidth: 0, children: /* @__PURE__ */ jsx3(TrackHeader, { role: "subagent" }) })
1272
+ function SingleTrack({
1273
+ role,
1274
+ blocks,
1275
+ interactive,
1276
+ height,
1277
+ width,
1278
+ scrollRef,
1279
+ hoverProps
1280
+ }) {
1281
+ const contentHeight = Math.max(0, height - 1);
1282
+ return /* @__PURE__ */ jsxs2(Box_default, { flexDirection: "column", width: "100%", height, ...hoverProps(role), children: [
1283
+ /* @__PURE__ */ jsx3(TrackHeader, { role, width }),
1284
+ contentHeight <= 0 ? null : /* @__PURE__ */ jsx3(
1285
+ TrackScrollBox,
1286
+ {
1287
+ ref: scrollRef,
1288
+ blocks,
1289
+ interactive,
1290
+ height: contentHeight,
1291
+ width
1292
+ }
1293
+ )
1101
1294
  ] });
1102
1295
  }
1103
- function pairedTrackRows(tasks, subagents) {
1104
- return Array.from({ length: Math.max(tasks.length, subagents.length) }, (_, index) => [tasks[index], subagents[index]]);
1296
+ function TrackScrollBox({
1297
+ ref,
1298
+ blocks,
1299
+ interactive,
1300
+ height,
1301
+ width
1302
+ }) {
1303
+ return /* @__PURE__ */ jsx3(
1304
+ ScrollBox_default,
1305
+ {
1306
+ ...ref === void 0 ? {} : { ref },
1307
+ flexDirection: "column",
1308
+ flexShrink: 1,
1309
+ width: "100%",
1310
+ height,
1311
+ maxHeight: height,
1312
+ children: blocks.map((block) => /* @__PURE__ */ jsx3(
1313
+ TaskStatusLine,
1314
+ {
1315
+ block,
1316
+ interactive,
1317
+ textWidth: width,
1318
+ maxTextLines: 3
1319
+ },
1320
+ block.id
1321
+ ))
1322
+ }
1323
+ );
1324
+ }
1325
+ function TrackHeader({ role, width }) {
1326
+ const label = role === "main" ? "task plan" : "subagent exploration";
1327
+ const prefix = `\u2500\u2500 ${label} `;
1328
+ const line = prefix.length >= width ? prefix.slice(0, Math.max(0, width)) : `${prefix}${"\u2500".repeat(width - prefix.length)}`;
1329
+ return /* @__PURE__ */ jsx3(Text, { color: "ansi:white", wrap: "truncate-end", children: line });
1330
+ }
1331
+ function TrackDivider({ height }) {
1332
+ return /* @__PURE__ */ jsx3(Box_default, { flexDirection: "column", width: 1, flexShrink: 0, children: Array.from({ length: height }, (_, index) => /* @__PURE__ */ jsx3(Text, { color: "ansi:white", children: "\u2502" }, index)) });
1105
1333
  }
1106
1334
 
1107
1335
  // src/ui/file-diff-style.ts
@@ -1799,8 +2027,9 @@ function App({ workspace, home, resumeSession, instanceId, palAlias }) {
1799
2027
  const [updateTo, setUpdateTo] = useState2();
1800
2028
  const [transcript, dispatch] = useReducer(transcriptReducer, void 0, createTranscriptState);
1801
2029
  const scrollRef = useRef4(null);
1802
- const taskScrollRef = useRef4(null);
1803
- const taskPanelHovered = useRef4(false);
2030
+ const mainTaskScrollRef = useRef4(null);
2031
+ const subagentTaskScrollRef = useRef4(null);
2032
+ const hoveredTaskTrack = useRef4(null);
1804
2033
  const runtimeRef = useRef4(void 0);
1805
2034
  const pendingPromptRef = useRef4(void 0);
1806
2035
  pendingPromptRef.current ??= new SinglePendingPrompt();
@@ -2097,7 +2326,12 @@ function App({ workspace, home, resumeSession, instanceId, palAlias }) {
2097
2326
  use_input_default((character, key, event) => {
2098
2327
  const terminalAction = classifyTerminalInput(key);
2099
2328
  if (terminalAction?.type === "scroll") {
2100
- const scroll = selectWheelScrollTarget(scrollRef.current, taskScrollRef.current, taskPanelHovered.current);
2329
+ const scroll = selectWheelScrollTarget(
2330
+ scrollRef.current,
2331
+ mainTaskScrollRef.current,
2332
+ subagentTaskScrollRef.current,
2333
+ hoveredTaskTrack.current
2334
+ );
2101
2335
  if (scroll !== null) {
2102
2336
  if (terminalAction.rows < 0) scrollUp(scroll, -terminalAction.rows);
2103
2337
  else scrollDown(scroll, terminalAction.rows);
@@ -2388,9 +2622,10 @@ function App({ workspace, home, resumeSession, instanceId, palAlias }) {
2388
2622
  ...ideContext === void 0 ? {} : { ideContext },
2389
2623
  completedSlashTokenLength: completedTokenLength,
2390
2624
  scrollRef,
2391
- taskScrollRef,
2392
- onTaskPanelHoverChange: (hovered) => {
2393
- taskPanelHovered.current = hovered;
2625
+ mainTaskScrollRef,
2626
+ subagentTaskScrollRef,
2627
+ onTaskPanelHoverChange: (track) => {
2628
+ hoveredTaskTrack.current = track;
2394
2629
  },
2395
2630
  ...slashCompletion === null ? {} : { completion: slashCompletion },
2396
2631
  ...mentionCompletion === null ? {} : { mentionCompletion, onMentionSelect: selectMention },
@@ -2524,7 +2759,8 @@ function TerminalLayout({
2524
2759
  onMentionSelect,
2525
2760
  completedSlashTokenLength: tokenLength = 0,
2526
2761
  scrollRef,
2527
- taskScrollRef,
2762
+ mainTaskScrollRef,
2763
+ subagentTaskScrollRef,
2528
2764
  onTaskPanelHoverChange,
2529
2765
  onPromptCursorChange,
2530
2766
  ideContext
@@ -2583,7 +2819,8 @@ function TerminalLayout({
2583
2819
  interactive: activeSession,
2584
2820
  maxHeight: taskPanelRows,
2585
2821
  columns,
2586
- ...taskScrollRef === void 0 ? {} : { scrollRef: taskScrollRef },
2822
+ ...mainTaskScrollRef === void 0 ? {} : { mainScrollRef: mainTaskScrollRef },
2823
+ ...subagentTaskScrollRef === void 0 ? {} : { subagentScrollRef: subagentTaskScrollRef },
2587
2824
  ...onTaskPanelHoverChange === void 0 ? {} : { onHoverChange: onTaskPanelHoverChange }
2588
2825
  }
2589
2826
  ),
@@ -2804,8 +3041,10 @@ function jumpScroll(scroll, delta) {
2804
3041
  scroll.scrollTo(Math.max(0, target));
2805
3042
  }
2806
3043
  }
2807
- function selectWheelScrollTarget(transcript, tasks, taskPanelHovered) {
2808
- return taskPanelHovered && tasks !== null ? tasks : transcript;
3044
+ function selectWheelScrollTarget(transcript, mainTasks, subagentTasks, hoveredTrack) {
3045
+ if (hoveredTrack === "main" && mainTasks !== null) return mainTasks;
3046
+ if (hoveredTrack === "subagent" && subagentTasks !== null) return subagentTasks;
3047
+ return transcript;
2809
3048
  }
2810
3049
  function taskPanelViewportRows(rows, reservedBottomRows, hasTasks) {
2811
3050
  if (!hasTasks) return 0;
@@ -21447,6 +21447,7 @@ export {
21447
21447
  Box_default,
21448
21448
  Text,
21449
21449
  stripAnsi,
21450
+ stringWidth,
21450
21451
  ScrollBox_default,
21451
21452
  instances_default,
21452
21453
  osc,
@@ -10,7 +10,7 @@ import {
10
10
  useStdout,
11
11
  use_app_default,
12
12
  use_input_default
13
- } from "./chunk-XMRKRPNC.js";
13
+ } from "./chunk-26T23AKR.js";
14
14
  import "./chunk-ZJCAQXA7.js";
15
15
  import "./chunk-S32JRDZK.js";
16
16
  export {
package/dist/cli-main.js CHANGED
@@ -919,9 +919,9 @@ async function runInteractiveCli(props) {
919
919
  const disposeUserTimingSweeper = installUiUserTimingSweeper();
920
920
  try {
921
921
  const [{ render, AlternateScreen }, { createElement }, { App }] = await Promise.all([
922
- import("./claude-ink-6EZHF64C.js"),
922
+ import("./claude-ink-C24UQAL7.js"),
923
923
  import("react"),
924
- import("./app-SMIB6P23.js")
924
+ import("./app-PXXQOEWP.js")
925
925
  ]);
926
926
  const instance = await render(createElement(
927
927
  AlternateScreen,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flavor-code",
3
- "version": "1.4.0-beta.10",
3
+ "version": "1.4.0-beta.11",
4
4
  "author": "YachuanWzh",
5
5
  "type": "module",
6
6
  "publishConfig": {