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

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 (301) 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 +48 -253
  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 +43 -169
  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/FrozenSkippedHint.d.ts +11 -0
  111. package/build/components/FrozenSkippedHint.d.ts.map +1 -0
  112. package/build/components/FrozenSkippedHint.js +12 -0
  113. package/build/components/FrozenSkippedHint.js.map +1 -0
  114. package/build/components/HelpBar.d.ts.map +1 -1
  115. package/build/components/HelpBar.js +3 -3
  116. package/build/components/HelpBar.js.map +1 -1
  117. package/build/components/InitSuccess.d.ts +5 -0
  118. package/build/components/InitSuccess.d.ts.map +1 -0
  119. package/build/components/InitSuccess.js +20 -0
  120. package/build/components/InitSuccess.js.map +1 -0
  121. package/build/components/InstallSummary.d.ts +3 -3
  122. package/build/components/InstallSummary.d.ts.map +1 -1
  123. package/build/components/InstallSummary.js +2 -2
  124. package/build/components/InstallSummary.js.map +1 -1
  125. package/build/components/Link.d.ts +7 -0
  126. package/build/components/Link.d.ts.map +1 -0
  127. package/build/components/Link.js +6 -0
  128. package/build/components/Link.js.map +1 -0
  129. package/build/components/ListActionBar.d.ts +11 -0
  130. package/build/components/ListActionBar.d.ts.map +1 -0
  131. package/build/components/ListActionBar.js +30 -0
  132. package/build/components/ListActionBar.js.map +1 -0
  133. package/build/components/ListBrowseList.d.ts +27 -0
  134. package/build/components/ListBrowseList.d.ts.map +1 -0
  135. package/build/components/ListBrowseList.js +57 -0
  136. package/build/components/ListBrowseList.js.map +1 -0
  137. package/build/components/ListExpandedRow.d.ts +38 -0
  138. package/build/components/ListExpandedRow.d.ts.map +1 -0
  139. package/build/components/ListExpandedRow.js +46 -0
  140. package/build/components/ListExpandedRow.js.map +1 -0
  141. package/build/components/ListHelpBar.d.ts +19 -0
  142. package/build/components/ListHelpBar.d.ts.map +1 -0
  143. package/build/components/ListHelpBar.js +11 -0
  144. package/build/components/ListHelpBar.js.map +1 -0
  145. package/build/components/OrphanListItem.d.ts +15 -0
  146. package/build/components/OrphanListItem.d.ts.map +1 -0
  147. package/build/components/OrphanListItem.js +6 -0
  148. package/build/components/OrphanListItem.js.map +1 -0
  149. package/build/components/PromptField.d.ts +19 -0
  150. package/build/components/PromptField.d.ts.map +1 -0
  151. package/build/components/PromptField.js +7 -0
  152. package/build/components/PromptField.js.map +1 -0
  153. package/build/components/StatusBadge.d.ts +1 -1
  154. package/build/components/StatusBadge.d.ts.map +1 -1
  155. package/build/components/StatusBadge.js +4 -0
  156. package/build/components/StatusBadge.js.map +1 -1
  157. package/build/components/SyncAllInSync.d.ts +14 -0
  158. package/build/components/SyncAllInSync.d.ts.map +1 -0
  159. package/build/components/SyncAllInSync.js +10 -0
  160. package/build/components/SyncAllInSync.js.map +1 -0
  161. package/build/components/SyncDriftedList.d.ts +24 -0
  162. package/build/components/SyncDriftedList.d.ts.map +1 -0
  163. package/build/components/SyncDriftedList.js +17 -0
  164. package/build/components/SyncDriftedList.js.map +1 -0
  165. package/build/components/SyncNoAssets.d.ts +12 -0
  166. package/build/components/SyncNoAssets.d.ts.map +1 -0
  167. package/build/components/SyncNoAssets.js +9 -0
  168. package/build/components/SyncNoAssets.js.map +1 -0
  169. package/build/components/index.d.ts +14 -2
  170. package/build/components/index.d.ts.map +1 -1
  171. package/build/components/index.js +14 -2
  172. package/build/components/index.js.map +1 -1
  173. package/build/hooks/useBrowseState.d.ts +41 -1
  174. package/build/hooks/useBrowseState.d.ts.map +1 -1
  175. package/build/hooks/useBrowseState.js +142 -12
  176. package/build/hooks/useBrowseState.js.map +1 -1
  177. package/build/hooks/useConfirmation.d.ts +18 -0
  178. package/build/hooks/useConfirmation.d.ts.map +1 -0
  179. package/build/hooks/useConfirmation.js +56 -0
  180. package/build/hooks/useConfirmation.js.map +1 -0
  181. package/build/hooks/useInitState.d.ts +72 -0
  182. package/build/hooks/useInitState.d.ts.map +1 -0
  183. package/build/hooks/useInitState.js +372 -0
  184. package/build/hooks/useInitState.js.map +1 -0
  185. package/build/hooks/useListActions.d.ts +15 -0
  186. package/build/hooks/useListActions.d.ts.map +1 -0
  187. package/build/hooks/useListActions.js +155 -0
  188. package/build/hooks/useListActions.js.map +1 -0
  189. package/build/hooks/useListState.d.ts +151 -0
  190. package/build/hooks/useListState.d.ts.map +1 -0
  191. package/build/hooks/useListState.js +448 -0
  192. package/build/hooks/useListState.js.map +1 -0
  193. package/build/hooks/usePruneState.d.ts +76 -0
  194. package/build/hooks/usePruneState.d.ts.map +1 -0
  195. package/build/hooks/usePruneState.js +246 -0
  196. package/build/hooks/usePruneState.js.map +1 -0
  197. package/build/hooks/usePublishState.d.ts +115 -0
  198. package/build/hooks/usePublishState.d.ts.map +1 -0
  199. package/build/hooks/usePublishState.js +673 -0
  200. package/build/hooks/usePublishState.js.map +1 -0
  201. package/build/hooks/useSetupState.d.ts +57 -0
  202. package/build/hooks/useSetupState.d.ts.map +1 -0
  203. package/build/hooks/useSetupState.js +236 -0
  204. package/build/hooks/useSetupState.js.map +1 -0
  205. package/build/hooks/useUninstallState.d.ts +102 -0
  206. package/build/hooks/useUninstallState.d.ts.map +1 -0
  207. package/build/hooks/useUninstallState.js +342 -0
  208. package/build/hooks/useUninstallState.js.map +1 -0
  209. package/build/lib/adapter.d.ts +21 -0
  210. package/build/lib/adapter.d.ts.map +1 -1
  211. package/build/lib/adapter.js +59 -1
  212. package/build/lib/adapter.js.map +1 -1
  213. package/build/lib/checksum.d.ts +39 -0
  214. package/build/lib/checksum.d.ts.map +1 -1
  215. package/build/lib/checksum.js +101 -13
  216. package/build/lib/checksum.js.map +1 -1
  217. package/build/lib/config.d.ts +38 -18
  218. package/build/lib/config.d.ts.map +1 -1
  219. package/build/lib/config.js +107 -55
  220. package/build/lib/config.js.map +1 -1
  221. package/build/lib/detector.d.ts +2 -11
  222. package/build/lib/detector.d.ts.map +1 -1
  223. package/build/lib/detector.js +2 -64
  224. package/build/lib/detector.js.map +1 -1
  225. package/build/lib/diagnostics.d.ts +7 -0
  226. package/build/lib/diagnostics.d.ts.map +1 -1
  227. package/build/lib/diagnostics.js +54 -34
  228. package/build/lib/diagnostics.js.map +1 -1
  229. package/build/lib/diff-command.d.ts +40 -0
  230. package/build/lib/diff-command.d.ts.map +1 -0
  231. package/build/lib/diff-command.js +145 -0
  232. package/build/lib/diff-command.js.map +1 -0
  233. package/build/lib/diff.d.ts +7 -0
  234. package/build/lib/diff.d.ts.map +1 -1
  235. package/build/lib/diff.js +15 -10
  236. package/build/lib/diff.js.map +1 -1
  237. package/build/lib/format.d.ts +6 -0
  238. package/build/lib/format.d.ts.map +1 -0
  239. package/build/lib/format.js +18 -0
  240. package/build/lib/format.js.map +1 -0
  241. package/build/lib/github.d.ts +8 -0
  242. package/build/lib/github.d.ts.map +1 -1
  243. package/build/lib/github.js +9 -0
  244. package/build/lib/github.js.map +1 -1
  245. package/build/lib/gitignore.d.ts +17 -0
  246. package/build/lib/gitignore.d.ts.map +1 -1
  247. package/build/lib/gitignore.js +17 -1
  248. package/build/lib/gitignore.js.map +1 -1
  249. package/build/lib/installer.d.ts +1 -0
  250. package/build/lib/installer.d.ts.map +1 -1
  251. package/build/lib/installer.js +7 -7
  252. package/build/lib/installer.js.map +1 -1
  253. package/build/lib/lockfile.d.ts +19 -17
  254. package/build/lib/lockfile.d.ts.map +1 -1
  255. package/build/lib/lockfile.js +43 -67
  256. package/build/lib/lockfile.js.map +1 -1
  257. package/build/lib/publisher.d.ts +35 -0
  258. package/build/lib/publisher.d.ts.map +1 -1
  259. package/build/lib/publisher.js +210 -16
  260. package/build/lib/publisher.js.map +1 -1
  261. package/build/lib/registry.d.ts +20 -5
  262. package/build/lib/registry.d.ts.map +1 -1
  263. package/build/lib/registry.js +41 -30
  264. package/build/lib/registry.js.map +1 -1
  265. package/build/lib/schemas/config.d.ts +31 -3
  266. package/build/lib/schemas/config.d.ts.map +1 -1
  267. package/build/lib/schemas/config.js +21 -2
  268. package/build/lib/schemas/config.js.map +1 -1
  269. package/build/lib/schemas/index.d.ts +1 -1
  270. package/build/lib/schemas/index.d.ts.map +1 -1
  271. package/build/lib/schemas/index.js +1 -1
  272. package/build/lib/schemas/index.js.map +1 -1
  273. package/build/lib/schemas/lockfile.d.ts +18 -2
  274. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  275. package/build/lib/schemas/lockfile.js +10 -1
  276. package/build/lib/schemas/lockfile.js.map +1 -1
  277. package/build/lib/search.d.ts +15 -1
  278. package/build/lib/search.d.ts.map +1 -1
  279. package/build/lib/search.js +65 -65
  280. package/build/lib/search.js.map +1 -1
  281. package/build/lib/setup.d.ts +28 -0
  282. package/build/lib/setup.d.ts.map +1 -0
  283. package/build/lib/setup.js +98 -0
  284. package/build/lib/setup.js.map +1 -0
  285. package/build/lib/sync.d.ts +109 -0
  286. package/build/lib/sync.d.ts.map +1 -0
  287. package/build/lib/sync.js +221 -0
  288. package/build/lib/sync.js.map +1 -0
  289. package/build/lib/tool-resolver.d.ts +29 -6
  290. package/build/lib/tool-resolver.d.ts.map +1 -1
  291. package/build/lib/tool-resolver.js +54 -15
  292. package/build/lib/tool-resolver.js.map +1 -1
  293. package/build/lib/updater.d.ts +7 -4
  294. package/build/lib/updater.d.ts.map +1 -1
  295. package/build/lib/updater.js +12 -7
  296. package/build/lib/updater.js.map +1 -1
  297. package/build/lib/version.js +1 -1
  298. package/build/lib/version.js.map +1 -1
  299. package/package.json +79 -65
  300. package/tool-adapters/claude-code.json +1 -1
  301. package/tool-adapters/copilot-cli.json +1 -1
