claudeup 0.3.0 → 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.
Files changed (68) hide show
  1. package/package.json +23 -12
  2. package/dist/data/cli-tools.d.ts +0 -13
  3. package/dist/data/cli-tools.d.ts.map +0 -1
  4. package/dist/data/cli-tools.js +0 -113
  5. package/dist/data/cli-tools.js.map +0 -1
  6. package/dist/data/marketplaces.d.ts +0 -4
  7. package/dist/data/marketplaces.d.ts.map +0 -1
  8. package/dist/data/marketplaces.js +0 -26
  9. package/dist/data/marketplaces.js.map +0 -1
  10. package/dist/data/mcp-servers.d.ts +0 -8
  11. package/dist/data/mcp-servers.d.ts.map +0 -1
  12. package/dist/data/mcp-servers.js +0 -421
  13. package/dist/data/mcp-servers.js.map +0 -1
  14. package/dist/data/statuslines.d.ts +0 -10
  15. package/dist/data/statuslines.d.ts.map +0 -1
  16. package/dist/data/statuslines.js +0 -160
  17. package/dist/data/statuslines.js.map +0 -1
  18. package/dist/index.d.ts +0 -3
  19. package/dist/index.d.ts.map +0 -1
  20. package/dist/index.js.map +0 -1
  21. package/dist/services/claude-settings.d.ts +0 -46
  22. package/dist/services/claude-settings.d.ts.map +0 -1
  23. package/dist/services/claude-settings.js +0 -248
  24. package/dist/services/claude-settings.js.map +0 -1
  25. package/dist/services/mcp-registry.d.ts +0 -10
  26. package/dist/services/mcp-registry.d.ts.map +0 -1
  27. package/dist/services/mcp-registry.js +0 -88
  28. package/dist/services/mcp-registry.js.map +0 -1
  29. package/dist/services/plugin-manager.d.ts +0 -23
  30. package/dist/services/plugin-manager.d.ts.map +0 -1
  31. package/dist/services/plugin-manager.js +0 -151
  32. package/dist/services/plugin-manager.js.map +0 -1
  33. package/dist/types/index.d.ts +0 -83
  34. package/dist/types/index.d.ts.map +0 -1
  35. package/dist/types/index.js +0 -2
  36. package/dist/types/index.js.map +0 -1
  37. package/dist/ui/app.d.ts +0 -38
  38. package/dist/ui/app.d.ts.map +0 -1
  39. package/dist/ui/app.js +0 -553
  40. package/dist/ui/app.js.map +0 -1
  41. package/dist/ui/screens/cli-tools.d.ts +0 -4
  42. package/dist/ui/screens/cli-tools.d.ts.map +0 -1
  43. package/dist/ui/screens/cli-tools.js +0 -331
  44. package/dist/ui/screens/cli-tools.js.map +0 -1
  45. package/dist/ui/screens/main-menu.d.ts +0 -3
  46. package/dist/ui/screens/main-menu.d.ts.map +0 -1
  47. package/dist/ui/screens/main-menu.js +0 -110
  48. package/dist/ui/screens/main-menu.js.map +0 -1
  49. package/dist/ui/screens/marketplace.d.ts +0 -3
  50. package/dist/ui/screens/marketplace.d.ts.map +0 -1
  51. package/dist/ui/screens/marketplace.js +0 -132
  52. package/dist/ui/screens/marketplace.js.map +0 -1
  53. package/dist/ui/screens/mcp-registry.d.ts +0 -10
  54. package/dist/ui/screens/mcp-registry.d.ts.map +0 -1
  55. package/dist/ui/screens/mcp-registry.js +0 -310
  56. package/dist/ui/screens/mcp-registry.js.map +0 -1
  57. package/dist/ui/screens/mcp-setup.d.ts +0 -4
  58. package/dist/ui/screens/mcp-setup.d.ts.map +0 -1
  59. package/dist/ui/screens/mcp-setup.js +0 -673
  60. package/dist/ui/screens/mcp-setup.js.map +0 -1
  61. package/dist/ui/screens/plugins.d.ts +0 -3
  62. package/dist/ui/screens/plugins.d.ts.map +0 -1
  63. package/dist/ui/screens/plugins.js +0 -449
  64. package/dist/ui/screens/plugins.js.map +0 -1
  65. package/dist/ui/screens/statusline.d.ts +0 -5
  66. package/dist/ui/screens/statusline.d.ts.map +0 -1
  67. package/dist/ui/screens/statusline.js +0 -235
  68. package/dist/ui/screens/statusline.js.map +0 -1
@@ -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,4 +0,0 @@
1
- import type { AppState } from '../app.js';
2
- export declare function createMcpSearchScreen(state: AppState, query: string): Promise<void>;
3
- export declare function createMcpScreen(state: AppState): Promise<void>;
4
- //# sourceMappingURL=mcp-setup.d.ts.map
@@ -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,CAqQpE"}