@detergent-software/atk 3.0.0-dev.2 → 3.0.0-dev.20

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 (265) hide show
  1. package/README.md +361 -0
  2. package/build/commands/audit.d.ts.map +1 -1
  3. package/build/commands/audit.js +79 -37
  4. package/build/commands/audit.js.map +1 -1
  5. package/build/commands/browse.d.ts.map +1 -1
  6. package/build/commands/browse.js +119 -154
  7. package/build/commands/browse.js.map +1 -1
  8. package/build/commands/cache.d.ts.map +1 -1
  9. package/build/commands/cache.js +13 -15
  10. package/build/commands/cache.js.map +1 -1
  11. package/build/commands/config.d.ts +1 -1
  12. package/build/commands/config.d.ts.map +1 -1
  13. package/build/commands/config.js +7 -3
  14. package/build/commands/config.js.map +1 -1
  15. package/build/commands/diff.d.ts.map +1 -1
  16. package/build/commands/diff.js +4 -117
  17. package/build/commands/diff.js.map +1 -1
  18. package/build/commands/freeze.d.ts +1 -2
  19. package/build/commands/freeze.d.ts.map +1 -1
  20. package/build/commands/freeze.js +17 -37
  21. package/build/commands/freeze.js.map +1 -1
  22. package/build/commands/info.d.ts +1 -2
  23. package/build/commands/info.d.ts.map +1 -1
  24. package/build/commands/info.js +36 -35
  25. package/build/commands/info.js.map +1 -1
  26. package/build/commands/init.d.ts.map +1 -1
  27. package/build/commands/init.js +39 -405
  28. package/build/commands/init.js.map +1 -1
  29. package/build/commands/install.d.ts.map +1 -1
  30. package/build/commands/install.js +49 -34
  31. package/build/commands/install.js.map +1 -1
  32. package/build/commands/list.d.ts +2 -2
  33. package/build/commands/list.d.ts.map +1 -1
  34. package/build/commands/list.js +138 -27
  35. package/build/commands/list.js.map +1 -1
  36. package/build/commands/outdated.d.ts.map +1 -1
  37. package/build/commands/outdated.js +20 -10
  38. package/build/commands/outdated.js.map +1 -1
  39. package/build/commands/pin.d.ts +1 -2
  40. package/build/commands/pin.d.ts.map +1 -1
  41. package/build/commands/pin.js +44 -47
  42. package/build/commands/pin.js.map +1 -1
  43. package/build/commands/prune.d.ts.map +1 -1
  44. package/build/commands/prune.js +76 -151
  45. package/build/commands/prune.js.map +1 -1
  46. package/build/commands/publish.d.ts +3 -1
  47. package/build/commands/publish.d.ts.map +1 -1
  48. package/build/commands/publish.js +67 -390
  49. package/build/commands/publish.js.map +1 -1
  50. package/build/commands/search.d.ts.map +1 -1
  51. package/build/commands/search.js +14 -19
  52. package/build/commands/search.js.map +1 -1
  53. package/build/commands/setup.d.ts +1 -1
  54. package/build/commands/setup.d.ts.map +1 -1
  55. package/build/commands/setup.js +49 -242
  56. package/build/commands/setup.js.map +1 -1
  57. package/build/commands/sync.d.ts.map +1 -1
  58. package/build/commands/sync.js +114 -121
  59. package/build/commands/sync.js.map +1 -1
  60. package/build/commands/thaw.d.ts +1 -2
  61. package/build/commands/thaw.d.ts.map +1 -1
  62. package/build/commands/thaw.js +19 -37
  63. package/build/commands/thaw.js.map +1 -1
  64. package/build/commands/uninstall.d.ts.map +1 -1
  65. package/build/commands/uninstall.js +106 -221
  66. package/build/commands/uninstall.js.map +1 -1
  67. package/build/commands/unpin.d.ts +1 -2
  68. package/build/commands/unpin.d.ts.map +1 -1
  69. package/build/commands/unpin.js +23 -38
  70. package/build/commands/unpin.js.map +1 -1
  71. package/build/commands/update.d.ts.map +1 -1
  72. package/build/commands/update.js +37 -25
  73. package/build/commands/update.js.map +1 -1
  74. package/build/commands/why.d.ts +1 -1
  75. package/build/commands/why.d.ts.map +1 -1
  76. package/build/commands/why.js +14 -6
  77. package/build/commands/why.js.map +1 -1
  78. package/build/components/AssetDetail.d.ts +1 -3
  79. package/build/components/AssetDetail.d.ts.map +1 -1
  80. package/build/components/AssetDetail.js +24 -21
  81. package/build/components/AssetDetail.js.map +1 -1
  82. package/build/components/AssetTable.d.ts +5 -2
  83. package/build/components/AssetTable.d.ts.map +1 -1
  84. package/build/components/AssetTable.js +37 -40
  85. package/build/components/AssetTable.js.map +1 -1
  86. package/build/components/BrowseExpandedBundle.d.ts +7 -0
  87. package/build/components/BrowseExpandedBundle.d.ts.map +1 -1
  88. package/build/components/BrowseExpandedBundle.js +19 -0
  89. package/build/components/BrowseExpandedBundle.js.map +1 -1
  90. package/build/components/BrowseExpandedRow.d.ts +4 -1
  91. package/build/components/BrowseExpandedRow.d.ts.map +1 -1
  92. package/build/components/BrowseExpandedRow.js +24 -3
  93. package/build/components/BrowseExpandedRow.js.map +1 -1
  94. package/build/components/BrowseList.d.ts +3 -1
  95. package/build/components/BrowseList.d.ts.map +1 -1
  96. package/build/components/BrowseList.js +52 -42
  97. package/build/components/BrowseList.js.map +1 -1
  98. package/build/components/DiffView.d.ts +0 -2
  99. package/build/components/DiffView.d.ts.map +1 -1
  100. package/build/components/DiffView.js +11 -5
  101. package/build/components/DiffView.js.map +1 -1
  102. package/build/components/DryRunBanner.d.ts +3 -3
  103. package/build/components/DryRunBanner.d.ts.map +1 -1
  104. package/build/components/DryRunBanner.js +2 -2
  105. package/build/components/DryRunBanner.js.map +1 -1
  106. package/build/components/FilterBar.d.ts +10 -3
  107. package/build/components/FilterBar.d.ts.map +1 -1
  108. package/build/components/FilterBar.js +4 -4
  109. package/build/components/FilterBar.js.map +1 -1
  110. package/build/components/HelpBar.d.ts.map +1 -1
  111. package/build/components/HelpBar.js +3 -3
  112. package/build/components/HelpBar.js.map +1 -1
  113. package/build/components/InitSuccess.d.ts +5 -0
  114. package/build/components/InitSuccess.d.ts.map +1 -0
  115. package/build/components/InitSuccess.js +20 -0
  116. package/build/components/InitSuccess.js.map +1 -0
  117. package/build/components/InstallSummary.d.ts +3 -3
  118. package/build/components/InstallSummary.d.ts.map +1 -1
  119. package/build/components/InstallSummary.js +2 -2
  120. package/build/components/InstallSummary.js.map +1 -1
  121. package/build/components/Link.d.ts +7 -0
  122. package/build/components/Link.d.ts.map +1 -0
  123. package/build/components/Link.js +6 -0
  124. package/build/components/Link.js.map +1 -0
  125. package/build/components/ListActionBar.d.ts +11 -0
  126. package/build/components/ListActionBar.d.ts.map +1 -0
  127. package/build/components/ListActionBar.js +30 -0
  128. package/build/components/ListActionBar.js.map +1 -0
  129. package/build/components/ListBrowseList.d.ts +27 -0
  130. package/build/components/ListBrowseList.d.ts.map +1 -0
  131. package/build/components/ListBrowseList.js +57 -0
  132. package/build/components/ListBrowseList.js.map +1 -0
  133. package/build/components/ListExpandedRow.d.ts +38 -0
  134. package/build/components/ListExpandedRow.d.ts.map +1 -0
  135. package/build/components/ListExpandedRow.js +46 -0
  136. package/build/components/ListExpandedRow.js.map +1 -0
  137. package/build/components/ListHelpBar.d.ts +19 -0
  138. package/build/components/ListHelpBar.d.ts.map +1 -0
  139. package/build/components/ListHelpBar.js +11 -0
  140. package/build/components/ListHelpBar.js.map +1 -0
  141. package/build/components/OrphanListItem.d.ts +15 -0
  142. package/build/components/OrphanListItem.d.ts.map +1 -0
  143. package/build/components/OrphanListItem.js +6 -0
  144. package/build/components/OrphanListItem.js.map +1 -0
  145. package/build/components/PromptField.d.ts +19 -0
  146. package/build/components/PromptField.d.ts.map +1 -0
  147. package/build/components/PromptField.js +7 -0
  148. package/build/components/PromptField.js.map +1 -0
  149. package/build/components/StatusBadge.d.ts +1 -1
  150. package/build/components/StatusBadge.d.ts.map +1 -1
  151. package/build/components/StatusBadge.js +4 -0
  152. package/build/components/StatusBadge.js.map +1 -1
  153. package/build/components/index.d.ts +10 -2
  154. package/build/components/index.d.ts.map +1 -1
  155. package/build/components/index.js +10 -2
  156. package/build/components/index.js.map +1 -1
  157. package/build/hooks/useBrowseState.d.ts +41 -1
  158. package/build/hooks/useBrowseState.d.ts.map +1 -1
  159. package/build/hooks/useBrowseState.js +142 -12
  160. package/build/hooks/useBrowseState.js.map +1 -1
  161. package/build/hooks/useConfirmation.d.ts +18 -0
  162. package/build/hooks/useConfirmation.d.ts.map +1 -0
  163. package/build/hooks/useConfirmation.js +56 -0
  164. package/build/hooks/useConfirmation.js.map +1 -0
  165. package/build/hooks/useInitState.d.ts +72 -0
  166. package/build/hooks/useInitState.d.ts.map +1 -0
  167. package/build/hooks/useInitState.js +372 -0
  168. package/build/hooks/useInitState.js.map +1 -0
  169. package/build/hooks/useListActions.d.ts +15 -0
  170. package/build/hooks/useListActions.d.ts.map +1 -0
  171. package/build/hooks/useListActions.js +155 -0
  172. package/build/hooks/useListActions.js.map +1 -0
  173. package/build/hooks/useListState.d.ts +151 -0
  174. package/build/hooks/useListState.d.ts.map +1 -0
  175. package/build/hooks/useListState.js +448 -0
  176. package/build/hooks/useListState.js.map +1 -0
  177. package/build/hooks/usePruneState.d.ts +76 -0
  178. package/build/hooks/usePruneState.d.ts.map +1 -0
  179. package/build/hooks/usePruneState.js +246 -0
  180. package/build/hooks/usePruneState.js.map +1 -0
  181. package/build/hooks/usePublishState.d.ts +115 -0
  182. package/build/hooks/usePublishState.d.ts.map +1 -0
  183. package/build/hooks/usePublishState.js +673 -0
  184. package/build/hooks/usePublishState.js.map +1 -0
  185. package/build/hooks/useSetupState.d.ts +59 -0
  186. package/build/hooks/useSetupState.d.ts.map +1 -0
  187. package/build/hooks/useSetupState.js +295 -0
  188. package/build/hooks/useSetupState.js.map +1 -0
  189. package/build/hooks/useUninstallState.d.ts +102 -0
  190. package/build/hooks/useUninstallState.d.ts.map +1 -0
  191. package/build/hooks/useUninstallState.js +342 -0
  192. package/build/hooks/useUninstallState.js.map +1 -0
  193. package/build/lib/checksum.d.ts +39 -0
  194. package/build/lib/checksum.d.ts.map +1 -1
  195. package/build/lib/checksum.js +101 -13
  196. package/build/lib/checksum.js.map +1 -1
  197. package/build/lib/config.d.ts +38 -18
  198. package/build/lib/config.d.ts.map +1 -1
  199. package/build/lib/config.js +107 -55
  200. package/build/lib/config.js.map +1 -1
  201. package/build/lib/diagnostics.d.ts +7 -0
  202. package/build/lib/diagnostics.d.ts.map +1 -1
  203. package/build/lib/diagnostics.js +54 -34
  204. package/build/lib/diagnostics.js.map +1 -1
  205. package/build/lib/diff-command.d.ts +40 -0
  206. package/build/lib/diff-command.d.ts.map +1 -0
  207. package/build/lib/diff-command.js +145 -0
  208. package/build/lib/diff-command.js.map +1 -0
  209. package/build/lib/diff.d.ts +7 -0
  210. package/build/lib/diff.d.ts.map +1 -1
  211. package/build/lib/diff.js +15 -10
  212. package/build/lib/diff.js.map +1 -1
  213. package/build/lib/format.d.ts +6 -0
  214. package/build/lib/format.d.ts.map +1 -0
  215. package/build/lib/format.js +18 -0
  216. package/build/lib/format.js.map +1 -0
  217. package/build/lib/github.d.ts +8 -0
  218. package/build/lib/github.d.ts.map +1 -1
  219. package/build/lib/github.js +9 -0
  220. package/build/lib/github.js.map +1 -1
  221. package/build/lib/installer.d.ts +1 -0
  222. package/build/lib/installer.d.ts.map +1 -1
  223. package/build/lib/installer.js +7 -7
  224. package/build/lib/installer.js.map +1 -1
  225. package/build/lib/lockfile.d.ts +19 -17
  226. package/build/lib/lockfile.d.ts.map +1 -1
  227. package/build/lib/lockfile.js +43 -67
  228. package/build/lib/lockfile.js.map +1 -1
  229. package/build/lib/publisher.d.ts +35 -0
  230. package/build/lib/publisher.d.ts.map +1 -1
  231. package/build/lib/publisher.js +210 -16
  232. package/build/lib/publisher.js.map +1 -1
  233. package/build/lib/registry.d.ts +20 -5
  234. package/build/lib/registry.d.ts.map +1 -1
  235. package/build/lib/registry.js +41 -30
  236. package/build/lib/registry.js.map +1 -1
  237. package/build/lib/schemas/config.d.ts +31 -3
  238. package/build/lib/schemas/config.d.ts.map +1 -1
  239. package/build/lib/schemas/config.js +21 -2
  240. package/build/lib/schemas/config.js.map +1 -1
  241. package/build/lib/schemas/index.d.ts +1 -1
  242. package/build/lib/schemas/index.d.ts.map +1 -1
  243. package/build/lib/schemas/index.js +1 -1
  244. package/build/lib/schemas/index.js.map +1 -1
  245. package/build/lib/schemas/lockfile.d.ts +18 -2
  246. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  247. package/build/lib/schemas/lockfile.js +10 -1
  248. package/build/lib/schemas/lockfile.js.map +1 -1
  249. package/build/lib/search.d.ts +15 -1
  250. package/build/lib/search.d.ts.map +1 -1
  251. package/build/lib/search.js +65 -65
  252. package/build/lib/search.js.map +1 -1
  253. package/build/lib/tool-resolver.d.ts +29 -6
  254. package/build/lib/tool-resolver.d.ts.map +1 -1
  255. package/build/lib/tool-resolver.js +54 -15
  256. package/build/lib/tool-resolver.js.map +1 -1
  257. package/build/lib/updater.d.ts +7 -4
  258. package/build/lib/updater.d.ts.map +1 -1
  259. package/build/lib/updater.js +12 -7
  260. package/build/lib/updater.js.map +1 -1
  261. package/build/lib/version.js +1 -1
  262. package/build/lib/version.js.map +1 -1
  263. package/package.json +79 -65
  264. package/tool-adapters/claude-code.json +1 -1
  265. package/tool-adapters/copilot-cli.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Text, useApp, useInput, useStdout } from 'ink';
