locdotech-ai 1.0.30 → 1.0.32

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.
@@ -1 +1 @@
1
- {"version":3,"file":"auto.d.ts","sourceRoot":"","sources":["../../src/commands/auto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,YAAY,CAAC;AAGrD,eAAO,MAAM,WAAW,EAAE,OAsBzB,CAAC"}
1
+ {"version":3,"file":"auto.d.ts","sourceRoot":"","sources":["../../src/commands/auto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,YAAY,CAAC;AAGrD,eAAO,MAAM,WAAW,EAAE,OAoBzB,CAAC"}
@@ -13,9 +13,7 @@ export const autoCommand = {
13
13
  context.setAutoAccept(newAutoAccept);
14
14
  }
15
15
  const status = newAutoAccept ? 'ON' : 'OFF';
16
- const message = `Auto-accept mode: ${status}`;
17
- console.log(message);
18
- return message;
16
+ return `Auto-accept mode: ${status}`;
19
17
  },
20
18
  };
21
19
  //# sourceMappingURL=auto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auto.js","sourceRoot":"","sources":["../../src/commands/auto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,WAAW,GAAY;IAClC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,4CAA4C;IACzD,OAAO,EAAE,CAAC,GAAG,CAAC;IAEd,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,EAAE,UAAU,IAAI,KAAK,CAAC;QAChE,MAAM,aAAa,GAAG,CAAC,iBAAiB,CAAC;QAEzC,wBAAwB;QACxB,YAAY,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;QAE5C,oCAAoC;QACpC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5C,MAAM,OAAO,GAAG,qBAAqB,MAAM,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"auto.js","sourceRoot":"","sources":["../../src/commands/auto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,CAAC,MAAM,WAAW,GAAY;IAClC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,4CAA4C;IACzD,OAAO,EAAE,CAAC,GAAG,CAAC;IAEd,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,EAAE,UAAU,IAAI,KAAK,CAAC;QAChE,MAAM,aAAa,GAAG,CAAC,iBAAiB,CAAC;QAEzC,wBAAwB;QACxB,YAAY,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;QAE5C,oCAAoC;QACpC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5C,OAAO,qBAAqB,MAAM,EAAE,CAAC;IACvC,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAchE,MAAM,WAAW,QAAQ;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,GAAG,CAAC,EAAE,aAAa,EAAE,EAAE,QAAQ,GAAG,KAAK,CAAC,YAAY,CA8QnE"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAkBhE,MAAM,WAAW,QAAQ;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,GAAG,CAAC,EAAE,aAAa,EAAE,EAAE,QAAQ,GAAG,KAAK,CAAC,YAAY,CAoSnE"}
package/dist/ui/App.js CHANGED
@@ -5,13 +5,16 @@ import { Input } from './components/Input.js';
5
5
  import { Message } from './components/Message.js';
6
6
  import { ToolCallList } from './components/ToolCall.js';
7
7
  import { Permission } from './components/Permission.js';
8
- import { StatusBar, WelcomeHeader } from './components/StatusBar.js';
9
8
  import { ModelSelector } from './components/ModelSelector.js';
10
9
  import { ThinkingIndicator } from './components/ThinkingIndicator.js';
10
+ import { Header } from './components/Header.js';
11
+ import { ServicesDashboard } from './components/ServicesDashboard.js';
11
12
  import { useChat } from './hooks/useChat.js';
12
13
  import { useHistory } from './hooks/useHistory.js';
13
14
  import { loadSettings, saveSettings } from '../config/index.js';
14
15
  import { commandRegistry } from '../commands/index.js';
