@syntero/orca-cli 1.0.0 → 1.1.1

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.
Files changed (111) hide show
  1. package/dist/assistant.d.ts +17 -3
  2. package/dist/assistant.d.ts.map +1 -1
  3. package/dist/assistant.js +217 -22
  4. package/dist/assistant.js.map +1 -1
  5. package/dist/auth.d.ts +97 -0
  6. package/dist/auth.d.ts.map +1 -0
  7. package/dist/auth.js +437 -0
  8. package/dist/auth.js.map +1 -0
  9. package/dist/autocomplete.d.ts +24 -0
  10. package/dist/autocomplete.d.ts.map +1 -0
  11. package/dist/autocomplete.js +43 -0
  12. package/dist/autocomplete.js.map +1 -0
  13. package/dist/components/ChatApp.d.ts +32 -0
  14. package/dist/components/ChatApp.d.ts.map +1 -0
  15. package/dist/components/ChatApp.js +470 -0
  16. package/dist/components/ChatApp.js.map +1 -0
  17. package/dist/components/CommandPalette.d.ts +15 -0
  18. package/dist/components/CommandPalette.d.ts.map +1 -0
  19. package/dist/components/CommandPalette.js +22 -0
  20. package/dist/components/CommandPalette.js.map +1 -0
  21. package/dist/components/ConfigWizard.d.ts +25 -0
  22. package/dist/components/ConfigWizard.d.ts.map +1 -0
  23. package/dist/components/ConfigWizard.js +401 -0
  24. package/dist/components/ConfigWizard.js.map +1 -0
  25. package/dist/components/InputFooter.d.ts +33 -0
  26. package/dist/components/InputFooter.d.ts.map +1 -0
  27. package/dist/components/InputFooter.js +618 -0
  28. package/dist/components/InputFooter.js.map +1 -0
  29. package/dist/components/InputModal.d.ts +25 -0
  30. package/dist/components/InputModal.d.ts.map +1 -0
  31. package/dist/components/InputModal.js +529 -0
  32. package/dist/components/InputModal.js.map +1 -0
  33. package/dist/components/ModelMenu.d.ts +24 -0
  34. package/dist/components/ModelMenu.d.ts.map +1 -0
  35. package/dist/components/ModelMenu.js +175 -0
  36. package/dist/components/ModelMenu.js.map +1 -0
  37. package/dist/components/ProviderMenu.d.ts +20 -0
  38. package/dist/components/ProviderMenu.d.ts.map +1 -0
  39. package/dist/components/ProviderMenu.js +31 -0
  40. package/dist/components/ProviderMenu.js.map +1 -0
  41. package/dist/components/SyncMenu.d.ts +23 -0
  42. package/dist/components/SyncMenu.d.ts.map +1 -0
  43. package/dist/components/SyncMenu.js +135 -0
  44. package/dist/components/SyncMenu.js.map +1 -0
  45. package/dist/components/TokenInput.d.ts +15 -0
  46. package/dist/components/TokenInput.d.ts.map +1 -0
  47. package/dist/components/TokenInput.js +103 -0
  48. package/dist/components/TokenInput.js.map +1 -0
  49. package/dist/index.js +323 -173
  50. package/dist/index.js.map +1 -1
  51. package/dist/ink-input.d.ts +14 -0
  52. package/dist/ink-input.d.ts.map +1 -0
  53. package/dist/ink-input.js +92 -0
  54. package/dist/ink-input.js.map +1 -0
  55. package/dist/models.d.ts +115 -0
  56. package/dist/models.d.ts.map +1 -0
  57. package/dist/models.js +221 -0
  58. package/dist/models.js.map +1 -0
  59. package/dist/providers.d.ts +19 -4
  60. package/dist/providers.d.ts.map +1 -1
  61. package/dist/providers.js +80 -112
  62. package/dist/providers.js.map +1 -1
  63. package/dist/settings.d.ts +15 -0
  64. package/dist/settings.d.ts.map +1 -1
  65. package/dist/settings.js +56 -21
  66. package/dist/settings.js.map +1 -1
  67. package/dist/sync/docker.d.ts +68 -0
  68. package/dist/sync/docker.d.ts.map +1 -0
  69. package/dist/sync/docker.js +234 -0
  70. package/dist/sync/docker.js.map +1 -0
  71. package/dist/sync/download.d.ts +87 -0
  72. package/dist/sync/download.d.ts.map +1 -0
  73. package/dist/sync/download.js +291 -0
  74. package/dist/sync/download.js.map +1 -0
  75. package/dist/sync/hash.d.ts +60 -0
  76. package/dist/sync/hash.d.ts.map +1 -0
  77. package/dist/sync/hash.js +92 -0
  78. package/dist/sync/hash.js.map +1 -0
  79. package/dist/sync/index.d.ts +15 -0
  80. package/dist/sync/index.d.ts.map +1 -0
  81. package/dist/sync/index.js +21 -0
  82. package/dist/sync/index.js.map +1 -0
  83. package/dist/sync/manifest.d.ts +132 -0
  84. package/dist/sync/manifest.d.ts.map +1 -0
  85. package/dist/sync/manifest.js +260 -0
  86. package/dist/sync/manifest.js.map +1 -0
  87. package/dist/sync/progress.d.ts +164 -0
  88. package/dist/sync/progress.d.ts.map +1 -0
  89. package/dist/sync/progress.js +233 -0
  90. package/dist/sync/progress.js.map +1 -0
  91. package/dist/sync/services.d.ts +70 -0
  92. package/dist/sync/services.d.ts.map +1 -0
  93. package/dist/sync/services.js +134 -0
  94. package/dist/sync/services.js.map +1 -0
  95. package/dist/sync/sync-engine.d.ts +69 -0
  96. package/dist/sync/sync-engine.d.ts.map +1 -0
  97. package/dist/sync/sync-engine.js +533 -0
  98. package/dist/sync/sync-engine.js.map +1 -0
  99. package/dist/tokens.d.ts +70 -0
  100. package/dist/tokens.d.ts.map +1 -0
  101. package/dist/tokens.js +198 -0
  102. package/dist/tokens.js.map +1 -0
  103. package/dist/tools.d.ts +60 -0
  104. package/dist/tools.d.ts.map +1 -1
  105. package/dist/tools.js +34 -0
  106. package/dist/tools.js.map +1 -1
  107. package/dist/types/sync.d.ts +284 -0
  108. package/dist/types/sync.d.ts.map +1 -0
  109. package/dist/types/sync.js +5 -0
  110. package/dist/types/sync.js.map +1 -0
  111. package/package.json +10 -2