2
+ import { Box, Text, useApp, useStdout } from 'ink';
3
3
  import { option } from 'pastel';
4
4
  import { useEffect, useRef } from 'react';
5
5
  import { z } from 'zod';
@@ -8,15 +8,21 @@ import FilterBar from '../components/FilterBar.js';
8
8
  import HelpBar from '../components/HelpBar.js';
9
9
  import { Spinner } from '../components/index.js';
10
10
  import InstallConfirmBar from '../components/InstallConfirmBar.js';
11
- import { TYPE_TABS, useBrowseState, } from '../hooks/useBrowseState.js';
12
- import { loadMergedConfig } from '../lib/config.js';
11
+ import { TYPE_TAB_LABELS, TYPE_TABS, useBrowseInput, useBrowseState, } from '../hooks/useBrowseState.js';
12
+ import { loadConfig } from '../lib/config.js';
13
+ import { buildReadmeUrl } from '../lib/github.js';
13
14
  import { executeInstallPlan } from '../lib/installer.js';
14
15
  import { LockfileLockedError, readLockfile, withLockfileLock } from '../lib/lockfile.js';
15
16
  import { resolveActiveOrg } from '../lib/org.js';
16
17
  import { findProjectRoot } from '../lib/paths.js';
17
18
  import { fetchRegistry, findBundle } from '../lib/registry.js';
