@ottocode/web-sdk 0.1.200 → 0.1.202
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/components/file-browser/FileBrowserSidebarToggle.js +3 -3
- package/dist/components/file-browser/FileBrowserSidebarToggle.js.map +1 -1
- package/dist/components/git/GitSidebarToggle.d.ts.map +1 -1
- package/dist/components/git/GitSidebarToggle.js +3 -1
- package/dist/components/git/GitSidebarToggle.js.map +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +3 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/mcp/AddMCPServerModal.d.ts +7 -0
- package/dist/components/mcp/AddMCPServerModal.d.ts.map +1 -0
- package/dist/components/mcp/AddMCPServerModal.js +145 -0
- package/dist/components/mcp/AddMCPServerModal.js.map +1 -0
- package/dist/components/mcp/MCPSidebar.d.ts +2 -0
- package/dist/components/mcp/MCPSidebar.d.ts.map +1 -0
- package/dist/components/mcp/MCPSidebar.js +59 -0
- package/dist/components/mcp/MCPSidebar.js.map +1 -0
- package/dist/components/mcp/MCPSidebarToggle.d.ts +2 -0
- package/dist/components/mcp/MCPSidebarToggle.d.ts.map +1 -0
- package/dist/components/mcp/MCPSidebarToggle.js +14 -0
- package/dist/components/mcp/MCPSidebarToggle.js.map +1 -0
- package/dist/components/mcp/index.d.ts +4 -0
- package/dist/components/mcp/index.d.ts.map +1 -0
- package/dist/components/mcp/index.js +4 -0
- package/dist/components/mcp/index.js.map +1 -0
- package/dist/components/messages/MessagePartItem.d.ts.map +1 -1
- package/dist/components/messages/MessagePartItem.js +8 -2
- package/dist/components/messages/MessagePartItem.js.map +1 -1
- package/dist/components/messages/renderers/McpToolRenderer.d.ts +4 -0
- package/dist/components/messages/renderers/McpToolRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/McpToolRenderer.js +63 -0
- package/dist/components/messages/renderers/McpToolRenderer.js.map +1 -0
- package/dist/components/messages/renderers/TerminalRenderer.d.ts +3 -0
- package/dist/components/messages/renderers/TerminalRenderer.d.ts.map +1 -0
- package/dist/components/messages/renderers/TerminalRenderer.js +84 -0
- package/dist/components/messages/renderers/TerminalRenderer.js.map +1 -0
- package/dist/components/messages/renderers/index.d.ts.map +1 -1
- package/dist/components/messages/renderers/index.js +7 -0
- package/dist/components/messages/renderers/index.js.map +1 -1
- package/dist/components/messages/renderers/types.d.ts +11 -0
- package/dist/components/messages/renderers/types.d.ts.map +1 -1
- package/dist/components/research/ResearchSidebarToggle.d.ts.map +1 -1
- package/dist/components/research/ResearchSidebarToggle.js +3 -1
- package/dist/components/research/ResearchSidebarToggle.js.map +1 -1
- package/dist/components/session-files/SessionFilesSidebarToggle.js +3 -3
- package/dist/components/session-files/SessionFilesSidebarToggle.js.map +1 -1
- package/dist/components/settings/SettingsSidebarToggle.d.ts.map +1 -1
- package/dist/components/settings/SettingsSidebarToggle.js +3 -1
- package/dist/components/settings/SettingsSidebarToggle.js.map +1 -1
- package/dist/components/tunnel/TunnelSidebarToggle.d.ts.map +1 -1
- package/dist/components/tunnel/TunnelSidebarToggle.js +3 -1
- package/dist/components/tunnel/TunnelSidebarToggle.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useMCP.d.ts +36 -0
- package/dist/hooks/useMCP.d.ts.map +1 -0
- package/dist/hooks/useMCP.js +141 -0
- package/dist/hooks/useMCP.js.map +1 -0
- package/dist/lib/nerd-font.d.ts +4 -0
- package/dist/lib/nerd-font.d.ts.map +1 -0
- package/dist/lib/nerd-font.js +55 -0
- package/dist/lib/nerd-font.js.map +1 -0
- package/dist/stores/gitStore.d.ts.map +1 -1
- package/dist/stores/gitStore.js +2 -0
- package/dist/stores/gitStore.js.map +1 -1
- package/dist/stores/index.d.ts +1 -0
- package/dist/stores/index.d.ts.map +1 -1
- package/dist/stores/index.js +1 -0
- package/dist/stores/index.js.map +1 -1
- package/dist/stores/mcpStore.d.ts +28 -0
- package/dist/stores/mcpStore.d.ts.map +1 -0
- package/dist/stores/mcpStore.js +49 -0
- package/dist/stores/mcpStore.js.map +1 -0
- package/dist/stores/researchStore.d.ts.map +1 -1
- package/dist/stores/researchStore.js +3 -0
- package/dist/stores/researchStore.js.map +1 -1
- package/dist/stores/sessionFilesStore.d.ts.map +1 -1
- package/dist/stores/sessionFilesStore.js +3 -0
- package/dist/stores/sessionFilesStore.js.map +1 -1
- package/dist/stores/settingsStore.d.ts.map +1 -1
- package/dist/stores/settingsStore.js +2 -0
- package/dist/stores/settingsStore.js.map +1 -1
- package/dist/stores/tunnelStore.d.ts.map +1 -1
- package/dist/stores/tunnelStore.js +3 -0
- package/dist/stores/tunnelStore.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Plug } from 'lucide-react';
|
|
3
|
+
import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
|
|
4
|
+
import { prism, vscDarkPlus, } from 'react-syntax-highlighter/dist/esm/styles/prism';
|
|
5
|
+
import { formatDuration } from './utils';
|
|
6
|
+
import { ToolErrorDisplay } from './ToolErrorDisplay';
|
|
7
|
+
import { ToolHeader, ToolHeaderSeparator, ToolHeaderMeta, ToolHeaderSuccess, ToolHeaderError, ToolContentBox, } from './shared';
|
|
8
|
+
function parseMcpToolName(fullName) {
|
|
9
|
+
const idx = fullName.indexOf('__');
|
|
10
|
+
if (idx === -1)
|
|
11
|
+
return { server: '', tool: fullName };
|
|
12
|
+
return { server: fullName.slice(0, idx), tool: fullName.slice(idx + 2) };
|
|
13
|
+
}
|
|
14
|
+
export function isMcpTool(name) {
|
|
15
|
+
return name.includes('__');
|
|
16
|
+
}
|
|
17
|
+
export function McpToolRenderer({ toolName, contentJson, toolDurationMs, isExpanded, onToggle, compact, }) {
|
|
18
|
+
const { server, tool } = parseMcpToolName(toolName);
|
|
19
|
+
const result = contentJson.result || {};
|
|
20
|
+
const args = contentJson.args || {};
|
|
21
|
+
const timeStr = formatDuration(toolDurationMs);
|
|
22
|
+
const syntaxTheme = document?.documentElement.classList.contains('dark')
|
|
23
|
+
? vscDarkPlus
|
|
24
|
+
: prism;
|
|
25
|
+
const hasToolError = typeof result === 'object' && 'ok' in result && result.ok === false;
|
|
26
|
+
const errorMessage = hasToolError && 'error' in result && typeof result.error === 'string'
|
|
27
|
+
? result.error
|
|
28
|
+
: typeof contentJson.error === 'string'
|
|
29
|
+
? contentJson.error
|
|
30
|
+
: null;
|
|
31
|
+
const errorStack = hasToolError && 'stack' in result && typeof result.stack === 'string'
|
|
32
|
+
? result.stack
|
|
33
|
+
: undefined;
|
|
34
|
+
const resultContent = typeof result.result === 'string'
|
|
35
|
+
? result.result
|
|
36
|
+
: result.result && typeof result.result === 'object'
|
|
37
|
+
? JSON.stringify(result.result, null, 2)
|
|
38
|
+
: null;
|
|
39
|
+
const hasContent = !hasToolError && (resultContent || Object.keys(result).length > 0);
|
|
40
|
+
const displayResult = resultContent || JSON.stringify(result, null, 2);
|
|
41
|
+
const isJsonResult = displayResult.startsWith('{') || displayResult.startsWith('[');
|
|
42
|
+
const argsPreview = Object.entries(args)
|
|
43
|
+
.slice(0, 3)
|
|
44
|
+
.map(([k, v]) => {
|
|
45
|
+
const val = typeof v === 'string'
|
|
46
|
+
? v.length > 30
|
|
47
|
+
? `${v.slice(0, 27)}…`
|
|
48
|
+
: v
|
|
49
|
+
: JSON.stringify(v);
|
|
50
|
+
return `${k}=${val}`;
|
|
51
|
+
})
|
|
52
|
+
.join(' ');
|
|
53
|
+
const headerName = server ? `${server} › ${tool}` : tool;
|
|
54
|
+
return (_jsxs("div", { className: "text-xs", children: [_jsxs(ToolHeader, { toolName: headerName, isExpanded: isExpanded, onToggle: onToggle, isError: !!hasToolError, colorVariant: "purple", canExpand: !!hasContent || !!hasToolError, children: [!compact && argsPreview && (_jsxs(_Fragment, { children: [_jsx(ToolHeaderSeparator, {}), _jsx("span", { className: "text-foreground/60 truncate max-w-xs font-mono text-[11px]", children: argsPreview })] })), !hasToolError && !compact && (_jsxs(_Fragment, { children: [_jsx(ToolHeaderSeparator, {}), _jsx(ToolHeaderSuccess, { children: "ok" }), _jsx(ToolHeaderSeparator, {}), _jsx(ToolHeaderMeta, { children: timeStr })] })), hasToolError && !compact && (_jsxs(_Fragment, { children: [_jsx(ToolHeaderSeparator, {}), _jsx(ToolHeaderError, { children: "error" }), _jsx(ToolHeaderSeparator, {}), _jsx(ToolHeaderMeta, { children: timeStr })] }))] }), isExpanded && hasToolError && errorMessage && (_jsx(ToolErrorDisplay, { error: errorMessage, stack: errorStack, showStack: true })), isExpanded && !hasToolError && hasContent && (_jsx("div", { className: "mt-2 ml-5 flex flex-col gap-2 max-w-full", children: _jsx(ToolContentBox, { title: "result", icon: _jsx(Plug, { className: "h-3 w-3" }), copyText: displayResult, maxHeight: "max-h-[30rem]", children: _jsx(SyntaxHighlighter, { language: isJsonResult ? 'json' : 'text', style: syntaxTheme, customStyle: {
|
|
55
|
+
margin: 0,
|
|
56
|
+
padding: '0.75rem',
|
|
57
|
+
fontSize: '0.75rem',
|
|
58
|
+
lineHeight: '1.5',
|
|
59
|
+
background: 'transparent',
|
|
60
|
+
maxWidth: '100%',
|
|
61
|
+
}, wrapLines: true, wrapLongLines: true, children: displayResult }) }) }))] }));
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=McpToolRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"McpToolRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/McpToolRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TerminalRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/TerminalRenderer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAwB7C,wBAAgB,gBAAgB,CAAC,EAChC,WAAW,EACX,cAAc,EACd,UAAU,EACV,QAAQ,EACR,OAAO,GACP,EAAE,aAAa,2CAiNf"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import { Terminal } from 'lucide-react';
|
|
4
|
+
import { NERD_FONT_FAMILY, loadNerdFont } from '../../../lib/nerd-font';
|
|
5
|
+
import { formatDuration } from './utils';
|
|
6
|
+
import { ToolErrorDisplay } from './ToolErrorDisplay';
|
|
7
|
+
import { ToolHeader, ToolHeaderSeparator, ToolHeaderMeta, ToolHeaderSuccess, ToolContentBox, } from './shared';
|
|
8
|
+
const ANSI_RE = /[\x1B\x9B][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nq-uy=><~]/g;
|
|
9
|
+
const CONTROL_RE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g;
|
|
10
|
+
function cleanTerminalOutput(raw) {
|
|
11
|
+
return raw
|
|
12
|
+
.replace(ANSI_RE, '')
|
|
13
|
+
.replace(CONTROL_RE, '')
|
|
14
|
+
.replace(/\\n/g, '\n')
|
|
15
|
+
.replace(/\r\n/g, '\n')
|
|
16
|
+
.replace(/\r/g, '\n');
|
|
17
|
+
}
|
|
18
|
+
export function TerminalRenderer({ contentJson, toolDurationMs, isExpanded, onToggle, compact, }) {
|
|
19
|
+
const [, setFontReady] = useState(false);
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
loadNerdFont().then(() => setFontReady(true));
|
|
22
|
+
}, []);
|
|
23
|
+
const result = contentJson.result || {};
|
|
24
|
+
const args = contentJson.args || {};
|
|
25
|
+
const operation = String(args.operation || args.command || '');
|
|
26
|
+
const hasToolError = typeof result === 'object' && 'ok' in result && result.ok === false;
|
|
27
|
+
const errorMessage = hasToolError && 'error' in result && typeof result.error === 'string'
|
|
28
|
+
? result.error
|
|
29
|
+
: null;
|
|
30
|
+
const errorStack = hasToolError && 'stack' in result && typeof result.stack === 'string'
|
|
31
|
+
? result.stack
|
|
32
|
+
: undefined;
|
|
33
|
+
const timeStr = formatDuration(toolDurationMs);
|
|
34
|
+
const terminalId = String(result.terminalId || args.terminalId || '');
|
|
35
|
+
const shortId = terminalId.length > 12 ? `${terminalId.slice(0, 12)}…` : terminalId;
|
|
36
|
+
const purpose = String(result.purpose || args.purpose || '');
|
|
37
|
+
const command = String(result.command || args.command || '');
|
|
38
|
+
const renderStartResult = () => {
|
|
39
|
+
const pid = result.pid ? `PID ${result.pid}` : '';
|
|
40
|
+
return (_jsxs("div", { className: "mt-2 ml-5 flex flex-col gap-1 text-xs", children: [command && (_jsxs("div", { className: "flex items-center gap-2 text-foreground/70", children: [_jsx(Terminal, { className: "h-3 w-3" }), _jsx("code", { className: "font-mono", children: command })] })), purpose && _jsx("div", { className: "text-muted-foreground/70", children: purpose }), _jsxs("div", { className: "flex items-center gap-2 text-muted-foreground/60", children: [shortId && _jsx("span", { className: "font-mono", children: shortId }), pid && (_jsxs(_Fragment, { children: [_jsx("span", { children: "\u00B7" }), _jsx("span", { children: pid })] }))] })] }));
|
|
41
|
+
};
|
|
42
|
+
const renderReadResult = () => {
|
|
43
|
+
const rawOutput = String(result.text || result.output || '');
|
|
44
|
+
const output = cleanTerminalOutput(rawOutput);
|
|
45
|
+
const status = String(result.status || '');
|
|
46
|
+
const exitCode = result.exitCode;
|
|
47
|
+
const lineCount = typeof result.lines === 'number' ? result.lines : 0;
|
|
48
|
+
return (_jsxs("div", { className: "mt-2 ml-5 flex flex-col gap-2 max-w-full", children: [_jsxs("div", { className: "flex items-center gap-2 text-xs text-muted-foreground/70", children: [shortId && _jsx("span", { className: "font-mono", children: shortId }), _jsx("span", { children: "\u00B7" }), _jsxs("span", { children: [lineCount, " lines"] }), _jsx("span", { children: "\u00B7" }), _jsxs("span", { className: status === 'running'
|
|
49
|
+
? 'text-emerald-600 dark:text-emerald-400'
|
|
50
|
+
: '', children: [status, status === 'exited' && exitCode !== undefined
|
|
51
|
+
? ` (${exitCode})`
|
|
52
|
+
: ''] })] }), output.trim() && (_jsx(ToolContentBox, { title: "output", copyText: output, maxHeight: "max-h-[30rem]", children: _jsx("pre", { className: "px-3 py-2 text-xs text-foreground/85 whitespace-pre-wrap break-words overflow-x-auto", style: { fontFamily: NERD_FONT_FAMILY }, children: output }) }))] }));
|
|
53
|
+
};
|
|
54
|
+
const renderListResult = () => {
|
|
55
|
+
const terminals = Array.isArray(result.terminals) ? result.terminals : [];
|
|
56
|
+
const count = typeof result.count === 'number' ? result.count : terminals.length;
|
|
57
|
+
return (_jsxs("div", { className: "mt-2 ml-5 flex flex-col gap-1 text-xs", children: [_jsxs("div", { className: "text-muted-foreground/70", children: [count, " terminal", count !== 1 ? 's' : ''] }), terminals.slice(0, 8).map((t, i) => (_jsxs("div", { className: "flex items-center gap-2 text-foreground/70 font-mono", children: [_jsx("span", { className: `h-2 w-2 rounded-full ${t.status === 'running' ? 'bg-emerald-500' : 'bg-muted-foreground/40'}` }), _jsx("span", { className: "truncate max-w-[100px]", children: String(t.id || '').slice(0, 12) }), _jsx("span", { className: "text-muted-foreground/60 truncate", children: String(t.purpose || '') })] }, String(t.id || i))))] }));
|
|
58
|
+
};
|
|
59
|
+
const renderWriteResult = () => {
|
|
60
|
+
const written = String(args.input || '');
|
|
61
|
+
return written ? (_jsx("div", { className: "mt-2 ml-5 text-xs", children: _jsx("code", { className: "font-mono text-foreground/70 whitespace-pre-wrap", children: written }) })) : null;
|
|
62
|
+
};
|
|
63
|
+
const label = operation || 'terminal';
|
|
64
|
+
const headerLabel = `terminal ${label}`;
|
|
65
|
+
const hasContent = !hasToolError &&
|
|
66
|
+
(operation === 'start' ||
|
|
67
|
+
operation === 'read' ||
|
|
68
|
+
operation === 'list' ||
|
|
69
|
+
(operation === 'write' && (args.input || result.message)));
|
|
70
|
+
return (_jsxs("div", { className: "text-xs", children: [_jsxs(ToolHeader, { toolName: headerLabel, isExpanded: isExpanded, onToggle: onToggle, isError: !!hasToolError, colorVariant: "amber", canExpand: !!hasContent || !!hasToolError, children: [!compact && shortId && (_jsxs(_Fragment, { children: [_jsx(ToolHeaderSeparator, {}), _jsx("span", { className: "text-foreground/70 font-mono text-[11px]", children: shortId })] })), !compact && purpose && !shortId && (_jsxs(_Fragment, { children: [_jsx(ToolHeaderSeparator, {}), _jsx("span", { className: "text-foreground/70 text-[11px] truncate max-w-xs", children: purpose })] })), !hasToolError && !compact && (_jsxs(_Fragment, { children: [_jsx(ToolHeaderSeparator, {}), _jsx(ToolHeaderSuccess, { children: "ok" }), _jsx(ToolHeaderSeparator, {}), _jsx(ToolHeaderMeta, { children: timeStr })] })), hasToolError && !compact && (_jsxs(ToolHeaderMeta, { children: ["\u00B7 ", timeStr] }))] }), isExpanded && hasToolError && errorMessage && (_jsx(ToolErrorDisplay, { error: errorMessage, stack: errorStack, showStack: true })), isExpanded &&
|
|
71
|
+
!hasToolError &&
|
|
72
|
+
operation === 'start' &&
|
|
73
|
+
renderStartResult(), isExpanded &&
|
|
74
|
+
!hasToolError &&
|
|
75
|
+
operation === 'read' &&
|
|
76
|
+
renderReadResult(), isExpanded &&
|
|
77
|
+
!hasToolError &&
|
|
78
|
+
operation === 'list' &&
|
|
79
|
+
renderListResult(), isExpanded &&
|
|
80
|
+
!hasToolError &&
|
|
81
|
+
operation === 'write' &&
|
|
82
|
+
renderWriteResult()] }));
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=TerminalRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TerminalRenderer.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/TerminalRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAuB3C,UAAU,uBAAuB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAuCD,wBAAgB,kBAAkB,CAAC,EAClC,QAAQ,EACR,WAAW,EACX,cAAc,EACd,KAAK,EACL,mBAAmB,EACnB,OAAO,EACP,SAAS,EACT,OAAO,EACP,SAAS,GACT,EAAE,uBAAuB,2CAkFzB;AAED,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -19,6 +19,8 @@ import { ProgressUpdateRenderer } from './ProgressUpdateRenderer';
|
|
|
19
19
|
import { WebSearchRenderer } from './WebSearchRenderer';
|
|
20
20
|
import { ErrorRenderer } from './ErrorRenderer';
|
|
21
21
|
import { DatabaseToolRenderer } from './DatabaseToolRenderer';
|
|
22
|
+
import { TerminalRenderer } from './TerminalRenderer';
|
|
23
|
+
import { McpToolRenderer, isMcpTool } from './McpToolRenderer';
|
|
22
24
|
/**
|
|
23
25
|
* Normalize tool names to canonical form for rendering.
|
|
24
26
|
* Handles both snake_case (canonical) and PascalCase (OAuth) names.
|
|
@@ -79,6 +81,8 @@ export function ToolResultRenderer({ toolName, contentJson, toolDurationMs, debu
|
|
|
79
81
|
return _jsx(GitCommitRenderer, { ...props });
|
|
80
82
|
case 'apply_patch':
|
|
81
83
|
return _jsx(ApplyPatchRenderer, { ...props });
|
|
84
|
+
case 'terminal':
|
|
85
|
+
return _jsx(TerminalRenderer, { ...props });
|
|
82
86
|
case 'ls':
|
|
83
87
|
return _jsx(ListRenderer, { ...props });
|
|
84
88
|
case 'tree':
|
|
@@ -106,6 +110,9 @@ export function ToolResultRenderer({ toolName, contentJson, toolDurationMs, debu
|
|
|
106
110
|
case 'present_action':
|
|
107
111
|
return (_jsx(DatabaseToolRenderer, { toolName: toolName, ...props, onNavigateToSession: onNavigateToSession }));
|
|
108
112
|
default:
|
|
113
|
+
if (isMcpTool(normalizedName)) {
|
|
114
|
+
return _jsx(McpToolRenderer, { ...props, toolName: toolName });
|
|
115
|
+
}
|
|
109
116
|
return _jsx(GenericRenderer, { ...props, toolName: toolName });
|
|
110
117
|
}
|
|
111
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/messages/renderers/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,9 @@ export interface ToolCallArgs {
|
|
|
30
30
|
command?: string;
|
|
31
31
|
script?: string;
|
|
32
32
|
input?: string;
|
|
33
|
+
operation?: string;
|
|
34
|
+
terminalId?: string;
|
|
35
|
+
purpose?: string;
|
|
33
36
|
}
|
|
34
37
|
export interface ToolResultData {
|
|
35
38
|
done?: boolean;
|
|
@@ -61,6 +64,14 @@ export interface ToolResultData {
|
|
|
61
64
|
files?: unknown[];
|
|
62
65
|
cwd?: string;
|
|
63
66
|
output?: string;
|
|
67
|
+
terminalId?: string;
|
|
68
|
+
purpose?: string;
|
|
69
|
+
command?: string;
|
|
70
|
+
pid?: number;
|
|
71
|
+
status?: string;
|
|
72
|
+
lines?: number;
|
|
73
|
+
terminals?: unknown[];
|
|
74
|
+
count?: number;
|
|
64
75
|
errorType?: ToolErrorType;
|
|
65
76
|
details?: {
|
|
66
77
|
suggestion?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/types.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,aAAa,GACtB,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,GACX,SAAS,GACT,aAAa,CAAC;AAGjB,MAAM,WAAW,iBAAiB;IACjC,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,OAAO,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACvB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,mBAAmB;IACnC,EAAE,EAAE,IAAI,CAAC;IACT,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAGD,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/renderers/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResearchSidebarToggle.d.ts","sourceRoot":"","sources":["../../../src/components/research/ResearchSidebarToggle.tsx"],"names":[],"mappings":"AAKA,UAAU,0BAA0B;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"ResearchSidebarToggle.d.ts","sourceRoot":"","sources":["../../../src/components/research/ResearchSidebarToggle.tsx"],"names":[],"mappings":"AAKA,UAAU,0BAA0B;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,qBAAqB,kEA4BhC,CAAC"}
|
|
@@ -8,6 +8,8 @@ export const ResearchSidebarToggle = memo(function ResearchSidebarToggle({ paren
|
|
|
8
8
|
const toggleSidebar = useResearchStore((state) => state.toggleSidebar);
|
|
9
9
|
const { data } = useResearchSessions(parentSessionId ?? null);
|
|
10
10
|
const sessionCount = data?.sessions?.length ?? 0;
|
|
11
|
-
return (_jsxs("button", { type: "button", onClick: toggleSidebar, className: `relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center
|
|
11
|
+
return (_jsxs("button", { type: "button", onClick: toggleSidebar, className: `relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${isExpanded
|
|
12
|
+
? 'bg-muted border-primary'
|
|
13
|
+
: 'border-transparent hover:bg-muted/50'}`, title: "Research (\u2318\u21E7R)", children: [_jsx(FlaskConical, { className: "w-5 h-5 text-muted-foreground mx-auto" }), sessionCount > 0 && (_jsx("span", { className: "absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold", children: sessionCount > 9 ? '9+' : sessionCount }))] }));
|
|
12
14
|
});
|
|
13
15
|
//# sourceMappingURL=ResearchSidebarToggle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResearchSidebarToggle.js","sourceRoot":"","sources":["../../../src/components/research/ResearchSidebarToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAM9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,qBAAqB,CAAC,EACxE,eAAe,GACa;IAC5B,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACvE,MAAM,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC;IAE9D,MAAM,YAAY,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;IAEjD,OAAO,CACN,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"ResearchSidebarToggle.js","sourceRoot":"","sources":["../../../src/components/research/ResearchSidebarToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAM9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,qBAAqB,CAAC,EACxE,eAAe,GACa;IAC5B,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACvE,MAAM,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC;IAE9D,MAAM,YAAY,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;IAEjD,OAAO,CACN,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,yGACV,UAAU;YACT,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,sCACJ,EAAE,EACF,KAAK,EAAC,0BAAgB,aAEtB,KAAC,YAAY,IAAC,SAAS,EAAC,uCAAuC,GAAG,EACjE,YAAY,GAAG,CAAC,IAAI,CACpB,eAAM,SAAS,EAAC,uIAAuI,YACrJ,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,GACjC,CACP,IACO,CACT,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -8,8 +8,8 @@ export const SessionFilesSidebarToggle = memo(function SessionFilesSidebarToggle
|
|
|
8
8
|
const toggleSidebar = useSessionFilesStore((state) => state.toggleSidebar);
|
|
9
9
|
const { data } = useSessionFiles(sessionId);
|
|
10
10
|
const fileCount = data?.totalFiles ?? 0;
|
|
11
|
-
return (_jsxs("button", { type: "button", onClick: toggleSidebar, className: `relative
|
|
12
|
-
? 'bg-muted border-
|
|
13
|
-
: 'hover:bg-muted/50'}`, title: "Session Files", children: [_jsx(FilePen, { className: "w-5 h-5 text-muted-foreground mx-auto" }), fileCount > 0 && (_jsx("span", { className: "absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold", children: fileCount > 9 ? '9+' : fileCount }))] }));
|
|
11
|
+
return (_jsxs("button", { type: "button", onClick: toggleSidebar, className: `relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${isExpanded
|
|
12
|
+
? 'bg-muted border-primary'
|
|
13
|
+
: 'border-transparent hover:bg-muted/50'}`, title: "Session Files", children: [_jsx(FilePen, { className: "w-5 h-5 text-muted-foreground mx-auto" }), fileCount > 0 && (_jsx("span", { className: "absolute top-1 right-1 w-5 h-5 bg-primary text-primary-foreground text-xs rounded-full flex items-center justify-center font-semibold", children: fileCount > 9 ? '9+' : fileCount }))] }));
|
|
14
14
|
});
|
|
15
15
|
//# sourceMappingURL=SessionFilesSidebarToggle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionFilesSidebarToggle.js","sourceRoot":"","sources":["../../../src/components/session-files/SessionFilesSidebarToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAM9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAC5C,SAAS,yBAAyB,CAAC,EAClC,SAAS,GACuB;IAChC,MAAM,UAAU,GAAG,oBAAoB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,oBAAoB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC3E,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAE5C,MAAM,SAAS,GAAG,IAAI,EAAE,UAAU,IAAI,CAAC,CAAC;IAExC,OAAO,CACN,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"SessionFilesSidebarToggle.js","sourceRoot":"","sources":["../../../src/components/session-files/SessionFilesSidebarToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAM9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAC5C,SAAS,yBAAyB,CAAC,EAClC,SAAS,GACuB;IAChC,MAAM,UAAU,GAAG,oBAAoB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,oBAAoB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC3E,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAE5C,MAAM,SAAS,GAAG,IAAI,EAAE,UAAU,IAAI,CAAC,CAAC;IAExC,OAAO,CACN,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,yGACV,UAAU;YACT,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,sCACJ,EAAE,EACF,KAAK,EAAC,eAAe,aAErB,KAAC,OAAO,IAAC,SAAS,EAAC,uCAAuC,GAAG,EAC5D,SAAS,GAAG,CAAC,IAAI,CACjB,eAAM,SAAS,EAAC,uIAAuI,YACrJ,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,GAC3B,CACP,IACO,CACT,CAAC;AACH,CAAC,CACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsSidebarToggle.d.ts","sourceRoot":"","sources":["../../../src/components/settings/SettingsSidebarToggle.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"SettingsSidebarToggle.d.ts","sourceRoot":"","sources":["../../../src/components/settings/SettingsSidebarToggle.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,8CAkBhC,CAAC"}
|
|
@@ -5,6 +5,8 @@ import { useSettingsStore } from '../../stores/settingsStore';
|
|
|
5
5
|
export const SettingsSidebarToggle = memo(function SettingsSidebarToggle() {
|
|
6
6
|
const isExpanded = useSettingsStore((state) => state.isExpanded);
|
|
7
7
|
const toggleSidebar = useSettingsStore((state) => state.toggleSidebar);
|
|
8
|
-
return (_jsx("button", { type: "button", onClick: toggleSidebar, className: `relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center
|
|
8
|
+
return (_jsx("button", { type: "button", onClick: toggleSidebar, className: `relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${isExpanded
|
|
9
|
+
? 'bg-muted border-primary'
|
|
10
|
+
: 'border-transparent hover:bg-muted/50'}`, title: "Settings", children: _jsx(Settings, { className: "w-5 h-5 text-muted-foreground mx-auto" }) }));
|
|
9
11
|
});
|
|
10
12
|
//# sourceMappingURL=SettingsSidebarToggle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsSidebarToggle.js","sourceRoot":"","sources":["../../../src/components/settings/SettingsSidebarToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,qBAAqB;IACvE,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAEvE,OAAO,CACN,iBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"SettingsSidebarToggle.js","sourceRoot":"","sources":["../../../src/components/settings/SettingsSidebarToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,qBAAqB;IACvE,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAEvE,OAAO,CACN,iBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,yGACV,UAAU;YACT,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,sCACJ,EAAE,EACF,KAAK,EAAC,UAAU,YAEhB,KAAC,QAAQ,IAAC,SAAS,EAAC,uCAAuC,GAAG,GACtD,CACT,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TunnelSidebarToggle.d.ts","sourceRoot":"","sources":["../../../src/components/tunnel/TunnelSidebarToggle.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"TunnelSidebarToggle.d.ts","sourceRoot":"","sources":["../../../src/components/tunnel/TunnelSidebarToggle.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,8CAwB9B,CAAC"}
|
|
@@ -7,6 +7,8 @@ export const TunnelSidebarToggle = memo(function TunnelSidebarToggle() {
|
|
|
7
7
|
const toggleSidebar = useTunnelStore((state) => state.toggleSidebar);
|
|
8
8
|
const status = useTunnelStore((state) => state.status);
|
|
9
9
|
const isConnected = status === 'connected';
|
|
10
|
-
return (_jsxs("button", { type: "button", onClick: toggleSidebar, className: `relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center
|
|
10
|
+
return (_jsxs("button", { type: "button", onClick: toggleSidebar, className: `relative h-14 w-full transition-colors touch-manipulation flex items-center justify-center border-r-2 ${isExpanded
|
|
11
|
+
? 'bg-muted border-primary'
|
|
12
|
+
: 'border-transparent hover:bg-muted/50'}`, title: "Remote Access", children: [_jsx(Globe, { className: "w-5 h-5 text-muted-foreground mx-auto" }), isConnected && (_jsx("span", { className: "absolute top-2 right-2 w-2 h-2 bg-green-500 rounded-full animate-pulse" }))] }));
|
|
11
13
|
});
|
|
12
14
|
//# sourceMappingURL=TunnelSidebarToggle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TunnelSidebarToggle.js","sourceRoot":"","sources":["../../../src/components/tunnel/TunnelSidebarToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,mBAAmB;IACnE,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEvD,MAAM,WAAW,GAAG,MAAM,KAAK,WAAW,CAAC;IAE3C,OAAO,CACN,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"TunnelSidebarToggle.js","sourceRoot":"","sources":["../../../src/components/tunnel/TunnelSidebarToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,mBAAmB;IACnE,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEvD,MAAM,WAAW,GAAG,MAAM,KAAK,WAAW,CAAC;IAE3C,OAAO,CACN,kBACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,yGACV,UAAU;YACT,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,sCACJ,EAAE,EACF,KAAK,EAAC,eAAe,aAErB,KAAC,KAAK,IAAC,SAAS,EAAC,uCAAuC,GAAG,EAC1D,WAAW,IAAI,CACf,eAAM,SAAS,EAAC,wEAAwE,GAAG,CAC3F,IACO,CACT,CAAC;AACH,CAAC,CAAC,CAAC"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC"}
|
package/dist/hooks/index.js
CHANGED
package/dist/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type MCPServerInfo } from '../stores/mcpStore';
|
|
2
|
+
interface MCPServersResponse {
|
|
3
|
+
servers: MCPServerInfo[];
|
|
4
|
+
}
|
|
5
|
+
export declare function useMCPServers(): import("@tanstack/react-query").UseQueryResult<MCPServersResponse, Error>;
|
|
6
|
+
export declare function useStartMCPServer(): import("@tanstack/react-query").UseMutationResult<any, Error, string, unknown>;
|
|
7
|
+
export declare function useStopMCPServer(): import("@tanstack/react-query").UseMutationResult<any, Error, string, unknown>;
|
|
8
|
+
export interface AddMCPServerParams {
|
|
9
|
+
name: string;
|
|
10
|
+
transport?: string;
|
|
11
|
+
command?: string;
|
|
12
|
+
args?: string[];
|
|
13
|
+
env?: Record<string, string>;
|
|
14
|
+
url?: string;
|
|
15
|
+
headers?: Record<string, string>;
|
|
16
|
+
oauth?: {
|
|
17
|
+
clientId?: string;
|
|
18
|
+
callbackPort?: number;
|
|
19
|
+
scopes?: string[];
|
|
20
|
+
};
|
|
21
|
+
scope?: 'global' | 'project';
|
|
22
|
+
}
|
|
23
|
+
export declare function useAddMCPServer(): import("@tanstack/react-query").UseMutationResult<any, Error, AddMCPServerParams, unknown>;
|
|
24
|
+
export declare function useRemoveMCPServer(): import("@tanstack/react-query").UseMutationResult<any, Error, string, unknown>;
|
|
25
|
+
export declare function useAuthenticateMCPServer(): import("@tanstack/react-query").UseMutationResult<{
|
|
26
|
+
ok: boolean;
|
|
27
|
+
authUrl?: string;
|
|
28
|
+
name: string;
|
|
29
|
+
}, Error, string, unknown>;
|
|
30
|
+
export declare function useRevokeMCPAuth(): import("@tanstack/react-query").UseMutationResult<any, Error, string, unknown>;
|
|
31
|
+
export declare function useMCPAuthStatus(name: string | null): import("@tanstack/react-query").UseQueryResult<{
|
|
32
|
+
authenticated: boolean;
|
|
33
|
+
expiresAt?: number;
|
|
34
|
+
}, Error>;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=useMCP.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMCP.d.ts","sourceRoot":"","sources":["../../src/hooks/useMCP.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIrE,UAAU,kBAAkB;IAC3B,OAAO,EAAE,aAAa,EAAE,CAAC;CACzB;AAQD,wBAAgB,aAAa,8EAgB5B;AAED,wBAAgB,iBAAiB,mFAoBhC;AAED,wBAAgB,gBAAgB,mFAoB/B;AAED,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC7B;AAED,wBAAgB,eAAe,+FAkB9B;AAED,wBAAgB,kBAAkB,mFAkBjC;AAED,wBAAgB,wBAAwB;QAahB,OAAO;cAAY,MAAM;UAAQ,MAAM;2BAO9D;AAED,wBAAgB,gBAAgB,mFAiB/B;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;mBASjC,OAAO;gBACV,MAAM;UAMrB"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
|
|
2
|
+
import { useMCPStore } from '../stores/mcpStore';
|
|
3
|
+
import { API_BASE_URL } from '../lib/config';
|
|
4
|
+
import { useEffect } from 'react';
|
|
5
|
+
async function fetchMCPServers() {
|
|
6
|
+
const response = await fetch(`${API_BASE_URL}/v1/mcp/servers`);
|
|
7
|
+
if (!response.ok)
|
|
8
|
+
throw new Error('Failed to fetch MCP servers');
|
|
9
|
+
return response.json();
|
|
10
|
+
}
|
|
11
|
+
export function useMCPServers() {
|
|
12
|
+
const setServers = useMCPStore((s) => s.setServers);
|
|
13
|
+
const query = useQuery({
|
|
14
|
+
queryKey: ['mcp', 'servers'],
|
|
15
|
+
queryFn: fetchMCPServers,
|
|
16
|
+
refetchInterval: 10000,
|
|
17
|
+
});
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
if (query.data?.servers) {
|
|
20
|
+
setServers(query.data.servers);
|
|
21
|
+
}
|
|
22
|
+
}, [query.data, setServers]);
|
|
23
|
+
return query;
|
|
24
|
+
}
|
|
25
|
+
export function useStartMCPServer() {
|
|
26
|
+
const queryClient = useQueryClient();
|
|
27
|
+
const setLoading = useMCPStore((s) => s.setLoading);
|
|
28
|
+
return useMutation({
|
|
29
|
+
mutationFn: async (name) => {
|
|
30
|
+
setLoading(name, true);
|
|
31
|
+
const response = await fetch(`${API_BASE_URL}/v1/mcp/servers/${encodeURIComponent(name)}/start`, { method: 'POST' });
|
|
32
|
+
const data = await response.json();
|
|
33
|
+
if (!data.ok)
|
|
34
|
+
throw new Error(data.error || 'Failed to start server');
|
|
35
|
+
return data;
|
|
36
|
+
},
|
|
37
|
+
onSettled: (_data, _error, name) => {
|
|
38
|
+
setLoading(name, false);
|
|
39
|
+
queryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
export function useStopMCPServer() {
|
|
44
|
+
const queryClient = useQueryClient();
|
|
45
|
+
const setLoading = useMCPStore((s) => s.setLoading);
|
|
46
|
+
return useMutation({
|
|
47
|
+
mutationFn: async (name) => {
|
|
48
|
+
setLoading(name, true);
|
|
49
|
+
const response = await fetch(`${API_BASE_URL}/v1/mcp/servers/${encodeURIComponent(name)}/stop`, { method: 'POST' });
|
|
50
|
+
const data = await response.json();
|
|
51
|
+
if (!data.ok)
|
|
52
|
+
throw new Error(data.error || 'Failed to stop server');
|
|
53
|
+
return data;
|
|
54
|
+
},
|
|
55
|
+
onSettled: (_data, _error, name) => {
|
|
56
|
+
setLoading(name, false);
|
|
57
|
+
queryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
export function useAddMCPServer() {
|
|
62
|
+
const queryClient = useQueryClient();
|
|
63
|
+
return useMutation({
|
|
64
|
+
mutationFn: async (params) => {
|
|
65
|
+
const response = await fetch(`${API_BASE_URL}/v1/mcp/servers`, {
|
|
66
|
+
method: 'POST',
|
|
67
|
+
headers: { 'Content-Type': 'application/json' },
|
|
68
|
+
body: JSON.stringify(params),
|
|
69
|
+
});
|
|
70
|
+
const data = await response.json();
|
|
71
|
+
if (!data.ok)
|
|
72
|
+
throw new Error(data.error || 'Failed to add MCP server');
|
|
73
|
+
return data;
|
|
74
|
+
},
|
|
75
|
+
onSuccess: () => {
|
|
76
|
+
queryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
export function useRemoveMCPServer() {
|
|
81
|
+
const queryClient = useQueryClient();
|
|
82
|
+
return useMutation({
|
|
83
|
+
mutationFn: async (name) => {
|
|
84
|
+
const response = await fetch(`${API_BASE_URL}/v1/mcp/servers/${encodeURIComponent(name)}`, { method: 'DELETE' });
|
|
85
|
+
const data = await response.json();
|
|
86
|
+
if (!data.ok)
|
|
87
|
+
throw new Error(data.error || 'Failed to remove MCP server');
|
|
88
|
+
return data;
|
|
89
|
+
},
|
|
90
|
+
onSuccess: () => {
|
|
91
|
+
queryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
export function useAuthenticateMCPServer() {
|
|
96
|
+
const queryClient = useQueryClient();
|
|
97
|
+
const setLoading = useMCPStore((s) => s.setLoading);
|
|
98
|
+
return useMutation({
|
|
99
|
+
mutationFn: async (name) => {
|
|
100
|
+
setLoading(name, true);
|
|
101
|
+
const response = await fetch(`${API_BASE_URL}/v1/mcp/servers/${encodeURIComponent(name)}/auth`, { method: 'POST' });
|
|
102
|
+
const data = await response.json();
|
|
103
|
+
if (!data.ok)
|
|
104
|
+
throw new Error(data.error || 'Failed to initiate auth');
|
|
105
|
+
return data;
|
|
106
|
+
},
|
|
107
|
+
onSettled: (_data, _error, name) => {
|
|
108
|
+
setLoading(name, false);
|
|
109
|
+
queryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });
|
|
110
|
+
},
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
export function useRevokeMCPAuth() {
|
|
114
|
+
const queryClient = useQueryClient();
|
|
115
|
+
return useMutation({
|
|
116
|
+
mutationFn: async (name) => {
|
|
117
|
+
const response = await fetch(`${API_BASE_URL}/v1/mcp/servers/${encodeURIComponent(name)}/auth`, { method: 'DELETE' });
|
|
118
|
+
const data = await response.json();
|
|
119
|
+
if (!data.ok)
|
|
120
|
+
throw new Error(data.error || 'Failed to revoke auth');
|
|
121
|
+
return data;
|
|
122
|
+
},
|
|
123
|
+
onSuccess: () => {
|
|
124
|
+
queryClient.invalidateQueries({ queryKey: ['mcp', 'servers'] });
|
|
125
|
+
},
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
export function useMCPAuthStatus(name) {
|
|
129
|
+
return useQuery({
|
|
130
|
+
queryKey: ['mcp', 'auth', name],
|
|
131
|
+
queryFn: async () => {
|
|
132
|
+
if (!name)
|
|
133
|
+
return { authenticated: false };
|
|
134
|
+
const response = await fetch(`${API_BASE_URL}/v1/mcp/servers/${encodeURIComponent(name)}/auth/status`);
|
|
135
|
+
return response.json();
|
|
136
|
+
},
|
|
137
|
+
enabled: !!name,
|
|
138
|
+
refetchInterval: 3000,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=useMCP.js.map
|