claudeup 0.4.2 → 0.6.0
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/package.json +30 -18
- package/dist/data/cli-tools.d.ts +0 -13
- package/dist/data/cli-tools.d.ts.map +0 -1
- package/dist/data/cli-tools.js +0 -113
- package/dist/data/cli-tools.js.map +0 -1
- package/dist/data/marketplaces.d.ts +0 -4
- package/dist/data/marketplaces.d.ts.map +0 -1
- package/dist/data/marketplaces.js +0 -26
- package/dist/data/marketplaces.js.map +0 -1
- package/dist/data/mcp-servers.d.ts +0 -8
- package/dist/data/mcp-servers.d.ts.map +0 -1
- package/dist/data/mcp-servers.js +0 -421
- package/dist/data/mcp-servers.js.map +0 -1
- package/dist/data/statuslines.d.ts +0 -10
- package/dist/data/statuslines.d.ts.map +0 -1
- package/dist/data/statuslines.js +0 -160
- package/dist/data/statuslines.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/services/claude-settings.d.ts +0 -49
- package/dist/services/claude-settings.d.ts.map +0 -1
- package/dist/services/claude-settings.js +0 -299
- package/dist/services/claude-settings.js.map +0 -1
- package/dist/services/mcp-registry.d.ts +0 -10
- package/dist/services/mcp-registry.d.ts.map +0 -1
- package/dist/services/mcp-registry.js +0 -88
- package/dist/services/mcp-registry.js.map +0 -1
- package/dist/services/plugin-manager.d.ts +0 -23
- package/dist/services/plugin-manager.d.ts.map +0 -1
- package/dist/services/plugin-manager.js +0 -151
- package/dist/services/plugin-manager.js.map +0 -1
- package/dist/types/index.d.ts +0 -86
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -2
- package/dist/types/index.js.map +0 -1
- package/dist/ui/app.d.ts +0 -38
- package/dist/ui/app.d.ts.map +0 -1
- package/dist/ui/app.js +0 -565
- package/dist/ui/app.js.map +0 -1
- package/dist/ui/screens/cli-tools.d.ts +0 -4
- package/dist/ui/screens/cli-tools.d.ts.map +0 -1
- package/dist/ui/screens/cli-tools.js +0 -331
- package/dist/ui/screens/cli-tools.js.map +0 -1
- package/dist/ui/screens/env-vars.d.ts +0 -3
- package/dist/ui/screens/env-vars.d.ts.map +0 -1
- package/dist/ui/screens/env-vars.js +0 -119
- package/dist/ui/screens/env-vars.js.map +0 -1
- package/dist/ui/screens/main-menu.d.ts +0 -3
- package/dist/ui/screens/main-menu.d.ts.map +0 -1
- package/dist/ui/screens/main-menu.js +0 -110
- package/dist/ui/screens/main-menu.js.map +0 -1
- package/dist/ui/screens/marketplace.d.ts +0 -3
- package/dist/ui/screens/marketplace.d.ts.map +0 -1
- package/dist/ui/screens/marketplace.js +0 -132
- package/dist/ui/screens/marketplace.js.map +0 -1
- package/dist/ui/screens/mcp-registry.d.ts +0 -10
- package/dist/ui/screens/mcp-registry.d.ts.map +0 -1
- package/dist/ui/screens/mcp-registry.js +0 -310
- package/dist/ui/screens/mcp-registry.js.map +0 -1
- package/dist/ui/screens/mcp-setup.d.ts +0 -4
- package/dist/ui/screens/mcp-setup.d.ts.map +0 -1
- package/dist/ui/screens/mcp-setup.js +0 -492
- package/dist/ui/screens/mcp-setup.js.map +0 -1
- package/dist/ui/screens/plugins.d.ts +0 -3
- package/dist/ui/screens/plugins.d.ts.map +0 -1
- package/dist/ui/screens/plugins.js +0 -449
- package/dist/ui/screens/plugins.js.map +0 -1
- package/dist/ui/screens/statusline.d.ts +0 -5
- package/dist/ui/screens/statusline.d.ts.map +0 -1
- package/dist/ui/screens/statusline.js +0 -235
- package/dist/ui/screens/statusline.js.map +0 -1
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import blessed from 'neo-blessed';
|
|
2
|
-
import { createHeader, createFooter, showMessage, showConfirm } from '../app.js';
|
|
3
|
-
import { defaultMarketplaces } from '../../data/marketplaces.js';
|
|
4
|
-
import { addMarketplace, removeMarketplace, getConfiguredMarketplaces, } from '../../services/claude-settings.js';
|
|
5
|
-
export async function createMarketplaceScreen(state) {
|
|
6
|
-
createHeader(state, 'Plugin Marketplaces');
|
|
7
|
-
const configuredMarketplaces = await getConfiguredMarketplaces(state.projectPath);
|
|
8
|
-
// Build list items
|
|
9
|
-
const listItems = [];
|
|
10
|
-
for (const marketplace of defaultMarketplaces) {
|
|
11
|
-
const isInstalled = configuredMarketplaces[marketplace.name] !== undefined;
|
|
12
|
-
const status = isInstalled ? '{green-fg}✓{/green-fg}' : ' ';
|
|
13
|
-
const officialBadge = marketplace.official ? ' {cyan-fg}[Official]{/cyan-fg}' : '';
|
|
14
|
-
listItems.push({
|
|
15
|
-
label: `${status} ${marketplace.displayName}${officialBadge}`,
|
|
16
|
-
marketplace,
|
|
17
|
-
installed: isInstalled,
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
// Info box
|
|
21
|
-
blessed.box({
|
|
22
|
-
parent: state.screen,
|
|
23
|
-
top: 3,
|
|
24
|
-
left: 2,
|
|
25
|
-
width: '100%-4',
|
|
26
|
-
height: 4,
|
|
27
|
-
content: `Marketplaces provide plugins for Claude Code.
|
|
28
|
-
Add marketplaces to access their plugins in the Plugins screen.
|
|
29
|
-
|
|
30
|
-
{gray-fg}Note: Changes are saved to .claude/settings.json (shared with team){/gray-fg}`,
|
|
31
|
-
tags: true,
|
|
32
|
-
});
|
|
33
|
-
const list = blessed.list({
|
|
34
|
-
parent: state.screen,
|
|
35
|
-
top: 8,
|
|
36
|
-
left: 2,
|
|
37
|
-
width: '100%-4',
|
|
38
|
-
height: listItems.length + 2,
|
|
39
|
-
items: listItems.map((item) => item.label),
|
|
40
|
-
keys: true,
|
|
41
|
-
vi: true,
|
|
42
|
-
mouse: true,
|
|
43
|
-
tags: true,
|
|
44
|
-
border: {
|
|
45
|
-
type: 'line',
|
|
46
|
-
},
|
|
47
|
-
style: {
|
|
48
|
-
selected: {
|
|
49
|
-
bg: 'blue',
|
|
50
|
-
fg: 'white',
|
|
51
|
-
},
|
|
52
|
-
border: {
|
|
53
|
-
fg: 'cyan',
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
// Description box
|
|
58
|
-
const descBox = blessed.box({
|
|
59
|
-
parent: state.screen,
|
|
60
|
-
top: 10 + listItems.length + 2,
|
|
61
|
-
left: 2,
|
|
62
|
-
width: '100%-4',
|
|
63
|
-
height: 4,
|
|
64
|
-
content: '',
|
|
65
|
-
tags: true,
|
|
66
|
-
border: {
|
|
67
|
-
type: 'line',
|
|
68
|
-
},
|
|
69
|
-
style: {
|
|
70
|
-
border: {
|
|
71
|
-
fg: 'gray',
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
});
|
|
75
|
-
// Update description on selection change
|
|
76
|
-
const updateDescription = () => {
|
|
77
|
-
const selected = list.selected;
|
|
78
|
-
const item = listItems[selected];
|
|
79
|
-
if (item) {
|
|
80
|
-
const mp = item.marketplace;
|
|
81
|
-
descBox.setContent(`{bold}${mp.displayName}{/bold}\n` +
|
|
82
|
-
`${mp.description}\n` +
|
|
83
|
-
`{gray-fg}Source: github.com/${mp.source.repo}{/gray-fg}`);
|
|
84
|
-
state.screen.render();
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
list.on('select item', updateDescription);
|
|
88
|
-
updateDescription();
|
|
89
|
-
// Handle selection
|
|
90
|
-
list.on('select', async (_item, index) => {
|
|
91
|
-
const selected = listItems[index];
|
|
92
|
-
if (!selected)
|
|
93
|
-
return;
|
|
94
|
-
if (selected.installed) {
|
|
95
|
-
// Remove marketplace
|
|
96
|
-
const remove = await showConfirm(state, `Remove ${selected.marketplace.displayName}?`, 'This will remove the marketplace from your settings.\nPlugins from this marketplace will no longer be available.');
|
|
97
|
-
if (remove) {
|
|
98
|
-
await removeMarketplace(selected.marketplace.name, state.projectPath);
|
|
99
|
-
await showMessage(state, 'Removed', `${selected.marketplace.displayName} has been removed.`, 'success');
|
|
100
|
-
createMarketplaceScreen(state);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
// Add marketplace
|
|
105
|
-
await addMarketplace(selected.marketplace, state.projectPath);
|
|
106
|
-
await showMessage(state, 'Added', `${selected.marketplace.displayName} has been added.\n\nYou can now install plugins from this marketplace.`, 'success');
|
|
107
|
-
createMarketplaceScreen(state);
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
// Quick add all - disabled during search
|
|
111
|
-
state.screen.key(['a'], async () => {
|
|
112
|
-
if (state.isSearching)
|
|
113
|
-
return;
|
|
114
|
-
const notInstalled = listItems.filter((item) => !item.installed);
|
|
115
|
-
if (notInstalled.length === 0) {
|
|
116
|
-
await showMessage(state, 'Info', 'All marketplaces are already added.', 'info');
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
const confirm = await showConfirm(state, 'Add All Marketplaces?', `This will add ${notInstalled.length} marketplace(s) to your settings.`);
|
|
120
|
-
if (confirm) {
|
|
121
|
-
for (const item of notInstalled) {
|
|
122
|
-
await addMarketplace(item.marketplace, state.projectPath);
|
|
123
|
-
}
|
|
124
|
-
await showMessage(state, 'Added', `Added ${notInstalled.length} marketplace(s).`, 'success');
|
|
125
|
-
createMarketplaceScreen(state);
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
createFooter(state, '↑↓ Navigate | Enter Toggle | a Add All | Esc Back | ? Help');
|
|
129
|
-
list.focus();
|
|
130
|
-
state.screen.render();
|
|
131
|
-
}
|
|
132
|
-
//# sourceMappingURL=marketplace.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"marketplace.js","sourceRoot":"","sources":["../../../src/ui/screens/marketplace.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { AppState } from '../app.js';
|
|
2
|
-
import type { McpRegistryServer } from '../../types/index.js';
|
|
3
|
-
interface RegistryState {
|
|
4
|
-
servers: McpRegistryServer[];
|
|
5
|
-
error: string | null;
|
|
6
|
-
loaded: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare function createMcpRegistryScreen(state: AppState, initialSearch?: string, registryState?: RegistryState): Promise<void>;
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=mcp-registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-registry.d.ts","sourceRoot":"","sources":["../../../src/ui/screens/mcp-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAc1C,OAAO,KAAK,EAAE,iBAAiB,EAAmB,MAAM,sBAAsB,CAAC;AAE/E,UAAU,aAAa;IACrB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,QAAQ,EACf,aAAa,GAAE,MAAW,EAC1B,aAAa,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,IAAI,CAAC,CAwVf"}
|
|
@@ -1,310 +0,0 @@
|
|
|
1
|
-
import blessed from 'neo-blessed';
|
|
2
|
-
import { createHeader, createFooter, showMessage, } from '../app.js';
|
|
3
|
-
import { searchMcpServers, formatDate, } from '../../services/mcp-registry.js';
|
|
4
|
-
import { addMcpServer, setAllowMcp, } from '../../services/claude-settings.js';
|
|
5
|
-
export async function createMcpRegistryScreen(state, initialSearch = '', registryState) {
|
|
6
|
-
createHeader(state, 'MCP Registry');
|
|
7
|
-
let searchQuery = initialSearch;
|
|
8
|
-
let servers = registryState?.servers || [];
|
|
9
|
-
const error = registryState?.error || null;
|
|
10
|
-
const loaded = registryState?.loaded || false;
|
|
11
|
-
let searchTimeout = null;
|
|
12
|
-
// Search box
|
|
13
|
-
const searchBox = blessed.box({
|
|
14
|
-
parent: state.screen,
|
|
15
|
-
top: 3,
|
|
16
|
-
left: 2,
|
|
17
|
-
width: '50%-3',
|
|
18
|
-
height: 3,
|
|
19
|
-
tags: true,
|
|
20
|
-
border: {
|
|
21
|
-
type: 'line',
|
|
22
|
-
},
|
|
23
|
-
style: {
|
|
24
|
-
border: {
|
|
25
|
-
fg: 'cyan',
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
label: ' MCP Registry ',
|
|
29
|
-
});
|
|
30
|
-
const updateSearchBox = () => {
|
|
31
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
32
|
-
const box = searchBox;
|
|
33
|
-
if (state.isSearching) {
|
|
34
|
-
searchBox.setContent(`{white-fg}${searchQuery}{/white-fg}{inverse} {/inverse}`);
|
|
35
|
-
box.style.border.fg = 'green';
|
|
36
|
-
}
|
|
37
|
-
else if (searchQuery) {
|
|
38
|
-
searchBox.setContent(`{white-fg}${searchQuery}{/white-fg}`);
|
|
39
|
-
box.style.border.fg = 'magenta';
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
searchBox.setContent('{gray-fg}Press / to search...{/gray-fg}');
|
|
43
|
-
box.style.border.fg = 'magenta';
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
updateSearchBox();
|
|
47
|
-
// Build list items from servers
|
|
48
|
-
const buildListItems = () => {
|
|
49
|
-
if (!loaded) {
|
|
50
|
-
return ['{gray-fg}Loading...{/gray-fg}'];
|
|
51
|
-
}
|
|
52
|
-
else if (error) {
|
|
53
|
-
return [`{red-fg}Error: ${error}{/red-fg}`];
|
|
54
|
-
}
|
|
55
|
-
else if (servers.length === 0) {
|
|
56
|
-
return ['{gray-fg}No servers found{/gray-fg}'];
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
return servers.map((server) => {
|
|
60
|
-
const version = server.version ? `{green-fg}v${server.version}{/green-fg}` : '';
|
|
61
|
-
return `{bold}${server.name}{/bold} ${version}`;
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
// List
|
|
66
|
-
const list = blessed.list({
|
|
67
|
-
parent: state.screen,
|
|
68
|
-
top: 6,
|
|
69
|
-
left: 2,
|
|
70
|
-
width: '50%-3',
|
|
71
|
-
height: '100%-9',
|
|
72
|
-
items: buildListItems(),
|
|
73
|
-
keys: true,
|
|
74
|
-
vi: false,
|
|
75
|
-
mouse: true,
|
|
76
|
-
tags: true,
|
|
77
|
-
scrollable: true,
|
|
78
|
-
border: {
|
|
79
|
-
type: 'line',
|
|
80
|
-
},
|
|
81
|
-
style: {
|
|
82
|
-
selected: {
|
|
83
|
-
bg: 'magenta',
|
|
84
|
-
fg: 'white',
|
|
85
|
-
},
|
|
86
|
-
border: {
|
|
87
|
-
fg: 'gray',
|
|
88
|
-
},
|
|
89
|
-
},
|
|
90
|
-
scrollbar: {
|
|
91
|
-
ch: '|',
|
|
92
|
-
style: {
|
|
93
|
-
bg: 'gray',
|
|
94
|
-
},
|
|
95
|
-
},
|
|
96
|
-
});
|
|
97
|
-
// Detail panel on the right
|
|
98
|
-
const detailBox = blessed.box({
|
|
99
|
-
parent: state.screen,
|
|
100
|
-
top: 3,
|
|
101
|
-
left: '50%',
|
|
102
|
-
width: '50%-2',
|
|
103
|
-
height: '100%-5',
|
|
104
|
-
content: '',
|
|
105
|
-
tags: true,
|
|
106
|
-
border: {
|
|
107
|
-
type: 'line',
|
|
108
|
-
},
|
|
109
|
-
style: {
|
|
110
|
-
border: {
|
|
111
|
-
fg: 'gray',
|
|
112
|
-
},
|
|
113
|
-
},
|
|
114
|
-
label: ' Details ',
|
|
115
|
-
});
|
|
116
|
-
// Update detail panel on selection change
|
|
117
|
-
const updateDetail = () => {
|
|
118
|
-
const selected = list.selected;
|
|
119
|
-
const server = servers[selected];
|
|
120
|
-
if (!server) {
|
|
121
|
-
detailBox.setContent('{gray-fg}Select a server to see details{/gray-fg}');
|
|
122
|
-
state.screen.render();
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
const dateDisplay = server.published_at
|
|
126
|
-
? `{cyan-fg}${formatDate(server.published_at)}{/cyan-fg}`
|
|
127
|
-
: '{gray-fg}unknown{/gray-fg}';
|
|
128
|
-
const versionDisplay = server.version
|
|
129
|
-
? `{green-fg}v${server.version}{/green-fg}`
|
|
130
|
-
: '{gray-fg}unknown{/gray-fg}';
|
|
131
|
-
const content = `
|
|
132
|
-
{bold}{magenta-fg}${server.name}{/magenta-fg}{/bold}
|
|
133
|
-
|
|
134
|
-
${server.short_description}
|
|
135
|
-
|
|
136
|
-
{bold}Version:{/bold} ${versionDisplay}
|
|
137
|
-
{bold}Published:{/bold} ${dateDisplay}
|
|
138
|
-
|
|
139
|
-
{bold}URL:{/bold}
|
|
140
|
-
{cyan-fg}${server.url}{/cyan-fg}
|
|
141
|
-
${server.source_code_url ? `\n{bold}Source:{/bold}\n{gray-fg}${server.source_code_url}{/gray-fg}` : ''}
|
|
142
|
-
|
|
143
|
-
{green-fg}Press Enter to install{/green-fg}
|
|
144
|
-
`.trim();
|
|
145
|
-
detailBox.setContent(content);
|
|
146
|
-
state.screen.render();
|
|
147
|
-
};
|
|
148
|
-
list.on('select item', updateDetail);
|
|
149
|
-
// Initial detail update
|
|
150
|
-
setTimeout(updateDetail, 0);
|
|
151
|
-
// Load servers function with debounce
|
|
152
|
-
const loadServers = async (query) => {
|
|
153
|
-
try {
|
|
154
|
-
const response = await searchMcpServers({
|
|
155
|
-
query,
|
|
156
|
-
limit: 50,
|
|
157
|
-
});
|
|
158
|
-
// Validate response structure
|
|
159
|
-
if (!response || !Array.isArray(response.servers)) {
|
|
160
|
-
throw new Error('Invalid response from MCP Registry API');
|
|
161
|
-
}
|
|
162
|
-
servers = response.servers;
|
|
163
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
164
|
-
list.setItems(buildListItems());
|
|
165
|
-
state.screen.render();
|
|
166
|
-
setTimeout(updateDetail, 0);
|
|
167
|
-
}
|
|
168
|
-
catch (err) {
|
|
169
|
-
const errorMsg = err instanceof Error ? err.message : 'Failed to load servers';
|
|
170
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
171
|
-
list.setItems([`{red-fg}Error: ${errorMsg}{/red-fg}`]);
|
|
172
|
-
state.screen.render();
|
|
173
|
-
}
|
|
174
|
-
};
|
|
175
|
-
// Debounced search
|
|
176
|
-
const debouncedSearch = (query) => {
|
|
177
|
-
if (searchTimeout) {
|
|
178
|
-
clearTimeout(searchTimeout);
|
|
179
|
-
}
|
|
180
|
-
searchTimeout = setTimeout(() => {
|
|
181
|
-
// Ensure we're still in the MCP registry screen and in search mode
|
|
182
|
-
if (state.isSearching && state.currentScreen === 'mcp') {
|
|
183
|
-
loadServers(query);
|
|
184
|
-
}
|
|
185
|
-
}, 300);
|
|
186
|
-
};
|
|
187
|
-
// Handle selection - install server
|
|
188
|
-
list.on('select', async (_item, index) => {
|
|
189
|
-
if (state.isSearching)
|
|
190
|
-
return; // Don't install while searching
|
|
191
|
-
const server = servers[index];
|
|
192
|
-
if (!server)
|
|
193
|
-
return;
|
|
194
|
-
const config = {
|
|
195
|
-
type: 'http',
|
|
196
|
-
url: server.url,
|
|
197
|
-
};
|
|
198
|
-
await setAllowMcp(true, state.projectPath);
|
|
199
|
-
await addMcpServer(server.name, config, state.projectPath);
|
|
200
|
-
await showMessage(state, 'Installed', `${server.name} has been configured.\n\nRestart Claude Code to activate.`, 'success');
|
|
201
|
-
createMcpRegistryScreen(state, searchQuery, {
|
|
202
|
-
servers,
|
|
203
|
-
error: null,
|
|
204
|
-
loaded: true,
|
|
205
|
-
});
|
|
206
|
-
});
|
|
207
|
-
// Create a search input box that grabs focus during search
|
|
208
|
-
// Use textbox instead of box to properly capture all keyboard input
|
|
209
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
210
|
-
const searchInput = blessed.textbox({
|
|
211
|
-
parent: state.screen,
|
|
212
|
-
top: 3,
|
|
213
|
-
left: 2,
|
|
214
|
-
width: '50%-3',
|
|
215
|
-
height: 3,
|
|
216
|
-
hidden: true,
|
|
217
|
-
input: true,
|
|
218
|
-
keys: true,
|
|
219
|
-
});
|
|
220
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
221
|
-
const searchInputAny = searchInput;
|
|
222
|
-
const startSearch = () => {
|
|
223
|
-
state.isSearching = true;
|
|
224
|
-
updateSearchBox();
|
|
225
|
-
searchInputAny.show();
|
|
226
|
-
searchInput.focus();
|
|
227
|
-
// Clear and set initial value
|
|
228
|
-
searchInput.setValue(searchQuery || '');
|
|
229
|
-
state.screen.render();
|
|
230
|
-
};
|
|
231
|
-
const endSearch = () => {
|
|
232
|
-
state.isSearching = false;
|
|
233
|
-
updateSearchBox();
|
|
234
|
-
searchInputAny.hide();
|
|
235
|
-
list.focus();
|
|
236
|
-
state.screen.render();
|
|
237
|
-
};
|
|
238
|
-
// Update search when text changes
|
|
239
|
-
let lastSearchValue = searchQuery;
|
|
240
|
-
const updateSearchFromInput = () => {
|
|
241
|
-
const value = searchInput.getValue() || '';
|
|
242
|
-
if (value !== lastSearchValue) {
|
|
243
|
-
lastSearchValue = value;
|
|
244
|
-
searchQuery = value;
|
|
245
|
-
updateSearchBox();
|
|
246
|
-
debouncedSearch(searchQuery);
|
|
247
|
-
}
|
|
248
|
-
};
|
|
249
|
-
// Handle text changes in the textbox
|
|
250
|
-
searchInput.on('keypress', () => {
|
|
251
|
-
// Use setImmediate to get the updated value after the key is processed
|
|
252
|
-
setImmediate(updateSearchFromInput);
|
|
253
|
-
});
|
|
254
|
-
// Handle submit and cancel
|
|
255
|
-
searchInput.on('submit', () => {
|
|
256
|
-
endSearch();
|
|
257
|
-
});
|
|
258
|
-
searchInput.key(['escape'], () => {
|
|
259
|
-
endSearch();
|
|
260
|
-
return false; // Prevent propagation
|
|
261
|
-
});
|
|
262
|
-
// Manual j/k navigation (since vi mode is disabled)
|
|
263
|
-
list.key(['j'], () => {
|
|
264
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
265
|
-
list.down();
|
|
266
|
-
state.screen.render();
|
|
267
|
-
});
|
|
268
|
-
list.key(['k'], () => {
|
|
269
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
270
|
-
list.up();
|
|
271
|
-
state.screen.render();
|
|
272
|
-
});
|
|
273
|
-
// Start search with / key
|
|
274
|
-
list.key(['/'], startSearch);
|
|
275
|
-
// Clear search with Ctrl+U
|
|
276
|
-
list.key(['C-u'], () => {
|
|
277
|
-
if (searchQuery) {
|
|
278
|
-
searchQuery = '';
|
|
279
|
-
updateSearchBox();
|
|
280
|
-
loadServers('');
|
|
281
|
-
}
|
|
282
|
-
});
|
|
283
|
-
// Refresh with R
|
|
284
|
-
list.key(['R'], () => {
|
|
285
|
-
createMcpRegistryScreen(state, searchQuery);
|
|
286
|
-
});
|
|
287
|
-
// Switch to local MCP list with l
|
|
288
|
-
list.key(['l'], async () => {
|
|
289
|
-
const { createMcpScreen } = await import('./mcp-setup.js');
|
|
290
|
-
createMcpScreen(state);
|
|
291
|
-
});
|
|
292
|
-
// Attribution
|
|
293
|
-
blessed.box({
|
|
294
|
-
parent: state.screen,
|
|
295
|
-
bottom: 1,
|
|
296
|
-
right: 2,
|
|
297
|
-
width: 28,
|
|
298
|
-
height: 1,
|
|
299
|
-
content: '{gray-fg}Powered by {/gray-fg}{cyan-fg}MCP Registry{/cyan-fg}',
|
|
300
|
-
tags: true,
|
|
301
|
-
});
|
|
302
|
-
createFooter(state, '↑↓ Navigate │ Enter Install │ / Search │ Ctrl+U Clear │ l Local │ q Back');
|
|
303
|
-
list.focus();
|
|
304
|
-
state.screen.render();
|
|
305
|
-
// Initial load if not loaded yet
|
|
306
|
-
if (!loaded) {
|
|
307
|
-
loadServers(searchQuery);
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
//# sourceMappingURL=mcp-registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-registry.js","sourceRoot":"","sources":["../../../src/ui/screens/mcp-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-setup.d.ts","sourceRoot":"","sources":["../../../src/ui/screens/mcp-setup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAyB1C,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgNzF;AAGD,wBAAsB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAyOpE"}
|