16
+ import { getBackgroundProcesses } from '../tools/bash.js';
17
+ const VERSION = '1.0.32';
15
18
  export function App({ initialPrompt }) {
16
19
  const { exit } = useApp();
17
20
  const settings = loadSettings();
@@ -20,9 +23,27 @@ export function App({ initialPrompt }) {
20
23
  const [showModelSelector, setShowModelSelector] = useState(false);
21
24
  const [currentModel, setCurrentModel] = useState(settings.model);
22
25
  const [thinkingMode, setThinkingMode] = useState('thinking');
26
+ const [services, setServices] = useState([]);
23
27
  const [currentPermission, setCurrentPermission] = useState(null);
24
28
  const { messages, isLoading, isStreaming, pendingToolCalls, error, sendMessage, approveToolCall, rejectToolCall, approveAllToolCalls, clearMessages, abort, } = useChat();
25
29
  const { addToHistory, navigateHistory, resetNavigation } = useHistory();
30
+ // Update services list from background processes
31
+ useEffect(() => {
32
+ const updateServices = () => {
33
+ const processes = getBackgroundProcesses();
34
+ const serviceList = processes.map((p) => ({
35
+ id: p.id,
36
+ name: p.command,
37
+ command: p.command,
38
+ status: 'running',
39
+ }));
40
+ setServices(serviceList);
41
+ };
42
+ // Update immediately and then every 2 seconds
43
+ updateServices();
44
+ const interval = setInterval(updateServices, 2000);
45
+ return () => clearInterval(interval);
46
+ }, []);
26
47
  // Handle initial prompt
27
48
  useEffect(() => {
28
49
  if (initialPrompt) {
@@ -153,7 +174,7 @@ export function App({ initialPrompt }) {
153
174
  const handleHistoryDown = useCallback(() => {
154
175
  return navigateHistory('down', '');
155
176
  }, [navigateHistory]);
156
- return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(WelcomeHeader, {}), _jsx(StatusBar, { model: currentModel, isConnected: isConnected, isLoading: isLoading, messageCount: messages.length, autoAccept: autoAccept }), _jsx(Box, { flexDirection: "column", children: messages.map((msg) => (_jsx(Message, { message: msg }, msg.id))) }), pendingToolCalls.length > 0 && !currentPermission && (_jsx(ToolCallList, { toolCalls: pendingToolCalls })), currentPermission && (_jsx(Permission, { toolName: currentPermission.toolName, args: currentPermission.args, onApprove: () => {
177
+ return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(Header, { version: VERSION, projectPath: process.cwd(), isConnected: isConnected }), _jsx(ServicesDashboard, { services: services }), _jsx(Box, { flexDirection: "column", children: messages.map((msg) => (_jsx(Message, { message: msg }, msg.id))) }), pendingToolCalls.length > 0 && !currentPermission && (_jsx(ToolCallList, { toolCalls: pendingToolCalls })), currentPermission && (_jsx(Permission, { toolName: currentPermission.toolName, args: currentPermission.args, onApprove: () => {
157
178
  approveToolCall(currentPermission.toolCallId);
158
179
  setCurrentPermission(null);
159
180
  }, onReject: () => {
@@ -167,6 +188,6 @@ export function App({ initialPrompt }) {
167
188
  const newAutoAccept = !autoAccept;
168
189
  setAutoAccept(newAutoAccept);
169
190
  saveSettings({ autoAccept: newAutoAccept });
170
- }, 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" })] }) })] }));
191
+ }, 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"] })] }) })] }));
171
192
  }
172
193
  //# 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":";AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAgB,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAe,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,OAAO,GAAG,QAAQ,CAAC;AAMzB,MAAM,UAAU,GAAG,CAAC,EAAE,aAAa,EAAY;IAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAEhC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAClE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAe,UAAU,CAAC,CAAC;IAC3E,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAgB,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAIhD,IAAI,CAAC,CAAC;IAEhB,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,KAAK,EACL,WAAW,EACX,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,KAAK,GACN,GAAG,OAAO,EAAE,CAAC;IAEd,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,UAAU,EAAE,CAAC;IAExE,iDAAiD;IACjD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,cAAc,GAAG,GAAG,EAAE;YAC1B,MAAM,SAAS,GAAG,sBAAsB,EAAE,CAAC;YAC3C,MAAM,WAAW,GAAkB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACvD,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,OAAO;gBACf,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,SAAkB;aAC3B,CAAC,CAAC,CAAC;YACJ,WAAW,CAAC,WAAW,CAAC,CAAC;QAC3B,CAAC,CAAC;QAEF,8CAA8C;QAC9C,cAAc,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAEnD,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,wBAAwB;IACxB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,aAAa,EAAE,CAAC;YAClB,YAAY,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,oEAAoE;IACpE,SAAS,CAAC,GAAG,EAAE;QACb,8DAA8D;QAC9D,IAAI,SAAS;YAAE,OAAO;QAEtB,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAE3E,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,UAAU,EAAE,CAAC;gBACf,iEAAiE;gBACjE,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAC3B,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,yBAAyB;gBACzB,oBAAoB,CAAC;oBACnB,UAAU,EAAE,WAAW,CAAC,EAAE;oBAC1B,QAAQ,EAAE,WAAW,CAAC,IAAI;oBAC1B,IAAI,EAAE,WAAW,CAAC,IAAI;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3B,wEAAwE;QAC1E,CAAC;IACH,CAAC,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;IAE/D,4BAA4B;IAC5B,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,yBAAyB;QACzB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,iBAAiB,EAAE,CAAC;gBACtB,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAC5B,OAAO;YACT,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,IAAI,iBAAiB,EAAE,CAAC;gBACtB,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAC5B,OAAO;YACT,CAAC;YACD,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;gBAC7B,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,CAAC;gBACN,IAAI,EAAE,CAAC;YACT,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,aAAa,EAAE,CAAC;QAClB,CAAC;QAED,2BAA2B;QAC3B,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;gBAChC,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBAC9C,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;gBACvC,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBAC7C,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;gBACvC,mBAAmB,EAAE,CAAC;gBACtB,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC/C,MAAM,aAAa,GAAG,CAAC,UAAU,CAAC;YAClC,aAAa,CAAC,aAAa,CAAC,CAAC;YAC7B,YAAY,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,WAAW,CAC9B,KAAK,EAAE,KAAa,EAAE,EAAE;QACtB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAE7B,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,iBAAiB;QACjB,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,eAAe,EAAE,CAAC;QAElB,2BAA2B;QAC3B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAEtC,uEAAuE;YACvE,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClD,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YAE3D,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;oBACnC,IAAI,EAAE,OAAO;oBACb,aAAa;oBACb,aAAa;oBACb,QAAQ;oBACR,IAAI;iBACL,CAAC,CAAC;gBAEH,IAAI,MAAM,EAAE,CAAC;oBACX,2CAA2C;oBAC3C,uBAAuB;oBACvB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC;gBACD,OAAO;YACT,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAChJ,eAAe,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QAED,qBAAqB;QACrB,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC,EACD,CAAC,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,CAC5E,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CAAC,GAAkB,EAAE;QACtD,OAAO,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAkB,EAAE;QACxD,OAAO,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,aAEpC,KAAC,MAAM,IACL,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE,EAC1B,WAAW,EAAE,WAAW,GACxB,EAGF,KAAC,iBAAiB,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAGzC,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACrB,KAAC,OAAO,IAAc,OAAO,EAAE,GAAG,IAApB,GAAG,CAAC,EAAE,CAAkB,CACvC,CAAC,GACE,EAGL,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CACpD,KAAC,YAAY,IAAC,SAAS,EAAE,gBAAgB,GAAI,CAC9C,EAGA,iBAAiB,IAAI,CACpB,KAAC,UAAU,IACT,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,EACpC,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAC5B,SAAS,EAAE,GAAG,EAAE;oBACd,eAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;oBAC9C,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE;oBACb,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;oBAC7C,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC,GACD,CACH,EAGA,iBAAiB,IAAI,CACpB,KAAC,aAAa,IACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,eAAe,CAAC,KAAK,CAAC,CAAC;oBACvB,oBAAoB,CAAC,KAAK,CAAC,CAAC;oBAC5B,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,IAAI,CAAC,CAAC;gBAClD,CAAC,EACD,QAAQ,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAC3C,CACH,EAGA,KAAK,IAAI,CACR,KAAC,GAAG,cACF,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,EAAC,IAAI,8BACZ,KAAK,IACR,GACH,CACP,EAGA,CAAC,SAAS,IAAI,WAAW,CAAC,IAAI,CAC7B,KAAC,iBAAiB,IAChB,IAAI,EAAE,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,EAC1F,MAAM,EAAE,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,gBAAgB,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,GAC3F,CACH,EAGA,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,IAAI,CAC3C,KAAC,KAAK,IACJ,WAAW,EAAC,yCAAyC,EACrD,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,eAAe,EAC5B,aAAa,EAAE,iBAAiB,EAChC,YAAY,EAAE,GAAG,EAAE;oBACjB,MAAM,aAAa,GAAG,CAAC,UAAU,CAAC;oBAClC,aAAa,CAAC,aAAa,CAAC,CAAC;oBAC7B,YAAY,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;gBAC9C,CAAC,EACD,QAAQ,EAAE,SAAS,IAAI,CAAC,CAAC,iBAAiB,GAC1C,CACH,EAGD,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,QAAQ,0BACrB,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,iCAAmB,UAAU,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,4BAAc,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,4BAAc,EACnI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,6BAAS,QAAQ,CAAC,MAAM,gBAAgB,IAC7E,GACH,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ export interface HeaderProps {
3
+ version: string;
4
+ projectPath?: string;
5
+ isConnected: boolean;
6
+ }
7
+ export declare function Header({ version, projectPath, isConnected }: HeaderProps): React.ReactElement;
8
+ //# sourceMappingURL=Header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,MAAM,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,CAyB7F"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import * as path from 'path';
4
+ export function Header({ version, projectPath, isConnected }) {
5
+ const projectName = projectPath ? path.basename(projectPath) : 'unknown';
6
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: "gray", children: '╭' + '─'.repeat(60) + '╮' }), _jsxs(Box, { children: [_jsx(Text, { color: "gray", children: "\u2502 " }), _jsx(Text, { color: isConnected ? 'green' : 'red', children: "\u25CF" }), _jsx(Text, { color: "blue", bold: true, children: " AI Router" }), _jsxs(Text, { color: "gray", children: [" v", version] }), _jsx(Text, { color: "gray", children: " \u2502 " }), _jsx(Text, { color: "yellow", children: "\uD83D\uDCC1" }), _jsxs(Text, { children: [" ", projectName] }), _jsxs(Text, { color: "gray", children: [' '.repeat(Math.max(0, 38 - projectName.length)), "\u2502"] })] }), _jsx(Text, { color: "gray", children: '╰' + '─'.repeat(60) + '╯' })] }));
7
+ }
8
+ //# sourceMappingURL=Header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/ui/components/Header.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAQ7B,MAAM,UAAU,MAAM,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAe;IACvE,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEzE,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aAEzC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAQ,EAGtD,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,yBAAW,EAC7B,KAAC,IAAI,IAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,uBAAU,EACpD,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,iCAAkB,EACzC,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,mBAAI,OAAO,IAAQ,EACrC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,2BAAa,EAC/B,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,6BAAU,EAC9B,MAAC,IAAI,oBAAG,WAAW,IAAQ,EAE3B,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,aAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,cAAS,IACzE,EAGN,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,GAAQ,IAClD,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ export interface ServiceInfo {
3
+ id: number;
4
+ name: string;
5
+ url?: string;
6
+ port?: number;
7
+ status: 'running' | 'stopped' | 'error';
8
+ command: string;
9
+ }
10
+ export interface ServicesDashboardProps {
11
+ services: ServiceInfo[];
12
+ }
13
+ export declare function ServicesDashboard({ services }: ServicesDashboardProps): React.ReactElement | null;
14
+ export declare function ServicesInline({ services }: ServicesDashboardProps): React.ReactElement | null;
15
+ //# sourceMappingURL=ServicesDashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServicesDashboard.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ServicesDashboard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAqCD,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE,sBAAsB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CA2CjG;AAGD,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,sBAAsB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAoB9F"}
@@ -0,0 +1,65 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ // Extract port from command or detect common patterns
4
+ function detectServiceInfo(command) {
5
+ const cmd = command.toLowerCase();
6
+ // Detect port from common patterns
7
+ let port;
8
+ const portMatch = command.match(/(?:port|PORT|:)[\s=]*(\d{4,5})/);
9
+ if (portMatch) {
10
+ port = parseInt(portMatch[1], 10);
11
+ }
12
+ // Detect service type
13
+ let name = 'service';
14
+ if (cmd.includes('vite') || cmd.includes('react') || cmd.includes('next')) {
15
+ name = 'frontend';
16
+ port = port || 3000;
17
+ }
18
+ else if (cmd.includes('nest') || cmd.includes('express') || cmd.includes('fastify')) {
19
+ name = 'backend';
20
+ port = port || 3000;
21
+ }
22
+ else if (cmd.includes('prisma studio')) {
23
+ name = 'prisma';
24
+ port = port || 5555;
25
+ }
26
+ else if (cmd.includes('dev')) {
27
+ name = 'dev server';
28
+ port = port || 3000;
29
+ }
30
+ else if (cmd.includes('start')) {
31
+ name = 'server';
32
+ port = port || 3000;
33
+ }
34
+ const url = port ? `http://localhost:${port}` : undefined;
35
+ return { name, port, url };
36
+ }
37
+ export function ServicesDashboard({ services }) {
38
+ if (services.length === 0) {
39
+ return null;
40
+ }
41
+ const maxUrlLen = Math.max(...services.map(s => {
42
+ const info = detectServiceInfo(s.command);
43
+ return (info.url || '').length;
44
+ }), 22);
45
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: "gray", children: '┌─ Services ' + '─'.repeat(49) + '┐' }), services.map((service) => {
46
+ const info = detectServiceInfo(service.command);
47
+ const statusIcon = service.status === 'running' ? '●' : service.status === 'error' ? '!' : '○';
48
+ const statusColor = service.status === 'running' ? 'green' : service.status === 'error' ? 'red' : 'gray';
49
+ const url = info.url || 'N/A';
50
+ const name = info.name;
51
+ return (_jsxs(Box, { children: [_jsx(Text, { color: "gray", children: "\u2502 " }), _jsx(Text, { color: statusColor, children: statusIcon }), _jsx(Text, { children: " " }), _jsx(Text, { color: "cyan", children: url.padEnd(maxUrlLen) }), _jsx(Text, { color: "gray", children: " " }), _jsx(Text, { color: "white", children: name.padEnd(12) }), _jsx(Text, { color: statusColor, children: service.status === 'running' ? 'Running' : service.status === 'error' ? 'Error' : 'Stopped' }), _jsxs(Text, { color: "gray", children: [' '.repeat(Math.max(0, 15 - (service.status === 'running' ? 7 : 6))), "\u2502"] })] }, service.id));
52
+ }), _jsx(Text, { color: "gray", children: '└' + '─'.repeat(60) + '┘' })] }));
53
+ }
54
+ // Compact version for inline display
55
+ export function ServicesInline({ services }) {
56
+ if (services.length === 0) {
57
+ return null;
58
+ }
59
+ return (_jsx(Box, { gap: 2, children: services.map((service) => {
60
+ const info = detectServiceInfo(service.command);
61
+ const statusColor = service.status === 'running' ? 'green' : 'gray';
62
+ return (_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: statusColor, children: "\u25CF" }), _jsx(Text, { color: "gray", children: info.url || info.name })] }, service.id));
63
+ }) }));
64
+ }
65
+ //# sourceMappingURL=ServicesDashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServicesDashboard.js","sourceRoot":"","sources":["../../../src/ui/components/ServicesDashboard.tsx"],"names":[],"mappings":"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"}
@@ -5,4 +5,6 @@ export * from './Permission.js';
5
5
  export * from './StatusBar.js';
6
6
  export * from './TaskList.js';
7
7
  export * from './CodeBlock.js';
8
+ export * from './Header.js';
9
+ export * from './ServicesDashboard.js';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC"}
@@ -5,4 +5,6 @@ export * from './Permission.js';
5
5
  export * from './StatusBar.js';
6
6
  export * from './TaskList.js';
7
7
  export * from './CodeBlock.js';
8
+ export * from './Header.js';
9
+ export * from './ServicesDashboard.js';
8
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "locdotech-ai",
3
- "version": "1.0.30",
3
+ "version": "1.0.32",
4
4
  "description": "LocdoTech AI CLI - Claude Code style interface. Created by LocDo.Tech",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",