18
19
  import { resolveBundleInstallPlan, resolveInstallPlan } from '../lib/resolver.js';
19
- import { resolveTool } from '../lib/tool-resolver.js';
20
+ import { resolveTools } from '../lib/tool-resolver.js';
21
+ const BROWSE_SORT_FIELD_LABELS = {
22
+ name: 'Name',
23
+ type: 'Type',
24
+ version: 'Version',
25
+ };
20
26
  export const description = 'Interactively browse the asset registry';
21
27
  /**
22
28
  * Lines reserved for non-list UI chrome:
@@ -64,9 +70,8 @@ export default function Browse({ args: [filterArg], options: { org: cliOrg, proj
64
70
  const isInstalling = state.status === 'ready' && state.mode.kind === 'installing';
65
71
  const stateRef = useRef(state);
66
72
  stateRef.current = state;
67
- const adapterRef = useRef(null);
73
+ const resolvedToolsRef = useRef([]);
68
74
  const projectDirRef = useRef('');
69
- const resolvedToolRef = useRef('');
70
75
  const terminalWidth = stdout?.columns ?? 120;
71
76
  // Track viewport height
72
77
  useEffect(() => {
@@ -76,31 +81,40 @@ export default function Browse({ args: [filterArg], options: { org: cliOrg, proj
76
81
  // Load data
77
82
  useEffect(() => {
78
83
  let cancelled = false;
84
+ const slowLoadTimer = setTimeout(() => {
85
+ if (!cancelled) {
86
+ dispatch({
87
+ message: 'Still loading registry\u2026 this is taking longer than expected',
88
+ type: 'SET_LOADING_MESSAGE',
89
+ });
90
+ }
91
+ }, 10_000);
79
92
  (async () => {
80
93
  try {
81
94
  const projectDir = findProjectRoot(projectRoot);
82
- const config = await loadMergedConfig(projectDir);
95
+ const config = await loadConfig();
83
96
  projectDirRef.current = projectDir;
84
- let resolvedTool;
85
- let resolvedAdapter = null;
97
+ let toolWarning;
86
98
  try {
87
- const result = await resolveTool(undefined);
88
- resolvedTool = result.tool;
89
- resolvedAdapter = result.adapter;
99
+ const tools = await resolveTools(undefined);
100
+ resolvedToolsRef.current = tools;
90
101
  }
91
- catch {
92
- resolvedTool = 'claude-code';
102
+ catch (err) {
103
+ // Fallback: no tools resolved — install will fail gracefully
104
+ resolvedToolsRef.current = [];
105
+ toolWarning = err instanceof Error ? err.message : String(err);
93
106
  }
94
- resolvedToolRef.current = resolvedTool;
95
- adapterRef.current = resolvedAdapter;
96
107
  const registry = await fetchRegistry({ force: refresh });
97
108
  const lockfile = await readLockfile(projectDir);
98
109
  const org = resolveActiveOrg(cliOrg, lockfile.org, config.org);
99
- if (!cancelled)
100
- dispatchLoad(registry, lockfile, org);
110
+ if (!cancelled) {
111
+ clearTimeout(slowLoadTimer);
112
+ dispatchLoad(registry, lockfile, org, toolWarning);
113
+ }
101
114
  }
102
115
  catch (err) {
103
116
  if (!cancelled) {
117
+ clearTimeout(slowLoadTimer);
104
118
  dispatch({
105
119
  message: err instanceof Error ? err.message : String(err),
106
120
  type: 'LOAD_ERROR',
@@ -110,73 +124,33 @@ export default function Browse({ args: [filterArg], options: { org: cliOrg, proj
110
124
  })();
111
125
  return () => {
112
126
  cancelled = true;
127
+ clearTimeout(slowLoadTimer);
113
128
  };
114
129
  }, [cliOrg, dispatch, dispatchLoad, projectRoot, refresh]);
115
130
  // Handle install side-effect
116
131
  useEffect(() => {
117
132
  if (!isInstalling)
118
133
  return;
119
- let cancelled = false;
134
+ // Runtime guards: verify state shape before casting. These protect against
135
+ // race conditions (e.g., unmount or rapid state transitions) where the
136
+ // boolean `isInstalling` flag is stale but the actual state has moved on.
137
+ if (stateRef.current.status !== 'ready')
138
+ return;
120
139
  const currentState = stateRef.current;
140
+ if (currentState.mode.kind !== 'installing')
141
+ return;
121
142
  const installingMode = currentState.mode;
122
- const { assetName, itemKind } = installingMode;
143
+ let cancelled = false;
123
144
  (async () => {
124
145
  try {
125
- const resolvedTool = resolvedToolRef.current;
126
- const adapter = adapterRef.current;
127
- if (!adapter) {
128
- throw new Error(`Could not load adapter for ${resolvedTool}. The tool may not be supported.`);
129
- }
130
- await withLockfileLock(projectDirRef.current, async () => {
131
- if (itemKind === 'bundle') {
132
- const bundle = findBundle(currentState.registry, assetName);
133
- if (!bundle) {
134
- throw new Error(`Bundle "${assetName}" not found in registry`);
135
- }
136
- if (!cancelled)
137
- dispatch({ message: `Resolving bundle ${assetName}...`, type: 'INSTALL_PROGRESS' });
138
- const plan = resolveBundleInstallPlan(currentState.registry, bundle);
139
- await executeInstallPlan(plan, {
140
- adapter,
141
- bundleOrigin: { name: bundle.name, version: bundle.version },
142
- onProgress: (message) => {
143
- if (!cancelled)
144
- dispatch({ message, type: 'INSTALL_PROGRESS' });
145
- },
146
- projectDir: projectDirRef.current,
147
- });
148
- const newLockfile = await readLockfile(projectDirRef.current);
149
- if (!cancelled) {
150
- dispatch({
151
- message: `Installed bundle ${assetName} (${plan.totalCount} assets)`,
152
- newLockfile,
153
- success: true,
154
- type: 'INSTALL_COMPLETE',
155
- });
156
- }
157
- }
158
- else {
159
- const plan = resolveInstallPlan(currentState.registry, assetName);
160
- if (!cancelled)
161
- dispatch({ message: `Resolving dependencies for ${assetName}...`, type: 'INSTALL_PROGRESS' });
162
- await executeInstallPlan(plan, {
163
- adapter,
164
- onProgress: (message) => {
165
- if (!cancelled)
166
- dispatch({ message, type: 'INSTALL_PROGRESS' });
167
- },
168
- projectDir: projectDirRef.current,
169
- });
170
- const newLockfile = await readLockfile(projectDirRef.current);
171
- if (!cancelled) {
172
- dispatch({
173
- message: `Installed ${assetName}`,
174
- newLockfile,
175
- success: true,
176
- type: 'INSTALL_COMPLETE',
177
- });
178
- }
179
- }
146
+ await executeInstallFromBrowse({
147
+ assetName: installingMode.assetName,
148
+ dispatch,
149
+ isCancelled: () => cancelled,
150
+ itemKind: installingMode.itemKind,
151
+ projectDir: projectDirRef.current,
152
+ registry: currentState.registry,
153
+ tools: resolvedToolsRef.current,
180
154
  });
181
155
  }
182
156
  catch (err) {
@@ -197,86 +171,14 @@ export default function Browse({ args: [filterArg], options: { org: cliOrg, proj
197
171
  return () => {
198
172
  cancelled = true;
199
173
  };
174
+ // `stateRef` is a stable React ref (its identity never changes), so it is
175
+ // intentionally omitted from the dependency array. The effect only needs to
176
+ // re-run when `isInstalling` transitions to true; it reads the current
177
+ // state snapshot from `stateRef.current` at invocation time rather than
178
+ // closing over `state`, which would re-trigger the effect on every state change.
200
179
  }, [isInstalling, dispatch]);
201
180
  // Keyboard input
202
- useInput((input, key) => {
203
- if (state.status !== 'ready')
204
- return;
205
- const { mode } = state;
206
- // Install result: any key dismisses
207
- if (mode.kind === 'install-result') {
208
- dispatch({ type: 'DISMISS_RESULT' });
209
- return;
210
- }
211
- // Installing: block all input
212
- if (mode.kind === 'installing')
213
- return;
214
- // Confirming install
215
- if (mode.kind === 'confirming-install') {
216
- if (input === 'y' || input === 'Y' || key.return) {
217
- dispatch({ type: 'CONFIRM_INSTALL' });
218
- }
219
- else if (input === 'n' || input === 'N' || key.escape) {
220
- dispatch({ type: 'CANCEL_INSTALL' });
221
- }
222
- return;
223
- }
224
- // Browsing mode
225
- const { inputMode } = mode;
226
- // Arrow keys and Tab work in both navigate and filter modes
227
- if (key.upArrow) {
228
- dispatch({ type: 'CURSOR_UP' });
229
- return;
230
- }
231
- if (key.downArrow) {
232
- dispatch({ type: 'CURSOR_DOWN' });
233
- return;
234
- }
235
- if (key.tab) {
236
- dispatch({ type: 'CYCLE_TYPE' });
237
- return;
238
- }
239
- if (inputMode === 'filter') {
240
- if (key.escape) {
241
- dispatch({ type: 'EXIT_FILTER_MODE' });
242
- return;
243
- }
244
- if (key.backspace || key.delete) {
245
- dispatch({ type: 'DELETE_FILTER_CHAR' });
246
- return;
247
- }
248
- // Printable characters
249
- if (input && !key.ctrl && !key.meta && !key.return) {
250
- dispatch({ char: input, type: 'APPEND_FILTER_CHAR' });
251
- }
252
- return;
253
- }
254
- // Navigate mode
255
- if (input === '/') {
256
- dispatch({ type: 'ENTER_FILTER_MODE' });
257
- return;
258
- }
259
- if (key.return) {
260
- dispatch({ type: 'EXPAND_TOGGLE' });
261
- return;
262
- }
263
- if (key.escape) {
264
- dispatch({ type: 'COLLAPSE' });
265
- return;
266
- }
267
- if (input === 'i') {
268
- dispatch({ type: 'BEGIN_INSTALL' });
269
- return;
270
- }
271
- if (input === 'o' && state.org) {
272
- dispatch({ type: 'TOGGLE_ORG_FILTER' });
273
- return;
274
- }
275
- if (input === 'q') {
276
- exit();
277
- return;
278
- }
279
- });
181
+ useBrowseInput(state, dispatch, () => exit());
280
182
  // Render
281
183
  if (state.status === 'loading') {
282
184
  return _jsx(Spinner, { message: state.message });
@@ -294,6 +196,69 @@ export default function Browse({ args: [filterArg], options: { org: cliOrg, proj
294
196
  ? state.allAssets.length + state.allBundles.length
295
197
  : state.allAssets.filter((a) => a.type === state.typeFilter).length;
296
198
  const canInstall = state.filteredItems.length > 0;
297
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(FilterBar, { filterText: state.filterText, inputMode: inputMode, org: state.org, orgOnly: state.orgOnly, resultCount: state.filteredItems.length, terminalWidth: terminalWidth, totalCount: totalCount, typeFilter: state.typeFilter }), _jsx(BrowseList, { cursorIndex: state.cursorIndex, expandedIndex: state.expandedIndex, items: state.filteredItems, lockfile: state.lockfile, registryAssets: state.allAssets, scrollOffset: state.scrollOffset, terminalWidth: terminalWidth, typeFilter: state.typeFilter, viewportHeight: state.viewportHeight }), browsing ? (_jsx(HelpBar, { canInstall: canInstall, expanded: state.expandedIndex !== null, hasOrg: !!state.org, inputMode: inputMode })) : (_jsx(InstallConfirmBar, { mode: mode }))] }));
199
+ const sortArrow = state.sortDirection === 'asc' ? '\u2191' : '\u2193';
200
+ const sortIndicator = `Sort: ${BROWSE_SORT_FIELD_LABELS[state.sortField]} ${sortArrow}`;
201
+ const expandedItem = state.expandedIndex !== null ? state.filteredItems[state.expandedIndex] : null;
202
+ const readmeUrl = expandedItem?.kind === 'asset' ? buildReadmeUrl(expandedItem.data, expandedItem.data.latest) : null;
203
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(FilterBar, { filterText: state.filterText, inputMode: inputMode, org: state.org, orgOnly: state.orgOnly, resultCount: state.filteredItems.length, sortIndicator: sortIndicator, terminalWidth: terminalWidth, totalCount: totalCount, typeFilter: state.typeFilter, typeTabLabels: TYPE_TAB_LABELS, typeTabs: TYPE_TABS }), state.toolWarning && (_jsxs(Text, { color: 'yellow', children: ['\u26A0', " Tool resolution failed: ", state.toolWarning, ". Install will not be available."] })), _jsx(BrowseList, { cursorIndex: state.cursorIndex, expandedIndex: state.expandedIndex, items: state.filteredItems, lockfile: state.lockfile, readmeUrl: readmeUrl, registryAssets: state.allAssets, scrollOffset: state.scrollOffset, terminalWidth: terminalWidth, typeFilter: state.typeFilter, viewportHeight: state.viewportHeight }), browsing ? (_jsx(HelpBar, { canInstall: canInstall, expanded: state.expandedIndex !== null, hasOrg: !!state.org, inputMode: inputMode })) : (_jsx(InstallConfirmBar, { mode: mode }))] }));
204
+ }
205
+ /**
206
+ * Standalone async helper that executes the install flow for both bundles and
207
+ * individual assets. Extracted from the install useEffect to reduce duplication
208
+ * (the bundle and asset branches share the same resolve -> execute -> read
209
+ * lockfile -> dispatch completion pattern) and to make the logic easier to test
210
+ * independently.
211
+ */
212
+ async function executeInstallFromBrowse({ assetName, dispatch, isCancelled, itemKind, projectDir, registry, tools, }) {
213
+ if (tools.length === 0) {
214
+ throw new Error('No tools configured. Run `atk setup` to select your AI coding tool.');
215
+ }
216
+ await withLockfileLock(projectDir, async () => {
217
+ // Resolve install plan: bundles use resolveBundleInstallPlan, assets use resolveInstallPlan.
218
+ // For bundles, we also look up the bundle metadata for bundleOrigin and completion message.
219
+ let bundle;
220
+ if (itemKind === 'bundle') {
221
+ bundle = findBundle(registry, assetName);
222
+ if (!bundle) {
223
+ throw new Error(`Bundle "${assetName}" not found in registry`);
224
+ }
225
+ }
226
+ if (!isCancelled()) {
227
+ dispatch({
228
+ message: itemKind === 'bundle' ? `Resolving bundle ${assetName}...` : `Resolving dependencies for ${assetName}...`,
229
+ type: 'INSTALL_PROGRESS',
230
+ });
231
+ }
232
+ const plan = itemKind === 'bundle' ? resolveBundleInstallPlan(registry, bundle) : resolveInstallPlan(registry, assetName);
233
+ for (const { adapter, tool: toolName } of tools) {
234
+ if (!isCancelled()) {
235
+ dispatch({
236
+ message: itemKind === 'bundle' ? `Installing bundle for ${toolName}...` : `Installing for ${toolName}...`,
237
+ type: 'INSTALL_PROGRESS',
238
+ });
239
+ }
240
+ await executeInstallPlan(plan, {
241
+ adapter,
242
+ ...(itemKind === 'bundle' && bundle ? { bundleOrigin: { name: bundle.name, version: bundle.version } } : {}),
243
+ onProgress: (message) => {
244
+ if (!isCancelled())
245
+ dispatch({ message, type: 'INSTALL_PROGRESS' });
246
+ },
247
+ projectDir,
248
+ });
249
+ }
250
+ const newLockfile = await readLockfile(projectDir);
251
+ if (!isCancelled()) {
252
+ const toolNames = tools.map((t) => t.tool).join(', ');
253
+ dispatch({
254
+ message: itemKind === 'bundle'
255
+ ? `Installed bundle ${assetName} (${plan.totalCount} assets) for ${toolNames}`
256
+ : `Installed ${assetName} for ${toolNames}`,
257
+ newLockfile,
258
+ success: true,
259
+ type: 'INSTALL_COMPLETE',
260
+ });
261
+ }
262
+ });
298
263
  }