@@ -0,0 +1,19 @@
1
+ interface ListHelpBarProps {
2
+ /** Whether the current asset supports actions (has a selected asset) */
3
+ canAct: boolean;
4
+ /** Whether the current row is expanded */
5
+ expanded: boolean;
6
+ /** Whether the project has an org configured */
7
+ hasOrg?: boolean;
8
+ /** Whether any installed assets have available updates */
9
+ hasOutdated: boolean;
10
+ /** Current input mode */
11
+ inputMode: 'filter' | 'navigate';
12
+ /** Whether the currently selected asset is frozen */
13
+ isFrozen: boolean;
14
+ /** Whether the currently selected asset is pinned */
15
+ isPinned: boolean;
16
+ }
17
+ export default function ListHelpBar({ canAct, expanded, hasOrg, hasOutdated, inputMode, isFrozen, isPinned, }: ListHelpBarProps): import("react/jsx-runtime").JSX.Element;
18
+ export {};
19
+ //# sourceMappingURL=ListHelpBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListHelpBar.d.ts","sourceRoot":"","sources":["../../src/components/ListHelpBar.tsx"],"names":[],"mappings":"AAEA,UAAU,gBAAgB;IACxB,wEAAwE;IACxE,MAAM,EAAE,OAAO,CAAC;IAChB,0CAA0C;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,gDAAgD;IAChD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0DAA0D;IAC1D,WAAW,EAAE,OAAO,CAAC;IACrB,yBAAyB;IACzB,SAAS,EAAE,QAAQ,GAAG,UAAU,CAAC;IACjC,qDAAqD;IACrD,QAAQ,EAAE,OAAO,CAAC;IAClB,qDAAqD;IACrD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,MAAM,EACN,QAAQ,EACR,MAAM,EACN,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,GACT,EAAE,gBAAgB,2CAkDlB"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ export default function ListHelpBar({ canAct, expanded, hasOrg, hasOutdated, inputMode, isFrozen, isPinned, }) {
4
+ if (inputMode === 'filter') {
5
+ return (_jsx(Box, { borderColor: 'gray', borderStyle: 'round', children: _jsxs(Text, { dimColor: true, children: [_jsx(Text, { children: "\u2191\u2193" }), " navigate", ' ', _jsx(Text, { children: "Tab" }), ": type", ' ', _jsx(Text, { children: "Esc" }), ": stop filter", ' ', "Type to filter..."] }) }));
6
+ }
7
+ const pinLabel = isPinned ? 'unpin' : 'pin';
8
+ const freezeLabel = isFrozen ? 'thaw' : 'freeze';
9
+ return (_jsx(Box, { borderColor: 'gray', borderStyle: 'round', children: _jsxs(Text, { dimColor: true, children: [_jsx(Text, { children: "\u2191\u2193" }), " navigate", ' ', _jsx(Text, { children: "/" }), ": filter", ' ', _jsx(Text, { children: "Tab" }), ": type", ' ', _jsx(Text, { children: "s" }), ": sort", ' ', hasOrg && (_jsxs(_Fragment, { children: [_jsx(Text, { children: "o" }), ": org", ' '] })), expanded ? (_jsxs(_Fragment, { children: [_jsx(Text, { children: "Esc" }), ": collapse", ' '] })) : (_jsxs(_Fragment, { children: [_jsx(Text, { children: "Enter" }), ": expand", ' '] })), _jsx(Text, { dimColor: !canAct || !hasOutdated, children: "u: update" }), ' ', _jsx(Text, { dimColor: !canAct, children: "x: uninstall" }), ' ', _jsxs(Text, { dimColor: !canAct, children: ["p: ", pinLabel] }), ' ', _jsxs(Text, { dimColor: !canAct, children: ["f: ", freezeLabel] }), ' ', _jsx(Text, { children: "q" }), ": quit"] }) }));
10
+ }
11
+ //# sourceMappingURL=ListHelpBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListHelpBar.js","sourceRoot":"","sources":["../../src/components/ListHelpBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAmBhC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,MAAM,EACN,QAAQ,EACR,MAAM,EACN,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,GACS;IACjB,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,YACzC,MAAC,IAAI,IAAC,QAAQ,mBACZ,KAAC,IAAI,+BAAU,eAAU,IAAI,EAC7B,KAAC,IAAI,sBAAW,YAAO,IAAI,EAC3B,KAAC,IAAI,sBAAW,mBAAc,IAAI,yBAE7B,GACH,CACP,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEjD,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,YACzC,MAAC,IAAI,IAAC,QAAQ,mBACZ,KAAC,IAAI,+BAAU,eAAU,IAAI,EAC7B,KAAC,IAAI,oBAAS,cAAS,IAAI,EAC3B,KAAC,IAAI,sBAAW,YAAO,IAAI,EAC3B,KAAC,IAAI,oBAAS,YAAO,IAAI,EACxB,MAAM,IAAI,CACT,8BACE,KAAC,IAAI,oBAAS,WAAM,IAAI,IACvB,CACJ,EACA,QAAQ,CAAC,CAAC,CAAC,CACV,8BACE,KAAC,IAAI,sBAAW,gBAAW,IAAI,IAC9B,CACJ,CAAC,CAAC,CAAC,CACF,8BACE,KAAC,IAAI,wBAAa,cAAS,IAAI,IAC9B,CACJ,EACD,KAAC,IAAI,IAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,WAAW,0BAAkB,EACxD,IAAI,EACL,KAAC,IAAI,IAAC,QAAQ,EAAE,CAAC,MAAM,6BAAqB,EAC3C,IAAI,EACL,MAAC,IAAI,IAAC,QAAQ,EAAE,CAAC,MAAM,oBAAM,QAAQ,IAAQ,EAC5C,IAAI,EACL,MAAC,IAAI,IAAC,QAAQ,EAAE,CAAC,MAAM,oBAAM,WAAW,IAAQ,EAC/C,IAAI,EACL,KAAC,IAAI,oBAAS,cACT,GACH,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ interface OrphanListItemProps {
2
+ /** Color of the icon and name text (default: 'cyan') */
3
+ color?: string;
4
+ /** Leading icon character (default: '-') */
5
+ icon?: string;
6
+ /** Asset name */
7
+ name: string;
8
+ /** Asset type (e.g., 'skill', 'rule') */
9
+ type: string;
10
+ /** Asset version */
11
+ version: string;
12
+ }
13
+ export default function OrphanListItem({ color, icon, name, type, version }: OrphanListItemProps): import("react/jsx-runtime").JSX.Element;
14
+ export {};
15
+ //# sourceMappingURL=OrphanListItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrphanListItem.d.ts","sourceRoot":"","sources":["../../src/components/OrphanListItem.tsx"],"names":[],"mappings":"AAEA,UAAU,mBAAmB;IAC3B,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,KAAc,EAAE,IAAU,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,mBAAmB,2CAa9G"}
@@ -0,0 +1,6 @@
1
+ import { jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text } from 'ink';
3
+ export default function OrphanListItem({ color = 'cyan', icon = '-', name, type, version }) {
4
+ return (_jsxs(Text, { children: [' ', _jsxs(Text, { color: color, children: [icon, " ", name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", type, ") v", version] })] }));
5
+ }
6
+ //# sourceMappingURL=OrphanListItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrphanListItem.js","sourceRoot":"","sources":["../../src/components/OrphanListItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAe3B,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAuB;IAC7G,OAAO,CACL,MAAC,IAAI,eACF,IAAI,EACL,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,aACf,IAAI,OAAG,IAAI,IACP,EACP,MAAC,IAAI,IAAC,QAAQ,mBACX,GAAG,OACF,IAAI,SAAK,OAAO,IACb,IACF,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { ReactNode } from 'react';
2
+ interface PromptFieldProps {
3
+ /** Extra content rendered above the input row (e.g., tool list, help text). */
4
+ children?: ReactNode;
5
+ /** Validation or inline error shown below the input. */
6
+ error?: string;
7
+ /** Prompt label (e.g., "Name (kebab-case)"). */
8
+ label: string;
9
+ onChange: (value: string) => void;
10
+ onSubmit: (value: string) => void;
11
+ /** Static prefix shown before the input (e.g., "@org/"). */
12
+ prefix?: string;
13
+ value: string;
14
+ /** Warning shown above the input row. */
15
+ warning?: string;
16
+ }
17
+ export default function PromptField({ children, error, label, onChange, onSubmit, prefix, value, warning, }: PromptFieldProps): import("react/jsx-runtime").JSX.Element;
18
+ export {};
19
+ //# sourceMappingURL=PromptField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptField.d.ts","sourceRoot":"","sources":["../../src/components/PromptField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,UAAU,gBAAgB;IACxB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,QAAQ,EACR,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,GACR,EAAE,gBAAgB,2CAgBlB"}
@@ -0,0 +1,7 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import TextInput from 'ink-text-input';
4
+ export default function PromptField({ children, error, label, onChange, onSubmit, prefix, value, warning, }) {
5
+ return (_jsxs(Box, { flexDirection: 'column', children: [warning && _jsxs(Text, { color: 'yellow', children: ["Warning: ", warning] }), children, _jsxs(Box, { children: [_jsx(Text, { color: 'cyan', children: '> ' }), _jsxs(Text, { children: [label, prefix] }), _jsx(TextInput, { focus: true, onChange: onChange, onSubmit: onSubmit, value: value })] }), error && _jsxs(Text, { color: 'red', children: [" ", error] })] }));
6
+ }
7
+ //# sourceMappingURL=PromptField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PromptField.js","sourceRoot":"","sources":["../../src/components/PromptField.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAkBvC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,QAAQ,EACR,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,GACU;IACjB,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACxB,OAAO,IAAI,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,0BAAW,OAAO,IAAQ,EACzD,QAAQ,EACT,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,IAAI,GAAQ,EAChC,MAAC,IAAI,eACF,KAAK,EACL,MAAM,IACF,EACP,KAAC,SAAS,IAAC,KAAK,QAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAI,IACrE,EACL,KAAK,IAAI,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,kBAAG,KAAK,IAAQ,IACvC,CACP,CAAC;AACJ,CAAC"}
@@ -8,6 +8,6 @@ export declare function CheckIcon({ status }: {
8
8
  * Status icon for audit/diff file states.
9
9
  */
10
10
  export declare function FileStatusIcon({ status, }: {
11
- status: 'added' | 'frozen' | 'misplaced' | 'missing' | 'missing-local' | 'modified' | 'ok' | 'removed' | 'unchanged';
11
+ status: 'added' | 'config-missing' | 'config-modified' | 'frozen' | 'misplaced' | 'missing' | 'missing-local' | 'modified' | 'ok' | 'removed' | 'unchanged';
12
12
  }): import("react/jsx-runtime").JSX.Element;
13
13
  //# sourceMappingURL=StatusBadge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBadge.d.ts","sourceRoot":"","sources":["../../src/components/StatusBadge.tsx"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,2CAIzE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,GACP,EAAE;IACD,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,eAAe,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,CAAC;CACtH,2CAmBA"}
1
+ {"version":3,"file":"StatusBadge.d.ts","sourceRoot":"","sources":["../../src/components/StatusBadge.tsx"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,2CAIzE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,GACP,EAAE;IACD,MAAM,EAAE,OAAO,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,eAAe,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,CAAC;CAC7J,2CAuBA"}
@@ -17,6 +17,10 @@ export function FileStatusIcon({ status, }) {
17
17
  switch (status) {
18
18
  case 'added':
19
19
  return _jsx(Text, { color: 'cyan', children: "+" });
20
+ case 'config-missing':
21
+ return _jsx(Text, { color: 'red', children: "\u2715" });
22
+ case 'config-modified':
23
+ return _jsx(Text, { color: 'magenta', children: "\u26A0" });
20
24
  case 'frozen':
21
25
  return _jsx(Text, { color: 'cyan', children: "\u2744" });
22
26
  case 'misplaced':
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBadge.js","sourceRoot":"","sources":["../../src/components/StatusBadge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,EAAE,MAAM,EAAwC;IACxE,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,uBAAS,CAAC;IAC3D,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,uBAAS,CAAC;IAC5D,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,uBAAS,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,MAAM,GAGP;IACC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO;YACV,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,kBAAS,CAAC;QACrC,KAAK,QAAQ;YACX,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uBAAS,CAAC;QACrC,KAAK,WAAW;YACd,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,uBAAS,CAAC;QACvC,KAAK,SAAS,CAAC;QACf,KAAK,eAAe;YAClB,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,uBAAS,CAAC;QACpC,KAAK,UAAU;YACb,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,uBAAS,CAAC;QACvC,KAAK,IAAI,CAAC;QACV,KAAK,WAAW;YACd,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,uBAAS,CAAC;QACtC,KAAK,SAAS;YACZ,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,kBAAS,CAAC;IACtC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"StatusBadge.js","sourceRoot":"","sources":["../../src/components/StatusBadge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,EAAE,MAAM,EAAwC;IACxE,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,uBAAS,CAAC;IAC3D,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,uBAAS,CAAC;IAC5D,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,uBAAS,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,EAC7B,MAAM,GAGP;IACC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO;YACV,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,kBAAS,CAAC;QACrC,KAAK,gBAAgB;YACnB,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,uBAAS,CAAC;QACpC,KAAK,iBAAiB;YACpB,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,uBAAS,CAAC;QACxC,KAAK,QAAQ;YACX,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uBAAS,CAAC;QACrC,KAAK,WAAW;YACd,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,uBAAS,CAAC;QACvC,KAAK,SAAS,CAAC;QACf,KAAK,eAAe;YAClB,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,uBAAS,CAAC;QACpC,KAAK,UAAU;YACb,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,uBAAS,CAAC;QACvC,KAAK,IAAI,CAAC;QACV,KAAK,WAAW;YACd,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,uBAAS,CAAC;QACtC,KAAK,SAAS;YACZ,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,kBAAS,CAAC;IACtC,CAAC;AACH,CAAC"}
@@ -0,0 +1,14 @@
1
+ interface SyncAllInSyncProps {
2
+ /** Number of frozen assets that were skipped */
3
+ frozenSkipped: number;
4
+ /** Number of assets that are already in sync */
5
+ skipped: number;
6
+ /** The tool name (e.g., "claude-code") */
7
+ tool: string;
8
+ }
9
+ /**
10
+ * Message shown when all assets are already in sync for a tool.
11
+ */
12
+ export default function SyncAllInSync({ frozenSkipped, skipped, tool }: SyncAllInSyncProps): import("react/jsx-runtime").JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=SyncAllInSync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncAllInSync.d.ts","sourceRoot":"","sources":["../../src/components/SyncAllInSync.tsx"],"names":[],"mappings":"AAIA,UAAU,kBAAkB;IAC1B,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,kBAAkB,2CASzF"}
@@ -0,0 +1,10 @@
1
+ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Text } from 'ink';
3
+ import FrozenSkippedHint from './FrozenSkippedHint.js';
4
+ /**
5
+ * Message shown when all assets are already in sync for a tool.
6
+ */
7
+ export default function SyncAllInSync({ frozenSkipped, skipped, tool }) {
8
+ return (_jsxs(_Fragment, { children: [_jsxs(Text, { color: 'green', children: ["\u2713 All ", skipped, " asset", skipped !== 1 ? 's' : '', " are in sync for ", tool, ". No changes needed."] }), _jsx(FrozenSkippedHint, { count: frozenSkipped })] }));
9
+ }
10
+ //# sourceMappingURL=SyncAllInSync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncAllInSync.js","sourceRoot":"","sources":["../../src/components/SyncAllInSync.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAWvD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAsB;IACxF,OAAO,CACL,8BACE,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,4BACV,OAAO,YAAQ,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,uBAAmB,IAAI,4BAChE,EACP,KAAC,iBAAiB,IAAC,KAAK,EAAE,aAAa,GAAI,IAC1C,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { SyncEntry, SyncFailure } from '../lib/sync.js';
2
+ interface SyncDriftedListProps {
3
+ /** Whether this is a dry-run (preview only) or a live sync */
4
+ dryRun: boolean;
5
+ /** Entries that were synced (live) or would be synced (dry-run) */
6
+ entries: SyncEntry[];
7
+ /** Failures that occurred during live sync */
8
+ failures?: SyncFailure[];
9
+ /** Number of frozen assets that were skipped */
10
+ frozenSkipped: number;
11
+ /** Number of assets that were already in sync and skipped */
12
+ skipped: number;
13
+ /** The tool name (e.g., "claude-code") */
14
+ tool: string;
15
+ }
16
+ /**
17
+ * Renders the list of drifted/synced assets for a tool.
18
+ *
19
+ * In dry-run mode: shows DryRunBanner, entry list with reason badges, and skip counts.
20
+ * In live mode: shows synced summary, entry list with placed files, failures, and skip counts.
21
+ */
22
+ export default function SyncDriftedList({ dryRun, entries, failures, frozenSkipped, skipped, tool, }: SyncDriftedListProps): import("react/jsx-runtime").JSX.Element;
23
+ export {};
24
+ //# sourceMappingURL=SyncDriftedList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncDriftedList.d.ts","sourceRoot":"","sources":["../../src/components/SyncDriftedList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK7D,UAAU,oBAAoB;IAC5B,8DAA8D;IAC9D,MAAM,EAAE,OAAO,CAAC;IAChB,mEAAmE;IACnE,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,MAAM,EACN,OAAO,EACP,QAAa,EACb,aAAa,EACb,OAAO,EACP,IAAI,GACL,EAAE,oBAAoB,2CA+FtB"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import DryRunBanner from './DryRunBanner.js';
4
+ import FrozenSkippedHint from './FrozenSkippedHint.js';
5
+ /**
6
+ * Renders the list of drifted/synced assets for a tool.
7
+ *
8
+ * In dry-run mode: shows DryRunBanner, entry list with reason badges, and skip counts.
9
+ * In live mode: shows synced summary, entry list with placed files, failures, and skip counts.
10
+ */
11
+ export default function SyncDriftedList({ dryRun, entries, failures = [], frozenSkipped, skipped, tool, }) {
12
+ if (dryRun) {
13
+ return (_jsxs(_Fragment, { children: [_jsx(DryRunBanner, { action: 'sync', count: entries.length, tools: [tool] }), _jsx(Text, { children: " " }), entries.map((entry) => (_jsxs(Text, { children: [' ', _jsx(Text, { bold: true, children: entry.asset.name }), _jsxs(Text, { dimColor: true, children: [' ', "(", entry.asset.type, ") v", entry.asset.version] }), ' — ', entry.reason === 'missing' && _jsx(Text, { color: 'yellow', children: "missing files" }), entry.reason === 'modified' && _jsx(Text, { color: 'yellow', children: "modified files" }), entry.reason === 'forced' && _jsx(Text, { dimColor: true, children: "forced" })] }, `${entry.asset.type}/${entry.asset.name}`))), skipped > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsxs(Text, { dimColor: true, children: [skipped, " asset", skipped !== 1 ? 's' : '', " already in sync \u2014 would be skipped."] })] })), frozenSkipped > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(FrozenSkippedHint, { count: frozenSkipped })] }))] }));
14
+ }
15
+ return (_jsxs(_Fragment, { children: [entries.length > 0 && (_jsxs(Text, { color: 'green', children: ["\u2713 Synced ", entries.length, " asset", entries.length !== 1 ? 's' : '', " for ", tool] })), skipped > 0 && (_jsxs(Text, { dimColor: true, children: [skipped, " asset", skipped !== 1 ? 's' : '', " already in sync \u2014 skipped."] })), frozenSkipped > 0 && _jsx(FrozenSkippedHint, { count: frozenSkipped }), entries.length > 0 && _jsx(Text, { children: " " }), entries.map((entry) => (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsx(Text, { color: 'green', children: "\u2713" }), " ", _jsx(Text, { bold: true, children: entry.asset.name }), _jsxs(Text, { dimColor: true, children: [' ', "(", entry.asset.type, ") v", entry.asset.version] }), ' — ', entry.reason === 'missing' && _jsx(Text, { color: 'yellow', children: "restored missing files" }), entry.reason === 'modified' && _jsx(Text, { color: 'yellow', children: "restored modified files" }), entry.reason === 'forced' && _jsx(Text, { dimColor: true, children: "force re-synced" })] }), entry.result?.filesPlaced.map((f) => (_jsxs(Text, { dimColor: true, wrap: 'truncate', children: [' ', "\u2192 ", f.destination] }, f.destination)))] }, `${entry.asset.type}/${entry.asset.name}`))), failures.length > 0 && _jsx(Text, { children: " " }), failures.length > 0 && (_jsxs(Text, { color: 'red', children: ["\u2717 Failed to sync ", failures.length, " asset", failures.length !== 1 ? 's' : ''] })), failures.map((failure) => (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsx(Text, { color: 'red', children: "\u2717" }), " ", _jsx(Text, { bold: true, children: failure.assetName }), _jsxs(Text, { dimColor: true, children: [' ', "(", failure.assetType, ") v", failure.version] })] }), _jsxs(Text, { color: 'red', wrap: 'truncate', children: [' ', failure.error] })] }, `${failure.assetType}/${failure.assetName}`)))] }));
16
+ }
17
+ //# sourceMappingURL=SyncDriftedList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncDriftedList.js","sourceRoot":"","sources":["../../src/components/SyncDriftedList.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ interface SyncNoAssetsProps {
2
+ /** Optional bootstrap hint displayed below the main message */
3
+ bootstrapHint?: string;
4
+ /** The tool name (e.g., "claude-code") */
5
+ tool: string;
6
+ }
7
+ /**
8
+ * Message shown when no assets are installed for a tool during sync.
9
+ */
10
+ export default function SyncNoAssets({ bootstrapHint, tool }: SyncNoAssetsProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=SyncNoAssets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncNoAssets.d.ts","sourceRoot":"","sources":["../../src/components/SyncNoAssets.tsx"],"names":[],"mappings":"AAEA,UAAU,iBAAiB;IACzB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,iBAAiB,2CAO9E"}
@@ -0,0 +1,9 @@
1
+ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Text } from 'ink';
3
+ /**
4
+ * Message shown when no assets are installed for a tool during sync.
5
+ */
6
+ export default function SyncNoAssets({ bootstrapHint, tool }) {
7
+ return (_jsxs(_Fragment, { children: [_jsxs(Text, { dimColor: true, children: ["No assets installed for ", tool, ". Nothing to sync."] }), bootstrapHint && _jsx(Text, { color: 'yellow', children: bootstrapHint })] }));
8
+ }
9
+ //# sourceMappingURL=SyncNoAssets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncNoAssets.js","sourceRoot":"","sources":["../../src/components/SyncNoAssets.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAS3B;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,aAAa,EAAE,IAAI,EAAqB;IAC7E,OAAO,CACL,8BACE,MAAC,IAAI,IAAC,QAAQ,+CAA0B,IAAI,0BAA0B,EACrE,aAAa,IAAI,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,aAAa,GAAQ,IAC5D,CACJ,CAAC;AACJ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export { default as AssetDetail } from './AssetDetail.js';
2
2
  export { default as AssetTable } from './AssetTable.js';
