claudeup 0.6.4 → 1.0.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 (205) hide show
  1. package/bin/claudeup.js +1 -1
  2. package/dist/data/marketplaces.d.ts +2 -0
  3. package/dist/data/marketplaces.d.ts.map +1 -1
  4. package/dist/data/marketplaces.js +51 -8
  5. package/dist/data/marketplaces.js.map +1 -1
  6. package/dist/data/mcp-servers.d.ts.map +1 -1
  7. package/dist/data/mcp-servers.js +82 -0
  8. package/dist/data/mcp-servers.js.map +1 -1
  9. package/dist/index.js +8 -5
  10. package/dist/index.js.map +1 -1
  11. package/dist/main.d.ts +3 -0
  12. package/dist/main.d.ts.map +1 -0
  13. package/dist/main.js +79 -0
  14. package/dist/main.js.map +1 -0
  15. package/dist/services/claude-settings.d.ts +8 -1
  16. package/dist/services/claude-settings.d.ts.map +1 -1
  17. package/dist/services/claude-settings.js +79 -0
  18. package/dist/services/claude-settings.js.map +1 -1
  19. package/dist/services/local-marketplace.d.ts +76 -0
  20. package/dist/services/local-marketplace.d.ts.map +1 -0
  21. package/dist/services/local-marketplace.js +340 -0
  22. package/dist/services/local-marketplace.js.map +1 -0
  23. package/dist/services/plugin-manager.d.ts +39 -2
  24. package/dist/services/plugin-manager.d.ts.map +1 -1
  25. package/dist/services/plugin-manager.js +259 -9
  26. package/dist/services/plugin-manager.js.map +1 -1
  27. package/dist/types/index.d.ts +6 -1
  28. package/dist/types/index.d.ts.map +1 -1
  29. package/dist/ui/InkApp.d.ts +5 -0
  30. package/dist/ui/InkApp.d.ts.map +1 -0
  31. package/dist/ui/InkApp.js +175 -0
  32. package/dist/ui/InkApp.js.map +1 -0
  33. package/dist/ui/components/CategoryHeader.d.ts +16 -0
  34. package/dist/ui/components/CategoryHeader.d.ts.map +1 -0
  35. package/dist/ui/components/CategoryHeader.js +11 -0
  36. package/dist/ui/components/CategoryHeader.js.map +1 -0
  37. package/dist/ui/components/ScrollableList.d.ts +16 -0
  38. package/dist/ui/components/ScrollableList.d.ts.map +1 -0
  39. package/dist/ui/components/ScrollableList.js +35 -0
  40. package/dist/ui/components/ScrollableList.js.map +1 -0
  41. package/dist/ui/components/SearchInput.d.ts +18 -0
  42. package/dist/ui/components/SearchInput.d.ts.map +1 -0
  43. package/dist/ui/components/SearchInput.js +30 -0
  44. package/dist/ui/components/SearchInput.js.map +1 -0
  45. package/dist/ui/components/TabBar.d.ts +8 -0
  46. package/dist/ui/components/TabBar.d.ts.map +1 -0
  47. package/dist/ui/components/TabBar.js +18 -0
  48. package/dist/ui/components/TabBar.js.map +1 -0
  49. package/dist/ui/components/layout/Footer.d.ts +14 -0
  50. package/dist/ui/components/layout/Footer.d.ts.map +1 -0
  51. package/dist/ui/components/layout/Footer.js +23 -0
  52. package/dist/ui/components/layout/Footer.js.map +1 -0
  53. package/dist/ui/components/layout/Header.d.ts +4 -0
  54. package/dist/ui/components/layout/Header.d.ts.map +1 -0
  55. package/dist/ui/components/layout/Header.js +25 -0
  56. package/dist/ui/components/layout/Header.js.map +1 -0
  57. package/dist/ui/components/layout/Panel.d.ts +22 -0
  58. package/dist/ui/components/layout/Panel.d.ts.map +1 -0
  59. package/dist/ui/components/layout/Panel.js +8 -0
  60. package/dist/ui/components/layout/Panel.js.map +1 -0
  61. package/dist/ui/components/layout/ProgressBar.d.ts +12 -0
  62. package/dist/ui/components/layout/ProgressBar.d.ts.map +1 -0
  63. package/dist/ui/components/layout/ProgressBar.js +16 -0
  64. package/dist/ui/components/layout/ProgressBar.js.map +1 -0
  65. package/dist/ui/components/layout/ScopeTabs.d.ts +12 -0
  66. package/dist/ui/components/layout/ScopeTabs.d.ts.map +1 -0
  67. package/dist/ui/components/layout/ScopeTabs.js +8 -0
  68. package/dist/ui/components/layout/ScopeTabs.js.map +1 -0
  69. package/dist/ui/components/layout/ScreenLayout.d.ts +30 -0
  70. package/dist/ui/components/layout/ScreenLayout.d.ts.map +1 -0
  71. package/dist/ui/components/layout/ScreenLayout.js +23 -0
  72. package/dist/ui/components/layout/ScreenLayout.js.map +1 -0
  73. package/dist/ui/components/layout/index.d.ts +7 -0
  74. package/dist/ui/components/layout/index.d.ts.map +1 -0
  75. package/dist/ui/components/layout/index.js +7 -0
  76. package/dist/ui/components/layout/index.js.map +1 -0
  77. package/dist/ui/components/modals/ConfirmModal.d.ts +14 -0
  78. package/dist/ui/components/modals/ConfirmModal.d.ts.map +1 -0
  79. package/dist/ui/components/modals/ConfirmModal.js +15 -0
  80. package/dist/ui/components/modals/ConfirmModal.js.map +1 -0
  81. package/dist/ui/components/modals/InputModal.d.ts +16 -0
  82. package/dist/ui/components/modals/InputModal.d.ts.map +1 -0
  83. package/dist/ui/components/modals/InputModal.js +23 -0
  84. package/dist/ui/components/modals/InputModal.js.map +1 -0
  85. package/dist/ui/components/modals/LoadingModal.d.ts +8 -0
  86. package/dist/ui/components/modals/LoadingModal.d.ts.map +1 -0
  87. package/dist/ui/components/modals/LoadingModal.js +8 -0
  88. package/dist/ui/components/modals/LoadingModal.js.map +1 -0
  89. package/dist/ui/components/modals/MessageModal.d.ts +14 -0
  90. package/dist/ui/components/modals/MessageModal.d.ts.map +1 -0
  91. package/dist/ui/components/modals/MessageModal.js +17 -0
  92. package/dist/ui/components/modals/MessageModal.js.map +1 -0
  93. package/dist/ui/components/modals/ModalContainer.d.ts +7 -0
  94. package/dist/ui/components/modals/ModalContainer.d.ts.map +1 -0
  95. package/dist/ui/components/modals/ModalContainer.js +38 -0
  96. package/dist/ui/components/modals/ModalContainer.js.map +1 -0
  97. package/dist/ui/components/modals/SelectModal.d.ts +17 -0
  98. package/dist/ui/components/modals/SelectModal.d.ts.map +1 -0
  99. package/dist/ui/components/modals/SelectModal.js +33 -0
  100. package/dist/ui/components/modals/SelectModal.js.map +1 -0
  101. package/dist/ui/components/modals/index.d.ts +7 -0
  102. package/dist/ui/components/modals/index.d.ts.map +1 -0
  103. package/dist/ui/components/modals/index.js +7 -0
  104. package/dist/ui/components/modals/index.js.map +1 -0
  105. package/dist/ui/hooks/index.d.ts +3 -0
  106. package/dist/ui/hooks/index.d.ts.map +1 -0
  107. package/dist/ui/hooks/index.js +3 -0
  108. package/dist/ui/hooks/index.js.map +1 -0
  109. package/dist/ui/hooks/useAsyncData.d.ts +40 -0
  110. package/dist/ui/hooks/useAsyncData.d.ts.map +1 -0
  111. package/dist/ui/hooks/useAsyncData.js +78 -0
  112. package/dist/ui/hooks/useAsyncData.js.map +1 -0
  113. package/dist/ui/hooks/useKeyboardNavigation.d.ts +27 -0
  114. package/dist/ui/hooks/useKeyboardNavigation.d.ts.map +1 -0
  115. package/dist/ui/hooks/useKeyboardNavigation.js +82 -0
  116. package/dist/ui/hooks/useKeyboardNavigation.js.map +1 -0
  117. package/dist/ui/screens/CliToolsScreen.d.ts +4 -0
  118. package/dist/ui/screens/CliToolsScreen.d.ts.map +1 -0
  119. package/dist/ui/screens/CliToolsScreen.js +268 -0
  120. package/dist/ui/screens/CliToolsScreen.js.map +1 -0
  121. package/dist/ui/screens/EnvVarsScreen.d.ts +4 -0
  122. package/dist/ui/screens/EnvVarsScreen.d.ts.map +1 -0
  123. package/dist/ui/screens/EnvVarsScreen.js +145 -0
  124. package/dist/ui/screens/EnvVarsScreen.js.map +1 -0
  125. package/dist/ui/screens/McpRegistryScreen.d.ts +4 -0
  126. package/dist/ui/screens/McpRegistryScreen.d.ts.map +1 -0
  127. package/dist/ui/screens/McpRegistryScreen.js +226 -0
  128. package/dist/ui/screens/McpRegistryScreen.js.map +1 -0
  129. package/dist/ui/screens/McpScreen.d.ts +4 -0
  130. package/dist/ui/screens/McpScreen.d.ts.map +1 -0
  131. package/dist/ui/screens/McpScreen.js +222 -0
  132. package/dist/ui/screens/McpScreen.js.map +1 -0
  133. package/dist/ui/screens/ModelSelectorScreen.d.ts +4 -0
  134. package/dist/ui/screens/ModelSelectorScreen.d.ts.map +1 -0
  135. package/dist/ui/screens/ModelSelectorScreen.js +143 -0
  136. package/dist/ui/screens/ModelSelectorScreen.js.map +1 -0
  137. package/dist/ui/screens/PluginsScreen.d.ts +4 -0
  138. package/dist/ui/screens/PluginsScreen.d.ts.map +1 -0
  139. package/dist/ui/screens/PluginsScreen.js +747 -0
  140. package/dist/ui/screens/PluginsScreen.js.map +1 -0
  141. package/dist/ui/screens/StatusLineScreen.d.ts +4 -0
  142. package/dist/ui/screens/StatusLineScreen.d.ts.map +1 -0
  143. package/dist/ui/screens/StatusLineScreen.js +197 -0
  144. package/dist/ui/screens/StatusLineScreen.js.map +1 -0
  145. package/dist/ui/screens/index.d.ts +8 -0
  146. package/dist/ui/screens/index.d.ts.map +1 -0
  147. package/dist/ui/screens/index.js +8 -0
  148. package/dist/ui/screens/index.js.map +1 -0
  149. package/dist/ui/state/AppContext.d.ts +40 -0
  150. package/dist/ui/state/AppContext.d.ts.map +1 -0
  151. package/dist/ui/state/AppContext.js +162 -0
  152. package/dist/ui/state/AppContext.js.map +1 -0
  153. package/dist/ui/state/DimensionsContext.d.ts +25 -0
  154. package/dist/ui/state/DimensionsContext.d.ts.map +1 -0
  155. package/dist/ui/state/DimensionsContext.js +68 -0
  156. package/dist/ui/state/DimensionsContext.js.map +1 -0
  157. package/dist/ui/state/reducer.d.ts +4 -0
  158. package/dist/ui/state/reducer.d.ts.map +1 -0
  159. package/dist/ui/state/reducer.js +412 -0
  160. package/dist/ui/state/reducer.js.map +1 -0
  161. package/dist/ui/state/types.d.ts +266 -0
  162. package/dist/ui/state/types.d.ts.map +1 -0
  163. package/dist/ui/state/types.js +2 -0
  164. package/dist/ui/state/types.js.map +1 -0
  165. package/dist/utils/fuzzy-search.d.ts +33 -0
  166. package/dist/utils/fuzzy-search.d.ts.map +1 -0
  167. package/dist/utils/fuzzy-search.js +102 -0
  168. package/dist/utils/fuzzy-search.js.map +1 -0
  169. package/dist/utils/string-utils.d.ts +24 -0
  170. package/dist/utils/string-utils.d.ts.map +1 -0
  171. package/dist/utils/string-utils.js +62 -0
  172. package/dist/utils/string-utils.js.map +1 -0
  173. package/package.json +19 -7
  174. package/dist/ui/app.d.ts +0 -38
  175. package/dist/ui/app.d.ts.map +0 -1
  176. package/dist/ui/app.js +0 -590
  177. package/dist/ui/app.js.map +0 -1
  178. package/dist/ui/screens/cli-tools.d.ts +0 -4
  179. package/dist/ui/screens/cli-tools.d.ts.map +0 -1
  180. package/dist/ui/screens/cli-tools.js +0 -369
  181. package/dist/ui/screens/cli-tools.js.map +0 -1
  182. package/dist/ui/screens/env-vars.d.ts +0 -3
  183. package/dist/ui/screens/env-vars.d.ts.map +0 -1
  184. package/dist/ui/screens/env-vars.js +0 -119
  185. package/dist/ui/screens/env-vars.js.map +0 -1
  186. package/dist/ui/screens/main-menu.d.ts +0 -3
  187. package/dist/ui/screens/main-menu.d.ts.map +0 -1
  188. package/dist/ui/screens/main-menu.js +0 -110
  189. package/dist/ui/screens/main-menu.js.map +0 -1
  190. package/dist/ui/screens/mcp-registry.d.ts +0 -10
  191. package/dist/ui/screens/mcp-registry.d.ts.map +0 -1
  192. package/dist/ui/screens/mcp-registry.js +0 -310
  193. package/dist/ui/screens/mcp-registry.js.map +0 -1
  194. package/dist/ui/screens/mcp-setup.d.ts +0 -4
  195. package/dist/ui/screens/mcp-setup.d.ts.map +0 -1
  196. package/dist/ui/screens/mcp-setup.js +0 -492
  197. package/dist/ui/screens/mcp-setup.js.map +0 -1
  198. package/dist/ui/screens/plugins.d.ts +0 -3
  199. package/dist/ui/screens/plugins.d.ts.map +0 -1
  200. package/dist/ui/screens/plugins.js +0 -443
  201. package/dist/ui/screens/plugins.js.map +0 -1
  202. package/dist/ui/screens/statusline.d.ts +0 -5
  203. package/dist/ui/screens/statusline.d.ts.map +0 -1
  204. package/dist/ui/screens/statusline.js +0 -235
  205. package/dist/ui/screens/statusline.js.map +0 -1
@@ -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,CAyOpE"}