claudeup 0.6.4 → 1.1.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 (209) 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/services/plugin-mcp-config.d.ts +52 -0
  28. package/dist/services/plugin-mcp-config.d.ts.map +1 -0
  29. package/dist/services/plugin-mcp-config.js +176 -0
  30. package/dist/services/plugin-mcp-config.js.map +1 -0
  31. package/dist/types/index.d.ts +6 -1
  32. package/dist/types/index.d.ts.map +1 -1
  33. package/dist/ui/InkApp.d.ts +5 -0
  34. package/dist/ui/InkApp.d.ts.map +1 -0
  35. package/dist/ui/InkApp.js +175 -0
  36. package/dist/ui/InkApp.js.map +1 -0
  37. package/dist/ui/components/CategoryHeader.d.ts +16 -0
  38. package/dist/ui/components/CategoryHeader.d.ts.map +1 -0
  39. package/dist/ui/components/CategoryHeader.js +11 -0
  40. package/dist/ui/components/CategoryHeader.js.map +1 -0
  41. package/dist/ui/components/ScrollableList.d.ts +16 -0
  42. package/dist/ui/components/ScrollableList.d.ts.map +1 -0
  43. package/dist/ui/components/ScrollableList.js +35 -0
  44. package/dist/ui/components/ScrollableList.js.map +1 -0
  45. package/dist/ui/components/SearchInput.d.ts +18 -0
  46. package/dist/ui/components/SearchInput.d.ts.map +1 -0
  47. package/dist/ui/components/SearchInput.js +30 -0
  48. package/dist/ui/components/SearchInput.js.map +1 -0
  49. package/dist/ui/components/TabBar.d.ts +8 -0
  50. package/dist/ui/components/TabBar.d.ts.map +1 -0
  51. package/dist/ui/components/TabBar.js +18 -0
  52. package/dist/ui/components/TabBar.js.map +1 -0
  53. package/dist/ui/components/layout/Footer.d.ts +14 -0
  54. package/dist/ui/components/layout/Footer.d.ts.map +1 -0
  55. package/dist/ui/components/layout/Footer.js +23 -0
  56. package/dist/ui/components/layout/Footer.js.map +1 -0
  57. package/dist/ui/components/layout/Header.d.ts +4 -0
  58. package/dist/ui/components/layout/Header.d.ts.map +1 -0
  59. package/dist/ui/components/layout/Header.js +25 -0
  60. package/dist/ui/components/layout/Header.js.map +1 -0
  61. package/dist/ui/components/layout/Panel.d.ts +22 -0
  62. package/dist/ui/components/layout/Panel.d.ts.map +1 -0
  63. package/dist/ui/components/layout/Panel.js +8 -0
  64. package/dist/ui/components/layout/Panel.js.map +1 -0
  65. package/dist/ui/components/layout/ProgressBar.d.ts +12 -0
  66. package/dist/ui/components/layout/ProgressBar.d.ts.map +1 -0
  67. package/dist/ui/components/layout/ProgressBar.js +16 -0
  68. package/dist/ui/components/layout/ProgressBar.js.map +1 -0
  69. package/dist/ui/components/layout/ScopeTabs.d.ts +12 -0
  70. package/dist/ui/components/layout/ScopeTabs.d.ts.map +1 -0
  71. package/dist/ui/components/layout/ScopeTabs.js +8 -0
  72. package/dist/ui/components/layout/ScopeTabs.js.map +1 -0
  73. package/dist/ui/components/layout/ScreenLayout.d.ts +30 -0
  74. package/dist/ui/components/layout/ScreenLayout.d.ts.map +1 -0
  75. package/dist/ui/components/layout/ScreenLayout.js +23 -0
  76. package/dist/ui/components/layout/ScreenLayout.js.map +1 -0
  77. package/dist/ui/components/layout/index.d.ts +7 -0
  78. package/dist/ui/components/layout/index.d.ts.map +1 -0
  79. package/dist/ui/components/layout/index.js +7 -0
  80. package/dist/ui/components/layout/index.js.map +1 -0
  81. package/dist/ui/components/modals/ConfirmModal.d.ts +14 -0
  82. package/dist/ui/components/modals/ConfirmModal.d.ts.map +1 -0
  83. package/dist/ui/components/modals/ConfirmModal.js +15 -0
  84. package/dist/ui/components/modals/ConfirmModal.js.map +1 -0
  85. package/dist/ui/components/modals/InputModal.d.ts +16 -0
  86. package/dist/ui/components/modals/InputModal.d.ts.map +1 -0
  87. package/dist/ui/components/modals/InputModal.js +23 -0
  88. package/dist/ui/components/modals/InputModal.js.map +1 -0
  89. package/dist/ui/components/modals/LoadingModal.d.ts +8 -0
  90. package/dist/ui/components/modals/LoadingModal.d.ts.map +1 -0
  91. package/dist/ui/components/modals/LoadingModal.js +8 -0
  92. package/dist/ui/components/modals/LoadingModal.js.map +1 -0
  93. package/dist/ui/components/modals/MessageModal.d.ts +14 -0
  94. package/dist/ui/components/modals/MessageModal.d.ts.map +1 -0
  95. package/dist/ui/components/modals/MessageModal.js +17 -0
  96. package/dist/ui/components/modals/MessageModal.js.map +1 -0
  97. package/dist/ui/components/modals/ModalContainer.d.ts +7 -0
  98. package/dist/ui/components/modals/ModalContainer.d.ts.map +1 -0
  99. package/dist/ui/components/modals/ModalContainer.js +38 -0
  100. package/dist/ui/components/modals/ModalContainer.js.map +1 -0
  101. package/dist/ui/components/modals/SelectModal.d.ts +17 -0
  102. package/dist/ui/components/modals/SelectModal.d.ts.map +1 -0
  103. package/dist/ui/components/modals/SelectModal.js +33 -0
  104. package/dist/ui/components/modals/SelectModal.js.map +1 -0
  105. package/dist/ui/components/modals/index.d.ts +7 -0
  106. package/dist/ui/components/modals/index.d.ts.map +1 -0
  107. package/dist/ui/components/modals/index.js +7 -0
  108. package/dist/ui/components/modals/index.js.map +1 -0
  109. package/dist/ui/hooks/index.d.ts +3 -0
  110. package/dist/ui/hooks/index.d.ts.map +1 -0
  111. package/dist/ui/hooks/index.js +3 -0
  112. package/dist/ui/hooks/index.js.map +1 -0
  113. package/dist/ui/hooks/useAsyncData.d.ts +40 -0
  114. package/dist/ui/hooks/useAsyncData.d.ts.map +1 -0
  115. package/dist/ui/hooks/useAsyncData.js +78 -0
  116. package/dist/ui/hooks/useAsyncData.js.map +1 -0
  117. package/dist/ui/hooks/useKeyboardNavigation.d.ts +27 -0
  118. package/dist/ui/hooks/useKeyboardNavigation.d.ts.map +1 -0
  119. package/dist/ui/hooks/useKeyboardNavigation.js +82 -0
  120. package/dist/ui/hooks/useKeyboardNavigation.js.map +1 -0
  121. package/dist/ui/screens/CliToolsScreen.d.ts +4 -0
  122. package/dist/ui/screens/CliToolsScreen.d.ts.map +1 -0
  123. package/dist/ui/screens/CliToolsScreen.js +268 -0
  124. package/dist/ui/screens/CliToolsScreen.js.map +1 -0
  125. package/dist/ui/screens/EnvVarsScreen.d.ts +4 -0
  126. package/dist/ui/screens/EnvVarsScreen.d.ts.map +1 -0
  127. package/dist/ui/screens/EnvVarsScreen.js +145 -0
  128. package/dist/ui/screens/EnvVarsScreen.js.map +1 -0
  129. package/dist/ui/screens/McpRegistryScreen.d.ts +4 -0
  130. package/dist/ui/screens/McpRegistryScreen.d.ts.map +1 -0
  131. package/dist/ui/screens/McpRegistryScreen.js +226 -0
  132. package/dist/ui/screens/McpRegistryScreen.js.map +1 -0
  133. package/dist/ui/screens/McpScreen.d.ts +4 -0
  134. package/dist/ui/screens/McpScreen.d.ts.map +1 -0
  135. package/dist/ui/screens/McpScreen.js +222 -0
  136. package/dist/ui/screens/McpScreen.js.map +1 -0
  137. package/dist/ui/screens/ModelSelectorScreen.d.ts +4 -0
  138. package/dist/ui/screens/ModelSelectorScreen.d.ts.map +1 -0
  139. package/dist/ui/screens/ModelSelectorScreen.js +143 -0
  140. package/dist/ui/screens/ModelSelectorScreen.js.map +1 -0
  141. package/dist/ui/screens/PluginsScreen.d.ts +4 -0
  142. package/dist/ui/screens/PluginsScreen.d.ts.map +1 -0
  143. package/dist/ui/screens/PluginsScreen.js +818 -0
  144. package/dist/ui/screens/PluginsScreen.js.map +1 -0
  145. package/dist/ui/screens/StatusLineScreen.d.ts +4 -0
  146. package/dist/ui/screens/StatusLineScreen.d.ts.map +1 -0
  147. package/dist/ui/screens/StatusLineScreen.js +197 -0
  148. package/dist/ui/screens/StatusLineScreen.js.map +1 -0
  149. package/dist/ui/screens/index.d.ts +8 -0
  150. package/dist/ui/screens/index.d.ts.map +1 -0
  151. package/dist/ui/screens/index.js +8 -0
  152. package/dist/ui/screens/index.js.map +1 -0
  153. package/dist/ui/state/AppContext.d.ts +40 -0
  154. package/dist/ui/state/AppContext.d.ts.map +1 -0
  155. package/dist/ui/state/AppContext.js +162 -0
  156. package/dist/ui/state/AppContext.js.map +1 -0
  157. package/dist/ui/state/DimensionsContext.d.ts +25 -0
  158. package/dist/ui/state/DimensionsContext.d.ts.map +1 -0
  159. package/dist/ui/state/DimensionsContext.js +68 -0
  160. package/dist/ui/state/DimensionsContext.js.map +1 -0
  161. package/dist/ui/state/reducer.d.ts +4 -0
  162. package/dist/ui/state/reducer.d.ts.map +1 -0
  163. package/dist/ui/state/reducer.js +412 -0
  164. package/dist/ui/state/reducer.js.map +1 -0
  165. package/dist/ui/state/types.d.ts +266 -0
  166. package/dist/ui/state/types.d.ts.map +1 -0
  167. package/dist/ui/state/types.js +2 -0
  168. package/dist/ui/state/types.js.map +1 -0
  169. package/dist/utils/fuzzy-search.d.ts +33 -0
  170. package/dist/utils/fuzzy-search.d.ts.map +1 -0
  171. package/dist/utils/fuzzy-search.js +102 -0
  172. package/dist/utils/fuzzy-search.js.map +1 -0
  173. package/dist/utils/string-utils.d.ts +24 -0
  174. package/dist/utils/string-utils.d.ts.map +1 -0
  175. package/dist/utils/string-utils.js +62 -0
  176. package/dist/utils/string-utils.js.map +1 -0
  177. package/package.json +19 -7
  178. package/dist/ui/app.d.ts +0 -38
  179. package/dist/ui/app.d.ts.map +0 -1
  180. package/dist/ui/app.js +0 -590
  181. package/dist/ui/app.js.map +0 -1
  182. package/dist/ui/screens/cli-tools.d.ts +0 -4
  183. package/dist/ui/screens/cli-tools.d.ts.map +0 -1
  184. package/dist/ui/screens/cli-tools.js +0 -369
  185. package/dist/ui/screens/cli-tools.js.map +0 -1
  186. package/dist/ui/screens/env-vars.d.ts +0 -3
  187. package/dist/ui/screens/env-vars.d.ts.map +0 -1
  188. package/dist/ui/screens/env-vars.js +0 -119
  189. package/dist/ui/screens/env-vars.js.map +0 -1
  190. package/dist/ui/screens/main-menu.d.ts +0 -3
  191. package/dist/ui/screens/main-menu.d.ts.map +0 -1
  192. package/dist/ui/screens/main-menu.js +0 -110
  193. package/dist/ui/screens/main-menu.js.map +0 -1
  194. package/dist/ui/screens/mcp-registry.d.ts +0 -10
  195. package/dist/ui/screens/mcp-registry.d.ts.map +0 -1
  196. package/dist/ui/screens/mcp-registry.js +0 -310
  197. package/dist/ui/screens/mcp-registry.js.map +0 -1
  198. package/dist/ui/screens/mcp-setup.d.ts +0 -4
  199. package/dist/ui/screens/mcp-setup.d.ts.map +0 -1
  200. package/dist/ui/screens/mcp-setup.js +0 -492
  201. package/dist/ui/screens/mcp-setup.js.map +0 -1
  202. package/dist/ui/screens/plugins.d.ts +0 -3
  203. package/dist/ui/screens/plugins.d.ts.map +0 -1
  204. package/dist/ui/screens/plugins.js +0 -443
  205. package/dist/ui/screens/plugins.js.map +0 -1
  206. package/dist/ui/screens/statusline.d.ts +0 -5
  207. package/dist/ui/screens/statusline.d.ts.map +0 -1
  208. package/dist/ui/screens/statusline.js +0 -235
  209. package/dist/ui/screens/statusline.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginsScreen.js","sourceRoot":"","sources":["../../../src/ui/screens/PluginsScreen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export declare function StatusLineScreen(): React.ReactElement;
