locdotech-ai 1.0.64 → 1.0.66

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.
@@ -9,7 +9,7 @@ export interface StreamEvent {
9
9
  export declare class StreamingHandler extends EventEmitter {
10
10
  private abortController;
11
11
  stream(request: ChatRequest): Promise<Message>;
12
- private fallbackToNonStreaming;
12
+ private executeNonStreaming;
13
13
  abort(): void;
14
14
  }
15
15
  export declare const streamingHandler: StreamingHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/api/streaming.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAU,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAWrE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,eAAe,CAAgC;IAEjD,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;YA2HtC,sBAAsB;IA8BpC,KAAK,IAAI,IAAI;CAKd;AAED,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
1
+ {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/api/streaming.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,EAAU,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAWrE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,eAAe,CAAgC;IAEjD,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;YAQtC,mBAAmB;IAuCjC,KAAK,IAAI,IAAI;CAKd;AAED,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { EventEmitter } from 'events';
2
2
  import { appendFileSync } from 'fs';
3
+ import * as os from 'os';
4
+ import * as path from 'path';
3
5
  import { client } from './client.js';
4
- const DEBUG_FILE = '/tmp/ai-router-debug.log';
6
+ const DEBUG_FILE = path.join(os.homedir(), '.ai-router', 'debug.log');
5
7
  function debugLog(msg) {
6
8
  try {
7
9
  appendFileSync(DEBUG_FILE, `${new Date().toISOString()} ${msg}\n`);
@@ -14,95 +16,29 @@ export class StreamingHandler extends EventEmitter {
14
16
  abortController = null;
15
17
  async stream(request) {
16
18
  this.abortController = new AbortController();
17
- let fullContent = '';
18
- const toolCalls = [];
19
- let currentToolCall = null;
19
+ // Use non-streaming for reliability (server streaming has issues)
20
+ debugLog('=== Using non-streaming mode ===');
21
+ return await this.executeNonStreaming(request);
22
+ }
23
+ async executeNonStreaming(request) {
24
+ debugLog('Calling API (non-streaming)...');
20
25
  try {
21
- debugLog('=== Starting stream ===');
22
- for await (const chunk of client.chatStream(request)) {
23
- if (this.abortController.signal.aborted) {
24
- break;
25
- }
26
- const choice = chunk.choices[0];
27
- if (!choice)
28
- continue;
29
- const delta = choice.delta;
30
- // Debug log the raw delta
31
- if (delta.tool_calls) {
32
- debugLog(`TOOL_CALLS: ${JSON.stringify(delta.tool_calls)}`);
33
- }
34
- if (choice.finish_reason) {
35
- debugLog(`FINISH: ${choice.finish_reason}`);
36
- }
37
- // Handle content
38
- if (delta.content) {
39
- fullContent += delta.content;
40
- this.emit('content', delta.content);
41
- }
42
- // Handle tool calls
43
- if (delta.tool_calls) {
44
- for (const tc of delta.tool_calls) {
45
- if (tc.id) {
46
- // New tool call
47
- if (currentToolCall && currentToolCall.id) {
48
- toolCalls.push(currentToolCall);
49
- }
50
- currentToolCall = {
51
- id: tc.id,
52
- type: 'function',
53
- function: {
54
- name: tc.function?.name || '',
55
- arguments: tc.function?.arguments || '',
56
- },
57
- };
58
- }
59
- else if (currentToolCall && tc.function) {
60
- // Continue building current tool call
61
- if (tc.function.name) {
62
- currentToolCall.function.name += tc.function.name;
63
- }
64
- if (tc.function.arguments) {
65
- currentToolCall.function.arguments += tc.function.arguments;
66
- }
67
- }
68
- }
69
- }
70
- // Check for finish - emit any pending tool calls
71
- if (choice.finish_reason) {
72
- // Push any remaining tool call being built
73
- if (currentToolCall && currentToolCall.id) {
74
- toolCalls.push(currentToolCall);
75
- currentToolCall = null;
76
- }
77
- // Emit all tool calls when stream finishes
78
- if (toolCalls.length > 0) {
79
- for (const tc of toolCalls) {
80
- this.emit('tool_call', tc);
81
- }
82
- }
83
- this.emit('finish', choice.finish_reason);
84
- }
85
- }
86
- // Handle any remaining tool call that wasn't finalized
87
- if (currentToolCall && currentToolCall.id) {
88
- toolCalls.push(currentToolCall);
89
- for (const tc of toolCalls) {
90
- this.emit('tool_call', tc);
91
- }
26
+ const response = await client.chat({ ...request, stream: false });
27
+ const content = response.choices[0]?.message?.content || '';
28
+ const toolCalls = response.choices[0]?.message?.tool_calls || [];
29
+ debugLog(`Response: ${content.slice(0, 100)}... (${toolCalls.length} tool calls)`);
30
+ // Emit content as single chunk
31
+ if (content) {
32
+ this.emit('content', content);
92
33
  }
93
- debugLog(`=== Stream done. toolCalls: ${toolCalls.length} ===`);
94
- if (toolCalls.length > 0) {
95
- debugLog(`Collected tool calls: ${JSON.stringify(toolCalls)}`);
96
- }
97
- // Fallback to non-streaming if streaming returned empty content
98
- if (!fullContent && toolCalls.length === 0) {
99
- debugLog('Streaming returned empty, falling back to non-streaming');
100
- return await this.fallbackToNonStreaming(request);
34
+ // Emit tool calls
35
+ for (const tc of toolCalls) {
36
+ this.emit('tool_call', tc);
101
37
  }
102
38
  this.emit('done');
103
39
  const message = {
104
40
  role: 'assistant',
105
- content: fullContent,
41
+ content,
106
42
  };
107
43
  if (toolCalls.length > 0) {
108
44
  message.tool_calls = toolCalls;
@@ -110,39 +46,10 @@ export class StreamingHandler extends EventEmitter {
110
46
  return message;
111
47
  }
112
48
  catch (error) {
113
- // On streaming error, try non-streaming fallback
114
- debugLog(`Stream error: ${error}, trying non-streaming fallback`);
115
- try {
116
- return await this.fallbackToNonStreaming(request);
117
- }
118
- catch (fallbackError) {
119
- this.emit('error', fallbackError);
120
- throw fallbackError;
121
- }
122
- }
123
- }
124
- async fallbackToNonStreaming(request) {
125
- debugLog('Using non-streaming fallback');
126
- const response = await client.chat({ ...request, stream: false });
127
- const content = response.choices[0]?.message?.content || '';
128
- const toolCalls = response.choices[0]?.message?.tool_calls || [];
129
- // Emit content as single chunk
130
- if (content) {
131
- this.emit('content', content);
132
- }
133
- // Emit tool calls
134
- for (const tc of toolCalls) {
135
- this.emit('tool_call', tc);
136
- }
137
- this.emit('done');
138
- const message = {
139
- role: 'assistant',
140
- content,
141
- };
142
- if (toolCalls.length > 0) {
143
- message.tool_calls = toolCalls;
49
+ debugLog(`API Error: ${error}`);
50
+ this.emit('error', error);
51
+ throw error;
144
52
  }
145
- return message;
146
53
  }
147
54
  abort() {
148
55
  if (this.abortController) {
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/api/streaming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/api/streaming.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAkC,MAAM,aAAa,CAAC;AAErE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;AACtE,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,CAAC;QACH,cAAc,CAAC,UAAU,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC;AASD,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IACxC,eAAe,GAA2B,IAAI,CAAC;IAEvD,KAAK,CAAC,MAAM,CAAC,OAAoB;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAE7C,kEAAkE;QAClE,QAAQ,CAAC,kCAAkC,CAAC,CAAC;QAC7C,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,OAAoB;QACpD,QAAQ,CAAC,gCAAgC,CAAC,CAAC;QAE3C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;YAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC;YAEjE,QAAQ,CAAC,aAAa,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,SAAS,CAAC,MAAM,cAAc,CAAC,CAAC;YAEnF,+BAA+B;YAC/B,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAChC,CAAC;YAED,kBAAkB;YAClB,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC7B,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAElB,MAAM,OAAO,GAAY;gBACvB,IAAI,EAAE,WAAW;gBACjB,OAAO;aACR,CAAC;YAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;YACjC,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,cAAc,KAAK,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC1B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAkBzE,MAAM,WAAW,QAAQ;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,GAAG,CAAC,EAAE,aAAa,EAAE,EAAE,QAAQ,GAAG,KAAK,CAAC,YAAY,CA8JnE"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAmBzE,MAAM,WAAW,QAAQ;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,GAAG,CAAC,EAAE,aAAa,EAAE,EAAE,QAAQ,GAAG,KAAK,CAAC,YAAY,CA6KnE"}
package/dist/ui/App.js CHANGED
@@ -6,6 +6,7 @@ import { Message } from './components/Message.js';
6
6
  import { ToolCallList } from './components/ToolCall.js';
7
7
  import { Permission } from './components/Permission.js';
8
8
  import { SessionSelector } from './components/SessionSelector.js';
9
+ import { ConfigMenu } from './components/ConfigMenu.js';
9
10
  import { ThinkingIndicator } from './components/ThinkingIndicator.js';
10
11
  import { Header } from './components/Header.js';
11
12
  import { ServicesDashboard } from './components/ServicesDashboard.js';
@@ -14,12 +15,13 @@ import { useHistory } from './hooks/useHistory.js';
14
15
  import { useServicesEffect, useToolCallsEffect, useKeyboardShortcuts } from './hooks/useAppEffects.js';
15
16
  import { loadSettings, saveSettings } from '../config/index.js';
16
17
  import { commandRegistry } from '../commands/index.js';
17
- const VERSION = '1.0.64';
18
+ const VERSION = '1.0.66';
18
19
  export function App({ initialPrompt }) {
19
20
  const { exit } = useApp();
20
21
  const settings = loadSettings();
21
22
  const [autoAccept, setAutoAccept] = useState(settings.autoAccept);
22
23
  const [showSessionSelector, setShowSessionSelector] = useState(false);
24
+ const [showConfigMenu, setShowConfigMenu] = useState(false);
23
25
  const [thinkingMode, setThinkingMode] = useState('thinking');
24
26
  const [services, setServices] = useState([]);
25
27
  const [currentPermission, setCurrentPermission] = useState(null);
@@ -58,6 +60,12 @@ export function App({ initialPrompt }) {
58
60
  setShowSessionSelector(true);
59
61
  return;
60
62
  }
63
+ // Show interactive config menu
64
+ const configCommands = ['config', 'settings'];
65
+ if (configCommands.includes(command.toLowerCase()) && !argsStr) {
66
+ setShowConfigMenu(true);
67
+ return;
68
+ }
61
69
  const handler = commandRegistry.get(command.toLowerCase());
62
70
  if (handler) {
63
71
  const result = await handler.execute({
@@ -85,6 +93,6 @@ export function App({ initialPrompt }) {
85
93
  : visible;
86
94
  return { staticMessages: completed, dynamicMessage: streaming };
87
95
  }, [messages]);
88
- return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(Header, { version: VERSION, projectPath: process.cwd(), isConnected: true }), _jsx(ServicesDashboard, { services: services }), _jsx(Static, { items: staticMessages, children: (msg) => _jsx(Message, { message: msg }, msg.id) }), dynamicMessage && (_jsx(Box, { flexDirection: "column", children: _jsx(Message, { message: dynamicMessage }, dynamicMessage.id) })), pendingToolCalls.length > 0 && !currentPermission && (_jsx(ToolCallList, { toolCalls: pendingToolCalls })), currentPermission && (_jsx(Permission, { toolName: currentPermission.toolName, args: currentPermission.args, onApprove: () => { approveToolCall(currentPermission.toolCallId); setCurrentPermission(null); }, onReject: () => { rejectToolCall(currentPermission.toolCallId); setCurrentPermission(null); } })), showSessionSelector && (_jsx(SessionSelector, { onSelect: (session) => { restoreSession(session); setShowSessionSelector(false); console.log(`\n✓ Restored session: ${session.projectName}\n`); }, onCancel: () => setShowSessionSelector(false) })), error && _jsx(Box, { children: _jsxs(Text, { color: "red", bold: true, children: ["Error: ", error] }) }), (isLoading || isStreaming) && (_jsx(ThinkingIndicator, { mode: pendingToolCalls.length > 0 ? 'executing' : isStreaming ? 'streaming' : thinkingMode, detail: pendingToolCalls.length > 0 ? `Running ${pendingToolCalls[0]?.name}...` : undefined })), !currentPermission && !showSessionSelector && (_jsx(Input, { placeholder: "Type a message or /help for commands...", onSubmit: handleSubmit, onHistoryUp: handleHistoryUp, onHistoryDown: handleHistoryDown, onToggleAuto: () => { const v = !autoAccept; setAutoAccept(v); saveSettings({ autoAccept: v }); }, disabled: isLoading || !!currentPermission })), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "gray", dimColor: true, children: ["^C ", isLoading ? 'abort' : 'exit', " \u2022 ^L clear \u2022 /a ", autoAccept ? _jsx(Text, { color: "green", children: "\u25CF auto" }) : _jsx(Text, { color: "gray", children: "\u25CB auto" }), services.length > 0 && _jsxs(Text, { color: "gray", children: [" \u2022 /ps ", services.length, " running"] })] }) })] }));
96
+ return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(Header, { version: VERSION, projectPath: process.cwd(), isConnected: true }), _jsx(ServicesDashboard, { services: services }), _jsx(Static, { items: staticMessages, children: (msg) => _jsx(Message, { message: msg }, msg.id) }), dynamicMessage && (_jsx(Box, { flexDirection: "column", children: _jsx(Message, { message: dynamicMessage }, dynamicMessage.id) })), pendingToolCalls.length > 0 && !currentPermission && (_jsx(ToolCallList, { toolCalls: pendingToolCalls })), currentPermission && (_jsx(Permission, { toolName: currentPermission.toolName, args: currentPermission.args, onApprove: () => { approveToolCall(currentPermission.toolCallId); setCurrentPermission(null); }, onReject: () => { rejectToolCall(currentPermission.toolCallId); setCurrentPermission(null); } })), showSessionSelector && (_jsx(SessionSelector, { onSelect: (session) => { restoreSession(session); setShowSessionSelector(false); console.log(`\n✓ Restored session: ${session.projectName}\n`); }, onCancel: () => setShowSessionSelector(false) })), showConfigMenu && (_jsx(ConfigMenu, { onClose: () => setShowConfigMenu(false), onAutoAcceptChange: setAutoAccept })), error && _jsx(Box, { children: _jsxs(Text, { color: "red", bold: true, children: ["Error: ", error] }) }), (isLoading || isStreaming) && (_jsx(ThinkingIndicator, { mode: pendingToolCalls.length > 0 ? 'executing' : isStreaming ? 'streaming' : thinkingMode, detail: pendingToolCalls.length > 0 ? `Running ${pendingToolCalls[0]?.name}...` : undefined })), !currentPermission && !showSessionSelector && !showConfigMenu && (_jsx(Input, { placeholder: "Type a message or /help for commands...", onSubmit: handleSubmit, onHistoryUp: handleHistoryUp, onHistoryDown: handleHistoryDown, onToggleAuto: () => { const v = !autoAccept; setAutoAccept(v); saveSettings({ autoAccept: v }); }, disabled: isLoading || !!currentPermission })), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "gray", dimColor: true, children: ["^C ", isLoading ? 'abort' : 'exit', " \u2022 ^L clear \u2022 /a ", autoAccept ? _jsx(Text, { color: "green", children: "\u25CF auto" }) : _jsx(Text, { color: "gray", children: "\u25CB auto" }), services.length > 0 && _jsxs(Text, { color: "gray", children: [" \u2022 /ps ", services.length, " running"] })] }) })] }));
89
97
  }
