@vybestack/llxprt-code 0.8.0-nightly.260111.af7260fe6 → 0.8.0-nightly.260112.d9cf7fbc6
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/package.json +3 -3
- package/dist/src/generated/git-commit.d.ts +1 -1
- package/dist/src/generated/git-commit.js +1 -1
- package/dist/src/ui/AppContainer.js +24 -0
- package/dist/src/ui/AppContainer.js.map +1 -1
- package/dist/src/ui/commands/subagentCommand.js +58 -244
- package/dist/src/ui/commands/subagentCommand.js.map +1 -1
- package/dist/src/ui/commands/test/subagentCommand.schema.test.js +4 -3
- package/dist/src/ui/commands/test/subagentCommand.schema.test.js.map +1 -1
- package/dist/src/ui/commands/test/subagentCommand.test.js +44 -124
- package/dist/src/ui/commands/test/subagentCommand.test.js.map +1 -1
- package/dist/src/ui/commands/types.d.ts +33 -2
- package/dist/src/ui/commands/types.js.map +1 -1
- package/dist/src/ui/components/DialogManager.js +5 -0
- package/dist/src/ui/components/DialogManager.js.map +1 -1
- package/dist/src/ui/components/SubagentManagement/ProfileAttachmentWizard.d.ts +24 -0
- package/dist/src/ui/components/SubagentManagement/ProfileAttachmentWizard.js +102 -0
- package/dist/src/ui/components/SubagentManagement/ProfileAttachmentWizard.js.map +1 -0
- package/dist/src/ui/components/SubagentManagement/SubagentCreationWizard.d.ts +14 -0
- package/dist/src/ui/components/SubagentManagement/SubagentCreationWizard.js +179 -0
- package/dist/src/ui/components/SubagentManagement/SubagentCreationWizard.js.map +1 -0
- package/dist/src/ui/components/SubagentManagement/SubagentDeleteDialog.d.ts +15 -0
- package/dist/src/ui/components/SubagentManagement/SubagentDeleteDialog.js +47 -0
- package/dist/src/ui/components/SubagentManagement/SubagentDeleteDialog.js.map +1 -0
- package/dist/src/ui/components/SubagentManagement/SubagentEditForm.d.ts +18 -0
- package/dist/src/ui/components/SubagentManagement/SubagentEditForm.js +111 -0
- package/dist/src/ui/components/SubagentManagement/SubagentEditForm.js.map +1 -0
- package/dist/src/ui/components/SubagentManagement/SubagentListMenu.d.ts +19 -0
- package/dist/src/ui/components/SubagentManagement/SubagentListMenu.js +137 -0
- package/dist/src/ui/components/SubagentManagement/SubagentListMenu.js.map +1 -0
- package/dist/src/ui/components/SubagentManagement/SubagentMainMenu.d.ts +13 -0
- package/dist/src/ui/components/SubagentManagement/SubagentMainMenu.js +14 -0
- package/dist/src/ui/components/SubagentManagement/SubagentMainMenu.js.map +1 -0
- package/dist/src/ui/components/SubagentManagement/SubagentManagerDialog.d.ts +8 -0
- package/dist/src/ui/components/SubagentManagement/SubagentManagerDialog.js +293 -0
- package/dist/src/ui/components/SubagentManagement/SubagentManagerDialog.js.map +1 -0
- package/dist/src/ui/components/SubagentManagement/SubagentShowView.d.ts +15 -0
- package/dist/src/ui/components/SubagentManagement/SubagentShowView.js +35 -0
- package/dist/src/ui/components/SubagentManagement/SubagentShowView.js.map +1 -0
- package/dist/src/ui/components/SubagentManagement/index.d.ts +14 -0
- package/dist/src/ui/components/SubagentManagement/index.js +15 -0
- package/dist/src/ui/components/SubagentManagement/index.js.map +1 -0
- package/dist/src/ui/components/SubagentManagement/types.d.ts +109 -0
- package/dist/src/ui/components/SubagentManagement/types.js +77 -0
- package/dist/src/ui/components/SubagentManagement/types.js.map +1 -0
- package/dist/src/ui/contexts/KeypressContext.js +2 -1
- package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
- package/dist/src/ui/contexts/UIActionsContext.d.ts +3 -0
- package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
- package/dist/src/ui/contexts/UIStateContext.d.ts +4 -0
- package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
- package/dist/src/ui/hooks/slashCommandProcessor.d.ts +2 -0
- package/dist/src/ui/hooks/slashCommandProcessor.js +6 -0
- package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
- package/dist/src/ui/layouts/DefaultAppLayout.js +2 -0
- package/dist/src/ui/layouts/DefaultAppLayout.js.map +1 -1
- package/dist/src/utils/sandbox.d.ts +1 -0
- package/dist/src/utils/sandbox.js +22 -20
- package/dist/src/utils/sandbox.js.map +1 -1
- package/dist/src/utils/sandbox.test.d.ts +6 -0
- package/dist/src/utils/sandbox.test.js +176 -0
- package/dist/src/utils/sandbox.test.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright 2025 Vybestack LLC
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
import { useState, useCallback, useEffect } from 'react';
|
|
8
|
+
import { Box, Text } from 'ink';
|
|
9
|
+
import { Colors } from '../../colors.js';
|
|
10
|
+
import { useUIState } from '../../contexts/UIStateContext.js';
|
|
11
|
+
import { SubagentView, } from './types.js';
|
|
12
|
+
import { SubagentListMenu } from './SubagentListMenu.js';
|
|
13
|
+
import { SubagentShowView } from './SubagentShowView.js';
|
|
14
|
+
import { SubagentEditForm } from './SubagentEditForm.js';
|
|
15
|
+
import { SubagentCreationWizard } from './SubagentCreationWizard.js';
|
|
16
|
+
import { ProfileAttachmentWizard } from './ProfileAttachmentWizard.js';
|
|
17
|
+
import { SubagentDeleteDialog } from './SubagentDeleteDialog.js';
|
|
18
|
+
import { SubagentMainMenu } from './SubagentMainMenu.js';
|
|
19
|
+
export const SubagentManagerDialog = ({ onClose, initialView = SubagentView.MENU, initialSubagentName, }) => {
|
|
20
|
+
const uiState = useUIState();
|
|
21
|
+
const { commandContext } = uiState;
|
|
22
|
+
const subagentManager = commandContext?.services?.subagentManager;
|
|
23
|
+
const profileManager = commandContext?.services?.profileManager;
|
|
24
|
+
const [state, setState] = useState({
|
|
25
|
+
currentView: initialView,
|
|
26
|
+
selectedSubagent: null,
|
|
27
|
+
navigationStack: [initialView], // Start with initial view, not menu
|
|
28
|
+
searchTerm: '',
|
|
29
|
+
searchActive: false,
|
|
30
|
+
selectedIndex: 0,
|
|
31
|
+
subagents: [],
|
|
32
|
+
profiles: [],
|
|
33
|
+
isLoading: true,
|
|
34
|
+
error: null,
|
|
35
|
+
});
|
|
36
|
+
// Track pending profile change when selecting from edit form (not yet saved)
|
|
37
|
+
const [pendingProfile, setPendingProfile] = useState(undefined);
|
|
38
|
+
// Load subagents and profiles
|
|
39
|
+
const loadData = useCallback(async () => {
|
|
40
|
+
if (!subagentManager) {
|
|
41
|
+
setState((prev) => ({
|
|
42
|
+
...prev,
|
|
43
|
+
isLoading: false,
|
|
44
|
+
error: 'SubagentManager not available',
|
|
45
|
+
}));
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
setState((prev) => ({ ...prev, isLoading: true, error: null }));
|
|
49
|
+
try {
|
|
50
|
+
const [subagentNames, profileNames] = await Promise.all([
|
|
51
|
+
subagentManager.listSubagents(),
|
|
52
|
+
profileManager?.listProfiles() ?? Promise.resolve([]),
|
|
53
|
+
]);
|
|
54
|
+
// Load full subagent configs
|
|
55
|
+
const subagents = await Promise.all(subagentNames.map(async (name) => {
|
|
56
|
+
const config = await subagentManager.loadSubagent(name);
|
|
57
|
+
return config;
|
|
58
|
+
}));
|
|
59
|
+
setState((prev) => ({
|
|
60
|
+
...prev,
|
|
61
|
+
subagents,
|
|
62
|
+
profiles: profileNames,
|
|
63
|
+
isLoading: false,
|
|
64
|
+
}));
|
|
65
|
+
// If initial subagent specified, select it
|
|
66
|
+
if (initialSubagentName) {
|
|
67
|
+
const found = subagents.find((s) => s.name === initialSubagentName);
|
|
68
|
+
if (found) {
|
|
69
|
+
setState((prev) => ({
|
|
70
|
+
...prev,
|
|
71
|
+
selectedSubagent: found,
|
|
72
|
+
currentView: initialView,
|
|
73
|
+
}));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch (err) {
|
|
78
|
+
setState((prev) => ({
|
|
79
|
+
...prev,
|
|
80
|
+
isLoading: false,
|
|
81
|
+
error: err instanceof Error ? err.message : 'Failed to load data',
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
}, [subagentManager, profileManager, initialSubagentName, initialView]);
|
|
85
|
+
useEffect(() => {
|
|
86
|
+
loadData();
|
|
87
|
+
}, [loadData]);
|
|
88
|
+
// Navigation helpers
|
|
89
|
+
const navigateTo = useCallback((view, subagent) => {
|
|
90
|
+
setState((prev) => ({
|
|
91
|
+
...prev,
|
|
92
|
+
currentView: view,
|
|
93
|
+
navigationStack: [...prev.navigationStack, view],
|
|
94
|
+
selectedSubagent: subagent ?? prev.selectedSubagent,
|
|
95
|
+
}));
|
|
96
|
+
}, []);
|
|
97
|
+
const goBack = useCallback(() => {
|
|
98
|
+
setState((prev) => {
|
|
99
|
+
const newStack = prev.navigationStack.slice(0, -1);
|
|
100
|
+
// If stack is empty or only has initial view, close dialog
|
|
101
|
+
if (newStack.length === 0) {
|
|
102
|
+
// Use setTimeout to avoid state update during render
|
|
103
|
+
setTimeout(() => onClose(), 0);
|
|
104
|
+
return prev;
|
|
105
|
+
}
|
|
106
|
+
const prevView = newStack[newStack.length - 1];
|
|
107
|
+
return {
|
|
108
|
+
...prev,
|
|
109
|
+
currentView: prevView,
|
|
110
|
+
navigationStack: newStack,
|
|
111
|
+
selectedSubagent: prevView === SubagentView.LIST ? null : prev.selectedSubagent,
|
|
112
|
+
};
|
|
113
|
+
});
|
|
114
|
+
}, [onClose]);
|
|
115
|
+
// Handle subagent selection from list
|
|
116
|
+
const handleSubagentSelect = useCallback((subagent) => {
|
|
117
|
+
navigateTo(SubagentView.SHOW, subagent);
|
|
118
|
+
}, [navigateTo]);
|
|
119
|
+
// Handle edit from list or show view
|
|
120
|
+
const handleEdit = useCallback((subagent) => {
|
|
121
|
+
const target = subagent ?? state.selectedSubagent;
|
|
122
|
+
if (target) {
|
|
123
|
+
navigateTo(SubagentView.EDIT, target);
|
|
124
|
+
}
|
|
125
|
+
}, [navigateTo, state.selectedSubagent]);
|
|
126
|
+
// Handle attach profile from list
|
|
127
|
+
const handleAttachProfile = useCallback((subagent) => {
|
|
128
|
+
navigateTo(SubagentView.ATTACH_PROFILE, subagent);
|
|
129
|
+
}, [navigateTo]);
|
|
130
|
+
// Handle select profile from edit form (uses current selected subagent)
|
|
131
|
+
const handleSelectProfileFromEdit = useCallback(() => {
|
|
132
|
+
if (state.selectedSubagent) {
|
|
133
|
+
navigateTo(SubagentView.ATTACH_PROFILE, state.selectedSubagent);
|
|
134
|
+
}
|
|
135
|
+
}, [navigateTo, state.selectedSubagent]);
|
|
136
|
+
// Handle delete from list
|
|
137
|
+
const handleDeleteRequest = useCallback((subagent) => {
|
|
138
|
+
navigateTo(SubagentView.DELETE, subagent);
|
|
139
|
+
}, [navigateTo]);
|
|
140
|
+
// Handle cancel from edit form - clears pending profile
|
|
141
|
+
const handleEditCancel = useCallback(() => {
|
|
142
|
+
setPendingProfile(undefined);
|
|
143
|
+
goBack();
|
|
144
|
+
}, [goBack]);
|
|
145
|
+
// Handle save (edit)
|
|
146
|
+
const handleSave = useCallback(async (systemPrompt, profile) => {
|
|
147
|
+
if (!subagentManager || !state.selectedSubagent)
|
|
148
|
+
return;
|
|
149
|
+
try {
|
|
150
|
+
await subagentManager.saveSubagent(state.selectedSubagent.name, profile, systemPrompt);
|
|
151
|
+
// Clear pending profile after successful save
|
|
152
|
+
setPendingProfile(undefined);
|
|
153
|
+
await loadData();
|
|
154
|
+
goBack();
|
|
155
|
+
}
|
|
156
|
+
catch (err) {
|
|
157
|
+
setState((prev) => ({
|
|
158
|
+
...prev,
|
|
159
|
+
error: err instanceof Error ? err.message : 'Failed to save subagent',
|
|
160
|
+
}));
|
|
161
|
+
}
|
|
162
|
+
}, [subagentManager, state.selectedSubagent, loadData, goBack]);
|
|
163
|
+
// Handle create
|
|
164
|
+
const handleCreate = useCallback(async (name, systemPrompt, profile) => {
|
|
165
|
+
if (!subagentManager)
|
|
166
|
+
return;
|
|
167
|
+
try {
|
|
168
|
+
await subagentManager.saveSubagent(name, profile, systemPrompt);
|
|
169
|
+
await loadData();
|
|
170
|
+
navigateTo(SubagentView.LIST);
|
|
171
|
+
}
|
|
172
|
+
catch (err) {
|
|
173
|
+
setState((prev) => ({
|
|
174
|
+
...prev,
|
|
175
|
+
error: err instanceof Error ? err.message : 'Failed to create subagent',
|
|
176
|
+
}));
|
|
177
|
+
}
|
|
178
|
+
}, [subagentManager, loadData, navigateTo]);
|
|
179
|
+
// Handle profile attachment - check if we came from EDIT view
|
|
180
|
+
const handleProfileAttach = useCallback(async (profileName) => {
|
|
181
|
+
if (!state.selectedSubagent)
|
|
182
|
+
return;
|
|
183
|
+
// Check if previous view was EDIT - if so, just set pending profile and go back
|
|
184
|
+
const prevView = state.navigationStack.length >= 2
|
|
185
|
+
? state.navigationStack[state.navigationStack.length - 2]
|
|
186
|
+
: null;
|
|
187
|
+
if (prevView === SubagentView.EDIT) {
|
|
188
|
+
// Don't save yet - just set pending profile and return to edit form
|
|
189
|
+
setPendingProfile(profileName);
|
|
190
|
+
goBack();
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
// Direct profile attachment from list - save immediately
|
|
194
|
+
if (!subagentManager)
|
|
195
|
+
return;
|
|
196
|
+
try {
|
|
197
|
+
await subagentManager.saveSubagent(state.selectedSubagent.name, profileName, state.selectedSubagent.systemPrompt);
|
|
198
|
+
await loadData();
|
|
199
|
+
goBack();
|
|
200
|
+
}
|
|
201
|
+
catch (err) {
|
|
202
|
+
setState((prev) => ({
|
|
203
|
+
...prev,
|
|
204
|
+
error: err instanceof Error ? err.message : 'Failed to attach profile',
|
|
205
|
+
}));
|
|
206
|
+
}
|
|
207
|
+
}, [
|
|
208
|
+
subagentManager,
|
|
209
|
+
state.selectedSubagent,
|
|
210
|
+
state.navigationStack,
|
|
211
|
+
loadData,
|
|
212
|
+
goBack,
|
|
213
|
+
]);
|
|
214
|
+
// Handle delete confirmation
|
|
215
|
+
const handleDeleteConfirm = useCallback(async () => {
|
|
216
|
+
if (!subagentManager || !state.selectedSubagent)
|
|
217
|
+
return;
|
|
218
|
+
try {
|
|
219
|
+
await subagentManager.deleteSubagent(state.selectedSubagent.name);
|
|
220
|
+
await loadData();
|
|
221
|
+
// After delete, close the dialog
|
|
222
|
+
onClose();
|
|
223
|
+
}
|
|
224
|
+
catch (err) {
|
|
225
|
+
setState((prev) => ({
|
|
226
|
+
...prev,
|
|
227
|
+
error: err instanceof Error ? err.message : 'Failed to delete subagent',
|
|
228
|
+
}));
|
|
229
|
+
}
|
|
230
|
+
}, [subagentManager, state.selectedSubagent, loadData, onClose]);
|
|
231
|
+
// Render current view
|
|
232
|
+
const renderView = () => {
|
|
233
|
+
if (state.isLoading) {
|
|
234
|
+
return _jsx(Text, { color: Colors.Gray, children: "Loading..." });
|
|
235
|
+
}
|
|
236
|
+
if (state.error) {
|
|
237
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: "#ff0000", children: ["Error: ", state.error] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: Colors.Gray, children: "[ESC] Close" }) })] }));
|
|
238
|
+
}
|
|
239
|
+
switch (state.currentView) {
|
|
240
|
+
case SubagentView.LIST:
|
|
241
|
+
return (_jsx(SubagentListMenu, { subagents: state.subagents, onSelect: handleSubagentSelect, onEdit: handleEdit, onAttachProfile: handleAttachProfile, onDelete: handleDeleteRequest, onBack: goBack, isLoading: state.isLoading, isFocused: true }));
|
|
242
|
+
case SubagentView.SHOW:
|
|
243
|
+
if (!state.selectedSubagent) {
|
|
244
|
+
return _jsx(Text, { color: Colors.Gray, children: "No subagent selected" });
|
|
245
|
+
}
|
|
246
|
+
return (_jsx(SubagentShowView, { subagent: state.selectedSubagent, onEdit: handleEdit, onBack: goBack, isFocused: true }));
|
|
247
|
+
case SubagentView.EDIT:
|
|
248
|
+
if (!state.selectedSubagent) {
|
|
249
|
+
return _jsx(Text, { color: Colors.Gray, children: "No subagent selected" });
|
|
250
|
+
}
|
|
251
|
+
return (_jsx(SubagentEditForm, { subagent: state.selectedSubagent, profiles: state.profiles, pendingProfile: pendingProfile, onSave: handleSave, onCancel: handleEditCancel, onSelectProfile: handleSelectProfileFromEdit, isFocused: true }));
|
|
252
|
+
case SubagentView.CREATE:
|
|
253
|
+
return (_jsx(SubagentCreationWizard, { profiles: state.profiles, onSave: handleCreate, onCancel: goBack, isFocused: true }));
|
|
254
|
+
case SubagentView.ATTACH_PROFILE:
|
|
255
|
+
if (!state.selectedSubagent) {
|
|
256
|
+
return _jsx(Text, { color: Colors.Gray, children: "No subagent selected" });
|
|
257
|
+
}
|
|
258
|
+
return (_jsx(ProfileAttachmentWizard, { subagent: state.selectedSubagent, profiles: state.profiles, onConfirm: handleProfileAttach, onCancel: goBack, isFocused: true }));
|
|
259
|
+
case SubagentView.DELETE:
|
|
260
|
+
if (!state.selectedSubagent) {
|
|
261
|
+
return _jsx(Text, { color: Colors.Gray, children: "No subagent selected" });
|
|
262
|
+
}
|
|
263
|
+
return (_jsx(SubagentDeleteDialog, { subagent: state.selectedSubagent, onConfirm: handleDeleteConfirm, onCancel: goBack, isFocused: true }));
|
|
264
|
+
case SubagentView.MENU:
|
|
265
|
+
return _jsx(SubagentMainMenu, { onSelect: navigateTo, isFocused: true });
|
|
266
|
+
default:
|
|
267
|
+
return _jsx(Text, { color: Colors.Gray, children: "Unknown view" });
|
|
268
|
+
}
|
|
269
|
+
};
|
|
270
|
+
// Get title based on current view
|
|
271
|
+
const getTitle = () => {
|
|
272
|
+
switch (state.currentView) {
|
|
273
|
+
case SubagentView.LIST:
|
|
274
|
+
return 'Subagent List';
|
|
275
|
+
case SubagentView.SHOW:
|
|
276
|
+
return `Subagent: ${state.selectedSubagent?.name ?? ''}`;
|
|
277
|
+
case SubagentView.EDIT:
|
|
278
|
+
return `Edit: ${state.selectedSubagent?.name ?? ''}`;
|
|
279
|
+
case SubagentView.CREATE:
|
|
280
|
+
return 'Create Subagent';
|
|
281
|
+
case SubagentView.ATTACH_PROFILE:
|
|
282
|
+
return `Attach Profile: ${state.selectedSubagent?.name ?? ''}`;
|
|
283
|
+
case SubagentView.DELETE:
|
|
284
|
+
return 'Delete Subagent';
|
|
285
|
+
case SubagentView.MENU:
|
|
286
|
+
return 'Subagent Manager';
|
|
287
|
+
default:
|
|
288
|
+
return 'Subagent';
|
|
289
|
+
}
|
|
290
|
+
};
|
|
291
|
+
return (_jsxs(Box, { borderStyle: "round", borderColor: Colors.Gray, flexDirection: "column", padding: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { bold: true, color: Colors.Foreground, children: getTitle() }) }), renderView()] }));
|
|
292
|
+
};
|
|
293
|
+
//# sourceMappingURL=SubagentManagerDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubagentManagerDialog.js","sourceRoot":"","sources":["../../../../../src/ui/components/SubagentManagement/SubagentManagerDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Vybestack LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import type { SubagentInfo } from './types.js';
|
|
8
|
+
interface SubagentShowViewProps {
|
|
9
|
+
subagent: SubagentInfo;
|
|
10
|
+
onEdit: () => void;
|
|
11
|
+
onBack: () => void;
|
|
12
|
+
isFocused?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare const SubagentShowView: React.FC<SubagentShowViewProps>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import { Colors } from '../../colors.js';
|
|
4
|
+
import { useKeypress } from '../../hooks/useKeypress.js';
|
|
5
|
+
export const SubagentShowView = ({ subagent, onEdit, onBack, isFocused = true, }) => {
|
|
6
|
+
useKeypress((key) => {
|
|
7
|
+
if (key.name === 'escape') {
|
|
8
|
+
onBack();
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
if (key.sequence === 'e') {
|
|
12
|
+
onEdit();
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
}, { isActive: isFocused });
|
|
16
|
+
const formatDate = (isoString) => {
|
|
17
|
+
try {
|
|
18
|
+
return new Date(isoString).toLocaleString('en-US', {
|
|
19
|
+
year: 'numeric',
|
|
20
|
+
month: 'short',
|
|
21
|
+
day: 'numeric',
|
|
22
|
+
hour: '2-digit',
|
|
23
|
+
minute: '2-digit',
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
return isoString;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
// Split system prompt into lines for display (show all lines)
|
|
31
|
+
const promptLines = subagent.systemPrompt.split('\n');
|
|
32
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { bold: true, color: Colors.Foreground, children: "Basic Information" }), _jsx(Text, { color: Colors.Gray, children: "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500" }), _jsxs(Box, { children: [_jsx(Text, { color: Colors.Gray, children: "Name: " }), _jsx(Text, { color: Colors.Foreground, children: subagent.name })] }), _jsxs(Box, { children: [_jsx(Text, { color: Colors.Gray, children: "Status: " }), _jsx(Text, { color: Colors.AccentGreen, children: "Active" })] }), _jsxs(Box, { children: [_jsx(Text, { color: Colors.Gray, children: "Created: " }), _jsx(Text, { color: Colors.Foreground, children: formatDate(subagent.createdAt) })] }), _jsxs(Box, { children: [_jsx(Text, { color: Colors.Gray, children: "Updated: " }), _jsx(Text, { color: Colors.Foreground, children: formatDate(subagent.updatedAt) })] })] }), _jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { bold: true, color: Colors.Foreground, children: "Configuration" }), _jsx(Text, { color: Colors.Gray, children: "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500" }), _jsx(Text, { color: Colors.Gray, children: "System Prompt:" }), _jsx(Box, { flexDirection: "column", borderStyle: "single", borderColor: Colors.Gray, paddingX: 1, children: promptLines.map((line, idx) => (_jsx(Text, { color: Colors.Foreground, wrap: "wrap", children: line || ' ' }, idx))) })] }), _jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { bold: true, color: Colors.Foreground, children: "Profile Attachment" }), _jsx(Text, { color: Colors.Gray, children: "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500" }), _jsxs(Box, { children: [_jsx(Text, { color: Colors.Gray, children: "Profile: " }), _jsx(Text, { color: Colors.Foreground, children: subagent.profile })] }), subagent.profileInfo && (_jsxs(_Fragment, { children: [subagent.profileInfo.model && (_jsxs(Box, { children: [_jsx(Text, { color: Colors.Gray, children: "Model: " }), _jsxs(Text, { color: Colors.Foreground, children: [subagent.profileInfo.model, subagent.profileInfo.provider &&
|
|
33
|
+
` (via ${subagent.profileInfo.provider})`] })] })), subagent.profileInfo.temperature !== undefined && (_jsxs(Box, { children: [_jsx(Text, { color: Colors.Gray, children: "Temperature: " }), _jsx(Text, { color: Colors.Foreground, children: subagent.profileInfo.temperature })] })), subagent.profileInfo.maxTokens !== undefined && (_jsxs(Box, { children: [_jsx(Text, { color: Colors.Gray, children: "Max Tokens: " }), _jsx(Text, { color: Colors.Foreground, children: subagent.profileInfo.maxTokens })] }))] }))] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: Colors.Gray, children: "Press [ESC] to go back [e] to edit" }) })] }));
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=SubagentShowView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubagentShowView.js","sourceRoot":"","sources":["../../../../../src/ui/components/SubagentManagement/SubagentShowView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Vybestack LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export { SubagentManagerDialog } from './SubagentManagerDialog.js';
|
|
7
|
+
export { SubagentMainMenu } from './SubagentMainMenu.js';
|
|
8
|
+
export { SubagentListMenu } from './SubagentListMenu.js';
|
|
9
|
+
export { SubagentShowView } from './SubagentShowView.js';
|
|
10
|
+
export { SubagentEditForm } from './SubagentEditForm.js';
|
|
11
|
+
export { SubagentCreationWizard } from './SubagentCreationWizard.js';
|
|
12
|
+
export { ProfileAttachmentWizard } from './ProfileAttachmentWizard.js';
|
|
13
|
+
export { SubagentDeleteDialog } from './SubagentDeleteDialog.js';
|
|
14
|
+
export * from './types.js';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Vybestack LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export { SubagentManagerDialog } from './SubagentManagerDialog.js';
|
|
7
|
+
export { SubagentMainMenu } from './SubagentMainMenu.js';
|
|
8
|
+
export { SubagentListMenu } from './SubagentListMenu.js';
|
|
9
|
+
export { SubagentShowView } from './SubagentShowView.js';
|
|
10
|
+
export { SubagentEditForm } from './SubagentEditForm.js';
|
|
11
|
+
export { SubagentCreationWizard } from './SubagentCreationWizard.js';
|
|
12
|
+
export { ProfileAttachmentWizard } from './ProfileAttachmentWizard.js';
|
|
13
|
+
export { SubagentDeleteDialog } from './SubagentDeleteDialog.js';
|
|
14
|
+
export * from './types.js';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ui/components/SubagentManagement/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Vybestack LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { SubagentConfig } from '@vybestack/llxprt-code-core';
|
|
7
|
+
/**
|
|
8
|
+
* Views available in the SubagentManagerDialog
|
|
9
|
+
*/
|
|
10
|
+
export declare enum SubagentView {
|
|
11
|
+
MENU = "menu",
|
|
12
|
+
LIST = "list",
|
|
13
|
+
SHOW = "show",
|
|
14
|
+
EDIT = "edit",
|
|
15
|
+
CREATE = "create",
|
|
16
|
+
DELETE = "delete",
|
|
17
|
+
ATTACH_PROFILE = "attach_profile"
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Focus modes for the list view
|
|
21
|
+
*/
|
|
22
|
+
export declare enum ListFocusMode {
|
|
23
|
+
SEARCH = "search",
|
|
24
|
+
LIST = "list"
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Creation wizard steps
|
|
28
|
+
*
|
|
29
|
+
* NOTE: Currently the wizard uses field-based navigation rather than
|
|
30
|
+
* step-based navigation. This enum is retained for potential future
|
|
31
|
+
* multi-step wizard implementation.
|
|
32
|
+
*/
|
|
33
|
+
export declare enum CreateStep {
|
|
34
|
+
/** Single form view with all fields */
|
|
35
|
+
FORM = "form"
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Edit form field focus
|
|
39
|
+
*/
|
|
40
|
+
export declare enum EditField {
|
|
41
|
+
SYSTEM_PROMPT = "system_prompt",
|
|
42
|
+
PROFILE = "profile"
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Extended subagent info with profile details for display
|
|
46
|
+
*/
|
|
47
|
+
export interface SubagentInfo extends SubagentConfig {
|
|
48
|
+
profileInfo?: {
|
|
49
|
+
provider?: string;
|
|
50
|
+
model?: string;
|
|
51
|
+
temperature?: number;
|
|
52
|
+
maxTokens?: number;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* State for the SubagentManagerDialog
|
|
57
|
+
*/
|
|
58
|
+
export interface SubagentManagerState {
|
|
59
|
+
currentView: SubagentView;
|
|
60
|
+
selectedSubagent: SubagentInfo | null;
|
|
61
|
+
navigationStack: SubagentView[];
|
|
62
|
+
searchTerm: string;
|
|
63
|
+
searchActive: boolean;
|
|
64
|
+
selectedIndex: number;
|
|
65
|
+
subagents: SubagentInfo[];
|
|
66
|
+
profiles: string[];
|
|
67
|
+
isLoading: boolean;
|
|
68
|
+
error: string | null;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Props for SubagentManagerDialog
|
|
72
|
+
*/
|
|
73
|
+
export interface SubagentManagerDialogProps {
|
|
74
|
+
onClose: () => void;
|
|
75
|
+
initialView?: SubagentView;
|
|
76
|
+
initialSubagentName?: string;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Creation wizard state
|
|
80
|
+
*/
|
|
81
|
+
export interface CreateWizardState {
|
|
82
|
+
currentStep: CreateStep;
|
|
83
|
+
name: string;
|
|
84
|
+
systemPrompt: string;
|
|
85
|
+
selectedProfile: string;
|
|
86
|
+
validationErrors: Record<string, string>;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Edit form state
|
|
90
|
+
*/
|
|
91
|
+
export interface EditFormState {
|
|
92
|
+
systemPrompt: string;
|
|
93
|
+
selectedProfile: string;
|
|
94
|
+
focusedField: EditField;
|
|
95
|
+
isEditing: boolean;
|
|
96
|
+
hasChanges: boolean;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Menu action items
|
|
100
|
+
*/
|
|
101
|
+
export interface MenuAction {
|
|
102
|
+
label: string;
|
|
103
|
+
value: SubagentView;
|
|
104
|
+
description: string;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Default menu actions for the main menu
|
|
108
|
+
*/
|
|
109
|
+
export declare const MENU_ACTIONS: MenuAction[];
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Vybestack LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Views available in the SubagentManagerDialog
|
|
8
|
+
*/
|
|
9
|
+
export var SubagentView;
|
|
10
|
+
(function (SubagentView) {
|
|
11
|
+
SubagentView["MENU"] = "menu";
|
|
12
|
+
SubagentView["LIST"] = "list";
|
|
13
|
+
SubagentView["SHOW"] = "show";
|
|
14
|
+
SubagentView["EDIT"] = "edit";
|
|
15
|
+
SubagentView["CREATE"] = "create";
|
|
16
|
+
SubagentView["DELETE"] = "delete";
|
|
17
|
+
SubagentView["ATTACH_PROFILE"] = "attach_profile";
|
|
18
|
+
})(SubagentView || (SubagentView = {}));
|
|
19
|
+
/**
|
|
20
|
+
* Focus modes for the list view
|
|
21
|
+
*/
|
|
22
|
+
export var ListFocusMode;
|
|
23
|
+
(function (ListFocusMode) {
|
|
24
|
+
ListFocusMode["SEARCH"] = "search";
|
|
25
|
+
ListFocusMode["LIST"] = "list";
|
|
26
|
+
})(ListFocusMode || (ListFocusMode = {}));
|
|
27
|
+
/**
|
|
28
|
+
* Creation wizard steps
|
|
29
|
+
*
|
|
30
|
+
* NOTE: Currently the wizard uses field-based navigation rather than
|
|
31
|
+
* step-based navigation. This enum is retained for potential future
|
|
32
|
+
* multi-step wizard implementation.
|
|
33
|
+
*/
|
|
34
|
+
export var CreateStep;
|
|
35
|
+
(function (CreateStep) {
|
|
36
|
+
/** Single form view with all fields */
|
|
37
|
+
CreateStep["FORM"] = "form";
|
|
38
|
+
})(CreateStep || (CreateStep = {}));
|
|
39
|
+
/**
|
|
40
|
+
* Edit form field focus
|
|
41
|
+
*/
|
|
42
|
+
export var EditField;
|
|
43
|
+
(function (EditField) {
|
|
44
|
+
EditField["SYSTEM_PROMPT"] = "system_prompt";
|
|
45
|
+
EditField["PROFILE"] = "profile";
|
|
46
|
+
})(EditField || (EditField = {}));
|
|
47
|
+
/**
|
|
48
|
+
* Default menu actions for the main menu
|
|
49
|
+
*/
|
|
50
|
+
export const MENU_ACTIONS = [
|
|
51
|
+
{
|
|
52
|
+
label: 'List Subagents',
|
|
53
|
+
value: SubagentView.LIST,
|
|
54
|
+
description: 'Show all available subagents',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
label: 'Show Subagent',
|
|
58
|
+
value: SubagentView.SHOW,
|
|
59
|
+
description: 'View detailed configuration',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
label: 'Edit Subagent',
|
|
63
|
+
value: SubagentView.EDIT,
|
|
64
|
+
description: 'Modify subagent settings',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
label: 'Create Subagent',
|
|
68
|
+
value: SubagentView.CREATE,
|
|
69
|
+
description: 'Create new subagent',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
label: 'Delete Subagent',
|
|
73
|
+
value: SubagentView.DELETE,
|
|
74
|
+
description: 'Remove an existing subagent',
|
|
75
|
+
},
|
|
76
|
+
];
|
|
77
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/ui/components/SubagentManagement/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,CAAN,IAAY,YAQX;AARD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,iDAAiC,CAAA;AACnC,CAAC,EARW,YAAY,KAAZ,YAAY,QAQvB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,8BAAa,CAAA;AACf,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,uCAAuC;IACvC,2BAAa,CAAA;AACf,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,4CAA+B,CAAA;IAC/B,gCAAmB,CAAA;AACrB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAsED;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC;QACE,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,YAAY,CAAC,IAAI;QACxB,WAAW,EAAE,8BAA8B;KAC5C;IACD;QACE,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,YAAY,CAAC,IAAI;QACxB,WAAW,EAAE,6BAA6B;KAC3C;IACD;QACE,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,YAAY,CAAC,IAAI;QACxB,WAAW,EAAE,0BAA0B;KACxC;IACD;QACE,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,YAAY,CAAC,MAAM;QAC1B,WAAW,EAAE,qBAAqB;KACnC;IACD;QACE,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,YAAY,CAAC,MAAM;QAC1B,WAAW,EAAE,6BAA6B;KAC3C;CACF,CAAC"}
|
|
@@ -809,7 +809,8 @@ export function KeypressProvider({ children, kittyProtocolEnabled, config, debug
|
|
|
809
809
|
if (keypressLogger.enabled) {
|
|
810
810
|
keypressLogger.debug(() => `handleRawKeypress chunk length=${data.length} endsWithCR=${data.length > 0 && data[data.length - 1] === 13}`);
|
|
811
811
|
}
|
|
812
|
-
if (
|
|
812
|
+
if (mouseEventsEnabled &&
|
|
813
|
+
mouseSequenceBuffer.length > MAX_MOUSE_BUFFER_SIZE) {
|
|
813
814
|
mouseSequenceBuffer = mouseSequenceBuffer.slice(-MAX_MOUSE_BUFFER_SIZE);
|
|
814
815
|
}
|
|
815
816
|
const stripMouseSequences = (chunk) => {
|