3
+ export default StatusLineScreen;
4
+ //# sourceMappingURL=StatusLineScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusLineScreen.d.ts","sourceRoot":"","sources":["../../../src/ui/screens/StatusLineScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAsBhE,wBAAgB,gBAAgB,IAAI,KAAK,CAAC,YAAY,CA8SrD;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,197 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useCallback, useState } from 'react';
3
+ import { Box, Text, useInput } from 'ink';
4
+ import { useApp, useModal } from '../state/AppContext.js';
5
+ import { useDimensions } from '../state/DimensionsContext.js';
6
+ import { ScreenLayout } from '../components/layout/index.js';
7
+ import { ScrollableList } from '../components/ScrollableList.js';
8
+ import { statusLineCategories } from '../../data/statuslines.js';
9
+ import { setStatusLine, getStatusLine, setGlobalStatusLine, getGlobalStatusLine, } from '../../services/claude-settings.js';
10
+ export function StatusLineScreen() {
11
+ const { state, dispatch } = useApp();
12
+ const { statusline: statusLine } = state;
13
+ const modal = useModal();
14
+ const dimensions = useDimensions();
15
+ const [projectStatusLine, setProjectStatusLineState] = useState();
16
+ const [globalStatusLine, setGlobalStatusLineState] = useState();
17
+ const [isLoading, setIsLoading] = useState(true);
18
+ // Fetch data
19
+ const fetchData = useCallback(async () => {
20
+ setIsLoading(true);
21
+ try {
22
+ const [project, global] = await Promise.all([
23
+ getStatusLine(state.projectPath),
24
+ getGlobalStatusLine(),
25
+ ]);
26
+ setProjectStatusLineState(project);
27
+ setGlobalStatusLineState(global);
28
+ }
29
+ catch (error) {
30
+ // Silent error handling - show empty state
31
+ }
32
+ setIsLoading(false);
33
+ }, [state.projectPath]);
34
+ useEffect(() => {
35
+ fetchData();
36
+ }, [fetchData]);
37
+ // Get current status line based on scope
38
+ const getCurrentStatusLine = () => {
39
+ return statusLine.scope === 'project' ? projectStatusLine : globalStatusLine;
40
+ };
41
+ // Build list items with categories
42
+ const buildListItems = () => {
43
+ const currentForScope = getCurrentStatusLine();
44
+ const items = [];
45
+ for (const category of statusLineCategories) {
46
+ items.push({
47
+ label: category.name,
48
+ isCategory: true,
49
+ });
50
+ for (const preset of category.presets) {
51
+ const isActive = currentForScope === preset.template;
52
+ const status = isActive ? '●' : '○';
53
+ items.push({
54
+ label: ` ${status} ${preset.name}`,
55
+ preset,
56
+ });
57
+ }
58
+ }
59
+ // Add custom option at the end
60
+ items.push({
61
+ label: '+ Custom Status Line',
62
+ isCustom: true,
63
+ });
64
+ return items;
65
+ };
66
+ const listItems = buildListItems();
67
+ // Keyboard handling
68
+ useInput((input, key) => {
69
+ if (state.isSearching || state.modal)
70
+ return;
71
+ if (key.upArrow || input === 'k') {
72
+ const newIndex = Math.max(0, statusLine.selectedIndex - 1);
73
+ dispatch({ type: 'STATUSLINE_SELECT', index: newIndex });
74
+ }
75
+ else if (key.downArrow || input === 'j') {
76
+ const newIndex = Math.min(listItems.length - 1, statusLine.selectedIndex + 1);
77
+ dispatch({ type: 'STATUSLINE_SELECT', index: newIndex });
78
+ }
79
+ else if (input === 'p') {
80
+ dispatch({ type: 'STATUSLINE_SET_SCOPE', scope: 'project' });
81
+ }
82
+ else if (input === 'g') {
83
+ dispatch({ type: 'STATUSLINE_SET_SCOPE', scope: 'global' });
84
+ }
85
+ else if (input === 'r') {
86
+ handleReset();
87
+ }
88
+ else if (key.return) {
89
+ handleSelect();
90
+ }
91
+ });
92
+ const saveStatusLine = async (template) => {
93
+ if (statusLine.scope === 'global') {
94
+ await setGlobalStatusLine(template);
95
+ }
96
+ else {
97
+ await setStatusLine(template, state.projectPath);
98
+ }
99
+ };
100
+ const handleSelect = async () => {
101
+ const item = listItems[statusLine.selectedIndex];
102
+ if (!item || item.isCategory)
103
+ return;
104
+ const scopeLabel = statusLine.scope === 'global' ? 'Global' : 'Project';
105
+ if (item.isCustom) {
106
+ const template = await modal.input(`Custom Status Line (${scopeLabel})`, 'Enter template (use {model}, {cost}, etc.):', getCurrentStatusLine() || '');
107
+ if (template !== null) {
108
+ modal.loading(`Saving custom status line...`);
109
+ try {
110
+ await saveStatusLine(template);
111
+ modal.hideModal();
112
+ await modal.message('Saved', `Custom status line saved to ${scopeLabel}.\n\nRestart Claude Code to apply changes.`, 'success');
113
+ fetchData();
114
+ }
115
+ catch (error) {
116
+ modal.hideModal();
117
+ await modal.message('Error', `Failed to save: ${error}`, 'error');
118
+ }
119
+ }
120
+ }
121
+ else if (item.preset) {
122
+ modal.loading(`Applying ${item.preset.name}...`);
123
+ try {
124
+ await saveStatusLine(item.preset.template);
125
+ modal.hideModal();
126
+ await modal.message('Applied', `"${item.preset.name}" applied to ${scopeLabel}.\n\nRestart Claude Code to apply changes.`, 'success');
127
+ fetchData();
128
+ }
129
+ catch (error) {
130
+ modal.hideModal();
131
+ await modal.message('Error', `Failed to apply: ${error}`, 'error');
132
+ }
133
+ }
134
+ };
135
+ const handleReset = async () => {
136
+ const scopeLabel = statusLine.scope === 'global' ? 'Global' : 'Project';
137
+ const confirmed = await modal.confirm('Reset Status Line', `Clear the ${scopeLabel} status line configuration?`);
138
+ if (confirmed) {
139
+ modal.loading('Resetting...');
140
+ try {
141
+ await saveStatusLine('');
142
+ modal.hideModal();
143
+ await modal.message('Reset', `${scopeLabel} status line has been cleared.`, 'success');
144
+ fetchData();
145
+ }
146
+ catch (error) {
147
+ modal.hideModal();
148
+ await modal.message('Error', `Failed to reset: ${error}`, 'error');
149
+ }
150
+ }
151
+ };
152
+ // Get selected item
153
+ const selectedItem = listItems[statusLine.selectedIndex];
154
+ // Build preview
155
+ const renderPreview = () => {
156
+ if (isLoading) {
157
+ return _jsx(Text, { color: "gray", children: "Loading status line settings..." });
158
+ }
159
+ if (!selectedItem || selectedItem.isCategory) {
160
+ return (_jsx(Box, { flexDirection: "column", alignItems: "center", justifyContent: "center", flexGrow: 1, children: _jsx(Text, { color: "gray", children: "Select a theme to see preview" }) }));
161
+ }
162
+ if (selectedItem.isCustom) {
163
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: "cyan", children: "\u2728 Custom Status Line" }), _jsx(Text, { color: "gray", children: "Create your own unique status line!" }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { bold: true, color: "yellow", children: "Available variables:" }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { color: "green", bold: true, children: '{model}' }), " ", _jsx(Text, { color: "gray", children: "\u2192" }), " Model name"] }), _jsxs(Text, { children: [_jsx(Text, { color: "green", bold: true, children: '{model_short}' }), " ", _jsx(Text, { color: "gray", children: "\u2192" }), " Short name"] }), _jsxs(Text, { children: [_jsx(Text, { color: "yellow", bold: true, children: '{cost}' }), " ", _jsx(Text, { color: "gray", children: "\u2192" }), " Session cost"] }), _jsxs(Text, { children: [_jsx(Text, { color: "blue", bold: true, children: '{cwd}' }), " ", _jsx(Text, { color: "gray", children: "\u2192" }), " Working directory"] }), _jsxs(Text, { children: [_jsx(Text, { color: "magenta", bold: true, children: '{git_branch}' }), " ", _jsx(Text, { color: "gray", children: "\u2192" }), " Git branch"] }), _jsxs(Text, { children: [_jsx(Text, { color: "cyan", bold: true, children: '{input_tokens}' }), " ", _jsx(Text, { color: "gray", children: "\u2192" }), " Input tokens"] }), _jsxs(Text, { children: [_jsx(Text, { color: "cyan", bold: true, children: '{output_tokens}' }), " ", _jsx(Text, { color: "gray", children: "\u2192" }), " Output tokens"] }), _jsxs(Text, { children: [_jsx(Text, { color: "red", bold: true, children: '{session_duration}' }), _jsx(Text, { color: "gray", children: "\u2192" }), " Duration"] })] })] })] }));
164
+ }
165
+ if (selectedItem.preset) {
166
+ const example = selectedItem.preset.template
167
+ .replace('{model}', 'claude-sonnet-4')
168
+ .replace('{model_short}', 'sonnet')
169
+ .replace('{cost}', '0.42')
170
+ .replace('{cwd}', '~/myapp')
171
+ .replace('{git_branch}', 'main')
172
+ .replace('{input_tokens}', '1.2k')
173
+ .replace('{output_tokens}', '850')
174
+ .replace('{session_duration}', '12m');
175
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { bold: true, color: "cyan", children: ["\u25C6 ", selectedItem.preset.name] }), _jsx(Text, { color: "gray", children: selectedItem.preset.description }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: "yellow", bold: true, children: "Preview:" }), _jsx(Box, { marginTop: 1, paddingX: 1, borderStyle: "round", borderColor: "green", children: _jsx(Text, { color: "white", children: example }) })] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: "gray", dimColor: true, children: "Template:" }), _jsx(Text, { color: "gray", children: selectedItem.preset.template })] })] }));
176
+ }
177
+ return null;
178
+ };
179
+ const renderListItem = (item, _idx, isSelected) => {
180
+ if (item.isCategory) {
181
+ return (_jsxs(Text, { bold: true, color: "magenta", wrap: "truncate", children: ["\u25B8 ", item.label] }));
182
+ }
183
+ if (item.isCustom) {
184
+ return isSelected ? (_jsxs(Text, { backgroundColor: "cyan", color: "black", bold: true, wrap: "truncate", children: [' ', "\u2795 Custom Status Line", ' '] })) : (_jsxs(Text, { color: "cyan", bold: true, wrap: "truncate", children: [' ', "\u2795 Custom Status Line"] }));
185
+ }
186
+ const currentForScope = getCurrentStatusLine();
187
+ const isActive = item.preset && currentForScope === item.preset.template;
188
+ return isSelected ? (_jsxs(Text, { backgroundColor: "magenta", color: "white", wrap: "truncate", children: [' ', isActive ? '●' : '○', " ", item.preset?.name || '', ' '] })) : (_jsxs(Text, { color: isActive ? 'green' : 'white', wrap: "truncate", children: [' ', isActive ? '●' : '○', " ", item.preset?.name || ''] }));
189
+ };
190
+ // Build status line content
191
+ const scopeLabel = statusLine.scope === 'project' ? 'Project' : 'Global';
192
+ const currentValue = getCurrentStatusLine();
193
+ const statusContent = (_jsxs(_Fragment, { children: [_jsx(Text, { color: "gray", children: "Scope: " }), _jsx(Text, { color: "cyan", children: scopeLabel }), _jsx(Text, { color: "gray", children: " \u2502 Current: " }), _jsx(Text, { color: "green", children: currentValue ? currentValue.slice(0, 35) + (currentValue.length > 35 ? '...' : '') : '(not set)' })] }));
194
+ return (_jsx(ScreenLayout, { title: "claudeup Status Line", currentScreen: "statusline", statusLine: statusContent, footerHints: "\u2191\u2193:nav \u2502 Enter:apply \u2502 p:project \u2502 g:global \u2502 r:reset", listPanel: _jsx(ScrollableList, { items: listItems, selectedIndex: statusLine.selectedIndex, renderItem: renderListItem, maxHeight: dimensions.listPanelHeight }), detailPanel: renderPreview() }));
195
+ }
196
+ export default StatusLineScreen;
197
+ //# sourceMappingURL=StatusLineScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusLineScreen.js","sourceRoot":"","sources":["../../../src/ui/screens/StatusLineScreen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export { PluginsScreen } from './PluginsScreen.js';
2
+ export { McpScreen } from './McpScreen.js';
3
+ export { McpRegistryScreen } from './McpRegistryScreen.js';
4
+ export { StatusLineScreen } from './StatusLineScreen.js';
5
+ export { EnvVarsScreen } from './EnvVarsScreen.js';
6
+ export { CliToolsScreen } from './CliToolsScreen.js';
7
+ export { ModelSelectorScreen } from './ModelSelectorScreen.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/screens/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,8 @@
1
+ export { PluginsScreen } from './PluginsScreen.js';
2
+ export { McpScreen } from './McpScreen.js';
3
+ export { McpRegistryScreen } from './McpRegistryScreen.js';
4
+ export { StatusLineScreen } from './StatusLineScreen.js';
5
+ export { EnvVarsScreen } from './EnvVarsScreen.js';
6
+ export { CliToolsScreen } from './CliToolsScreen.js';
7
+ export { ModelSelectorScreen } from './ModelSelectorScreen.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/screens/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,40 @@
1
+ import React, { type ReactNode } from 'react';
2
+ import type { AppState, AppAction, Route, ModalState, ProgressState } from './types.js';
3
+ interface AppContextValue {
4
+ state: AppState;
5
+ dispatch: React.Dispatch<AppAction>;
6
+ }
7
+ interface AppProviderProps {
8
+ children: ReactNode;
9
+ initialProjectPath?: string;
10
+ }
11
+ export declare function AppProvider({ children, initialProjectPath }: AppProviderProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function useApp(): AppContextValue;
13
+ export declare function useNavigation(): {
14
+ currentRoute: Route;
15
+ currentScreen: "mcp" | "mcp-registry" | "plugins" | "statusline" | "cli-tools" | "env-vars" | "model-selector";
16
+ navigateTo: (route: Route) => void;
17
+ navigateToScreen: (screen: Route["screen"]) => void;
18
+ };
19
+ export declare function useModal(): {
20
+ showModal: (modal: ModalState) => void;
21
+ hideModal: () => void;
22
+ confirm: (title: string, message: string) => Promise<boolean>;
23
+ input: (title: string, label: string, defaultValue?: string) => Promise<string | null>;
24
+ select: (title: string, message: string, options: {
25
+ label: string;
26
+ value: string;
27
+ description?: string;
28
+ }[]) => Promise<string | null>;
29
+ message: (title: string, message: string, variant?: "info" | "success" | "error") => Promise<void>;
30
+ loading: (message: string) => void;
31
+ };
32
+ export declare function useProgress(): {
33
+ progress: ProgressState | null;
34
+ isVisible: boolean;
35
+ show: (message: string, current?: number, total?: number) => void;
36
+ update: (state: ProgressState) => void;
37
+ hide: () => void;
38
+ };
39
+ export {};
40
+ //# sourceMappingURL=AppContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppContext.d.ts","sourceRoot":"","sources":["../../../src/ui/state/AppContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAyC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAErF,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMxF,UAAU,eAAe;IACvB,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;CACrC;AAYD,UAAU,gBAAgB;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,gBAAgB,2CAO7E;AAMD,wBAAgB,MAAM,IAAI,eAAe,CAMxC;AAMD,wBAAgB,aAAa;;;wBAOL,KAAK;+BAIE,KAAK,CAAC,QAAQ,CAAC;EAI7C;AAMD,wBAAgB,QAAQ;uBAID,UAAU;;qBAQZ,MAAM,WAAW,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;mBAqB5C,MAAM,SAAS,MAAM,iBAAiB,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;oBAuB3E,MAAM,WACJ,MAAM,WACN;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,KAChE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;qBAuBhB,MAAM,WACJ,MAAM,YACN,MAAM,GAAG,SAAS,GAAG,OAAO,KACpC,OAAO,CAAC,IAAI,CAAC;uBAkBG,MAAM;EAU5B;AAMD,wBAAgB,WAAW;;;oBAOP,MAAM,YAAY,MAAM,UAAU,MAAM;oBAIxC,aAAa;;EAQhC"}
@@ -0,0 +1,162 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useContext, useReducer } from 'react';
3
+ import { appReducer, initialState } from './reducer.js';
4
+ // ============================================================================
5
+ // Context
6
+ // ============================================================================
7
+ const AppContext = createContext(null);
8
+ export function AppProvider({ children, initialProjectPath }) {
9
+ const [state, dispatch] = useReducer(appReducer, {
10
+ ...initialState,
11
+ projectPath: initialProjectPath || process.cwd(),
12
+ });
13
+ return _jsx(AppContext.Provider, { value: { state, dispatch }, children: children });
14
+ }
15
+ // ============================================================================
16
+ // Hook: useApp
17
+ // ============================================================================
18
+ export function useApp() {
19
+ const context = useContext(AppContext);
20
+ if (!context) {
21
+ throw new Error('useApp must be used within an AppProvider');
22
+ }
23
+ return context;
24
+ }
25
+ // ============================================================================
26
+ // Hook: useNavigation
27
+ // ============================================================================
28
+ export function useNavigation() {
29
+ const { state, dispatch } = useApp();
30
+ return {
31
+ currentRoute: state.currentRoute,
32
+ currentScreen: state.currentRoute.screen,
33
+ navigateTo: (route) => {
34
+ dispatch({ type: 'NAVIGATE', route });
35
+ },
36
+ navigateToScreen: (screen) => {
37
+ dispatch({ type: 'NAVIGATE', route: { screen } });
38
+ },
39
+ };
40
+ }
41
+ // ============================================================================
42
+ // Hook: useModal
43
+ // ============================================================================
44
+ export function useModal() {
45
+ const { dispatch } = useApp();
46
+ return {
47
+ showModal: (modal) => {
48
+ dispatch({ type: 'SHOW_MODAL', modal });
49
+ },
50
+ hideModal: () => {
51
+ dispatch({ type: 'HIDE_MODAL' });
52
+ },
53
+ confirm: (title, message) => {
54
+ return new Promise((resolve) => {
55
+ dispatch({
56
+ type: 'SHOW_MODAL',
57
+ modal: {
58
+ type: 'confirm',
59
+ title,
60
+ message,
61
+ onConfirm: () => {
62
+ dispatch({ type: 'HIDE_MODAL' });
63
+ resolve(true);
64
+ },
65
+ onCancel: () => {
66
+ dispatch({ type: 'HIDE_MODAL' });
67
+ resolve(false);
68
+ },
69
+ },
70
+ });
71
+ });
72
+ },
73
+ input: (title, label, defaultValue) => {
74
+ return new Promise((resolve) => {
75
+ dispatch({
76
+ type: 'SHOW_MODAL',
77
+ modal: {
78
+ type: 'input',
79
+ title,
80
+ label,
81
+ defaultValue,
82
+ onSubmit: (value) => {
83
+ dispatch({ type: 'HIDE_MODAL' });
84
+ resolve(value);
85
+ },
86
+ onCancel: () => {
87
+ dispatch({ type: 'HIDE_MODAL' });
88
+ resolve(null);
89
+ },
90
+ },
91
+ });
92
+ });
93
+ },
94
+ select: (title, message, options) => {
95
+ return new Promise((resolve) => {
96
+ dispatch({
97
+ type: 'SHOW_MODAL',
98
+ modal: {
99
+ type: 'select',
100
+ title,
101
+ message,
102
+ options,
103
+ onSelect: (value) => {
104
+ dispatch({ type: 'HIDE_MODAL' });
105
+ resolve(value);
106
+ },
107
+ onCancel: () => {
108
+ dispatch({ type: 'HIDE_MODAL' });
109
+ resolve(null);
110
+ },
111
+ },
112
+ });
113
+ });
114
+ },
115
+ message: (title, message, variant = 'info') => {
116
+ return new Promise((resolve) => {
117
+ dispatch({
118
+ type: 'SHOW_MODAL',
119
+ modal: {
120
+ type: 'message',
121
+ title,
122
+ message,
123
+ variant,
124
+ onDismiss: () => {
125
+ dispatch({ type: 'HIDE_MODAL' });
126
+ resolve();
127
+ },
128
+ },
129
+ });
130
+ });
131
+ },
132
+ loading: (message) => {
133
+ dispatch({
134
+ type: 'SHOW_MODAL',
135
+ modal: {
136
+ type: 'loading',
137
+ message,
138
+ },
139
+ });
140
+ },
141
+ };
142
+ }
143
+ // ============================================================================
144
+ // Hook: useProgress
145
+ // ============================================================================
146
+ export function useProgress() {
147
+ const { state, dispatch } = useApp();
148
+ return {
149
+ progress: state.progress,
150
+ isVisible: state.progress !== null,
151
+ show: (message, current, total) => {
152
+ dispatch({ type: 'SHOW_PROGRESS', state: { message, current, total } });
153
+ },
154
+ update: (state) => {
155
+ dispatch({ type: 'UPDATE_PROGRESS', state });
156
+ },
157
+ hide: () => {
158
+ dispatch({ type: 'HIDE_PROGRESS' });
159
+ },
160
+ };
161
+ }
162
+ //# sourceMappingURL=AppContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppContext.js","sourceRoot":"","sources":["../../../src/ui/state/AppContext.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ interface Dimensions {
3
+ /** Terminal width */
4
+ terminalWidth: number;
5
+ /** Terminal height */
6
+ terminalHeight: number;
7
+ /** Available height for main content (excluding header, footer, margins) */
8
+ contentHeight: number;
9
+ /** Available width for content (excluding borders, padding) */
10
+ contentWidth: number;
11
+ /** Available lines for ScrollableList in list panels */
12
+ listPanelHeight: number;
13
+ }
14
+ declare const DimensionsContext: React.Context<Dimensions | null>;
15
+ interface DimensionsProviderProps {
16
+ children: React.ReactNode;
17
+ /** Whether progress bar is visible */
18
+ showProgress?: boolean;
19
+ /** Whether debug bar is visible */
20
+ showDebug?: boolean;
21
+ }
22
+ export declare function DimensionsProvider({ children, showProgress, showDebug, }: DimensionsProviderProps): React.ReactElement;
23
+ export declare function useDimensions(): Dimensions;
24
+ export default DimensionsContext;
25
+ //# sourceMappingURL=DimensionsContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DimensionsContext.d.ts","sourceRoot":"","sources":["../../../src/ui/state/DimensionsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAG9E,UAAU,UAAU;IAClB,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,aAAa,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,QAAA,MAAM,iBAAiB,kCAAyC,CAAC;AAQjE,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,sCAAsC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAkCD,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,YAAoB,EACpB,SAAiB,GAClB,EAAE,uBAAuB,GAAG,KAAK,CAAC,YAAY,CAgD9C;AAED,wBAAgB,aAAa,IAAI,UAAU,CAa1C;AAED,eAAe,iBAAiB,CAAC"}