@kenkaiiii/ggcoder 4.2.72 → 4.2.74
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.js +174 -0
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/core/settings-manager.d.ts +1 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +2 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +14 -0
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/modes/agent-home-mode.d.ts +21 -0
- package/dist/modes/agent-home-mode.d.ts.map +1 -0
- package/dist/modes/agent-home-mode.js +553 -0
- package/dist/modes/agent-home-mode.js.map +1 -0
- package/dist/ui/App.d.ts.map +1 -1
- package/dist/ui/App.js +25 -3
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/buddy/Buddy.d.ts +15 -0
- package/dist/ui/buddy/Buddy.d.ts.map +1 -0
- package/dist/ui/buddy/Buddy.js +118 -0
- package/dist/ui/buddy/Buddy.js.map +1 -0
- package/dist/ui/buddy/gacha.d.ts +8 -0
- package/dist/ui/buddy/gacha.d.ts.map +1 -0
- package/dist/ui/buddy/gacha.js +94 -0
- package/dist/ui/buddy/gacha.js.map +1 -0
- package/dist/ui/buddy/species.d.ts +52 -0
- package/dist/ui/buddy/species.d.ts.map +1 -0
- package/dist/ui/buddy/species.js +257 -0
- package/dist/ui/buddy/species.js.map +1 -0
- package/dist/ui/components/ActivityIndicator.d.ts +6 -1
- package/dist/ui/components/ActivityIndicator.d.ts.map +1 -1
- package/dist/ui/components/ActivityIndicator.js +52 -8
- package/dist/ui/components/ActivityIndicator.js.map +1 -1
- package/dist/ui/components/AnimationContext.d.ts +5 -0
- package/dist/ui/components/AnimationContext.d.ts.map +1 -1
- package/dist/ui/components/AnimationContext.js +8 -1
- package/dist/ui/components/AnimationContext.js.map +1 -1
- package/dist/ui/components/AssistantMessage.d.ts.map +1 -1
- package/dist/ui/components/AssistantMessage.js +3 -2
- package/dist/ui/components/AssistantMessage.js.map +1 -1
- package/dist/ui/components/BackgroundTasksBar.js +2 -2
- package/dist/ui/components/BackgroundTasksBar.js.map +1 -1
- package/dist/ui/components/Footer.d.ts +3 -1
- package/dist/ui/components/Footer.d.ts.map +1 -1
- package/dist/ui/components/Footer.js +23 -48
- package/dist/ui/components/Footer.js.map +1 -1
- package/dist/ui/components/Markdown.d.ts +4 -0
- package/dist/ui/components/Markdown.d.ts.map +1 -1
- package/dist/ui/components/Markdown.js +109 -6
- package/dist/ui/components/Markdown.js.map +1 -1
- package/dist/ui/components/MessageResponse.d.ts +25 -0
- package/dist/ui/components/MessageResponse.d.ts.map +1 -0
- package/dist/ui/components/MessageResponse.js +42 -0
- package/dist/ui/components/MessageResponse.js.map +1 -0
- package/dist/ui/components/NoSelect.d.ts +20 -0
- package/dist/ui/components/NoSelect.d.ts.map +1 -0
- package/dist/ui/components/NoSelect.js +14 -0
- package/dist/ui/components/NoSelect.js.map +1 -0
- package/dist/ui/components/Ratchet.d.ts +20 -0
- package/dist/ui/components/Ratchet.d.ts.map +1 -0
- package/dist/ui/components/Ratchet.js +30 -0
- package/dist/ui/components/Ratchet.js.map +1 -0
- package/dist/ui/components/ServerToolExecution.d.ts.map +1 -1
- package/dist/ui/components/ServerToolExecution.js +5 -6
- package/dist/ui/components/ServerToolExecution.js.map +1 -1
- package/dist/ui/components/Spinner.d.ts +8 -2
- package/dist/ui/components/Spinner.d.ts.map +1 -1
- package/dist/ui/components/Spinner.js +51 -5
- package/dist/ui/components/Spinner.js.map +1 -1
- package/dist/ui/components/StreamingArea.d.ts.map +1 -1
- package/dist/ui/components/StreamingArea.js +4 -3
- package/dist/ui/components/StreamingArea.js.map +1 -1
- package/dist/ui/components/SubAgentPanel.d.ts.map +1 -1
- package/dist/ui/components/SubAgentPanel.js +4 -3
- package/dist/ui/components/SubAgentPanel.js.map +1 -1
- package/dist/ui/components/ToolExecution.d.ts.map +1 -1
- package/dist/ui/components/ToolExecution.js +38 -12
- package/dist/ui/components/ToolExecution.js.map +1 -1
- package/dist/ui/components/ToolGroupExecution.d.ts.map +1 -1
- package/dist/ui/components/ToolGroupExecution.js +21 -17
- package/dist/ui/components/ToolGroupExecution.js.map +1 -1
- package/dist/ui/components/ToolUseLoader.d.ts +19 -0
- package/dist/ui/components/ToolUseLoader.d.ts.map +1 -0
- package/dist/ui/components/ToolUseLoader.js +42 -0
- package/dist/ui/components/ToolUseLoader.js.map +1 -0
- package/dist/ui/constants/figures.d.ts +30 -0
- package/dist/ui/constants/figures.d.ts.map +1 -0
- package/dist/ui/constants/figures.js +41 -0
- package/dist/ui/constants/figures.js.map +1 -0
- package/dist/ui/hooks/useAgentLoop.d.ts +8 -0
- package/dist/ui/hooks/useAgentLoop.d.ts.map +1 -1
- package/dist/ui/hooks/useAgentLoop.js +16 -0
- package/dist/ui/hooks/useAgentLoop.js.map +1 -1
- package/dist/ui/hooks/useBlink.d.ts +11 -0
- package/dist/ui/hooks/useBlink.d.ts.map +1 -0
- package/dist/ui/hooks/useBlink.js +19 -0
- package/dist/ui/hooks/useBlink.js.map +1 -0
- package/dist/ui/hooks/useMinDisplayTime.d.ts +11 -0
- package/dist/ui/hooks/useMinDisplayTime.d.ts.map +1 -0
- package/dist/ui/hooks/useMinDisplayTime.js +34 -0
- package/dist/ui/hooks/useMinDisplayTime.js.map +1 -0
- package/dist/ui/spinner-frames.d.ts +1 -0
- package/dist/ui/spinner-frames.d.ts.map +1 -1
- package/dist/ui/spinner-frames.js +15 -5
- package/dist/ui/spinner-frames.js.map +1 -1
- package/dist/ui/theme/dark.json +2 -1
- package/dist/ui/theme/light.json +2 -1
- package/dist/ui/theme/theme.d.ts +1 -0
- package/dist/ui/theme/theme.d.ts.map +1 -1
- package/dist/ui/utils/markdown-cache.d.ts +12 -0
- package/dist/ui/utils/markdown-cache.d.ts.map +1 -0
- package/dist/ui/utils/markdown-cache.js +43 -0
- package/dist/ui/utils/markdown-cache.js.map +1 -0
- package/dist/ui/utils/word-diff.d.ts +11 -0
- package/dist/ui/utils/word-diff.d.ts.map +1 -0
- package/dist/ui/utils/word-diff.js +23 -0
- package/dist/ui/utils/word-diff.js.map +1 -0
- package/package.json +4 -3
|
@@ -12,7 +12,7 @@ import React, { createContext, useContext, useState, useEffect, useCallback, use
|
|
|
12
12
|
* `useAnimationActive()`, avoiding 10 re-renders/sec during idle streaming
|
|
13
13
|
* when no spinners or animations are visible.
|
|
14
14
|
*/
|
|
15
|
-
const TICK_INTERVAL = 100; // ms — fast enough for the spinner (
|
|
15
|
+
const TICK_INTERVAL = 100; // ms — fast enough for the spinner (100ms frames)
|
|
16
16
|
const AnimationContext = createContext(0);
|
|
17
17
|
const AnimationControlContext = createContext({ register: () => () => { } });
|
|
18
18
|
export function AnimationProvider({ children }) {
|
|
@@ -70,5 +70,12 @@ export function useAnimationActive() {
|
|
|
70
70
|
export function deriveFrame(tick, intervalMs, frameCount) {
|
|
71
71
|
return Math.floor((tick * TICK_INTERVAL) / intervalMs) % frameCount;
|
|
72
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Check if reduced-motion is requested.
|
|
75
|
+
* Respects NO_MOTION and REDUCE_MOTION env vars.
|
|
76
|
+
*/
|
|
77
|
+
export function useReducedMotion() {
|
|
78
|
+
return !!(process.env.NO_MOTION || process.env.REDUCE_MOTION);
|
|
79
|
+
}
|
|
73
80
|
export { TICK_INTERVAL };
|
|
74
81
|
//# sourceMappingURL=AnimationContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimationContext.js","sourceRoot":"","sources":["../../../src/ui/components/AnimationContext.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AnimationContext.js","sourceRoot":"","sources":["../../../src/ui/components/AnimationContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssistantMessage.d.ts","sourceRoot":"","sources":["../../../src/ui/components/AssistantMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AssistantMessage.d.ts","sourceRoot":"","sources":["../../../src/ui/components/AssistantMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAKD,eAAO,MAAM,gBAAgB,mDAyB3B,CAAC"}
|
|
@@ -5,12 +5,13 @@ import { useTheme } from "../theme/theme.js";
|
|
|
5
5
|
import { Markdown } from "./Markdown.js";
|
|
6
6
|
import { ThinkingBlock } from "./ThinkingBlock.js";
|
|
7
7
|
import { useTerminalSize } from "../hooks/useTerminalSize.js";
|
|
8
|
-
|
|
8
|
+
import { BLACK_CIRCLE } from "../constants/figures.js";
|
|
9
|
+
// BLACK_CIRCLE + " " = 2 chars
|
|
9
10
|
const PREFIX_WIDTH = 2;
|
|
10
11
|
export const AssistantMessage = React.memo(function AssistantMessage({ text, thinking, thinkingMs, showThinking = true, }) {
|
|
11
12
|
const theme = useTheme();
|
|
12
13
|
const { columns } = useTerminalSize();
|
|
13
14
|
const contentWidth = Math.max(10, columns - PREFIX_WIDTH);
|
|
14
|
-
return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [showThinking && thinking && _jsx(ThinkingBlock, { text: thinking, durationMs: thinkingMs }), text && (_jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { width: PREFIX_WIDTH, flexShrink: 0, children:
|
|
15
|
+
return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [showThinking && thinking && _jsx(ThinkingBlock, { text: thinking, durationMs: thinkingMs }), text && (_jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { width: PREFIX_WIDTH, flexShrink: 0, children: _jsxs(Text, { color: theme.primary, children: [BLACK_CIRCLE, " "] }) }), _jsx(Box, { flexDirection: "column", flexGrow: 1, width: contentWidth, children: _jsx(Markdown, { children: text.trimStart() }) })] }))] }));
|
|
15
16
|
});
|
|
16
17
|
//# sourceMappingURL=AssistantMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssistantMessage.js","sourceRoot":"","sources":["../../../src/ui/components/AssistantMessage.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"AssistantMessage.js","sourceRoot":"","sources":["../../../src/ui/components/AssistantMessage.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AASvD,+BAA+B;AAC/B,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,gBAAgB,CAAC,EACnE,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,YAAY,GAAG,IAAI,GACG;IACtB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,GAAG,YAAY,CAAC,CAAC;IAE1D,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACrC,YAAY,IAAI,QAAQ,IAAI,KAAC,aAAa,IAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAI,EACrF,IAAI,IAAI,CACP,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,aACtB,KAAC,GAAG,IAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,YACrC,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,aAAG,YAAY,SAAS,GAC9C,EACN,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,YAC1D,KAAC,QAAQ,cAAE,IAAI,CAAC,SAAS,EAAE,GAAY,GACnC,IACF,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -55,12 +55,12 @@ export function BackgroundTasksBar({ tasks, focused, expanded, selectedIndex, on
|
|
|
55
55
|
const label = `Background task${count !== 1 ? "s" : ""}`;
|
|
56
56
|
// Collapsed: single summary line
|
|
57
57
|
if (!expanded) {
|
|
58
|
-
return (_jsxs(Box, { paddingLeft: 1, paddingRight: 1, children: [_jsx(Text, { color: focused ? theme.primary : theme.textMuted, children: "
|
|
58
|
+
return (_jsxs(Box, { paddingLeft: 1, paddingRight: 1, children: [_jsx(Text, { color: focused ? theme.primary : theme.textMuted, children: "● " }), _jsxs(Text, { color: theme.accent, bold: true, children: ["(", count, ")"] }), _jsxs(Text, { color: focused ? theme.text : theme.textMuted, children: [" ", label] }), focused && (_jsxs(Text, { color: theme.textDim, children: [" \u00B7 ", _jsx(Text, { color: theme.accent, children: "Enter" }), " to view"] }))] }));
|
|
59
59
|
}
|
|
60
60
|
// Expanded: show up to MAX_VISIBLE tasks
|
|
61
61
|
const visible = tasks.slice(0, MAX_VISIBLE);
|
|
62
62
|
const hidden = count - visible.length;
|
|
63
|
-
return (_jsxs(Box, { flexDirection: "column", paddingLeft: 1, paddingRight: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: theme.textMuted, children: "
|
|
63
|
+
return (_jsxs(Box, { flexDirection: "column", paddingLeft: 1, paddingRight: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: theme.textMuted, children: "● " }), _jsxs(Text, { color: theme.accent, bold: true, children: ["(", count, ")"] }), _jsxs(Text, { color: theme.text, children: [" ", label] })] }), visible.map((task, i) => {
|
|
64
64
|
const isSelected = i === selectedIndex;
|
|
65
65
|
const prefix = isSelected ? "\u276F " : " ";
|
|
66
66
|
const cmd = truncateCommand(task.command, 50);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackgroundTasksBar.js","sourceRoot":"","sources":["../../../src/ui/components/BackgroundTasksBar.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,MAAM,WAAW,GAAG,CAAC,CAAC;AActB,SAAS,eAAe,CAAC,OAAe,EAAE,MAAc;IACtD,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,OAAO,CAAC;IAC7C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EACjC,KAAK,EACL,OAAO,EACP,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,UAAU,GACc;IACxB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,yDAAyD;IACzD,QAAQ,CACN,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACd,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,QAAQ,EAAE,CAAC;YACb,CAAC;iBAAM,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACrC,MAAM,EAAE,CAAC;YACX,CAAC;YACD,OAAO;QACT,CAAC;QAED,gBAAgB;QAChB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,UAAU,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACvB,UAAU,EAAE,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;YAChC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;YACvD,IAAI,aAAa,GAAG,MAAM,EAAE,CAAC;gBAC3B,UAAU,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;YAChC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YAClC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC,EACD,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3B,MAAM,KAAK,GAAG,kBAAkB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAEzD,iCAAiC;IACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CACL,MAAC,GAAG,IAAC,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,aAClC,KAAC,IAAI,IAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,YAAG,
|
|
1
|
+
{"version":3,"file":"BackgroundTasksBar.js","sourceRoot":"","sources":["../../../src/ui/components/BackgroundTasksBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
interface FooterProps {
|
|
2
2
|
model: string;
|
|
3
3
|
tokensIn: number;
|
|
4
|
+
linesAdded?: number;
|
|
5
|
+
linesRemoved?: number;
|
|
4
6
|
cwd: string;
|
|
5
7
|
gitBranch?: string | null;
|
|
6
8
|
thinkingEnabled?: boolean;
|
|
7
9
|
planMode?: boolean;
|
|
8
10
|
}
|
|
9
|
-
export declare function Footer({ model, tokensIn, cwd, gitBranch, thinkingEnabled, planMode, }: FooterProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare function Footer({ model, tokensIn, linesAdded, linesRemoved, cwd, gitBranch, thinkingEnabled, planMode, }: FooterProps): import("react/jsx-runtime").JSX.Element;
|
|
10
12
|
export {};
|
|
11
13
|
//# sourceMappingURL=Footer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Footer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Footer.tsx"],"names":[],"mappings":"AAOA,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA+BD,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,QAAQ,EACR,UAAc,EACd,YAAgB,EAChB,GAAG,EACH,SAAS,EACT,eAAe,EACf,QAAQ,GACT,EAAE,WAAW,2CAuIb"}
|
|
@@ -4,6 +4,7 @@ import { Text, Box } from "ink";
|
|
|
4
4
|
import { useTheme } from "../theme/theme.js";
|
|
5
5
|
import { useTerminalSize } from "../hooks/useTerminalSize.js";
|
|
6
6
|
import { getContextWindow } from "../../core/model-registry.js";
|
|
7
|
+
import { PARTIAL_BLOCKS, LIGHT_SHADE } from "../constants/figures.js";
|
|
7
8
|
// Model ID → short display name
|
|
8
9
|
const MODEL_SHORT_NAMES = {
|
|
9
10
|
"claude-opus-4-6": "Opus",
|
|
@@ -25,15 +26,6 @@ function getContextPercent(model, tokensIn) {
|
|
|
25
26
|
return 0;
|
|
26
27
|
return Math.round((tokensIn / limit) * 100);
|
|
27
28
|
}
|
|
28
|
-
function formatTokens(tokens) {
|
|
29
|
-
if (tokens === 0)
|
|
30
|
-
return "0";
|
|
31
|
-
if (tokens < 1000)
|
|
32
|
-
return String(tokens);
|
|
33
|
-
if (tokens < 100_000)
|
|
34
|
-
return (tokens / 1000).toFixed(1) + "k";
|
|
35
|
-
return Math.round(tokens / 1000) + "k";
|
|
36
|
-
}
|
|
37
29
|
function getContextColor(pct, theme) {
|
|
38
30
|
if (pct >= 80)
|
|
39
31
|
return theme.error;
|
|
@@ -41,30 +33,17 @@ function getContextColor(pct, theme) {
|
|
|
41
33
|
return theme.warning;
|
|
42
34
|
return theme.success;
|
|
43
35
|
}
|
|
44
|
-
|
|
45
|
-
const PARTIAL_BLOCKS = [
|
|
46
|
-
" ",
|
|
47
|
-
"\u258F",
|
|
48
|
-
"\u258E",
|
|
49
|
-
"\u258D",
|
|
50
|
-
"\u258C",
|
|
51
|
-
"\u258B",
|
|
52
|
-
"\u258A",
|
|
53
|
-
"\u2589",
|
|
54
|
-
"\u2588",
|
|
55
|
-
];
|
|
56
|
-
export function Footer({ model, tokensIn, cwd, gitBranch, thinkingEnabled, planMode, }) {
|
|
36
|
+
export function Footer({ model, tokensIn, linesAdded = 0, linesRemoved = 0, cwd, gitBranch, thinkingEnabled, planMode, }) {
|
|
57
37
|
const theme = useTheme();
|
|
58
38
|
const { columns } = useTerminalSize();
|
|
59
|
-
// Show only
|
|
39
|
+
// Show only the current directory name
|
|
60
40
|
const parts = cwd.split("/").filter(Boolean);
|
|
61
|
-
const displayPath = parts.length
|
|
41
|
+
const displayPath = parts.length > 0 ? parts[parts.length - 1] : cwd;
|
|
62
42
|
const contextPct = getContextPercent(model, tokensIn);
|
|
63
43
|
const contextColor = getContextColor(contextPct, theme);
|
|
64
44
|
const sep = _jsx(Text, { color: theme.border, children: " \u2502 " });
|
|
65
|
-
// Build right side segments
|
|
66
45
|
const modelName = getShortModelName(model);
|
|
67
|
-
//
|
|
46
|
+
// Context bar with partial block precision
|
|
68
47
|
const barWidth = 8;
|
|
69
48
|
const fillFloat = Math.min((contextPct / 100) * barWidth, barWidth);
|
|
70
49
|
const barChars = [];
|
|
@@ -78,42 +57,38 @@ export function Footer({ model, tokensIn, cwd, gitBranch, thinkingEnabled, planM
|
|
|
78
57
|
barChars.push(_jsx(Text, { color: contextColor, children: PARTIAL_BLOCKS[eighths] }, i));
|
|
79
58
|
}
|
|
80
59
|
else {
|
|
81
|
-
barChars.push(_jsx(Text, { color: theme.textDim, children:
|
|
60
|
+
barChars.push(_jsx(Text, { color: theme.textDim, children: LIGHT_SHADE }, i));
|
|
82
61
|
}
|
|
83
62
|
}
|
|
84
|
-
//
|
|
63
|
+
// Plan/Thinking labels
|
|
85
64
|
const planText = planMode ? "Plan on" : "Plan off";
|
|
86
|
-
// "Thinking on" / "Thinking off" + key hint (⇧⇹)
|
|
87
65
|
const thinkingText = thinkingEnabled ? "Thinking on" : "Thinking off";
|
|
88
|
-
|
|
89
|
-
//
|
|
90
|
-
const leftLen = displayPath.length + 2 + (gitBranch ? gitBranch.length + 5 : 0);
|
|
91
|
-
const rightLen =
|
|
92
|
-
3 + // sep
|
|
93
|
-
barWidth +
|
|
66
|
+
const hasLines = linesAdded > 0 || linesRemoved > 0;
|
|
67
|
+
// Calculate whether everything fits on one line
|
|
68
|
+
const leftLen = displayPath.length + 2 + (gitBranch ? gitBranch.length + 5 : 0);
|
|
69
|
+
const rightLen = barWidth +
|
|
94
70
|
1 +
|
|
95
71
|
String(contextPct).length +
|
|
96
|
-
1 +
|
|
97
|
-
3 +
|
|
72
|
+
1 +
|
|
73
|
+
3 +
|
|
98
74
|
modelName.length +
|
|
99
|
-
3 +
|
|
75
|
+
(hasLines ? 3 + String(linesAdded).length + 2 + String(linesRemoved).length : 0) +
|
|
76
|
+
3 +
|
|
100
77
|
planText.length +
|
|
101
|
-
3 +
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
3; // " ⇧⇹"
|
|
105
|
-
const availableWidth = columns - 2; // paddingLeft + paddingRight
|
|
78
|
+
3 +
|
|
79
|
+
thinkingText.length;
|
|
80
|
+
const availableWidth = columns - 2;
|
|
106
81
|
const fitsOnOneLine = leftLen + rightLen <= availableWidth;
|
|
107
|
-
// Truncate path only when single-line and it's the path that's too long
|
|
108
82
|
const maxPath = fitsOnOneLine ? availableWidth - rightLen - 2 : availableWidth;
|
|
109
83
|
const truncPath = displayPath.length > maxPath && maxPath > 10
|
|
110
84
|
? "\u2026" + displayPath.slice(displayPath.length - maxPath + 1)
|
|
111
85
|
: displayPath;
|
|
86
|
+
// Shared right-side content
|
|
87
|
+
const rightContent = (_jsxs(_Fragment, { children: [_jsx(Text, { children: barChars }), _jsxs(Text, { color: contextColor, children: [" ", contextPct, "%"] }), sep, _jsx(Text, { color: theme.primary, bold: true, children: modelName }), hasLines && (_jsxs(_Fragment, { children: [sep, _jsxs(Text, { color: theme.success, children: ["+", linesAdded] }), _jsx(Text, { color: theme.textDim, children: "/" }), _jsxs(Text, { color: theme.error, children: ["-", linesRemoved] })] })), sep, _jsx(Text, { color: planMode ? theme.planPrimary : theme.textDim, children: planText }), sep, _jsx(Text, { color: thinkingEnabled ? theme.accent : theme.textDim, children: thinkingText })] }));
|
|
112
88
|
if (fitsOnOneLine) {
|
|
113
|
-
|
|
114
|
-
return (_jsxs(Box, { paddingLeft: 1, paddingRight: 1, width: columns, children: [_jsxs(Box, { flexGrow: 1, children: [_jsx(Text, { color: theme.textDim, children: truncPath }), gitBranch && (_jsxs(_Fragment, { children: [sep, _jsxs(Text, { color: theme.secondary, children: ["\u2387 ", gitBranch] })] }))] }), _jsxs(Box, { flexShrink: 0, children: [_jsx(Text, { color: theme.textDim, children: formatTokens(tokensIn) }), sep, _jsx(Text, { children: barChars }), _jsxs(Text, { color: contextColor, children: [" ", contextPct, "%"] }), sep, _jsx(Text, { color: theme.primary, bold: true, children: modelName }), sep, _jsx(Text, { color: planMode ? theme.planPrimary : theme.textDim, children: planText }), _jsx(Text, { color: theme.border, children: " ^P" }), sep, _jsx(Text, { color: thinkingEnabled ? theme.accent : theme.textDim, children: thinkingText }), _jsx(Text, { color: theme.border, children: " \u21E7\u21B9" })] })] }));
|
|
89
|
+
return (_jsxs(Box, { paddingLeft: 1, paddingRight: 1, width: columns, children: [_jsxs(Box, { flexGrow: 1, children: [_jsx(Text, { color: theme.textDim, children: truncPath }), gitBranch && (_jsxs(_Fragment, { children: [sep, _jsxs(Text, { color: theme.secondary, children: ["\u2387 ", gitBranch] })] }))] }), _jsx(Box, { flexShrink: 0, children: rightContent })] }));
|
|
115
90
|
}
|
|
116
|
-
// Two-line layout
|
|
117
|
-
return (_jsxs(Box, { flexDirection: "column", paddingLeft: 1, paddingRight: 1, width: columns, children: [_jsxs(Box, { children: [_jsx(Text, { color: theme.textDim, wrap: "truncate", children: truncPath }), gitBranch && (_jsxs(_Fragment, { children: [sep, _jsxs(Text, { color: theme.secondary, wrap: "truncate", children: ["\u2387 ", gitBranch] })] }))] }),
|
|
91
|
+
// Two-line layout
|
|
92
|
+
return (_jsxs(Box, { flexDirection: "column", paddingLeft: 1, paddingRight: 1, width: columns, children: [_jsxs(Box, { children: [_jsx(Text, { color: theme.textDim, wrap: "truncate", children: truncPath }), gitBranch && (_jsxs(_Fragment, { children: [sep, _jsxs(Text, { color: theme.secondary, wrap: "truncate", children: ["\u2387 ", gitBranch] })] }))] }), _jsx(Box, { children: rightContent })] }));
|
|
118
93
|
}
|
|
119
94
|
//# sourceMappingURL=Footer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../src/ui/components/Footer.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../src/ui/components/Footer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,4 +11,8 @@ export declare const Markdown: React.NamedExoticComponent<{
|
|
|
11
11
|
children: string;
|
|
12
12
|
width?: number;
|
|
13
13
|
}>;
|
|
14
|
+
export declare const StreamingMarkdown: React.NamedExoticComponent<{
|
|
15
|
+
children: string;
|
|
16
|
+
width: number;
|
|
17
|
+
}>;
|
|
14
18
|
//# sourceMappingURL=Markdown.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAa1E;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ;cAIT,MAAM;YACR,MAAM;EAoId,CAAC;AAiaH,eAAO,MAAM,iBAAiB;cAIlB,MAAM;WACT,MAAM;EA+Cb,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { marked } from "marked";
|
|
|
5
5
|
import { useTheme } from "../theme/theme.js";
|
|
6
6
|
import { highlightCode } from "../utils/highlight.js";
|
|
7
7
|
import { centerToWidth, fitToWidth, plainTextLength, wrapPlainTextLines, } from "../utils/table-text.js";
|
|
8
|
+
import { markdownTokenCache, containsMarkdownSyntax } from "../utils/markdown-cache.js";
|
|
8
9
|
/**
|
|
9
10
|
* Render a markdown string as Ink components.
|
|
10
11
|
*
|
|
@@ -89,19 +90,46 @@ export const Markdown = React.memo(function Markdown({ children, width: explicit
|
|
|
89
90
|
// stabilised body has changed by a meaningful amount (100+ chars) or
|
|
90
91
|
// on the final value. This reduces expensive marked.lexer calls from
|
|
91
92
|
// ~30/sec to ~5-10/sec during heavy streaming.
|
|
93
|
+
//
|
|
94
|
+
// Layered caching:
|
|
95
|
+
// 1. Plain-text fast path — skip marked.lexer() entirely for text with no markdown syntax
|
|
96
|
+
// 2. LRU cache (500 entries) — avoids re-parsing completed messages on scroll
|
|
97
|
+
// 3. Streaming throttle — skip re-parse if body grew < 100 chars
|
|
92
98
|
const lastParsedBodyRef = useRef("");
|
|
93
99
|
const lastTokensRef = useRef([]);
|
|
94
100
|
const tokens = useMemo(() => {
|
|
95
101
|
const body = stabilised.body;
|
|
96
102
|
const delta = body.length - lastParsedBodyRef.current.length;
|
|
97
|
-
//
|
|
98
|
-
if (lastTokensRef.current.length
|
|
99
|
-
lastParsedBodyRef.current = body;
|
|
100
|
-
lastTokensRef.current = marked.lexer(body);
|
|
103
|
+
// Streaming throttle: skip if delta is small and we already have tokens
|
|
104
|
+
if (lastTokensRef.current.length > 0 && delta > 0 && delta < 100) {
|
|
101
105
|
return lastTokensRef.current;
|
|
102
106
|
}
|
|
103
|
-
//
|
|
104
|
-
|
|
107
|
+
// Check LRU cache first (mainly benefits completed messages on re-render)
|
|
108
|
+
const cached = markdownTokenCache.get(body);
|
|
109
|
+
if (cached) {
|
|
110
|
+
lastParsedBodyRef.current = body;
|
|
111
|
+
lastTokensRef.current = cached;
|
|
112
|
+
return cached;
|
|
113
|
+
}
|
|
114
|
+
// Plain-text fast path: skip marked.lexer() for text with no markdown syntax
|
|
115
|
+
let result;
|
|
116
|
+
if (!containsMarkdownSyntax(body)) {
|
|
117
|
+
result = [
|
|
118
|
+
{
|
|
119
|
+
type: "paragraph",
|
|
120
|
+
raw: body,
|
|
121
|
+
text: body,
|
|
122
|
+
tokens: [{ type: "text", raw: body, text: body }],
|
|
123
|
+
},
|
|
124
|
+
];
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
result = marked.lexer(body);
|
|
128
|
+
}
|
|
129
|
+
lastParsedBodyRef.current = body;
|
|
130
|
+
lastTokensRef.current = result;
|
|
131
|
+
markdownTokenCache.set(body, result);
|
|
132
|
+
return result;
|
|
105
133
|
}, [stabilised.body]);
|
|
106
134
|
return (_jsxs(Box, { ref: ref, flexDirection: "column", flexShrink: 1, children: [renderTokens(tokens, theme, columns), stabilised.trailingFragment && _jsx(Text, { color: theme.text, children: stabilised.trailingFragment })] }));
|
|
107
135
|
});
|
|
@@ -300,4 +328,79 @@ function renderInline(tokens, theme, parentStyle) {
|
|
|
300
328
|
}
|
|
301
329
|
});
|
|
302
330
|
}
|
|
331
|
+
// ── Streaming Markdown ────────────────────────────────────────
|
|
332
|
+
//
|
|
333
|
+
// Splits text at the last top-level block boundary. Everything before
|
|
334
|
+
// the boundary is "stable" — memoized, never re-parsed. Only the
|
|
335
|
+
// final (unstable) block is re-parsed on each streaming delta, making
|
|
336
|
+
// the cost O(unstable tail) instead of O(full text).
|
|
337
|
+
/**
|
|
338
|
+
* Strip trailing incomplete table rows and unclosed code fences,
|
|
339
|
+
* identical to the stabilisation logic in <Markdown>.
|
|
340
|
+
*/
|
|
341
|
+
function stabilize(text) {
|
|
342
|
+
const lines = text.split("\n");
|
|
343
|
+
if (lines.length > 0) {
|
|
344
|
+
const lastLine = lines[lines.length - 1];
|
|
345
|
+
if (lastLine.startsWith("|") && !lastLine.trimEnd().endsWith("|")) {
|
|
346
|
+
lines.pop();
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
let body = lines.join("\n");
|
|
350
|
+
const fencePattern = /^(`{3,}|~{3,})([^\n]*)/m;
|
|
351
|
+
let searchFrom = 0;
|
|
352
|
+
while (searchFrom < body.length) {
|
|
353
|
+
const openMatch = fencePattern.exec(body.slice(searchFrom));
|
|
354
|
+
if (!openMatch)
|
|
355
|
+
break;
|
|
356
|
+
const openIdx = searchFrom + openMatch.index;
|
|
357
|
+
const fence = openMatch[1];
|
|
358
|
+
const afterOpen = body.indexOf("\n", openIdx);
|
|
359
|
+
if (afterOpen === -1)
|
|
360
|
+
break;
|
|
361
|
+
const closePattern = new RegExp(`^${fence[0]}{${fence.length},}\\s*$`, "m");
|
|
362
|
+
const closeMatch = closePattern.exec(body.slice(afterOpen));
|
|
363
|
+
if (closeMatch) {
|
|
364
|
+
searchFrom = afterOpen + closeMatch.index + closeMatch[0].length;
|
|
365
|
+
}
|
|
366
|
+
else {
|
|
367
|
+
body = body.slice(0, openIdx) + body.slice(afterOpen + 1);
|
|
368
|
+
break;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
return body;
|
|
372
|
+
}
|
|
373
|
+
export const StreamingMarkdown = React.memo(function StreamingMarkdown({ children, width, }) {
|
|
374
|
+
const stableBoundaryRef = useRef(0);
|
|
375
|
+
const stripped = useMemo(() => stabilize(children), [children]);
|
|
376
|
+
// Find the last top-level block boundary and advance stableBoundaryRef monotonically
|
|
377
|
+
const { stablePrefix, unstableSuffix } = useMemo(() => {
|
|
378
|
+
const boundary = stableBoundaryRef.current;
|
|
379
|
+
const tail = stripped.substring(boundary);
|
|
380
|
+
// Skip full lexing if tail is short enough — not worth the split overhead
|
|
381
|
+
if (tail.length < 200) {
|
|
382
|
+
return { stablePrefix: stripped.substring(0, boundary), unstableSuffix: tail };
|
|
383
|
+
}
|
|
384
|
+
const tokens = containsMarkdownSyntax(tail) ? marked.lexer(tail) : [];
|
|
385
|
+
// Find last non-space content token
|
|
386
|
+
let lastContentIdx = tokens.length - 1;
|
|
387
|
+
while (lastContentIdx >= 0 && tokens[lastContentIdx]?.type === "space") {
|
|
388
|
+
lastContentIdx--;
|
|
389
|
+
}
|
|
390
|
+
// Sum raw lengths of all tokens except the last = stable advancement
|
|
391
|
+
let advance = 0;
|
|
392
|
+
for (let i = 0; i < lastContentIdx; i++) {
|
|
393
|
+
advance += tokens[i].raw.length;
|
|
394
|
+
}
|
|
395
|
+
// Only advance forward (monotonic)
|
|
396
|
+
if (advance > 0) {
|
|
397
|
+
stableBoundaryRef.current = boundary + advance;
|
|
398
|
+
}
|
|
399
|
+
return {
|
|
400
|
+
stablePrefix: stripped.substring(0, stableBoundaryRef.current),
|
|
401
|
+
unstableSuffix: stripped.substring(stableBoundaryRef.current),
|
|
402
|
+
};
|
|
403
|
+
}, [stripped]);
|
|
404
|
+
return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [stablePrefix && _jsx(Markdown, { width: width, children: stablePrefix }), unstableSuffix && _jsx(Markdown, { width: width, children: unstableSuffix })] }));
|
|
405
|
+
});
|
|
303
406
|
//# sourceMappingURL=Markdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../../src/ui/components/Markdown.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAmB,MAAM,KAAK,CAAC;AAC5E,OAAO,EAAE,MAAM,EAA2B,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAc,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,aAAa,EACb,UAAU,EACV,eAAe,EACf,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,EACnD,QAAQ,EACR,KAAK,EAAE,aAAa,GAIrB;IACC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,MAAM,CAAa,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtD,2EAA2E;IAC3E,oEAAoE;IACpE,4DAA4D;IAC5D,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,aAAa,IAAI,IAAI;YAAE,OAAO;QAClC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;gBACzC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,wEAAwE;QACxE,gEAAgE;IAClE,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;IAEnC,MAAM,OAAO,GACX,aAAa,IAAI,IAAI;QACnB,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,aAAa,GAAG,CAAC;YACjB,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAElD,uEAAuE;IACvE,yEAAyE;IACzE,oEAAoE;IACpE,oEAAoE;IACpE,wDAAwD;IACxD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,0DAA0D;QAC1D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClE,gBAAgB,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;YAClC,CAAC;QACH,CAAC;QAED,4EAA4E;QAC5E,yEAAyE;QACzE,uEAAuE;QACvE,uEAAuE;QACvE,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,YAAY,GAAG,yBAAyB,CAAC;QAC/C,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,OAAO,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,SAAS;gBAAE,MAAM;YACtB,MAAM,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC;YAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC9C,IAAI,SAAS,KAAK,CAAC,CAAC;gBAAE,MAAM,CAAC,yBAAyB;YACtD,4EAA4E;YAC5E,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,SAAS,EAAE,GAAG,CAAC,CAAC;YAC5E,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5D,IAAI,UAAU,EAAE,CAAC;gBACf,iCAAiC;gBACjC,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,gEAAgE;gBAChE,iEAAiE;gBACjE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBAC1D,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACpC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,qEAAqE;IACrE,qEAAqE;IACrE,qEAAqE;IACrE,+CAA+C;IAC/C,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,aAAa,GAAG,MAAM,CAAU,EAAE,CAAC,CAAC;IAE1C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC;QAE7D,6EAA6E;QAC7E,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;YACpE,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YACjC,aAAa,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO,aAAa,CAAC,OAAO,CAAC;QAC/B,CAAC;QAED,8EAA8E;QAC9E,OAAO,aAAa,CAAC,OAAO,CAAC;IAC/B,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAEtB,OAAO,CACL,MAAC,GAAG,IAAC,GAAG,EAAE,GAAG,EAAE,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,aAChD,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EACpC,UAAU,CAAC,gBAAgB,IAAI,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,YAAG,UAAU,CAAC,gBAAgB,GAAQ,IACzF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,YAAY,CAAC,MAAe,EAAE,KAAY,EAAE,OAAe;IAClE,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,IAAI,KAAK,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAAY,EAAE,KAAY,EAAE,GAAW,EAAE,OAAe;IAC3E,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,sDAAsD;YACtD,MAAM,KAAK,GAAI,KAAwB,CAAC,KAAK,CAAC;YAC9C,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;YACtF,OAAO,CACL,KAAC,GAAG,IAAW,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,YAC1C,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,KAAK,YACpB,YAAY,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,GAC9C,IAHC,GAAG,CAIP,CACP,CAAC;QACJ,CAAC;QAED,KAAK,WAAW;YACd,OAAO,CACL,KAAC,GAAG,IAAW,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,YAC1C,KAAC,IAAI,cAAE,YAAY,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,CAAC,GAAQ,IAD9C,GAAG,CAEP,CACP,CAAC;QAEJ,KAAK,MAAM;YACT,OAAO,CACL,KAAC,GAAG,IAAW,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,YAChE,KAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAqB,EAAE,GAAW,EAAE,EAAE,CAAC,CACxE,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,YACtB,KAAqB,CAAC,OAAO;gCAC7B,CAAC,CAAC,GAAG,MAAM,CAAE,KAAqB,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI;gCACxD,CAAC,CAAC,IAAI,GACH,EACP,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,YACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAQ,EAAE,CAAS,EAAE,EAAE;gCACvC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oCACnD,OAAO,KAAC,IAAI,cAAU,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,IAAjC,CAAC,CAAwC,CAAC;gCAC9D,CAAC;gCACD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oCACtB,OAAO,CACL,KAAC,IAAI,IAAS,KAAK,EAAE,KAAK,CAAC,IAAI,YAC5B,CAAC,CAAC,GAAG,IADG,CAAC,CAEL,CACR,CAAC;gCACJ,CAAC;gCACD,OAAO,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;4BAC3C,CAAC,CAAC,GACE,KApBE,GAAG,CAqBP,CACP,CAAC,IAxBM,GAAG,CAyBP,CACP,CAAC;QAEJ,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,IAAI,GAAI,KAAqB,CAAC,IAAI,IAAI,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAI,KAAqB,CAAC,IAAI,CAAC;YAExC,4EAA4E;YAC5E,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClC,OAAO,CACL,KAAC,GAAG,IAAW,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,YAClE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,GAAW,EAAE,EAAE,CAAC,CAC5C,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,YAAG,IAAI,GAAQ,EACxC,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YAChB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,YAAG,IAAI,GAAQ,GAClC,KAJE,GAAG,CAKP,CACP,CAAC,IARM,GAAG,CASP,CACP,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7C,OAAO,CACL,MAAC,GAAG,IAAW,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,aAC3C,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,YAAG,IAAI,GAAQ,EACxC,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,aACvC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,kBAC/B,IAAI,GACA,EACN,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,GAAW,EAAE,EAAE,CAAC,CAC1D,KAAC,IAAI,cAAY,IAAI,IAAV,GAAG,CAAe,CAC9B,CAAC,IACE,KATE,GAAG,CAUP,CACP,CAAC;QACJ,CAAC;QAED,KAAK,YAAY;YACf,OAAO,CACL,MAAC,GAAG,IAAW,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,aAC3C,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,wBAAW,EACpC,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC,YACtC,CAAE,KAA2B,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAQ,EAAE,CAAS,EAAE,EAAE;4BACvE,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gCAC3B,OAAO,CACL,KAAC,IAAI,IAAS,MAAM,QAAC,KAAK,EAAE,KAAK,CAAC,SAAS,YACxC,YAAY,CAAE,CAAsB,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,EAAE;wCACzD,KAAK,EAAE,KAAK,CAAC,SAAS;qCACvB,CAAC,IAHO,CAAC,CAIL,CACR,CAAC;4BACJ,CAAC;4BACD,OAAO,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;wBAC3C,CAAC,CAAC,GACE,KAfE,GAAG,CAgBP,CACP,CAAC;QAEJ,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,KAAqB,CAAC;YACpC,kCAAkC;YAClC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;gBAClD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAC9B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,EACnE,CAAC,CACF,CAAC;gBACF,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YAEH,2FAA2F;YAC3F,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;YACrC,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,mCAAmC;YACjE,MAAM,YAAY,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,4CAA4C;YAC9E,MAAM,mBAAmB,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;YAC9D,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAE9D,IAAI,SAAmB,CAAC;YACxB,IAAI,YAAY,IAAI,mBAAmB,EAAE,CAAC;gBACxC,SAAS,GAAG,aAAa,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,mEAAmE;gBACnE,uEAAuE;gBACvE,SAAS,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;gBAC/B,IAAI,SAAS,GAAG,mBAAmB,CAAC;gBACpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;gBACjC,OAAO,MAAM,CAAC,IAAI,GAAG,OAAO,EAAE,CAAC;oBAC7B,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACrD,IAAI,OAAO,GAAG,KAAK,CAAC;oBACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC1C,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;4BAAE,SAAS;wBAC5B,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;4BACzB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BACd,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;4BAC1B,OAAO,GAAG,IAAI,CAAC;wBACjB,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,2DAA2D;wBAC3D,+DAA+D;wBAC/D,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;wBACzD,IAAI,QAAQ,GAAG,SAAS,GAAG,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC;wBACtD,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;4BAC7B,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC7C,IAAI,QAAQ,GAAG,CAAC;gCAAE,QAAQ,EAAE,CAAC;wBAC/B,CAAC;wBACD,MAAM;oBACR,CAAC;gBACH,CAAC;gBAED,0EAA0E;gBAC1E,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5D,IAAI,cAAc,GAAG,mBAAmB,EAAE,CAAC;oBACzC,MAAM,MAAM,GAAG,cAAc,GAAG,mBAAmB,CAAC;oBACpD,oCAAoC;oBACpC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7E,IAAI,MAAM,GAAG,MAAM,CAAC;oBACpB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,IAAI,MAAM,IAAI,CAAC;4BAAE,MAAM;wBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC3C,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;wBAC3B,MAAM,IAAI,IAAI,CAAC;oBACjB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,OAAO,CAAC;YAC5B,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,KAAa,EAAE,EAAE,CACzD,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAEnE,2EAA2E;YAC3E,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAClD,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAC7C,CAAC;YACF,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnF,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACzC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CACpE,CAAC;YACF,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC7C,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CACjD,CAAC;YAEF,yDAAyD;YACzD,MAAM,YAAY,GAAG,CAAC,YAAwB,EAAE,OAAe,EAAE,EAAE;gBACjE,IAAI,GAAG,GAAG,EAAE,CAAC;gBACb,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;oBAChD,6DAA6D;oBAC7D,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;oBACxE,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;gBAC3B,CAAC;gBACD,GAAG,IAAI,GAAG,CAAC;gBACX,OAAO,GAAG,CAAC;YACb,CAAC,CAAC;YAEF,OAAO,CACL,MAAC,GAAG,IAAW,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,GAAG,aAElD,KAAC,IAAI,IAAC,KAAK,EAAE,WAAW,YAAG,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAQ,EAEtD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAClD,KAAC,IAAI,IAAoB,KAAK,EAAE,WAAW,EAAE,IAAI,kBAC9C,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC,IADvB,QAAQ,EAAE,EAAE,CAEhB,CACR,CAAC,EAEF,KAAC,IAAI,IAAC,KAAK,EAAE,WAAW,YAAG,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAQ,EAEtD,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CACnC,MAAC,KAAK,CAAC,QAAQ,eACZ,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CACrD,KAAC,IAAI,IAAuB,KAAK,EAAE,WAAW,YAC3C,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,IADpB,IAAI,EAAE,KAAK,EAAE,EAAE,CAEnB,CACR,CAAC,EAED,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAC7B,KAAC,IAAI,IAAC,KAAK,EAAE,WAAW,YAAG,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAQ,CACxD,KATkB,EAAE,CAUN,CAClB,CAAC,EAEF,KAAC,IAAI,IAAC,KAAK,EAAE,WAAW,YAAG,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAQ,KA1B/C,GAAG,CA2BP,CACP,CAAC;QACJ,CAAC;QAED,KAAK,IAAI;YACP,OAAO,CACL,KAAC,GAAG,IAAW,SAAS,EAAE,GAAG,YAC3B,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,YAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAQ,IAD1C,GAAG,CAEP,CACP,CAAC;QAEJ,KAAK,OAAO;YACV,OAAO,IAAI,CAAC;QAEd;YACE,IAAI,KAAK,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACpD,OAAO,CACL,KAAC,IAAI,IAAW,KAAK,EAAE,KAAK,CAAC,IAAI,YAC9B,KAAK,CAAC,GAAG,IADD,GAAG,CAEP,CACR,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,8DAA8D;AAE9D,kFAAkF;AAClF,SAAS,gBAAgB,CAAC,MAAe,EAAE,KAAa;IACtD,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,2FAA2F;AAC3F,SAAS,gBAAgB,CAAC,MAAe,EAAE,KAAa;IACtD,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACzD,CAAC;AAQD,SAAS,YAAY,CAAC,MAAe,EAAE,KAAY,EAAE,WAAyB;IAC5E,MAAM,YAAY,GAAG,WAAW,EAAE,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC;IAEtD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC7B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,CACL,KAAC,IAAI,IAAS,IAAI,QAAC,KAAK,EAAE,YAAY,YACnC,YAAY,CAAE,KAAuB,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,IAD3E,CAAC,CAEL,CACR,CAAC;YAEJ,KAAK,IAAI;gBACP,OAAO,CACL,KAAC,IAAI,IAAS,MAAM,QAAC,KAAK,EAAE,YAAY,YACrC,YAAY,CAAE,KAAmB,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,IADvE,CAAC,CAEL,CACR,CAAC;YAEJ,KAAK,UAAU;gBACb,OAAO,CACL,KAAC,IAAI,IAAS,KAAK,EAAC,SAAS,YACzB,KAAyB,CAAC,IAAI,IADvB,CAAC,CAEL,CACR,CAAC;YAEJ,KAAK,KAAK;gBACR,OAAO,CACL,KAAC,IAAI,IAAS,aAAa,QAAC,KAAK,EAAE,KAAK,CAAC,OAAO,YAC5C,KAAoB,CAAC,IAAI,IADlB,CAAC,CAEL,CACR,CAAC;YAEJ,KAAK,MAAM;gBACT,OAAO,CACL,KAAC,IAAI,IAAS,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,kBACzC,KAAqB,CAAC,IAAI,IADnB,CAAC,CAEL,CACR,CAAC;YAEJ,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,SAAS,GAAG,KAAoB,CAAC;gBACvC,IAAI,QAAQ,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC9C,OAAO,CACL,KAAC,IAAI,IAAS,KAAK,EAAE,YAAY,YAC9B,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,IAD1C,CAAC,CAEL,CACR,CAAC;gBACJ,CAAC;gBACD,qEAAqE;gBACrE,OAAO,CACL,KAAC,IAAI,IAAS,KAAK,EAAE,YAAY,YAC9B,SAAS,CAAC,GAAG,IADL,CAAC,CAEL,CACR,CAAC;YACJ,CAAC;YAED,KAAK,QAAQ;gBACX,OAAO,CACL,KAAC,IAAI,IAAS,KAAK,EAAE,YAAY,YAC7B,KAAuB,CAAC,IAAI,IADrB,CAAC,CAEL,CACR,CAAC;YAEJ,KAAK,IAAI;gBACP,OAAO,KAAC,IAAI,cAAU,IAAI,IAAR,CAAC,CAAe,CAAC;YAErC;gBACE,IAAI,KAAK,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACpD,OAAO,CACL,KAAC,IAAI,IAAS,KAAK,EAAE,YAAY,YAC9B,KAAK,CAAC,GAAG,IADD,CAAC,CAEL,CACR,CAAC;gBACJ,CAAC;gBACD,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"Markdown.js","sourceRoot":"","sources":["../../../src/ui/components/Markdown.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface Props {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
height?: number;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Tool result bracket wrapper.
|
|
8
|
+
*
|
|
9
|
+
* Renders the `⎿` bracket pattern used by claude-code to visually
|
|
10
|
+
* distinguish tool output from regular text:
|
|
11
|
+
*
|
|
12
|
+
* ```
|
|
13
|
+
* ⎿ [content]
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* - Left gutter: 2 spaces + bracket + 2 spaces (6 chars), dimColor,
|
|
17
|
+
* wrapped in NoSelect so terminal copy-paste skips the bracket.
|
|
18
|
+
* - React Context prevents nested brackets when a tool result contains
|
|
19
|
+
* another tool result (e.g. subagent output).
|
|
20
|
+
* - Wrapped in Ratchet (lock="offscreen") to prevent height shrinking
|
|
21
|
+
* during streaming re-parses, unless an explicit height is provided.
|
|
22
|
+
*/
|
|
23
|
+
export declare function MessageResponse({ children, height }: Props): React.ReactNode;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=MessageResponse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageResponse.d.ts","sourceRoot":"","sources":["../../../src/ui/components/MessageResponse.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAMzD,UAAU,KAAK;IACb,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AASD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS,CA8B5E"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { createContext, useContext } from "react";
|
|
3
|
+
import { Text, Box } from "ink";
|
|
4
|
+
import { NoSelect } from "./NoSelect.js";
|
|
5
|
+
import { Ratchet } from "./Ratchet.js";
|
|
6
|
+
import { RETURN_SYMBOL } from "../constants/figures.js";
|
|
7
|
+
/**
|
|
8
|
+
* Context that prevents nested MessageResponse components from rendering
|
|
9
|
+
* duplicate ⎿ brackets — child MessageResponses check the context and
|
|
10
|
+
* return just their children without the bracket wrapper.
|
|
11
|
+
*/
|
|
12
|
+
const MessageResponseContext = createContext(false);
|
|
13
|
+
/**
|
|
14
|
+
* Tool result bracket wrapper.
|
|
15
|
+
*
|
|
16
|
+
* Renders the `⎿` bracket pattern used by claude-code to visually
|
|
17
|
+
* distinguish tool output from regular text:
|
|
18
|
+
*
|
|
19
|
+
* ```
|
|
20
|
+
* ⎿ [content]
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* - Left gutter: 2 spaces + bracket + 2 spaces (6 chars), dimColor,
|
|
24
|
+
* wrapped in NoSelect so terminal copy-paste skips the bracket.
|
|
25
|
+
* - React Context prevents nested brackets when a tool result contains
|
|
26
|
+
* another tool result (e.g. subagent output).
|
|
27
|
+
* - Wrapped in Ratchet (lock="offscreen") to prevent height shrinking
|
|
28
|
+
* during streaming re-parses, unless an explicit height is provided.
|
|
29
|
+
*/
|
|
30
|
+
export function MessageResponse({ children, height }) {
|
|
31
|
+
const isNested = useContext(MessageResponseContext);
|
|
32
|
+
// Prevent double brackets in nested tool results
|
|
33
|
+
if (isNested) {
|
|
34
|
+
return _jsx(_Fragment, { children: children });
|
|
35
|
+
}
|
|
36
|
+
const content = (_jsx(MessageResponseContext, { value: true, children: _jsxs(Box, { flexDirection: "row", height: height, overflowY: "hidden", children: [_jsx(NoSelect, { fromLeftEdge: true, flexShrink: 0, children: _jsxs(Text, { dimColor: true, children: [" ", RETURN_SYMBOL, " "] }) }), _jsx(Box, { flexShrink: 1, flexGrow: 1, children: children })] }) }));
|
|
37
|
+
if (height !== undefined) {
|
|
38
|
+
return content;
|
|
39
|
+
}
|
|
40
|
+
return _jsx(Ratchet, { lock: "offscreen", children: content });
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=MessageResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageResponse.js","sourceRoot":"","sources":["../../../src/ui/components/MessageResponse.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAOxD;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AAEpD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAS;IACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAEpD,iDAAiD;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,4BAAG,QAAQ,GAAI,CAAC;IACzB,CAAC;IAED,MAAM,OAAO,GAAG,CACd,KAAC,sBAAsB,IAAC,KAAK,EAAE,IAAI,YACjC,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,QAAQ,aACzD,KAAC,QAAQ,IAAC,YAAY,QAAC,UAAU,EAAE,CAAC,YAClC,MAAC,IAAI,IAAC,QAAQ,mBACX,IAAI,EACJ,aAAa,EACb,IAAI,IACA,GACE,EACX,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,YAC5B,QAAQ,GACL,IACF,GACiB,CAC1B,CAAC;IAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,KAAC,OAAO,IAAC,IAAI,EAAC,WAAW,YAAE,OAAO,GAAW,CAAC;AACvD,CAAC"}
|