wave-code 0.11.6 → 0.12.0
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/acp/agent.d.ts.map +1 -1
- package/dist/acp/agent.js +9 -0
- package/dist/commands/update.d.ts +2 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +97 -0
- package/dist/components/App.js +1 -1
- package/dist/components/BtwDisplay.d.ts +8 -0
- package/dist/components/BtwDisplay.d.ts.map +1 -0
- package/dist/components/BtwDisplay.js +9 -0
- package/dist/components/ChatInterface.d.ts.map +1 -1
- package/dist/components/ChatInterface.js +3 -5
- package/dist/components/ConfirmationDetails.d.ts.map +1 -1
- package/dist/components/ConfirmationDetails.js +7 -1
- package/dist/components/InputBox.d.ts.map +1 -1
- package/dist/components/InputBox.js +18 -4
- package/dist/components/MessageBlockItem.d.ts.map +1 -1
- package/dist/components/MessageBlockItem.js +2 -1
- package/dist/components/MessageList.d.ts +1 -2
- package/dist/components/MessageList.d.ts.map +1 -1
- package/dist/components/MessageList.js +9 -6
- package/dist/components/ModelSelector.d.ts +9 -0
- package/dist/components/ModelSelector.d.ts.map +1 -0
- package/dist/components/ModelSelector.js +34 -0
- package/dist/components/RewindCommand.js +2 -2
- package/dist/components/SlashDisplay.d.ts +9 -0
- package/dist/components/SlashDisplay.d.ts.map +1 -0
- package/dist/components/SlashDisplay.js +20 -0
- package/dist/components/StatusLine.d.ts +8 -0
- package/dist/components/StatusLine.d.ts.map +1 -0
- package/dist/components/StatusLine.js +5 -0
- package/dist/constants/commands.d.ts.map +1 -1
- package/dist/constants/commands.js +12 -0
- package/dist/contexts/useChat.d.ts +8 -0
- package/dist/contexts/useChat.d.ts.map +1 -1
- package/dist/contexts/useChat.js +61 -1
- package/dist/hooks/useInputManager.d.ts +5 -0
- package/dist/hooks/useInputManager.d.ts.map +1 -1
- package/dist/hooks/useInputManager.js +58 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/managers/inputHandlers.d.ts +1 -1
- package/dist/managers/inputHandlers.d.ts.map +1 -1
- package/dist/managers/inputHandlers.js +74 -5
- package/dist/managers/inputReducer.d.ts +22 -0
- package/dist/managers/inputReducer.d.ts.map +1 -1
- package/dist/managers/inputReducer.js +23 -0
- package/dist/utils/version.d.ts +2 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +4 -0
- package/package.json +4 -2
- package/src/acp/agent.ts +10 -0
- package/src/commands/update.ts +116 -0
- package/src/components/App.tsx +1 -1
- package/src/components/BtwDisplay.tsx +33 -0
- package/src/components/ChatInterface.tsx +25 -29
- package/src/components/ConfirmationDetails.tsx +14 -0
- package/src/components/InputBox.tsx +47 -17
- package/src/components/MessageBlockItem.tsx +5 -5
- package/src/components/MessageList.tsx +9 -10
- package/src/components/ModelSelector.tsx +109 -0
- package/src/components/RewindCommand.tsx +2 -2
- package/src/components/SlashDisplay.tsx +70 -0
- package/src/components/StatusLine.tsx +36 -0
- package/src/constants/commands.ts +12 -0
- package/src/contexts/useChat.tsx +82 -1
- package/src/hooks/useInputManager.ts +69 -0
- package/src/index.ts +9 -0
- package/src/managers/inputHandlers.ts +92 -4
- package/src/managers/inputReducer.ts +41 -1
- package/src/utils/version.ts +8 -0
|
@@ -12,6 +12,13 @@ export interface AttachedImage {
|
|
|
12
12
|
mimeType: string;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
export interface BtwState {
|
|
16
|
+
isActive: boolean;
|
|
17
|
+
question: string;
|
|
18
|
+
answer?: string;
|
|
19
|
+
isLoading: boolean;
|
|
20
|
+
}
|
|
21
|
+
|
|
15
22
|
export interface InputManagerCallbacks {
|
|
16
23
|
onInputTextChange?: (text: string) => void;
|
|
17
24
|
onCursorPositionChange?: (position: number) => void;
|
|
@@ -33,6 +40,7 @@ export interface InputManagerCallbacks {
|
|
|
33
40
|
onHelpStateChange?: (show: boolean) => void;
|
|
34
41
|
onStatusCommandStateChange?: (show: boolean) => void;
|
|
35
42
|
onPluginManagerStateChange?: (show: boolean) => void;
|
|
43
|
+
onModelSelectorStateChange?: (show: boolean) => void;
|
|
36
44
|
onImagesStateChange?: (images: AttachedImage[]) => void;
|
|
37
45
|
onSendMessage?: (
|
|
38
46
|
content: string,
|
|
@@ -43,6 +51,9 @@ export interface InputManagerCallbacks {
|
|
|
43
51
|
onAbortMessage?: () => void;
|
|
44
52
|
onBackgroundCurrentTask?: () => void;
|
|
45
53
|
onPermissionModeChange?: (mode: PermissionMode) => void;
|
|
54
|
+
onAskBtw?: (question: string) => Promise<string>;
|
|
55
|
+
btwState?: BtwState;
|
|
56
|
+
onBtwStateChange?: (payload: Partial<BtwState>) => void;
|
|
46
57
|
sessionId?: string;
|
|
47
58
|
workdir?: string;
|
|
48
59
|
getFullMessageThread?: () => Promise<{
|
|
@@ -74,7 +85,9 @@ export interface InputState {
|
|
|
74
85
|
showHelp: boolean;
|
|
75
86
|
showStatusCommand: boolean;
|
|
76
87
|
showPluginManager: boolean;
|
|
88
|
+
showModelSelector: boolean;
|
|
77
89
|
permissionMode: PermissionMode;
|
|
90
|
+
allowBypassInCycle: boolean;
|
|
78
91
|
selectorJustUsed: boolean;
|
|
79
92
|
isPasting: boolean;
|
|
80
93
|
pasteBuffer: string;
|
|
@@ -84,6 +97,7 @@ export interface InputState {
|
|
|
84
97
|
originalInputText: string;
|
|
85
98
|
originalLongTextMap: Record<string, string>;
|
|
86
99
|
isFileSearching: boolean;
|
|
100
|
+
btwState: BtwState;
|
|
87
101
|
}
|
|
88
102
|
|
|
89
103
|
export const initialState: InputState = {
|
|
@@ -108,7 +122,9 @@ export const initialState: InputState = {
|
|
|
108
122
|
showHelp: false,
|
|
109
123
|
showStatusCommand: false,
|
|
110
124
|
showPluginManager: false,
|
|
125
|
+
showModelSelector: false,
|
|
111
126
|
permissionMode: "default",
|
|
127
|
+
allowBypassInCycle: false,
|
|
112
128
|
selectorJustUsed: false,
|
|
113
129
|
isPasting: false,
|
|
114
130
|
pasteBuffer: "",
|
|
@@ -118,6 +134,11 @@ export const initialState: InputState = {
|
|
|
118
134
|
originalInputText: "",
|
|
119
135
|
originalLongTextMap: {},
|
|
120
136
|
isFileSearching: false,
|
|
137
|
+
btwState: {
|
|
138
|
+
isActive: false,
|
|
139
|
+
question: "",
|
|
140
|
+
isLoading: false,
|
|
141
|
+
},
|
|
121
142
|
};
|
|
122
143
|
|
|
123
144
|
export type InputAction =
|
|
@@ -145,7 +166,9 @@ export type InputAction =
|
|
|
145
166
|
| { type: "SET_SHOW_HELP"; payload: boolean }
|
|
146
167
|
| { type: "SET_SHOW_STATUS_COMMAND"; payload: boolean }
|
|
147
168
|
| { type: "SET_SHOW_PLUGIN_MANAGER"; payload: boolean }
|
|
169
|
+
| { type: "SET_SHOW_MODEL_SELECTOR"; payload: boolean }
|
|
148
170
|
| { type: "SET_PERMISSION_MODE"; payload: PermissionMode }
|
|
171
|
+
| { type: "SET_ALLOW_BYPASS_IN_CYCLE"; payload: boolean }
|
|
149
172
|
| { type: "SET_SELECTOR_JUST_USED"; payload: boolean }
|
|
150
173
|
| { type: "INSERT_TEXT_WITH_PLACEHOLDER"; payload: string }
|
|
151
174
|
| { type: "CLEAR_LONG_TEXT_MAP" }
|
|
@@ -160,7 +183,8 @@ export type InputAction =
|
|
|
160
183
|
| { type: "SET_HISTORY_ENTRIES"; payload: PromptEntry[] }
|
|
161
184
|
| { type: "NAVIGATE_HISTORY"; payload: "up" | "down" }
|
|
162
185
|
| { type: "RESET_HISTORY_NAVIGATION" }
|
|
163
|
-
| { type: "SELECT_HISTORY_ENTRY"; payload: PromptEntry }
|
|
186
|
+
| { type: "SELECT_HISTORY_ENTRY"; payload: PromptEntry }
|
|
187
|
+
| { type: "SET_BTW_STATE"; payload: Partial<BtwState> };
|
|
164
188
|
|
|
165
189
|
export function inputReducer(
|
|
166
190
|
state: InputState,
|
|
@@ -338,8 +362,16 @@ export function inputReducer(
|
|
|
338
362
|
showPluginManager: action.payload,
|
|
339
363
|
selectorJustUsed: !action.payload ? true : state.selectorJustUsed,
|
|
340
364
|
};
|
|
365
|
+
case "SET_SHOW_MODEL_SELECTOR":
|
|
366
|
+
return {
|
|
367
|
+
...state,
|
|
368
|
+
showModelSelector: action.payload,
|
|
369
|
+
selectorJustUsed: !action.payload ? true : state.selectorJustUsed,
|
|
370
|
+
};
|
|
341
371
|
case "SET_PERMISSION_MODE":
|
|
342
372
|
return { ...state, permissionMode: action.payload };
|
|
373
|
+
case "SET_ALLOW_BYPASS_IN_CYCLE":
|
|
374
|
+
return { ...state, allowBypassInCycle: action.payload };
|
|
343
375
|
case "SET_SELECTOR_JUST_USED":
|
|
344
376
|
return { ...state, selectorJustUsed: action.payload };
|
|
345
377
|
case "INSERT_TEXT_WITH_PLACEHOLDER": {
|
|
@@ -483,6 +515,14 @@ export function inputReducer(
|
|
|
483
515
|
originalInputText: "",
|
|
484
516
|
originalLongTextMap: {},
|
|
485
517
|
};
|
|
518
|
+
case "SET_BTW_STATE":
|
|
519
|
+
return {
|
|
520
|
+
...state,
|
|
521
|
+
btwState: {
|
|
522
|
+
...state.btwState,
|
|
523
|
+
...action.payload,
|
|
524
|
+
},
|
|
525
|
+
};
|
|
486
526
|
default:
|
|
487
527
|
return state;
|
|
488
528
|
}
|