299
264
  //# sourceMappingURL=browse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browse.js","sourceRoot":"","sources":["../../src/commands/browse.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browse.js","sourceRoot":"","sources":["../../src/commands/browse.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,UAAU,MAAM,6BAA6B,CAAC;AACrD,OAAO,SAAS,MAAM,4BAA4B,CAAC;AACnD,OAAO,OAAO,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,iBAAiB,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAML,eAAe,EACf,SAAS,EACT,cAAc,EACd,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,wBAAwB,GAAoC;IAChE,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,yCAAyC,CAAC;AAErE;;;;GAIG;AACH,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,qCAAqC;KACnD,CAAC,CACH;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,iCAAiC;KAC/C,CAAC,CACH;IACH,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,gDAAgD;KAC9D,CAAC,CACH;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,yDAAyD;KACvE,CAAC,CACH;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;AAO1F,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,IAAI,EAAE,CAAC,SAAS,CAAC,EACjB,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GACvD;IACN,MAAM,WAAW,GACf,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,OAA0B,CAAC,CAAC,CAAC,CAAE,OAA2B,CAAC,CAAC,CAAC,KAAK,CAAC;IACnG,MAAM,aAAa,GAAG,SAAS,IAAI,EAAE,CAAC;IAEtC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,GAAG,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACnF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAE/B,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;IAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;IAEzB,MAAM,gBAAgB,GAAG,MAAM,CAA4C,EAAE,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,MAAM,CAAS,EAAE,CAAC,CAAC;IAEzC,MAAM,aAAa,GAAG,MAAM,EAAE,OAAO,IAAI,GAAG,CAAC;IAE7C,wBAAwB;IACxB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QAClC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;IACxF,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE7B,YAAY;IACZ,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,QAAQ,CAAC;oBACP,OAAO,EAAE,kEAAkE;oBAC3E,IAAI,EAAE,qBAAqB;iBAC5B,CAAC,CAAC;YACL,CAAC;QACH,CAAC,EAAE,MAAM,CAAC,CAAC;QAEX,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;gBAClC,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;gBAEnC,IAAI,WAA+B,CAAC;gBACpC,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;oBAC5C,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;gBACnC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,6DAA6D;oBAC7D,gBAAgB,CAAC,OAAO,GAAG,EAAE,CAAC;oBAC9B,WAAW,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjE,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;gBAChD,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC5B,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC5B,QAAQ,CAAC;wBACP,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;wBACzD,IAAI,EAAE,YAAY;qBACnB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;YACjB,YAAY,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3D,6BAA6B;IAC7B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,2EAA2E;QAC3E,uEAAuE;QACvE,0EAA0E;QAC1E,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO;YAAE,OAAO;QAChD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAqB,CAAC;QACpD,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO;QACpD,MAAM,cAAc,GAAG,YAAY,CAAC,IAAsB,CAAC;QAE3D,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,wBAAwB,CAAC;oBAC7B,SAAS,EAAE,cAAc,CAAC,SAAS;oBACnC,QAAQ;oBACR,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS;oBAC5B,QAAQ,EAAE,cAAc,CAAC,QAAQ;oBACjC,UAAU,EAAE,aAAa,CAAC,OAAO;oBACjC,QAAQ,EAAE,YAAY,CAAC,QAAQ;oBAC/B,KAAK,EAAE,gBAAgB,CAAC,OAAO;iBAChC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,OAAO,GACX,GAAG,YAAY,mBAAmB;wBAChC,CAAC,CAAC,qFAAqF;wBACvF,CAAC,CAAC,GAAG,YAAY,KAAK;4BACpB,CAAC,CAAC,GAAG,CAAC,OAAO;4BACb,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACpB,QAAQ,CAAC;wBACP,OAAO;wBACP,OAAO,EAAE,KAAK;wBACd,IAAI,EAAE,kBAAkB;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;QACF,0EAA0E;QAC1E,4EAA4E;QAC5E,uEAAuE;QACvE,wEAAwE;QACxE,iFAAiF;IACnF,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE7B,iBAAiB;IACjB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAE9C,SAAS;IACT,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAC,OAAO,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC;IAC7C,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,wBAAS,KAAK,CAAC,OAAO,IAAQ,CAAC;IACzD,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;IAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IAEzD,sCAAsC;IACtC,MAAM,UAAU,GACd,KAAK,CAAC,UAAU,KAAK,QAAQ;QAC3B,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM;QACzB,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,KAAK;YAC1B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM;YAClD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;IAE1E,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAElD,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtE,MAAM,aAAa,GAAG,SAAS,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,CAAC;IAExF,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpG,MAAM,SAAS,GACb,YAAY,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEtG,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,SAAS,IACR,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,EACvC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,aAAa,EAAE,eAAe,EAC9B,QAAQ,EAAE,SAAS,GACnB,EACD,KAAK,CAAC,WAAW,IAAI,CACpB,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,aACjB,QAAQ,+BAA2B,KAAK,CAAC,WAAW,wCAChD,CACR,EACD,KAAC,UAAU,IACT,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,KAAK,EAAE,KAAK,CAAC,aAAa,EAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,KAAK,CAAC,SAAS,EAC/B,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,cAAc,EAAE,KAAK,CAAC,cAAc,GACpC,EACD,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,OAAO,IACN,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,EACtC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EACnB,SAAS,EAAE,SAAS,GACpB,CACH,CAAC,CAAC,CAAC,CACF,KAAC,iBAAiB,IAAC,IAAI,EAAE,IAAI,GAAI,CAClC,IACG,CACP,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,wBAAwB,CAAC,EACtC,SAAS,EACT,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,KAAK,GASN;IACC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,gBAAgB,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QAC5C,6FAA6F;QAC7F,4FAA4F;QAC5F,IAAI,MAAqC,CAAC;QAC1C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,yBAAyB,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnB,QAAQ,CAAC;gBACP,OAAO,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,SAAS,KAAK,CAAC,CAAC,CAAC,8BAA8B,SAAS,KAAK;gBAClH,IAAI,EAAE,kBAAkB;aACzB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GACR,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAEhH,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC;YAChD,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACnB,QAAQ,CAAC;oBACP,OAAO,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,yBAAyB,QAAQ,KAAK,CAAC,CAAC,CAAC,kBAAkB,QAAQ,KAAK;oBACzG,IAAI,EAAE,kBAAkB;iBACzB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,kBAAkB,CAAC,IAAI,EAAE;gBAC7B,OAAO;gBACP,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5G,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;oBACtB,IAAI,CAAC,WAAW,EAAE;wBAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBACtE,CAAC;gBACD,UAAU;aACX,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,QAAQ,CAAC;gBACP,OAAO,EACL,QAAQ,KAAK,QAAQ;oBACnB,CAAC,CAAC,oBAAoB,SAAS,KAAK,IAAI,CAAC,UAAU,gBAAgB,SAAS,EAAE;oBAC9E,CAAC,CAAC,aAAa,SAAS,QAAQ,SAAS,EAAE;gBAC/C,WAAW;gBACX,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,kBAAkB;aACzB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/commands/cache.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,WAAW,8BAA8B,CAAC;AAEvD,eAAO,MAAM,IAAI;;;;WAEf,CAAC;AAIH,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,2CAmEtD"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/commands/cache.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,WAAW,8BAA8B,CAAC;AAEvD,eAAO,MAAM,IAAI;;;;WAEf,CAAC;AAIH,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,2CA+DtD"}