@@ -0,0 +1,401 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useEffect, useCallback, useMemo } from 'react';
3
+ import { Box, Text, useInput } from 'ink';
4
+ import { Settings, Provider, KNOWN_MODELS } from '../settings.js';
5
+ import { fetchOpenAIModels } from '../providers.js';
6
+ const PROVIDERS = [
7
+ { name: Provider.ANTHROPIC, displayName: 'Anthropic (Claude)' },
8
+ { name: Provider.OPENAI, displayName: 'OpenAI (GPT)' },
9
+ { name: Provider.AZURE, displayName: 'Azure OpenAI' },
10
+ ];
11
+ /**
12
+ * ConfigWizard - Multi-step inline configuration wizard for LLM providers.
13
+ *
14
+ * Steps:
15
+ * 1. Select provider (Anthropic, OpenAI, Azure)
16
+ * 2. Enter API key (masked input)
17
+ * 3. Select model (Anthropic/OpenAI) or continue Azure flow
18
+ *
19
+ * For Azure:
20
+ * 2. Enter endpoint
21
+ * 3. Enter API key (masked)
22
+ * 4. Enter API version
23
+ * 5. Enter deployment name
24
+ */
25
+ export function ConfigWizard({ isOpen, settings, onComplete, onCancel, }) {
26
+ // Current step in the wizard
27
+ const [step, setStep] = useState('provider');
28
+ // Selected provider
29
+ const [selectedProvider, setSelectedProvider] = useState(settings.provider);
30
+ const [providerIndex, setProviderIndex] = useState(0);
31
+ // Text input state (for API key, endpoint, etc.)
32
+ const [inputValue, setInputValue] = useState('');
33
+ const [cursorPos, setCursorPos] = useState(0);
34
+ // Model selection state
35
+ const [models, setModels] = useState([]);
36
+ const [modelIndex, setModelIndex] = useState(0);
37
+ const [loadingModels, setLoadingModels] = useState(false);
38
+ // Form data being built
39
+ const [formData, setFormData] = useState({
40
+ anthropic: { ...settings.anthropic },
41
+ openai: { ...settings.openai },
42
+ azure: { ...settings.azure },
43
+ });
44
+ // Reset state when wizard opens
45
+ useEffect(() => {
46
+ if (isOpen) {
47
+ setStep('provider');
48
+ setSelectedProvider(settings.provider);
49
+ // Set initial provider index to current provider
50
+ const idx = PROVIDERS.findIndex(p => p.name === settings.provider);
51
+ setProviderIndex(idx >= 0 ? idx : 0);
52
+ setInputValue('');
53
+ setCursorPos(0);
54
+ setModels([]);
55
+ setModelIndex(0);
56
+ setLoadingModels(false);
57
+ setFormData({
58
+ anthropic: { ...settings.anthropic },
59
+ openai: { ...settings.openai },
60
+ azure: { ...settings.azure },
61
+ });
62
+ }
63
+ }, [isOpen, settings]);
64
+ // Get the current default value for text input steps
65
+ const getCurrentDefault = useCallback(() => {
66
+ switch (step) {
67
+ case 'apiKey':
68
+ if (selectedProvider === Provider.ANTHROPIC) {
69
+ return formData.anthropic.api_key;
70
+ }
71
+ else if (selectedProvider === Provider.OPENAI) {
72
+ return formData.openai.api_key;
73
+ }
74
+ else if (selectedProvider === Provider.AZURE) {
75
+ return formData.azure.api_key;
76
+ }
77
+ return '';
78
+ case 'endpoint':
79
+ return formData.azure.endpoint;
80
+ case 'apiVersion':
81
+ return formData.azure.api_version;
82
+ case 'deployment':
83
+ return formData.azure.deployment;
84
+ default:
85
+ return '';
86
+ }
87
+ }, [step, selectedProvider, formData]);
88
+ // Initialize input value when step changes
89
+ useEffect(() => {
90
+ if (step === 'apiKey' || step === 'endpoint' || step === 'apiVersion' || step === 'deployment') {
91
+ const defaultValue = getCurrentDefault();
92
+ setInputValue(defaultValue);
93
+ setCursorPos(defaultValue.length);
94
+ }
95
+ }, [step, getCurrentDefault]);
96
+ // Load models when entering model step
97
+ useEffect(() => {
98
+ if (step === 'model') {
99
+ const loadModels = async () => {
100
+ setLoadingModels(true);
101
+ let modelList = [];
102
+ if (selectedProvider === Provider.ANTHROPIC) {
103
+ modelList = KNOWN_MODELS.anthropic;
104
+ }
105
+ else if (selectedProvider === Provider.OPENAI) {
106
+ // Try to fetch from API
107
+ const apiKey = formData.openai.api_key;
108
+ if (apiKey) {
109
+ try {
110
+ const apiModels = await fetchOpenAIModels(apiKey);
111
+ if (apiModels.length > 0) {
112
+ modelList = apiModels;
113
+ }
114
+ else {
115
+ modelList = KNOWN_MODELS.openai;
116
+ }
117
+ }
118
+ catch {
119
+ modelList = KNOWN_MODELS.openai;
120
+ }
121
+ }
122
+ else {
123
+ modelList = KNOWN_MODELS.openai;
124
+ }
125
+ }
126
+ setModels(modelList);
127
+ // Set initial selection to current model
128
+ const currentModel = selectedProvider === Provider.ANTHROPIC
129
+ ? formData.anthropic.model
130
+ : formData.openai.model;
131
+ const idx = modelList.findIndex(([id]) => id === currentModel);
132
+ setModelIndex(idx >= 0 ? idx : 0);
133
+ setLoadingModels(false);
134
+ };
135
+ loadModels();
136
+ }
137
+ }, [step, selectedProvider, formData.anthropic.model, formData.openai.api_key, formData.openai.model]);
138
+ // Handle step completion and navigation
139
+ const advanceStep = useCallback(() => {
140
+ if (step === 'provider') {
141
+ const provider = PROVIDERS[providerIndex].name;
142
+ setSelectedProvider(provider);
143
+ if (provider === Provider.AZURE) {
144
+ setStep('endpoint');
145
+ }
146
+ else {
147
+ setStep('apiKey');
148
+ }
149
+ }
150
+ else if (step === 'apiKey') {
151
+ // Save API key
152
+ if (selectedProvider === Provider.ANTHROPIC) {
153
+ setFormData(prev => ({
154
+ ...prev,
155
+ anthropic: { ...prev.anthropic, api_key: inputValue },
156
+ }));
157
+ }
158
+ else if (selectedProvider === Provider.OPENAI) {
159
+ setFormData(prev => ({
160
+ ...prev,
161
+ openai: { ...prev.openai, api_key: inputValue },
162
+ }));
163
+ }
164
+ else if (selectedProvider === Provider.AZURE) {
165
+ setFormData(prev => ({
166
+ ...prev,
167
+ azure: { ...prev.azure, api_key: inputValue },
168
+ }));
169
+ setStep('apiVersion');
170
+ return;
171
+ }
172
+ setStep('model');
173
+ }
174
+ else if (step === 'endpoint') {
175
+ // Ensure endpoint ends with /
176
+ let endpoint = inputValue;
177
+ if (endpoint && !endpoint.endsWith('/')) {
178
+ endpoint += '/';
179
+ }
180
+ setFormData(prev => ({
181
+ ...prev,
182
+ azure: { ...prev.azure, endpoint },
183
+ }));
184
+ setStep('apiKey');
185
+ }
186
+ else if (step === 'apiVersion') {
187
+ setFormData(prev => ({
188
+ ...prev,
189
+ azure: { ...prev.azure, api_version: inputValue },
190
+ }));
191
+ setStep('deployment');
192
+ }
193
+ else if (step === 'deployment') {
194
+ // Azure final step - complete the wizard
195
+ const newSettings = Settings.fromDict({
196
+ provider: selectedProvider,
197
+ anthropic: formData.anthropic,
198
+ openai: formData.openai,
199
+ azure: { ...formData.azure, deployment: inputValue },
200
+ });
201
+ onComplete(newSettings);
202
+ }
203
+ else if (step === 'model') {
204
+ // Save model and complete
205
+ const selectedModel = models[modelIndex]?.[0] || '';
206
+ if (selectedProvider === Provider.ANTHROPIC) {
207
+ const newSettings = Settings.fromDict({
208
+ provider: selectedProvider,
209
+ anthropic: { ...formData.anthropic, model: selectedModel },
210
+ openai: formData.openai,
211
+ azure: formData.azure,
212
+ });
213
+ onComplete(newSettings);
214
+ }
215
+ else if (selectedProvider === Provider.OPENAI) {
216
+ const newSettings = Settings.fromDict({
217
+ provider: selectedProvider,
218
+ anthropic: formData.anthropic,
219
+ openai: { ...formData.openai, model: selectedModel },
220
+ azure: formData.azure,
221
+ });
222
+ onComplete(newSettings);
223
+ }
224
+ }
225
+ }, [step, providerIndex, selectedProvider, inputValue, models, modelIndex, formData, onComplete]);
226
+ // Check if current input is valid for the step
227
+ const isInputValid = useMemo(() => {
228
+ switch (step) {
229
+ case 'apiKey':
230
+ return inputValue.length > 0;
231
+ case 'endpoint':
232
+ return inputValue.length > 0 && inputValue.includes('.');
233
+ case 'apiVersion':
234
+ return inputValue.length > 0;
235
+ case 'deployment':
236
+ return inputValue.length > 0;
237
+ default:
238
+ return true;
239
+ }
240
+ }, [step, inputValue]);
241
+ // Handle keyboard input
242
+ useInput((input, key) => {
243
+ if (!isOpen)
244
+ return;
245
+ // Escape to cancel
246
+ if (key.escape) {
247
+ onCancel();
248
+ return;
249
+ }
250
+ // Handle different step types
251
+ if (step === 'provider') {
252
+ // Menu navigation
253
+ if (key.upArrow) {
254
+ setProviderIndex(prev => (prev > 0 ? prev - 1 : PROVIDERS.length - 1));
255
+ }
256
+ else if (key.downArrow) {
257
+ setProviderIndex(prev => (prev < PROVIDERS.length - 1 ? prev + 1 : 0));
258
+ }
259
+ else if (key.return) {
260
+ advanceStep();
261
+ }
262
+ }
263
+ else if (step === 'model') {
264
+ // Model menu navigation
265
+ if (key.upArrow && !loadingModels) {
266
+ setModelIndex(prev => (prev > 0 ? prev - 1 : models.length - 1));
267
+ }
268
+ else if (key.downArrow && !loadingModels) {
269
+ setModelIndex(prev => (prev < models.length - 1 ? prev + 1 : 0));
270
+ }
271
+ else if (key.return && !loadingModels) {
272
+ advanceStep();
273
+ }
274
+ }
275
+ else {
276
+ // Text input handling (apiKey, endpoint, apiVersion, deployment)
277
+ if (key.return) {
278
+ if (isInputValid) {
279
+ advanceStep();
280
+ }
281
+ }
282
+ else if (key.meta && (key.backspace || key.delete)) {
283
+ // Alt+Backspace: delete word before cursor
284
+ if (cursorPos > 0) {
285
+ let pos = cursorPos;
286
+ // Skip any whitespace immediately before cursor
287
+ while (pos > 0 && /\s/.test(inputValue[pos - 1])) {
288
+ pos--;
289
+ }
290
+ // Delete back to the previous whitespace or start of line
291
+ while (pos > 0 && !/\s/.test(inputValue[pos - 1])) {
292
+ pos--;
293
+ }
294
+ setInputValue(prev => prev.slice(0, pos) + prev.slice(cursorPos));
295
+ setCursorPos(pos);
296
+ }
297
+ }
298
+ else if (key.backspace || key.delete) {
299
+ if (cursorPos > 0) {
300
+ setInputValue(prev => prev.slice(0, cursorPos - 1) + prev.slice(cursorPos));
301
+ setCursorPos(prev => prev - 1);
302
+ }
303
+ }
304
+ else if (key.leftArrow) {
305
+ setCursorPos(prev => Math.max(0, prev - 1));
306
+ }
307
+ else if (key.rightArrow) {
308
+ setCursorPos(prev => Math.min(inputValue.length, prev + 1));
309
+ }
310
+ else if (input && !key.ctrl && !key.meta) {
311
+ // Regular character input (including multi-character paste)
312
+ setInputValue(prev => prev.slice(0, cursorPos) + input + prev.slice(cursorPos));
313
+ setCursorPos(prev => prev + input.length);
314
+ }
315
+ else if (input === 'a' && key.ctrl) {
316
+ // Home
317
+ setCursorPos(0);
318
+ }
319
+ else if (input === 'e' && key.ctrl) {
320
+ // End
321
+ setCursorPos(inputValue.length);
322
+ }
323
+ else if (input === 'u' && key.ctrl) {
324
+ // Clear line
325
+ setInputValue('');
326
+ setCursorPos(0);
327
+ }
328
+ }
329
+ }, { isActive: isOpen });
330
+ if (!isOpen) {
331
+ return null;
332
+ }
333
+ // Render provider selection
334
+ const renderProviderStep = () => (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { marginBottom: 0, children: _jsx(Text, { bold: true, color: "cyan", children: "Step 1: Select Provider" }) }), PROVIDERS.map((provider, index) => {
335
+ const isSelected = index === providerIndex;
336
+ const isCurrent = provider.name === settings.provider;
337
+ return (_jsx(Box, { children: isSelected ? (_jsxs(Text, { inverse: true, bold: true, children: [' > ', provider.displayName, isCurrent ? ' (current)' : ''] })) : (_jsxs(Text, { children: [_jsxs(Text, { children: [' ', provider.displayName] }), isCurrent && _jsx(Text, { color: "green", children: " (current)" })] })) }, provider.name));
338
+ })] }));
339
+ // Render text input with optional masking
340
+ const renderTextInput = (label, masked = false) => {
341
+ // Create display value
342
+ const displayValue = masked ? '*'.repeat(inputValue.length) : inputValue;
343
+ const beforeCursor = displayValue.slice(0, cursorPos);
344
+ const cursorChar = displayValue[cursorPos] || ' ';
345
+ const afterCursor = displayValue.slice(cursorPos + 1);
346
+ // Calculate step number based on provider and current step
347
+ let stepNum = 2;
348
+ if (selectedProvider === Provider.AZURE) {
349
+ if (step === 'endpoint')
350
+ stepNum = 2;
351
+ else if (step === 'apiKey')
352
+ stepNum = 3;
353
+ else if (step === 'apiVersion')
354
+ stepNum = 4;
355
+ else if (step === 'deployment')
356
+ stepNum = 5;
357
+ }
358
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { marginBottom: 0, children: _jsxs(Text, { bold: true, color: "cyan", children: ["Step ", stepNum, ": ", label] }) }), _jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: '> ' }), _jsx(Text, { children: beforeCursor }), _jsx(Text, { inverse: true, children: cursorChar }), _jsx(Text, { children: afterCursor })] }), !isInputValid && inputValue.length > 0 && (_jsx(Text, { color: "yellow", children: "Please enter a valid value" }))] }));
359
+ };
360
+ // Render model selection
361
+ const renderModelStep = () => {
362
+ const stepNum = selectedProvider === Provider.AZURE ? 6 : 3;
363
+ if (loadingModels) {
364
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { marginBottom: 0, children: _jsxs(Text, { bold: true, color: "cyan", children: ["Step ", stepNum, ": Select Model"] }) }), _jsx(Text, { dimColor: true, children: "Loading available models..." })] }));
365
+ }
366
+ // Get current model for this provider
367
+ const currentModel = selectedProvider === Provider.ANTHROPIC
368
+ ? settings.anthropic.model
369
+ : settings.openai.model;
370
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { marginBottom: 0, children: _jsxs(Text, { bold: true, color: "cyan", children: ["Step ", stepNum, ": Select Model"] }) }), models.map(([modelId, description], index) => {
371
+ const isSelected = index === modelIndex;
372
+ const isCurrent = modelId === currentModel;
373
+ // Truncate description if too long
374
+ const shortDesc = description.length > 40 ? description.slice(0, 37) + '...' : description;
375
+ return (_jsx(Box, { children: isSelected ? (_jsxs(Text, { inverse: true, bold: true, children: [' > ', modelId, isCurrent ? ' (current)' : ''] })) : (_jsxs(Text, { children: [_jsxs(Text, { color: "cyan", children: [' ', modelId] }), isCurrent && _jsx(Text, { color: "green", children: " (current)" }), shortDesc && !shortDesc.startsWith('OpenAI') && (_jsxs(Text, { dimColor: true, children: [" - ", shortDesc] }))] })) }, modelId));
376
+ })] }));
377
+ };
378
+ // Render current step content
379
+ const renderStepContent = () => {
380
+ switch (step) {
381
+ case 'provider':
382
+ return renderProviderStep();
383
+ case 'apiKey':
384
+ return renderTextInput(`Enter ${selectedProvider.charAt(0).toUpperCase() + selectedProvider.slice(1)} API Key`, true);
385
+ case 'endpoint':
386
+ return renderTextInput('Enter Azure Endpoint (https://xxx.openai.azure.com/)');
387
+ case 'apiVersion':
388
+ return renderTextInput('Enter API Version');
389
+ case 'deployment':
390
+ return renderTextInput('Enter Deployment Name');
391
+ case 'model':
392
+ return renderModelStep();
393
+ default:
394
+ return null;
395
+ }
396
+ };
397
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "magenta", paddingX: 1, marginTop: 0, children: [_jsx(Box, { marginBottom: 0, children: _jsx(Text, { bold: true, children: "Configure LLM Provider" }) }), renderStepContent(), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: step === 'provider' || step === 'model'
398
+ ? ' Use arrows to navigate, Enter to select, Esc to cancel'
399
+ : ' Enter to confirm, Ctrl+U to clear, Esc to cancel' }) })] }));
400
+ }
401
+ //# sourceMappingURL=ConfigWizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigWizard.js","sourceRoot":"","sources":["../../src/components/ConfigWizard.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { Settings } from '../settings.js';
3
+ interface InputFooterProps {
4
+ onSubmit: (value: string) => void;
5
+ history?: string[];
6
+ isDisabled?: boolean;
7
+ settings?: Settings;
8
+ }
9
+ /**
10
+ * InputFooter - Persistent input component for the chat footer.
11
+ *
12
+ * This is a simplified, controlled version of InputModal designed to stay
13
+ * mounted throughout the session. It handles:
14
+ * - Multi-line input with cursor navigation
15
+ * - Command history navigation (up/down arrows)
16
+ * - Command palette (triggered by "/")
17
+ * - Inline config wizard, model menu, and token input
18
+ *
19
+ * Unlike InputModal, this doesn't resolve a promise on submit - it calls
20
+ * the onSubmit callback and clears the input.
21
+ *
22
+ * Controls:
23
+ * - Enter: Submit the input (or select command when palette is open)
24
+ * - Ctrl+J: Add a new line
25
+ * - Arrow Up/Down: Navigate between lines (or navigate palette/history when appropriate)
26
+ * - Arrow Left/Right: Navigate within a line
27
+ * - Backspace: Delete character or merge lines
28
+ * - Escape: Close command palette (during streaming, parent handles interrupt)
29
+ * - Ctrl+C: Exit
30
+ */
31
+ export declare function InputFooter({ onSubmit, history, isDisabled, settings, }: InputFooterProps): React.ReactElement;
32
+ export {};
33
+ //# sourceMappingURL=InputFooter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputFooter.d.ts","sourceRoot":"","sources":["../../src/components/InputFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAQzE,OAAO,EAAE,QAAQ,EAAwD,MAAM,gBAAgB,CAAC;AAGhG,UAAU,gBAAgB;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,OAAY,EACZ,UAAkB,EAClB,QAAQ,GACT,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAouBvC"}