3
- export { default as BrowseExpandedBundle } from './BrowseExpandedBundle.js';
4
- export { default as BrowseExpandedRow } from './BrowseExpandedRow.js';
3
+ export { default as BrowseExpandedBundle, type BundleDeps, bundleExpandedLines, resolveBundleDependencies, } from './BrowseExpandedBundle.js';
4
+ export { default as BrowseExpandedRow, computeBrowseExpandedLines } from './BrowseExpandedRow.js';
5
5
  export { default as BrowseList } from './BrowseList.js';
6
6
  export { default as BundleDetail } from './BundleDetail.js';
7
7
  export { default as DependencyTree } from './DependencyTree.js';
@@ -10,11 +10,23 @@ export { default as DiffView, type FileDiffEntry } from './DiffView.js';
10
10
  export { default as DryRunBanner } from './DryRunBanner.js';
11
11
  export { default as Field } from './Field.js';
12
12
  export { default as FilterBar } from './FilterBar.js';
13
+ export { default as FrozenSkippedHint } from './FrozenSkippedHint.js';
13
14
  export { ASCII_ART, GRADIENT, default as Header } from './Header.js';
14
15
  export { default as HelpBar } from './HelpBar.js';
16
+ export { default as InitSuccess } from './InitSuccess.js';
15
17
  export { default as InstallConfirmBar } from './InstallConfirmBar.js';