90
98
  //# sourceMappingURL=App.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface ConfigMenuProps {
3
+ onClose: () => void;
4
+ onAutoAcceptChange?: (value: boolean) => void;
5
+ }
6
+ export declare function ConfigMenu({ onClose, onAutoAcceptChange }: ConfigMenuProps): React.ReactElement;
7
+ export {};
8
+ //# sourceMappingURL=ConfigMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigMenu.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ConfigMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAMxC,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C;AASD,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAiH/F"}
@@ -0,0 +1,76 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { Box, Text } from 'ink';
4
+ import SelectInput from 'ink-select-input';
5
+ import TextInput from 'ink-text-input';
6
+ import { loadSettings, saveSettings, resetSettings } from '../../config/index.js';
7
+ export function ConfigMenu({ onClose, onAutoAcceptChange }) {
8
+ const [state, setState] = useState('menu');
9
+ const [inputValue, setInputValue] = useState('');
10
+ const [message, setMessage] = useState(null);
11
+ const settings = loadSettings();
12
+ const menuItems = [
13
+ { label: `Set API Key ${settings.apiKey ? '(configured)' : '(not set)'}`, value: 'apikey' },
14
+ { label: `Auto Accept: ${settings.autoAccept ? 'ON' : 'OFF'}`, value: 'autoaccept' },
15
+ { label: 'Reset All Settings', value: 'reset' },
16
+ { label: 'Cancel', value: 'cancel' },
17
+ ];
18
+ const handleSelect = (item) => {
19
+ switch (item.value) {
20
+ case 'apikey':
21
+ setState('input-apikey');
22
+ setInputValue('');
23
+ break;
24
+ case 'autoaccept':
25
+ const newValue = !settings.autoAccept;
26
+ saveSettings({ autoAccept: newValue });
27
+ if (onAutoAcceptChange) {
28
+ onAutoAcceptChange(newValue);
29
+ }
30
+ setMessage(`Auto Accept: ${newValue ? 'ON' : 'OFF'}`);
31
+ setTimeout(onClose, 1000);
32
+ break;
33
+ case 'reset':
34
+ setState('confirm-reset');
35
+ break;
36
+ case 'cancel':
37
+ onClose();
38
+ break;
39
+ }
40
+ };
41
+ const handleApiKeySubmit = (value) => {
42
+ const key = value.trim();
43
+ if (key) {
44
+ saveSettings({ apiKey: key });
45
+ setMessage(`API Key saved: ********${key.slice(-4)}`);
46
+ }
47
+ else {
48
+ setMessage('API Key not changed');
49
+ }
50
+ setTimeout(onClose, 1500);
51
+ };
52
+ const handleResetConfirm = (item) => {
53
+ if (item.value === 'yes') {
54
+ resetSettings();
55
+ setMessage('All settings reset to defaults');
56
+ setTimeout(onClose, 1500);
57
+ }
58
+ else {
59
+ setState('menu');
60
+ }
61
+ };
62
+ if (message) {
63
+ return (_jsx(Box, { borderStyle: "round", borderColor: "green", paddingX: 2, paddingY: 1, children: _jsx(Text, { color: "green", children: message }) }));
64
+ }
65
+ if (state === 'input-apikey') {
66
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: "Enter API Key:" }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: "gray", children: '> ' }), _jsx(TextInput, { value: inputValue, onChange: setInputValue, onSubmit: handleApiKeySubmit, placeholder: "sk-your-api-key..." })] }), _jsx(Text, { color: "gray", dimColor: true, children: "Press Enter to save, or leave empty to cancel" })] }));
67
+ }
68
+ if (state === 'confirm-reset') {
69
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "red", paddingX: 2, paddingY: 1, children: [_jsx(Text, { bold: true, color: "red", children: "Reset all settings?" }), _jsx(Text, { color: "gray", children: "This will clear your API key and all preferences." }), _jsx(Box, { marginTop: 1, children: _jsx(SelectInput, { items: [
70
+ { label: 'Yes, reset everything', value: 'yes' },
71
+ { label: 'No, go back', value: 'no' },
72
+ ], onSelect: handleResetConfirm }) })] }));
73
+ }
74
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, children: [_jsx(Text, { bold: true, color: "cyan", children: "Configuration" }), _jsx(Box, { marginTop: 1, children: _jsx(SelectInput, { items: menuItems, onSelect: handleSelect }) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", dimColor: true, children: "Use arrow keys to select, Enter to confirm" }) })] }));
75
+ }
76
+ //# sourceMappingURL=ConfigMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigMenu.js","sourceRoot":"","sources":["../../../src/ui/components/ConfigMenu.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "locdotech-ai",
3
- "version": "1.0.64",
3
+ "version": "1.0.66",
4
4
  "description": "LocdoTech AI CLI - Smart AI assistant with multi-agent routing. Created by LocDo.Tech",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",