@@ -11,12 +11,8 @@ export const args = z.tuple([
11
11
  export default function Cache({ args: [action] }) {
12
12
  const state = useCommand(async () => {
13
13
  if (action === 'clean' || action === 'clear') {
14
- const status = await getCacheStatus();
15
- if (!status.exists) {
16
- return { outcome: 'clean-noop' };
17
- }
18
- await clearCache();
19
- return { outcome: 'cleaned' };
14
+ const deleted = await clearCache();
15
+ return { outcome: deleted ? 'cleaned' : 'clean-noop' };
20
16
  }
21
17
  // Default: status
22
18
  const status = await getCacheStatus();
@@ -50,18 +46,20 @@ function formatAge(ms) {
50
46
  if (minutes < 60)
51
47
  return `${minutes}m`;
52
48
  const hours = Math.floor(minutes / 60);
53
- const remainingMinutes = minutes % 60;
54
- if (remainingMinutes === 0)
55
- return `${hours}h`;
56
- return `${hours}h ${remainingMinutes}m`;
49
+ if (hours < 24) {
50
+ const remainingMinutes = minutes % 60;
51
+ return remainingMinutes > 0 ? `${hours}h ${remainingMinutes}m` : `${hours}h`;
52
+ }
53
+ const days = Math.floor(hours / 24);
54
+ const remainingHours = hours % 24;
55
+ return remainingHours > 0 ? `${days}d ${remainingHours}h` : `${days}d`;
57
56
  }
58
57
  function formatBytes(bytes) {
59
58
  if (bytes < 1024)
60
59
  return `${bytes} B`;
61
- const kb = bytes / 1024;
62
- if (kb < 1024)
63
- return `${kb.toFixed(1)} KB`;
64
- const mb = kb / 1024;
65
- return `${mb.toFixed(1)} MB`;
60
+ const kib = bytes / 1024;
61
+ if (kib < 1024)
62
+ return `${kib.toFixed(1)} KiB`;
63
+ return `${(kib / 1024).toFixed(1)} MiB`;
66
64
  }
67
65
  //# sourceMappingURL=cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/commands/cache.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/commands/cache.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- export declare const description = "Manage configuration";
2
+ export declare const description = "Get, set, list, or reset configuration values";
3
3
  export declare const options: z.ZodObject<{
4
4
  reset: z.ZodDefault<z.ZodBoolean>;
5
5
  }, z.core.$strip>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,WAAW,yBAAyB,CAAC;AAElD,eAAO,MAAM,OAAO;;iBAUlB,CAAC;AAEH,eAAO,MAAM,IAAI,4EAGf,CAAC;AAQH,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,2CAsF/E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,WAAW,kDAAkD,CAAC;AAE3E,eAAO,MAAM,OAAO;;iBAUlB,CAAC;AAEH,eAAO,MAAM,IAAI,4EAGf,CAAC;AAQH,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,2CA2F/E"}
@@ -2,9 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from 'ink';
3
3
  import { option } from 'pastel';
4
4
  import { z } from 'zod';
5
+ import { Spinner } from '../components/index.js';
5
6
  import { useCommand } from '../hooks/useCommand.js';
6
7
  import { getConfigValue, listConfigEntries, loadConfig, resetConfigValue, saveConfig, setConfigValue, } from '../lib/config.js';
7
- export const description = 'Manage configuration';
8
+ export const description = 'Get, set, list, or reset configuration values';
8
9
  export const options = z.object({
9
10
  reset: z
10
11
  .boolean()
@@ -20,6 +21,9 @@ export const args = z.tuple([
20
21
  ]);
21
22
  export default function Config({ args: [key, value], options: { reset } }) {
22
23
  const state = useCommand(async () => {
24
+ if (reset && !key) {
25
+ throw new Error('--reset requires a config key');
26
+ }
23
27
  const config = await loadConfig();
24
28
  if (!key) {
25
29
  const entries = listConfigEntries(config);
@@ -39,14 +43,14 @@ export default function Config({ args: [key, value], options: { reset } }) {
39
43
  return { key, outcome: 'get', value: val };
40
44
  }, [key, reset, value], 'Loading configuration...');
41
45
  if (state.status === 'loading') {
42
- return _jsx(Text, { dimColor: true, children: state.message });
46
+ return _jsx(Spinner, { message: state.message });
43
47
  }
44
48
  if (state.status === 'error') {
45
49
  return _jsxs(Text, { color: 'red', children: ["Error: ", state.message] });
46
50
  }
47
51
  const { data } = state;
48
52
  if (data.outcome === 'list') {
49
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Text, { bold: true, children: "Configuration:" }), _jsx(Text, { children: " " }), data.entries.map((entry) => (_jsxs(Box, { children: [_jsx(Box, { width: 20, children: _jsx(Text, { bold: true, children: entry.key }) }), _jsx(Text, { color: entry.isDefault ? 'gray' : 'green', children: String(entry.value) }), entry.isDefault && _jsx(Text, { dimColor: true, children: " (default)" })] }, entry.key)))] }));
53
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Text, { bold: true, children: "Configuration:" }), _jsx(Box, { flexDirection: 'column', marginTop: 1, children: data.entries.map((entry) => (_jsxs(Box, { children: [_jsx(Box, { width: 20, children: _jsx(Text, { bold: true, children: entry.key }) }), _jsx(Text, { color: entry.isDefault ? 'gray' : 'green', children: String(entry.value) }), entry.isDefault && _jsx(Text, { dimColor: true, children: " (default)" })] }, entry.key))) })] }));
50
54
  }
51
55
  if (data.outcome === 'get') {
52
56
  if (data.value === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/commands/diff.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB,eAAO,MAAM,WAAW,sDAAsD,CAAC;AAE/E,eAAO,MAAM,OAAO;;;;;;iBA8ClB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAA+C,CAAC;AAgBjE,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAC3B,IAAI,EAAE,CAAC,OAAO,CAAC,EACf,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,GAC9D,EAAE,KAAK,2CA0KP"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/commands/diff.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,WAAW,sDAAsD,CAAC;AAE/E,eAAO,MAAM,OAAO;;;;;;iBA8ClB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAA+C,CAAC;AAEjE,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAC3B,IAAI,EAAE,CAAC,OAAO,CAAC,EACf,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,GAC9D,EAAE,KAAK,2CA6CP"}