16
18
  export { type InstalledAssetResult, default as InstallSummary } from './InstallSummary.js';
19
+ export { default as Link } from './Link.js';
20
+ export { default as ListActionBar } from './ListActionBar.js';
21
+ export { default as ListBrowseList } from './ListBrowseList.js';
22
+ export { computeExpandedLines, LIST_EXPANDED_BASE_LINES, default as ListExpandedRow } from './ListExpandedRow.js';
23
+ export { default as ListHelpBar } from './ListHelpBar.js';
24
+ export { default as OrphanListItem } from './OrphanListItem.js';
25
+ export { default as PromptField } from './PromptField.js';
17
26
  export { default as SectionDivider } from './SectionDivider.js';
18
27
  export { default as Spinner } from './Spinner.js';
19
28
  export { CheckIcon, FileStatusIcon } from './StatusBadge.js';
29
+ export { default as SyncAllInSync } from './SyncAllInSync.js';
30
+ export { default as SyncDriftedList } from './SyncDriftedList.js';
31
+ export { default as SyncNoAssets } from './SyncNoAssets.js';
20
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,KAAK,eAAe,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,KAAK,oBAAoB,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,OAAO,IAAI,oBAAoB,EAC/B,KAAK,UAAU,EACf,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,KAAK,eAAe,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,KAAK,oBAAoB,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export { default as AssetDetail } from './AssetDetail.js';
2
2
  export { default as AssetTable } from './AssetTable.js';
