@roackb2/heddle 0.0.36 → 0.0.38
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/README.md +2 -0
- package/dist/examples/repo-investigator.js +1 -2
- package/dist/examples/repo-investigator.js.map +1 -1
- package/dist/src/cli/ask.d.ts.map +1 -1
- package/dist/src/cli/ask.js +11 -0
- package/dist/src/cli/ask.js.map +1 -1
- package/dist/src/cli/chat/App.d.ts.map +1 -1
- package/dist/src/cli/chat/App.js +123 -93
- package/dist/src/cli/chat/App.js.map +1 -1
- package/dist/src/cli/chat/components/ModelPickerPanel.d.ts +2 -1
- package/dist/src/cli/chat/components/ModelPickerPanel.d.ts.map +1 -1
- package/dist/src/cli/chat/components/ModelPickerPanel.js +8 -4
- package/dist/src/cli/chat/components/ModelPickerPanel.js.map +1 -1
- package/dist/src/cli/chat/components/PromptInput.d.ts +5 -0
- package/dist/src/cli/chat/components/PromptInput.d.ts.map +1 -1
- package/dist/src/cli/chat/components/PromptInput.js +131 -85
- package/dist/src/cli/chat/components/PromptInput.js.map +1 -1
- package/dist/src/cli/chat/debug/tui-debug-snapshot.d.ts +2 -1
- package/dist/src/cli/chat/debug/tui-debug-snapshot.d.ts.map +1 -1
- package/dist/src/cli/chat/debug/tui-debug-snapshot.js +14 -1
- package/dist/src/cli/chat/debug/tui-debug-snapshot.js.map +1 -1
- package/dist/src/cli/chat/hooks/tui-agent-turn-lifecycle.d.ts +6 -0
- package/dist/src/cli/chat/hooks/tui-agent-turn-lifecycle.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/tui-agent-turn-lifecycle.js +38 -0
- package/dist/src/cli/chat/hooks/tui-agent-turn-lifecycle.js.map +1 -0
- package/dist/src/cli/chat/hooks/tui-agent-turn-result.d.ts +48 -0
- package/dist/src/cli/chat/hooks/tui-agent-turn-result.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/tui-agent-turn-result.js +171 -0
- package/dist/src/cli/chat/hooks/tui-agent-turn-result.js.map +1 -0
- package/dist/src/cli/chat/hooks/tui-compaction-status.d.ts +24 -0
- package/dist/src/cli/chat/hooks/tui-compaction-status.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/tui-compaction-status.js +65 -0
- package/dist/src/cli/chat/hooks/tui-compaction-status.js.map +1 -0
- package/dist/src/cli/chat/hooks/tui-direct-shell-result.d.ts +28 -0
- package/dist/src/cli/chat/hooks/tui-direct-shell-result.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/tui-direct-shell-result.js +41 -0
- package/dist/src/cli/chat/hooks/tui-direct-shell-result.js.map +1 -0
- package/dist/src/cli/chat/hooks/tui-direct-shell.d.ts +22 -0
- package/dist/src/cli/chat/hooks/tui-direct-shell.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/tui-direct-shell.js +127 -0
- package/dist/src/cli/chat/hooks/tui-direct-shell.js.map +1 -0
- package/dist/src/cli/chat/hooks/tui-drift-observer.d.ts +13 -0
- package/dist/src/cli/chat/hooks/tui-drift-observer.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/tui-drift-observer.js +36 -0
- package/dist/src/cli/chat/hooks/tui-drift-observer.js.map +1 -0
- package/dist/src/cli/chat/hooks/tui-ordinary-turn.d.ts +31 -0
- package/dist/src/cli/chat/hooks/tui-ordinary-turn.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/tui-ordinary-turn.js +82 -0
- package/dist/src/cli/chat/hooks/tui-ordinary-turn.js.map +1 -0
- package/dist/src/cli/chat/hooks/tui-run-loop-events.d.ts +23 -0
- package/dist/src/cli/chat/hooks/tui-run-loop-events.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/tui-run-loop-events.js +74 -0
- package/dist/src/cli/chat/hooks/tui-run-loop-events.js.map +1 -0
- package/dist/src/cli/chat/hooks/tui-tool-approval.d.ts +8 -0
- package/dist/src/cli/chat/hooks/tui-tool-approval.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/tui-tool-approval.js +37 -0
- package/dist/src/cli/chat/hooks/tui-tool-approval.js.map +1 -0
- package/dist/src/cli/chat/hooks/useAgentRun.d.ts +1 -1
- package/dist/src/cli/chat/hooks/useAgentRun.d.ts.map +1 -1
- package/dist/src/cli/chat/hooks/useAgentRun.js +59 -551
- package/dist/src/cli/chat/hooks/useAgentRun.js.map +1 -1
- package/dist/src/cli/chat/hooks/useApprovalFlow.d.ts.map +1 -1
- package/dist/src/cli/chat/hooks/useApprovalFlow.js +3 -3
- package/dist/src/cli/chat/hooks/useApprovalFlow.js.map +1 -1
- package/dist/src/cli/chat/hooks/useChatPickers.d.ts +6 -3
- package/dist/src/cli/chat/hooks/useChatPickers.d.ts.map +1 -1
- package/dist/src/cli/chat/hooks/useChatPickers.js +17 -4
- package/dist/src/cli/chat/hooks/useChatPickers.js.map +1 -1
- package/dist/src/cli/chat/hooks/useChatSessions.d.ts +1 -1
- package/dist/src/cli/chat/hooks/useChatSessions.d.ts.map +1 -1
- package/dist/src/cli/chat/hooks/useChatSessions.js +23 -20
- package/dist/src/cli/chat/hooks/useChatSessions.js.map +1 -1
- package/dist/src/cli/chat/hooks/useChatStatusSummary.d.ts +58 -0
- package/dist/src/cli/chat/hooks/useChatStatusSummary.d.ts.map +1 -0
- package/dist/src/cli/chat/hooks/useChatStatusSummary.js +85 -0
- package/dist/src/cli/chat/hooks/useChatStatusSummary.js.map +1 -0
- package/dist/src/cli/chat/hooks/usePromptSubmission.d.ts +2 -1
- package/dist/src/cli/chat/hooks/usePromptSubmission.d.ts.map +1 -1
- package/dist/src/cli/chat/hooks/usePromptSubmission.js +5 -1
- package/dist/src/cli/chat/hooks/usePromptSubmission.js.map +1 -1
- package/dist/src/cli/chat/state/local-commands.d.ts +2 -0
- package/dist/src/cli/chat/state/local-commands.d.ts.map +1 -1
- package/dist/src/cli/chat/state/local-commands.js +17 -3
- package/dist/src/cli/chat/state/local-commands.js.map +1 -1
- package/dist/src/cli/chat/submit.d.ts.map +1 -1
- package/dist/src/cli/chat/submit.js +13 -1
- package/dist/src/cli/chat/submit.js.map +1 -1
- package/dist/src/cli/chat/utils/format.d.ts.map +1 -1
- package/dist/src/cli/chat/utils/format.js +21 -0
- package/dist/src/cli/chat/utils/format.js.map +1 -1
- package/dist/src/cli/chat/utils/runtime.d.ts.map +1 -1
- package/dist/src/cli/chat/utils/runtime.js +5 -3
- package/dist/src/cli/chat/utils/runtime.js.map +1 -1
- package/dist/src/cli/eval/index.d.ts +24 -0
- package/dist/src/cli/eval/index.d.ts.map +1 -0
- package/dist/src/cli/eval/index.js +232 -0
- package/dist/src/cli/eval/index.js.map +1 -0
- package/dist/src/cli/main.js +25 -3
- package/dist/src/cli/main.js.map +1 -1
- package/dist/src/cli/remote/control-plane-client.d.ts +5 -1
- package/dist/src/cli/remote/control-plane-client.d.ts.map +1 -1
- package/dist/src/core/agent/mutation-tracking.d.ts +0 -7
- package/dist/src/core/agent/mutation-tracking.d.ts.map +1 -1
- package/dist/src/core/agent/mutation-tracking.js +5 -63
- package/dist/src/core/agent/mutation-tracking.js.map +1 -1
- package/dist/src/core/agent/post-mutation.d.ts +2 -2
- package/dist/src/core/agent/post-mutation.d.ts.map +1 -1
- package/dist/src/core/agent/post-mutation.js +5 -20
- package/dist/src/core/agent/post-mutation.js.map +1 -1
- package/dist/src/core/agent/progress-reminders.d.ts +1 -4
- package/dist/src/core/agent/progress-reminders.d.ts.map +1 -1
- package/dist/src/core/agent/progress-reminders.js +4 -56
- package/dist/src/core/agent/progress-reminders.js.map +1 -1
- package/dist/src/core/agent/run-agent.d.ts.map +1 -1
- package/dist/src/core/agent/run-agent.js +3 -103
- package/dist/src/core/agent/run-agent.js.map +1 -1
- package/dist/src/core/agent/tool-dispatch.js +3 -2
- package/dist/src/core/agent/tool-dispatch.js.map +1 -1
- package/dist/src/core/chat/ordinary-turn.d.ts +34 -0
- package/dist/src/core/chat/ordinary-turn.d.ts.map +1 -0
- package/dist/src/core/chat/ordinary-turn.js +274 -0
- package/dist/src/core/chat/ordinary-turn.js.map +1 -0
- package/dist/src/core/chat/session-submit.d.ts +4 -4
- package/dist/src/core/chat/session-submit.d.ts.map +1 -1
- package/dist/src/core/chat/session-submit.js +22 -282
- package/dist/src/core/chat/session-submit.js.map +1 -1
- package/dist/src/core/chat/session-title.d.ts +15 -0
- package/dist/src/core/chat/session-title.d.ts.map +1 -0
- package/dist/src/core/chat/session-title.js +17 -0
- package/dist/src/core/chat/session-title.js.map +1 -0
- package/dist/src/core/chat/session-turn-preflight.d.ts +37 -0
- package/dist/src/core/chat/session-turn-preflight.d.ts.map +1 -0
- package/dist/src/core/chat/session-turn-preflight.js +43 -0
- package/dist/src/core/chat/session-turn-preflight.js.map +1 -0
- package/dist/src/core/chat/session-turn-result.d.ts +36 -0
- package/dist/src/core/chat/session-turn-result.d.ts.map +1 -0
- package/dist/src/core/chat/session-turn-result.js +60 -0
- package/dist/src/core/chat/session-turn-result.js.map +1 -0
- package/dist/src/core/chat/tool-approval-host.d.ts +22 -0
- package/dist/src/core/chat/tool-approval-host.d.ts.map +1 -0
- package/dist/src/core/chat/tool-approval-host.js +14 -0
- package/dist/src/core/chat/tool-approval-host.js.map +1 -0
- package/dist/src/core/chat/turn-host.d.ts +25 -0
- package/dist/src/core/chat/turn-host.d.ts.map +1 -0
- package/dist/src/core/chat/turn-host.js +2 -0
- package/dist/src/core/chat/turn-host.js.map +1 -0
- package/dist/src/core/chat/types.d.ts +1 -0
- package/dist/src/core/chat/types.d.ts.map +1 -1
- package/dist/src/core/config.d.ts +1 -1
- package/dist/src/core/config.d.ts.map +1 -1
- package/dist/src/core/config.js +1 -1
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/eval/agent-runner.d.ts +24 -0
- package/dist/src/core/eval/agent-runner.d.ts.map +1 -0
- package/dist/src/core/eval/agent-runner.js +151 -0
- package/dist/src/core/eval/agent-runner.js.map +1 -0
- package/dist/src/core/eval/case-loader.d.ts +7 -0
- package/dist/src/core/eval/case-loader.d.ts.map +1 -0
- package/dist/src/core/eval/case-loader.js +34 -0
- package/dist/src/core/eval/case-loader.js.map +1 -0
- package/dist/src/core/eval/check-runner.d.ts +8 -0
- package/dist/src/core/eval/check-runner.d.ts.map +1 -0
- package/dist/src/core/eval/check-runner.js +33 -0
- package/dist/src/core/eval/check-runner.js.map +1 -0
- package/dist/src/core/eval/cleanup.d.ts +20 -0
- package/dist/src/core/eval/cleanup.d.ts.map +1 -0
- package/dist/src/core/eval/cleanup.js +42 -0
- package/dist/src/core/eval/cleanup.js.map +1 -0
- package/dist/src/core/eval/git-artifacts.d.ts +26 -0
- package/dist/src/core/eval/git-artifacts.d.ts.map +1 -0
- package/dist/src/core/eval/git-artifacts.js +211 -0
- package/dist/src/core/eval/git-artifacts.js.map +1 -0
- package/dist/src/core/eval/process.d.ts +22 -0
- package/dist/src/core/eval/process.d.ts.map +1 -0
- package/dist/src/core/eval/process.js +65 -0
- package/dist/src/core/eval/process.js.map +1 -0
- package/dist/src/core/eval/progress.d.ts +28 -0
- package/dist/src/core/eval/progress.d.ts.map +1 -0
- package/dist/src/core/eval/progress.js +94 -0
- package/dist/src/core/eval/progress.js.map +1 -0
- package/dist/src/core/eval/report-writer.d.ts +7 -0
- package/dist/src/core/eval/report-writer.d.ts.map +1 -0
- package/dist/src/core/eval/report-writer.js +159 -0
- package/dist/src/core/eval/report-writer.js.map +1 -0
- package/dist/src/core/eval/schema.d.ts +206 -0
- package/dist/src/core/eval/schema.d.ts.map +1 -0
- package/dist/src/core/eval/schema.js +104 -0
- package/dist/src/core/eval/schema.js.map +1 -0
- package/dist/src/core/eval/trace-analyzer.d.ts +6 -0
- package/dist/src/core/eval/trace-analyzer.d.ts.map +1 -0
- package/dist/src/core/eval/trace-analyzer.js +106 -0
- package/dist/src/core/eval/trace-analyzer.js.map +1 -0
- package/dist/src/core/eval/workspace-fixture.d.ts +14 -0
- package/dist/src/core/eval/workspace-fixture.d.ts.map +1 -0
- package/dist/src/core/eval/workspace-fixture.js +235 -0
- package/dist/src/core/eval/workspace-fixture.js.map +1 -0
- package/dist/src/core/llm/model-policy.d.ts +26 -0
- package/dist/src/core/llm/model-policy.d.ts.map +1 -1
- package/dist/src/core/llm/model-policy.js +47 -0
- package/dist/src/core/llm/model-policy.js.map +1 -1
- package/dist/src/core/memory/domain-prompt.d.ts.map +1 -1
- package/dist/src/core/memory/domain-prompt.js +48 -40
- package/dist/src/core/memory/domain-prompt.js.map +1 -1
- package/dist/src/core/prompts/system-prompt.d.ts +1 -1
- package/dist/src/core/prompts/system-prompt.d.ts.map +1 -1
- package/dist/src/core/prompts/system-prompt.js +19 -100
- package/dist/src/core/prompts/system-prompt.js.map +1 -1
- package/dist/src/core/runtime/agent-loop.d.ts.map +1 -1
- package/dist/src/core/runtime/agent-loop.js +9 -3
- package/dist/src/core/runtime/agent-loop.js.map +1 -1
- package/dist/src/core/runtime/default-tools.d.ts.map +1 -1
- package/dist/src/core/runtime/default-tools.js +1 -2
- package/dist/src/core/runtime/default-tools.js.map +1 -1
- package/dist/src/core/tools/file-edit-core.d.ts.map +1 -1
- package/dist/src/core/tools/file-edit-core.js +21 -2
- package/dist/src/core/tools/file-edit-core.js.map +1 -1
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +0 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/server/features/control-plane/router.d.ts +5 -1
- package/dist/src/server/features/control-plane/router.d.ts.map +1 -1
- package/dist/src/server/features/control-plane/router.js +16 -2
- package/dist/src/server/features/control-plane/router.js.map +1 -1
- package/dist/src/server/features/control-plane/services/chat-session-events.d.ts +26 -0
- package/dist/src/server/features/control-plane/services/chat-session-events.d.ts.map +1 -0
- package/dist/src/server/features/control-plane/services/chat-session-events.js +61 -0
- package/dist/src/server/features/control-plane/services/chat-session-events.js.map +1 -0
- package/dist/src/server/features/control-plane/services/chat-sessions.d.ts +2 -1
- package/dist/src/server/features/control-plane/services/chat-sessions.d.ts.map +1 -1
- package/dist/src/server/features/control-plane/services/chat-sessions.js +30 -42
- package/dist/src/server/features/control-plane/services/chat-sessions.js.map +1 -1
- package/dist/src/server/router.d.ts +5 -1
- package/dist/src/server/router.d.ts.map +1 -1
- package/dist/src/web/assets/{MonacoDiffViewer-DM8Cy5Xf.js → MonacoDiffViewer-DP7GeCEC.js} +1 -1
- package/dist/src/web/assets/index-CYd4sslC.css +2 -0
- package/dist/src/web/assets/index-PUxjg447.js +56 -0
- package/dist/src/web/index.html +2 -2
- package/package.json +7 -2
- package/dist/src/core/tools/report-state.d.ts +0 -3
- package/dist/src/core/tools/report-state.d.ts.map +0 -1
- package/dist/src/core/tools/report-state.js +0 -63
- package/dist/src/core/tools/report-state.js.map +0 -1
- package/dist/src/web/assets/index-BEeN-RT5.css +0 -2
- package/dist/src/web/assets/index-BKDg9H_-.js +0 -56
|
@@ -1,102 +1,47 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo } from 'react';
|
|
2
|
+
import { useEffect, useMemo, useRef } from 'react';
|
|
3
3
|
import { Box, Text, useInput } from 'ink';
|
|
4
4
|
const DEFAULT_MAX_VISIBLE_INPUT_LINES = 8;
|
|
5
5
|
const FALLBACK_WRAP_WIDTH = 80;
|
|
6
6
|
export function PromptInput({ value, isDisabled, placeholder, maxVisibleLines = DEFAULT_MAX_VISIBLE_INPUT_LINES, cursor, onChange, onCursorChange, onSubmit, onSpecialKey, }) {
|
|
7
|
+
const valueRef = useRef(value);
|
|
8
|
+
const cursorRef = useRef(cursor);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
valueRef.current = value;
|
|
11
|
+
}, [value]);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
cursorRef.current = cursor;
|
|
14
|
+
}, [cursor]);
|
|
15
|
+
const applyDraft = (nextValue, nextCursor) => {
|
|
16
|
+
valueRef.current = nextValue;
|
|
17
|
+
cursorRef.current = nextCursor;
|
|
18
|
+
onChange(nextValue);
|
|
19
|
+
onCursorChange(nextCursor);
|
|
20
|
+
};
|
|
7
21
|
useInput((input, key) => {
|
|
8
22
|
if (isDisabled) {
|
|
9
23
|
return;
|
|
10
24
|
}
|
|
25
|
+
const state = {
|
|
26
|
+
value: valueRef.current,
|
|
27
|
+
cursor: Math.min(cursorRef.current, valueRef.current.length),
|
|
28
|
+
};
|
|
29
|
+
const actions = {
|
|
30
|
+
applyDraft,
|
|
31
|
+
moveCursor: (nextCursor) => {
|
|
32
|
+
cursorRef.current = nextCursor;
|
|
33
|
+
onCursorChange(nextCursor);
|
|
34
|
+
},
|
|
35
|
+
onSubmit,
|
|
36
|
+
};
|
|
11
37
|
if (onSpecialKey?.({ input, key })) {
|
|
12
38
|
return;
|
|
13
39
|
}
|
|
14
|
-
|
|
15
|
-
|
|
40
|
+
const command = resolvePromptInputCommand(input, key);
|
|
41
|
+
if (!command) {
|
|
16
42
|
return;
|
|
17
43
|
}
|
|
18
|
-
|
|
19
|
-
onChange(insertAtCursor(value, cursor, '\n'));
|
|
20
|
-
onCursorChange(cursor + 1);
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
if (key.meta && key.backspace) {
|
|
24
|
-
const nextCursor = findPreviousWordBoundary(value, cursor);
|
|
25
|
-
onChange(removeRange(value, nextCursor, cursor));
|
|
26
|
-
onCursorChange(nextCursor);
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
if (key.ctrl && input === 'u') {
|
|
30
|
-
onChange(value.slice(cursor));
|
|
31
|
-
onCursorChange(0);
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
if (key.ctrl && input === 'k') {
|
|
35
|
-
onChange(value.slice(0, cursor));
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
if (key.ctrl && input === 'a') {
|
|
39
|
-
onCursorChange(0);
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
if (key.ctrl && input === 'e') {
|
|
43
|
-
onCursorChange(value.length);
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
if (key.ctrl && input === 'w') {
|
|
47
|
-
const nextCursor = findPreviousWordBoundary(value, cursor);
|
|
48
|
-
onChange(removeRange(value, nextCursor, cursor));
|
|
49
|
-
onCursorChange(nextCursor);
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
if (key.meta && input === 'b') {
|
|
53
|
-
onCursorChange(findPreviousWordBoundary(value, cursor));
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
if (key.meta && input === 'f') {
|
|
57
|
-
onCursorChange(findNextWordBoundary(value, cursor));
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
if (key.backspace || key.delete) {
|
|
61
|
-
if (cursor === 0) {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
onChange(removeRange(value, cursor - 1, cursor));
|
|
65
|
-
onCursorChange(cursor - 1);
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
if (key.meta && key.leftArrow) {
|
|
69
|
-
onCursorChange(findPreviousWordBoundary(value, cursor));
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
if (key.meta && key.rightArrow) {
|
|
73
|
-
onCursorChange(findNextWordBoundary(value, cursor));
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
if (key.leftArrow) {
|
|
77
|
-
onCursorChange(Math.max(0, cursor - 1));
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
if (key.rightArrow) {
|
|
81
|
-
onCursorChange(Math.min(value.length, cursor + 1));
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
if (key.home) {
|
|
85
|
-
onCursorChange(0);
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
if (key.end) {
|
|
89
|
-
onCursorChange(value.length);
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
if (key.ctrl || key.meta || key.escape || key.tab) {
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
if (!input) {
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
onChange(insertAtCursor(value, cursor, input));
|
|
99
|
-
onCursorChange(cursor + input.length);
|
|
44
|
+
handlePromptInputCommand(command, state, actions);
|
|
100
45
|
}, { isActive: !isDisabled });
|
|
101
46
|
const lines = useMemo(() => buildPromptRenderLines(value, cursor, maxVisibleLines), [value, cursor, maxVisibleLines]);
|
|
102
47
|
if (!value) {
|
|
@@ -106,6 +51,107 @@ export function PromptInput({ value, isDisabled, placeholder, maxVisibleLines =
|
|
|
106
51
|
_jsxs(_Fragment, { children: [line.before, _jsx(Text, { inverse: true, children: line.cursor }), line.after] })
|
|
107
52
|
: (line.before || ' ') }, `${index}-${line.before}-${line.cursor}-${line.after}-${line.hasCursor}`))) }));
|
|
108
53
|
}
|
|
54
|
+
const CTRL_COMMANDS = new Map([
|
|
55
|
+
['a', { kind: 'move', direction: 'start' }],
|
|
56
|
+
['e', { kind: 'move', direction: 'end' }],
|
|
57
|
+
['k', { kind: 'deleteAfterCursor' }],
|
|
58
|
+
['u', { kind: 'deleteBeforeCursor' }],
|
|
59
|
+
['w', { kind: 'deletePreviousWord' }],
|
|
60
|
+
]);
|
|
61
|
+
const META_TEXT_COMMANDS = new Map([
|
|
62
|
+
['b', { kind: 'move', direction: 'previousWord' }],
|
|
63
|
+
['f', { kind: 'move', direction: 'nextWord' }],
|
|
64
|
+
]);
|
|
65
|
+
export function insertPromptText(state, input) {
|
|
66
|
+
return {
|
|
67
|
+
value: insertAtCursor(state.value, state.cursor, input),
|
|
68
|
+
cursor: state.cursor + input.length,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function resolvePromptInputCommand(input, key) {
|
|
72
|
+
if (key.return) {
|
|
73
|
+
return key.shift ? { kind: 'insert', input: '\n' } : { kind: 'submit' };
|
|
74
|
+
}
|
|
75
|
+
if (key.ctrl && input) {
|
|
76
|
+
return CTRL_COMMANDS.get(input);
|
|
77
|
+
}
|
|
78
|
+
if (key.meta && input) {
|
|
79
|
+
return META_TEXT_COMMANDS.get(input);
|
|
80
|
+
}
|
|
81
|
+
if (key.meta && key.backspace) {
|
|
82
|
+
return { kind: 'deletePreviousWord' };
|
|
83
|
+
}
|
|
84
|
+
if (key.backspace || key.delete) {
|
|
85
|
+
return { kind: 'deletePreviousChar' };
|
|
86
|
+
}
|
|
87
|
+
if (key.meta && key.leftArrow) {
|
|
88
|
+
return { kind: 'move', direction: 'previousWord' };
|
|
89
|
+
}
|
|
90
|
+
if (key.meta && key.rightArrow) {
|
|
91
|
+
return { kind: 'move', direction: 'nextWord' };
|
|
92
|
+
}
|
|
93
|
+
if (key.leftArrow) {
|
|
94
|
+
return { kind: 'move', direction: 'previousChar' };
|
|
95
|
+
}
|
|
96
|
+
if (key.rightArrow) {
|
|
97
|
+
return { kind: 'move', direction: 'nextChar' };
|
|
98
|
+
}
|
|
99
|
+
if (key.home) {
|
|
100
|
+
return { kind: 'move', direction: 'start' };
|
|
101
|
+
}
|
|
102
|
+
if (key.end) {
|
|
103
|
+
return { kind: 'move', direction: 'end' };
|
|
104
|
+
}
|
|
105
|
+
if (key.ctrl || key.meta || key.escape || key.tab || !input) {
|
|
106
|
+
return undefined;
|
|
107
|
+
}
|
|
108
|
+
return { kind: 'insert', input };
|
|
109
|
+
}
|
|
110
|
+
function handlePromptInputCommand(command, state, actions) {
|
|
111
|
+
const applyState = (next) => actions.applyDraft(next.value, next.cursor);
|
|
112
|
+
switch (command.kind) {
|
|
113
|
+
case 'submit':
|
|
114
|
+
actions.onSubmit(state.value);
|
|
115
|
+
return;
|
|
116
|
+
case 'insert':
|
|
117
|
+
applyState(insertPromptText(state, command.input));
|
|
118
|
+
return;
|
|
119
|
+
case 'deletePreviousChar':
|
|
120
|
+
if (state.cursor > 0) {
|
|
121
|
+
applyState({ value: removeRange(state.value, state.cursor - 1, state.cursor), cursor: state.cursor - 1 });
|
|
122
|
+
}
|
|
123
|
+
return;
|
|
124
|
+
case 'deletePreviousWord': {
|
|
125
|
+
const nextCursor = findPreviousWordBoundary(state.value, state.cursor);
|
|
126
|
+
applyState({ value: removeRange(state.value, nextCursor, state.cursor), cursor: nextCursor });
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
case 'deleteBeforeCursor':
|
|
130
|
+
applyState({ value: state.value.slice(state.cursor), cursor: 0 });
|
|
131
|
+
return;
|
|
132
|
+
case 'deleteAfterCursor':
|
|
133
|
+
applyState({ value: state.value.slice(0, state.cursor), cursor: state.cursor });
|
|
134
|
+
return;
|
|
135
|
+
case 'move':
|
|
136
|
+
actions.moveCursor(resolvePromptCursorMove(state, command.direction));
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
function resolvePromptCursorMove(state, direction) {
|
|
140
|
+
switch (direction) {
|
|
141
|
+
case 'start':
|
|
142
|
+
return 0;
|
|
143
|
+
case 'end':
|
|
144
|
+
return state.value.length;
|
|
145
|
+
case 'previousChar':
|
|
146
|
+
return Math.max(0, state.cursor - 1);
|
|
147
|
+
case 'nextChar':
|
|
148
|
+
return Math.min(state.value.length, state.cursor + 1);
|
|
149
|
+
case 'previousWord':
|
|
150
|
+
return findPreviousWordBoundary(state.value, state.cursor);
|
|
151
|
+
case 'nextWord':
|
|
152
|
+
return findNextWordBoundary(state.value, state.cursor);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
109
155
|
export function buildPromptRenderLines(value, cursor, maxVisibleLines, width = FALLBACK_WRAP_WIDTH) {
|
|
110
156
|
const rawLines = value.split('\n');
|
|
111
157
|
const rendered = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromptInput.js","sourceRoot":"","sources":["../../../../../src/cli/chat/components/PromptInput.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"PromptInput.js","sourceRoot":"","sources":["../../../../../src/cli/chat/components/PromptInput.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAE1C,MAAM,+BAA+B,GAAG,CAAC,CAAC;AAC1C,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAsB/B,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,UAAU,EACV,WAAW,EACX,eAAe,GAAG,+BAA+B,EACjD,MAAM,EACN,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,YAAY,GAWb;IACC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;IAC3B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;IAC7B,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,UAAU,GAAG,CAAC,SAAiB,EAAE,UAAkB,EAAE,EAAE;QAC3D,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC;QAC7B,SAAS,CAAC,OAAO,GAAG,UAAU,CAAC;QAC/B,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,cAAc,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,UAAU,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG;YACZ,KAAK,EAAE,QAAQ,CAAC,OAAO;YACvB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;SAC7D,CAAC;QACF,MAAM,OAAO,GAAuB;YAClC,UAAU;YACV,UAAU,EAAE,CAAC,UAAU,EAAE,EAAE;gBACzB,SAAS,CAAC,OAAO,GAAG,UAAU,CAAC;gBAC/B,cAAc,CAAC,UAAU,CAAC,CAAC;YAC7B,CAAC;YACD,QAAQ;SACT,CAAC;QAEF,IAAI,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,wBAAwB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;IAE9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAEtH,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAC,IAAI,IAAC,QAAQ,kBAAE,WAAW,GAAQ,CAAC;IAC7C,CAAC;IAED,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1B,KAAC,IAAI,cACF,IAAI,CAAC,SAAS,CAAC,CAAC;gBACf,8BACG,IAAI,CAAC,MAAM,EACZ,KAAC,IAAI,IAAC,OAAO,kBAAE,IAAI,CAAC,MAAM,GAAQ,EACjC,IAAI,CAAC,KAAK,IACV;gBACL,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,IAPb,GAAG,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAQ5E,CACR,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAsBD,MAAM,aAAa,GAAG,IAAI,GAAG,CAA6B;IACxD,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IAC3C,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;IACpC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;IACrC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;CACtC,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAA6B;IAC7D,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;IAClD,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,UAAU,gBAAgB,CAAC,KAAuB,EAAE,KAAa;IACrE,OAAO;QACL,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;QACvD,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAa,EAAE,GAA0B;IAC1E,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC1E,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;QACtB,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;QACtB,OAAO,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;IACrD,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAClB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;IACrD,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAA2B,EAC3B,KAAuB,EACvB,OAA2B;IAE3B,MAAM,UAAU,GAAG,CAAC,IAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAE3F,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9B,OAAO;QACT,KAAK,QAAQ;YACX,UAAU,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACnD,OAAO;QACT,KAAK,oBAAoB;YACvB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5G,CAAC;YACD,OAAO;QACT,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACvE,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAC9F,OAAO;QACT,CAAC;QACD,KAAK,oBAAoB;YACvB,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAClE,OAAO;QACT,KAAK,mBAAmB;YACtB,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAChF,OAAO;QACT,KAAK,MAAM;YACT,OAAO,CAAC,UAAU,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAuB,EAAE,SAAqE;IAC7H,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,CAAC,CAAC;QACX,KAAK,KAAK;YACR,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAC5B,KAAK,cAAc;YACjB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,KAAK,UAAU;YACb,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxD,KAAK,cAAc;YACjB,OAAO,wBAAwB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7D,KAAK,UAAU;YACb,OAAO,oBAAoB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AASD,MAAM,UAAU,sBAAsB,CACpC,KAAa,EACb,MAAc,EACd,eAAuB,EACvB,KAAK,GAAG,mBAAmB;IAE3B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,aAAa,CAAC;QAChC,MAAM,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;QACxC,MAAM,iBAAiB,GAAG,SAAS,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC5D,IAAI,YAAY,GAAG,SAAS,CAAC;QAE7B,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,YAAY,IAAI,CAAC,EAAE,CAAC;YAC5E,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;YACjD,MAAM,oBAAoB,GAAG,YAAY,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACjE,MAAM,SAAS,GACb,MAAM,IAAI,YAAY;gBACtB,CACE,MAAM,GAAG,UAAU;oBACnB,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,YAAY,CAAC;oBACjD,CAAC,oBAAoB,IAAI,iBAAiB,IAAI,MAAM,KAAK,OAAO,CAAC,CAClE,CAAC;YAEJ,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,YAAY,GAAG,MAAM,GAAG,YAAY,CAAC;gBAC3C,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC;oBACtC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,GAAG;oBACpC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;oBACtC,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,EAAE;oBACT,SAAS,EAAE,KAAK;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,YAAY,GAAG,UAAU,CAAC;QAC5B,CAAC;QAED,aAAa,GAAG,OAAO,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC;QACvC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAa;IAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,EAAE,CAAC;QACxD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,MAAc,EAAE,KAAa;IAClE,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,KAAa,EAAE,GAAW;IAC5D,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa,EAAE,MAAc;IAC7D,IAAI,KAAK,GAAG,MAAM,CAAC;IAEnB,OAAO,KAAK,GAAG,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa,EAAE,MAAc;IACzD,IAAI,KAAK,GAAG,MAAM,CAAC;IAEnB,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC5D,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAC7D,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAAwB;IAC9C,OAAO,CAAC,IAAI,IAAI,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type CredentialAwareModelOption } from '../../../core/llm/model-policy.js';
|
|
1
2
|
import type { ChatSession, ConversationLine, PendingApproval } from '../state/types.js';
|
|
2
3
|
type ActiveTurnSnapshot = {
|
|
3
4
|
title: string;
|
|
@@ -26,7 +27,7 @@ export declare function buildTuiDebugSnapshot(args: {
|
|
|
26
27
|
modelPicker?: {
|
|
27
28
|
visible: boolean;
|
|
28
29
|
query?: string;
|
|
29
|
-
items:
|
|
30
|
+
items: CredentialAwareModelOption[];
|
|
30
31
|
highlightedIndex: number;
|
|
31
32
|
};
|
|
32
33
|
sessionPicker?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-debug-snapshot.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/debug/tui-debug-snapshot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tui-debug-snapshot.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/debug/tui-debug-snapshot.ts"],"names":[],"mappings":"AACA,OAAO,EAAiC,KAAK,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAEnH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGxF,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,cAAc,CAAC,EAAE,SAAS,GAAG,eAAe,GAAG,MAAM,CAAC;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE;QACZ,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,0BAA0B,EAAE,CAAC;QACpC,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,aAAa,CAAC,EAAE;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC3C,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,iBAAiB,CAAC,EAAE;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH,GAAG,MAAM,CA0GT"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { buildPromptRenderLines } from '../components/PromptInput.js';
|
|
2
|
+
import { OPENAI_OAUTH_MODE_DESCRIPTION } from '../../../core/llm/model-policy.js';
|
|
2
3
|
import { getLocalCommandHints } from '../state/local-commands.js';
|
|
3
4
|
import { formatApprovalHint, summarizePendingApproval, truncate } from '../utils/format.js';
|
|
4
5
|
export function buildTuiDebugSnapshot(args) {
|
|
@@ -62,7 +63,10 @@ export function buildTuiDebugSnapshot(args) {
|
|
|
62
63
|
if (args.modelPicker?.visible) {
|
|
63
64
|
lines.push('Model picker');
|
|
64
65
|
lines.push(args.modelPicker.query ? `Search: ${args.modelPicker.query}` : 'Type after /model set to filter. Use ↑/↓ or Tab to choose.');
|
|
65
|
-
|
|
66
|
+
if (args.modelPicker.items.some((item) => item.disabled)) {
|
|
67
|
+
lines.push(OPENAI_OAUTH_MODE_DESCRIPTION);
|
|
68
|
+
}
|
|
69
|
+
lines.push(...renderCredentialAwareModelPickerLines(args.modelPicker.items, args.modelPicker.highlightedIndex));
|
|
66
70
|
lines.push('');
|
|
67
71
|
}
|
|
68
72
|
if (args.sessionPicker?.visible) {
|
|
@@ -97,6 +101,15 @@ function renderPickerLines(items, highlightedIndex) {
|
|
|
97
101
|
}
|
|
98
102
|
return items.slice(0, 8).map((item, index) => `${index === highlightedIndex ? '◉' : '○'} ${item}`);
|
|
99
103
|
}
|
|
104
|
+
function renderCredentialAwareModelPickerLines(items, highlightedIndex) {
|
|
105
|
+
if (items.length === 0) {
|
|
106
|
+
return ['No matching entries.'];
|
|
107
|
+
}
|
|
108
|
+
return items.slice(0, 8).map((item, index) => {
|
|
109
|
+
const suffix = item.disabled ? ` (${item.disabledReason ?? 'Not supported'})` : '';
|
|
110
|
+
return `${index === highlightedIndex ? '◉' : '○'} ${item.id}${suffix}`;
|
|
111
|
+
});
|
|
112
|
+
}
|
|
100
113
|
function indentLines(lines) {
|
|
101
114
|
return lines.map((line) => ` ${line || ' '}`);
|
|
102
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-debug-snapshot.js","sourceRoot":"","sources":["../../../../../src/cli/chat/debug/tui-debug-snapshot.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tui-debug-snapshot.js","sourceRoot":"","sources":["../../../../../src/cli/chat/debug/tui-debug-snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ActionState } from './useAgentRun.js';
|
|
2
|
+
export declare function beginTuiAgentTurn(state: ActionState): AbortController;
|
|
3
|
+
export declare function finishTuiAgentTurn(state: ActionState): void;
|
|
4
|
+
export declare function beginTuiDirectShellAction(state: ActionState, command: string): AbortController;
|
|
5
|
+
export declare function finishTuiDirectShellAction(state: ActionState): void;
|
|
6
|
+
//# sourceMappingURL=tui-agent-turn-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tui-agent-turn-lifecycle.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/tui-agent-turn-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,eAAe,CASrE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,QAEpD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,eAAe,CAM9F;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,WAAW,QAI5D"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export function beginTuiAgentTurn(state) {
|
|
2
|
+
const abortController = beginTuiRunningAction(state);
|
|
3
|
+
state.setLiveEvents([]);
|
|
4
|
+
state.setCurrentEditPreview(undefined);
|
|
5
|
+
state.setCurrentPlan(undefined);
|
|
6
|
+
state.setCurrentAssistantText(undefined);
|
|
7
|
+
return abortController;
|
|
8
|
+
}
|
|
9
|
+
export function finishTuiAgentTurn(state) {
|
|
10
|
+
finishTuiRunningAction(state);
|
|
11
|
+
}
|
|
12
|
+
export function beginTuiDirectShellAction(state, command) {
|
|
13
|
+
const abortController = beginTuiRunningAction(state);
|
|
14
|
+
state.setLiveEvents([{ id: state.nextLocalId(), text: `running direct shell (${command})` }]);
|
|
15
|
+
return abortController;
|
|
16
|
+
}
|
|
17
|
+
export function finishTuiDirectShellAction(state) {
|
|
18
|
+
state.setPendingApproval(undefined);
|
|
19
|
+
state.setApprovalChoice('approve');
|
|
20
|
+
finishTuiRunningAction(state);
|
|
21
|
+
}
|
|
22
|
+
function beginTuiRunningAction(state) {
|
|
23
|
+
const abortController = new AbortController();
|
|
24
|
+
state.setError(undefined);
|
|
25
|
+
state.setIsRunning(true);
|
|
26
|
+
state.setStatus('Running');
|
|
27
|
+
state.interruptRequestedRef.current = false;
|
|
28
|
+
state.setInterruptRequested(false);
|
|
29
|
+
state.abortControllerRef.current = abortController;
|
|
30
|
+
return abortController;
|
|
31
|
+
}
|
|
32
|
+
function finishTuiRunningAction(state) {
|
|
33
|
+
state.setIsRunning(false);
|
|
34
|
+
state.interruptRequestedRef.current = false;
|
|
35
|
+
state.setInterruptRequested(false);
|
|
36
|
+
state.abortControllerRef.current = undefined;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=tui-agent-turn-lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tui-agent-turn-lifecycle.js","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/tui-agent-turn-lifecycle.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAAC,KAAkB;IAClD,MAAM,eAAe,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAErD,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACxB,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACvC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAChC,KAAK,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAEzC,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAkB;IACnD,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAkB,EAAE,OAAe;IAC3E,MAAM,eAAe,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAErD,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,yBAAyB,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;IAE9F,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAkB;IAC3D,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACpC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACnC,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAkB;IAC/C,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAE9C,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC1B,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACzB,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3B,KAAK,CAAC,qBAAqB,CAAC,OAAO,GAAG,KAAK,CAAC;IAC5C,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACnC,KAAK,CAAC,kBAAkB,CAAC,OAAO,GAAG,eAAe,CAAC;IAEnD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAkB;IAChD,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC1B,KAAK,CAAC,qBAAqB,CAAC,OAAO,GAAG,KAAK,CAAC;IAC5C,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACnC,KAAK,CAAC,kBAAkB,CAAC,OAAO,GAAG,SAAS,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { ChatMessage, LlmAdapter, RunResult } from '../../../index.js';
|
|
2
|
+
import type { ChatSession } from '../state/types.js';
|
|
3
|
+
import type { ChatRuntimeConfig } from '../utils/runtime.js';
|
|
4
|
+
import type { ActionState } from './useAgentRun.js';
|
|
5
|
+
import type { TuiCompactionStatusEvent } from './tui-compaction-status.js';
|
|
6
|
+
type SessionUpdater = (sessionId: string, updater: (session: ChatSession) => ChatSession) => void;
|
|
7
|
+
export declare function adaptPersistedTuiOrdinaryTurn(args: {
|
|
8
|
+
session: ChatSession;
|
|
9
|
+
displayText?: string;
|
|
10
|
+
outcome: RunResult['outcome'];
|
|
11
|
+
}): ChatSession;
|
|
12
|
+
export declare function applyTuiAgentTurnResult(args: {
|
|
13
|
+
result: RunResult;
|
|
14
|
+
prompt: string;
|
|
15
|
+
sessionId: string;
|
|
16
|
+
historyForRun: ChatMessage[];
|
|
17
|
+
toolNames: string[];
|
|
18
|
+
runtime: ChatRuntimeConfig;
|
|
19
|
+
llm: LlmAdapter;
|
|
20
|
+
state: ActionState;
|
|
21
|
+
updateSessionById: SessionUpdater;
|
|
22
|
+
maybeAutoNameSession: (sessionId: string, prompt: string, responseText: string) => void;
|
|
23
|
+
emitCompactionStatus: (event: TuiCompactionStatusEvent, sourceHistory: RunResult['transcript']) => void;
|
|
24
|
+
}): Promise<void>;
|
|
25
|
+
export declare function finalizeSuccessfulTuiOrdinaryTurn(args: {
|
|
26
|
+
persistedSession: ChatSession;
|
|
27
|
+
displayText?: string;
|
|
28
|
+
outcome: RunResult['outcome'];
|
|
29
|
+
prompt: string;
|
|
30
|
+
sessionId: string;
|
|
31
|
+
state: ActionState;
|
|
32
|
+
maybeAutoNameSession: (sessionId: string, prompt: string, responseText: string) => void;
|
|
33
|
+
updateSessionById: SessionUpdater;
|
|
34
|
+
}): {
|
|
35
|
+
session: ChatSession;
|
|
36
|
+
summaryText: string;
|
|
37
|
+
latestHistory: ChatMessage[];
|
|
38
|
+
};
|
|
39
|
+
export declare function applyTuiAgentTurnFailure(args: {
|
|
40
|
+
error: unknown;
|
|
41
|
+
promptHistory: RunResult['transcript'];
|
|
42
|
+
model: string;
|
|
43
|
+
state: ActionState;
|
|
44
|
+
sessionId: string;
|
|
45
|
+
updateSessionById: SessionUpdater;
|
|
46
|
+
}): Promise<void>;
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=tui-agent-turn-result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tui-agent-turn-result.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/hooks/tui-agent-turn-result.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAK5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,KAAK,cAAc,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,WAAW,KAAK,IAAI,CAAC;AAElG,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAClD,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC/B,GAAG,WAAW,CAiBd;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAClD,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,WAAW,CAAC;IACnB,iBAAiB,EAAE,cAAc,CAAC;IAClC,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,oBAAoB,EAAE,CAAC,KAAK,EAAE,wBAAwB,EAAE,aAAa,EAAE,SAAS,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;CACzG,GAAG,OAAO,CAAC,IAAI,CAAC,CAoEhB;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE;IACtD,gBAAgB,EAAE,WAAW,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,WAAW,CAAC;IACnB,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,iBAAiB,EAAE,cAAc,CAAC;CACnC;;;;EAoCA;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,cAAc,CAAC;CACnC,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBhB"}
|