3
- export { default as BrowseExpandedBundle } from './BrowseExpandedBundle.js';
4
- export { default as BrowseExpandedRow } from './BrowseExpandedRow.js';
3
+ export { default as BrowseExpandedBundle, bundleExpandedLines, resolveBundleDependencies, } from './BrowseExpandedBundle.js';
4
+ export { default as BrowseExpandedRow, computeBrowseExpandedLines } from './BrowseExpandedRow.js';
5
5
  export { default as BrowseList } from './BrowseList.js';
6
6
  export { default as BundleDetail } from './BundleDetail.js';
7
7
  export { default as DependencyTree } from './DependencyTree.js';
@@ -10,11 +10,23 @@ export { default as DiffView } from './DiffView.js';
10
10
  export { default as DryRunBanner } from './DryRunBanner.js';
11
11
  export { default as Field } from './Field.js';
12
12
  export { default as FilterBar } from './FilterBar.js';
13
+ export { default as FrozenSkippedHint } from './FrozenSkippedHint.js';
13
14
  export { ASCII_ART, GRADIENT, default as Header } from './Header.js';
14
15
  export { default as HelpBar } from './HelpBar.js';
16
+ export { default as InitSuccess } from './InitSuccess.js';
15
17
  export { default as InstallConfirmBar } from './InstallConfirmBar.js';
16
18
  export { default as InstallSummary } from './InstallSummary.js';
19
+ export { default as Link } from './Link.js';
20
+ export { default as ListActionBar } from './ListActionBar.js';
21
+ export { default as ListBrowseList } from './ListBrowseList.js';
22
+ export { computeExpandedLines, LIST_EXPANDED_BASE_LINES, default as ListExpandedRow } from './ListExpandedRow.js';
23
+ export { default as ListHelpBar } from './ListHelpBar.js';
24
+ export { default as OrphanListItem } from './OrphanListItem.js';
25
+ export { default as PromptField } from './PromptField.js';
17
26
  export { default as SectionDivider } from './SectionDivider.js';
18
27
  export { default as Spinner } from './Spinner.js';
19
28
  export { CheckIcon, FileStatusIcon } from './StatusBadge.js';
29
+ export { default as SyncAllInSync } from './SyncAllInSync.js';
30
+ export { default as SyncDriftedList } from './SyncDriftedList.js';
31
+ export { default as SyncNoAssets } from './SyncNoAssets.js';
20
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAwB,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAsB,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAA6B,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,OAAO,IAAI,oBAAoB,EAE/B,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAwB,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAsB,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAA6B,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -4,6 +4,8 @@ import type { Registry, RegistryAsset, RegistryBundle } from '../lib/schemas/reg
4
4
  export type AssetTypeFilter = 'all' | 'bundle' | AssetType;
5
5
  export declare const TYPE_TABS: AssetTypeFilter[];
6
6
  export declare const TYPE_TAB_LABELS: Record<AssetTypeFilter, string>;
7
+ export type BrowseSortDirection = 'asc' | 'desc';
8
+ export type BrowseSortField = 'name' | 'type' | 'version';
7
9
  export type BrowseAction = {
8
10
  char: string;
9
11
  type: 'APPEND_FILTER_CHAR';
@@ -16,6 +18,7 @@ export type BrowseAction = {
16
18
  lockfile: Lockfile;
17
19
  org?: string;
18
20
  registry: Registry;
21
+ toolWarning?: string;
19
22
  type: 'LOAD_SUCCESS';
20
23
  } | {
21
24
  message: string;
@@ -28,6 +31,9 @@ export type BrowseAction = {
28
31
  } | {
29
32
  message: string;
30
33
  type: 'LOAD_ERROR';
34
+ } | {
35
+ message: string;
36
+ type: 'SET_LOADING_MESSAGE';
31
37
  } | {
32
38
  type: 'BEGIN_INSTALL';
33
39
  } | {
@@ -40,6 +46,8 @@ export type BrowseAction = {
40
46
  type: 'CURSOR_DOWN';
41
47
  } | {
42
48
  type: 'CURSOR_UP';
49
+ } | {
50
+ type: 'CYCLE_SORT';
43
51
  } | {
44
52
  type: 'CYCLE_TYPE';
45
53
  } | {
@@ -55,6 +63,11 @@ export type BrowseAction = {
55
63
  } | {
56
64
  type: 'TOGGLE_ORG_FILTER';
57
65
  };
66
+ export type BrowseInputResult = null | {
67
+ action: BrowseAction;
68
+ } | {
69
+ quit: true;
70
+ };
58
71
  export type BrowseItem = {
59
72
  data: RegistryAsset;
60
73
  kind: 'asset';
@@ -117,11 +130,38 @@ export type ReadyState = {
117
130
  orgOnly: boolean;
118
131
  registry: Registry;
119
132
  scrollOffset: number;
133
+ sortDirection: BrowseSortDirection;
134
+ sortField: BrowseSortField;
120
135
  status: 'ready';
136
+ toolWarning?: string;
121
137
  typeFilter: AssetTypeFilter;
122
138
  viewportHeight: number;
123
139
  };
140
+ /**
141
+ * Mirrors Ink's internal key type from ink ^6.0.0.
142
+ * When upgrading the ink dependency, verify this type still matches
143
+ * the key object shape passed to useInput callbacks in the Ink source.
144
+ */
145
+ type InkKey = {
146
+ backspace: boolean;
147
+ ctrl: boolean;
148
+ delete: boolean;
149
+ downArrow: boolean;
150
+ escape: boolean;
151
+ meta: boolean;
152
+ return: boolean;
153
+ tab: boolean;
154
+ upArrow: boolean;
155
+ };
124
156
  export declare function browseReducer(state: BrowseState, action: BrowseAction): BrowseState;
125
157
  export declare function computeFilteredItems(allAssets: RegistryAsset[], allBundles: RegistryBundle[], typeFilter: AssetTypeFilter, filterText: string, orgOnly?: boolean, org?: string): BrowseItem[];
126
- export declare function useBrowseState(initialFilterText: string, initialTypeFilter: AssetTypeFilter): readonly [BrowseState, import("react").ActionDispatch<[action: BrowseAction]>, (registry: Registry, lockfile: Lockfile, org?: string) => void];
158
+ export declare function computeSortedItems(items: BrowseItem[], sortField: BrowseSortField, sortDirection: BrowseSortDirection): BrowseItem[];
159
+ /**
160
+ * Pure function mapping keyboard input to a browse action (or quit signal).
161
+ * Returns null when the input should be ignored.
162
+ */
163
+ export declare function mapBrowseInput(input: string, key: InkKey, state: ReadyState): BrowseInputResult;
164
+ export declare function useBrowseInput(state: BrowseState, dispatch: React.Dispatch<BrowseAction>, onQuit: () => void): void;
165
+ export declare function useBrowseState(initialFilterText: string, initialTypeFilter: AssetTypeFilter): readonly [BrowseState, import("react").ActionDispatch<[action: BrowseAction]>, (registry: Registry, lockfile: Lockfile, org?: string, toolWarning?: string) => void];
166
+ export {};
127
167
  //# sourceMappingURL=useBrowseState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBrowseState.d.ts","sourceRoot":"","sources":["../../src/hooks/useBrowseState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useBrowseState.d.ts","sourceRoot":"","sources":["../../src/hooks/useBrowseState.ts"],"names":[],"mappings":"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"}