@detergent-software/atk 3.0.0-dev.9 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/build/commands/_app.d.ts.map +1 -1
  2. package/build/commands/_app.js +23 -3
  3. package/build/commands/_app.js.map +1 -1
  4. package/build/commands/audit.d.ts.map +1 -1
  5. package/build/commands/audit.js +75 -40
  6. package/build/commands/audit.js.map +1 -1
  7. package/build/commands/browse.d.ts.map +1 -1
  8. package/build/commands/browse.js +117 -80
  9. package/build/commands/browse.js.map +1 -1
  10. package/build/commands/cache.d.ts.map +1 -1
  11. package/build/commands/cache.js +13 -15
  12. package/build/commands/cache.js.map +1 -1
  13. package/build/commands/config.d.ts +1 -1
  14. package/build/commands/config.d.ts.map +1 -1
  15. package/build/commands/config.js +7 -3
  16. package/build/commands/config.js.map +1 -1
  17. package/build/commands/diff.d.ts.map +1 -1
  18. package/build/commands/diff.js +4 -118
  19. package/build/commands/diff.js.map +1 -1
  20. package/build/commands/freeze.d.ts +1 -2
  21. package/build/commands/freeze.d.ts.map +1 -1
  22. package/build/commands/freeze.js +17 -37
  23. package/build/commands/freeze.js.map +1 -1
  24. package/build/commands/info.d.ts +1 -2
  25. package/build/commands/info.d.ts.map +1 -1
  26. package/build/commands/info.js +43 -38
  27. package/build/commands/info.js.map +1 -1
  28. package/build/commands/init.d.ts.map +1 -1
  29. package/build/commands/init.js +7 -14
  30. package/build/commands/init.js.map +1 -1
  31. package/build/commands/install.d.ts.map +1 -1
  32. package/build/commands/install.js +71 -79
  33. package/build/commands/install.js.map +1 -1
  34. package/build/commands/list.d.ts.map +1 -1
  35. package/build/commands/list.js +13 -6
  36. package/build/commands/list.js.map +1 -1
  37. package/build/commands/outdated.d.ts.map +1 -1
  38. package/build/commands/outdated.js +17 -8
  39. package/build/commands/outdated.js.map +1 -1
  40. package/build/commands/pin.d.ts +1 -2
  41. package/build/commands/pin.d.ts.map +1 -1
  42. package/build/commands/pin.js +44 -47
  43. package/build/commands/pin.js.map +1 -1
  44. package/build/commands/prune.d.ts.map +1 -1
  45. package/build/commands/prune.js +73 -132
  46. package/build/commands/prune.js.map +1 -1
  47. package/build/commands/publish.d.ts +2 -1
  48. package/build/commands/publish.d.ts.map +1 -1
  49. package/build/commands/publish.js +85 -9
  50. package/build/commands/publish.js.map +1 -1
  51. package/build/commands/search.d.ts.map +1 -1
  52. package/build/commands/search.js +14 -19
  53. package/build/commands/search.js.map +1 -1
  54. package/build/commands/setup.d.ts.map +1 -1
  55. package/build/commands/setup.js +6 -18
  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 +46 -163
  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 +7 -7
  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 +33 -40
  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 +22 -21
  81. package/build/components/AssetDetail.js.map +1 -1
  82. package/build/components/AssetTable.d.ts +2 -1
  83. package/build/components/AssetTable.d.ts.map +1 -1
  84. package/build/components/AssetTable.js +14 -10
  85. package/build/components/AssetTable.js.map +1 -1
  86. package/build/components/AssetVersionLine.d.ts +27 -0
  87. package/build/components/AssetVersionLine.d.ts.map +1 -0
  88. package/build/components/AssetVersionLine.js +10 -0
  89. package/build/components/AssetVersionLine.js.map +1 -0
  90. package/build/components/BrowseExpandedBundle.d.ts +10 -1
  91. package/build/components/BrowseExpandedBundle.d.ts.map +1 -1
  92. package/build/components/BrowseExpandedBundle.js +25 -2
  93. package/build/components/BrowseExpandedBundle.js.map +1 -1
  94. package/build/components/BrowseExpandedRow.d.ts +4 -1
  95. package/build/components/BrowseExpandedRow.d.ts.map +1 -1
  96. package/build/components/BrowseExpandedRow.js +24 -3
  97. package/build/components/BrowseExpandedRow.js.map +1 -1
  98. package/build/components/BrowseList.d.ts +5 -1
  99. package/build/components/BrowseList.d.ts.map +1 -1
  100. package/build/components/BrowseList.js +57 -47
  101. package/build/components/BrowseList.js.map +1 -1
  102. package/build/components/BundleDetail.d.ts +2 -1
  103. package/build/components/BundleDetail.d.ts.map +1 -1
  104. package/build/components/BundleDetail.js +3 -2
  105. package/build/components/BundleDetail.js.map +1 -1
  106. package/build/components/DiffView.d.ts +0 -2
  107. package/build/components/DiffView.d.ts.map +1 -1
  108. package/build/components/DiffView.js +11 -5
  109. package/build/components/DiffView.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/ListActionBar.d.ts +3 -1
  118. package/build/components/ListActionBar.d.ts.map +1 -1
  119. package/build/components/ListActionBar.js +4 -4
  120. package/build/components/ListActionBar.js.map +1 -1
  121. package/build/components/ListBrowseList.d.ts +3 -1
  122. package/build/components/ListBrowseList.d.ts.map +1 -1
  123. package/build/components/ListBrowseList.js +5 -3
  124. package/build/components/ListBrowseList.js.map +1 -1
  125. package/build/components/ListExpandedRow.d.ts +4 -2
  126. package/build/components/ListExpandedRow.d.ts.map +1 -1
  127. package/build/components/ListExpandedRow.js +4 -4
  128. package/build/components/ListExpandedRow.js.map +1 -1
  129. package/build/components/OrphanListItem.d.ts +15 -0
  130. package/build/components/OrphanListItem.d.ts.map +1 -0
  131. package/build/components/OrphanListItem.js +6 -0
  132. package/build/components/OrphanListItem.js.map +1 -0
  133. package/build/components/SkippedAssetSection.d.ts +35 -0
  134. package/build/components/SkippedAssetSection.d.ts.map +1 -0
  135. package/build/components/SkippedAssetSection.js +15 -0
  136. package/build/components/SkippedAssetSection.js.map +1 -0
  137. package/build/components/StatusBadge.d.ts +1 -1
  138. package/build/components/StatusBadge.d.ts.map +1 -1
  139. package/build/components/StatusBadge.js +4 -0
  140. package/build/components/StatusBadge.js.map +1 -1
  141. package/build/components/SyncAllInSync.d.ts +14 -0
  142. package/build/components/SyncAllInSync.d.ts.map +1 -0
  143. package/build/components/SyncAllInSync.js +10 -0
  144. package/build/components/SyncAllInSync.js.map +1 -0
  145. package/build/components/SyncDriftedList.d.ts +24 -0
  146. package/build/components/SyncDriftedList.d.ts.map +1 -0
  147. package/build/components/SyncDriftedList.js +17 -0
  148. package/build/components/SyncDriftedList.js.map +1 -0
  149. package/build/components/SyncNoAssets.d.ts +12 -0
  150. package/build/components/SyncNoAssets.d.ts.map +1 -0
  151. package/build/components/SyncNoAssets.js +9 -0
  152. package/build/components/SyncNoAssets.js.map +1 -0
  153. package/build/components/index.d.ts +9 -2
  154. package/build/components/index.d.ts.map +1 -1
  155. package/build/components/index.js +9 -2
  156. package/build/components/index.js.map +1 -1
  157. package/build/hooks/useBrowseState.d.ts +21 -1
  158. package/build/hooks/useBrowseState.d.ts.map +1 -1
  159. package/build/hooks/useBrowseState.js +71 -12
  160. package/build/hooks/useBrowseState.js.map +1 -1
  161. package/build/hooks/useInitState.d.ts +37 -0
  162. package/build/hooks/useInitState.d.ts.map +1 -1
  163. package/build/hooks/useInitState.js +286 -184
  164. package/build/hooks/useInitState.js.map +1 -1
  165. package/build/hooks/useListActions.d.ts +2 -1
  166. package/build/hooks/useListActions.d.ts.map +1 -1
  167. package/build/hooks/useListActions.js +23 -19
  168. package/build/hooks/useListActions.js.map +1 -1
  169. package/build/hooks/useListState.d.ts +4 -0
  170. package/build/hooks/useListState.d.ts.map +1 -1
  171. package/build/hooks/useListState.js +3 -0
  172. package/build/hooks/useListState.js.map +1 -1
  173. package/build/hooks/usePruneState.d.ts +76 -0
  174. package/build/hooks/usePruneState.d.ts.map +1 -0
  175. package/build/hooks/usePruneState.js +252 -0
  176. package/build/hooks/usePruneState.js.map +1 -0
  177. package/build/hooks/usePublishState.d.ts +33 -1
  178. package/build/hooks/usePublishState.d.ts.map +1 -1
  179. package/build/hooks/usePublishState.js +258 -12
  180. package/build/hooks/usePublishState.js.map +1 -1
  181. package/build/hooks/useSetupState.d.ts +2 -4
  182. package/build/hooks/useSetupState.d.ts.map +1 -1
  183. package/build/hooks/useSetupState.js +40 -101
  184. package/build/hooks/useSetupState.js.map +1 -1
  185. package/build/hooks/useUninstallState.d.ts.map +1 -1
  186. package/build/hooks/useUninstallState.js +9 -2
  187. package/build/hooks/useUninstallState.js.map +1 -1
  188. package/build/lib/adapter.d.ts +21 -0
  189. package/build/lib/adapter.d.ts.map +1 -1
  190. package/build/lib/adapter.js +59 -1
  191. package/build/lib/adapter.js.map +1 -1
  192. package/build/lib/checksum.d.ts +34 -0
  193. package/build/lib/checksum.d.ts.map +1 -1
  194. package/build/lib/checksum.js +85 -0
  195. package/build/lib/checksum.js.map +1 -1
  196. package/build/lib/config.d.ts +37 -20
  197. package/build/lib/config.d.ts.map +1 -1
  198. package/build/lib/config.js +99 -51
  199. package/build/lib/config.js.map +1 -1
  200. package/build/lib/detector.d.ts +2 -11
  201. package/build/lib/detector.d.ts.map +1 -1
  202. package/build/lib/detector.js +2 -64
  203. package/build/lib/detector.js.map +1 -1
  204. package/build/lib/diagnostics.d.ts +7 -0
  205. package/build/lib/diagnostics.d.ts.map +1 -1
  206. package/build/lib/diagnostics.js +54 -34
  207. package/build/lib/diagnostics.js.map +1 -1
  208. package/build/lib/diff-command.d.ts +40 -0
  209. package/build/lib/diff-command.d.ts.map +1 -0
  210. package/build/lib/diff-command.js +145 -0
  211. package/build/lib/diff-command.js.map +1 -0
  212. package/build/lib/diff.d.ts +7 -0
  213. package/build/lib/diff.d.ts.map +1 -1
  214. package/build/lib/diff.js +15 -10
  215. package/build/lib/diff.js.map +1 -1
  216. package/build/lib/github.d.ts +27 -0
  217. package/build/lib/github.d.ts.map +1 -1
  218. package/build/lib/github.js +35 -0
  219. package/build/lib/github.js.map +1 -1
  220. package/build/lib/gitignore.d.ts +17 -0
  221. package/build/lib/gitignore.d.ts.map +1 -1
  222. package/build/lib/gitignore.js +17 -1
  223. package/build/lib/gitignore.js.map +1 -1
  224. package/build/lib/init.d.ts +22 -0
  225. package/build/lib/init.d.ts.map +1 -1
  226. package/build/lib/init.js +163 -18
  227. package/build/lib/init.js.map +1 -1
  228. package/build/lib/installer.d.ts +1 -0
  229. package/build/lib/installer.d.ts.map +1 -1
  230. package/build/lib/installer.js +6 -7
  231. package/build/lib/installer.js.map +1 -1
  232. package/build/lib/lockfile.d.ts +19 -17
  233. package/build/lib/lockfile.d.ts.map +1 -1
  234. package/build/lib/lockfile.js +42 -63
  235. package/build/lib/lockfile.js.map +1 -1
  236. package/build/lib/publisher.d.ts +6 -12
  237. package/build/lib/publisher.d.ts.map +1 -1
  238. package/build/lib/publisher.js +17 -51
  239. package/build/lib/publisher.js.map +1 -1
  240. package/build/lib/registry.d.ts +20 -5
  241. package/build/lib/registry.d.ts.map +1 -1
  242. package/build/lib/registry.js +41 -30
  243. package/build/lib/registry.js.map +1 -1
  244. package/build/lib/schemas/config.d.ts +24 -0
  245. package/build/lib/schemas/config.d.ts.map +1 -1
  246. package/build/lib/schemas/config.js +9 -0
  247. package/build/lib/schemas/config.js.map +1 -1
  248. package/build/lib/schemas/index.d.ts +1 -1
  249. package/build/lib/schemas/index.d.ts.map +1 -1
  250. package/build/lib/schemas/index.js +1 -1
  251. package/build/lib/schemas/index.js.map +1 -1
  252. package/build/lib/schemas/lockfile.d.ts +16 -2
  253. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  254. package/build/lib/schemas/lockfile.js +6 -1
  255. package/build/lib/schemas/lockfile.js.map +1 -1
  256. package/build/lib/schemas/manifest.d.ts +1 -1
  257. package/build/lib/schemas/manifest.d.ts.map +1 -1
  258. package/build/lib/schemas/manifest.js +7 -2
  259. package/build/lib/schemas/manifest.js.map +1 -1
  260. package/build/lib/schemas/registry.d.ts +2 -4
  261. package/build/lib/schemas/registry.d.ts.map +1 -1
  262. package/build/lib/schemas/registry.js +1 -1
  263. package/build/lib/schemas/registry.js.map +1 -1
  264. package/build/lib/search.d.ts +15 -1
  265. package/build/lib/search.d.ts.map +1 -1
  266. package/build/lib/search.js +65 -65
  267. package/build/lib/search.js.map +1 -1
  268. package/build/lib/setup.d.ts +28 -0
  269. package/build/lib/setup.d.ts.map +1 -0
  270. package/build/lib/setup.js +98 -0
  271. package/build/lib/setup.js.map +1 -0
  272. package/build/lib/sync.d.ts +109 -0
  273. package/build/lib/sync.d.ts.map +1 -0
  274. package/build/lib/sync.js +217 -0
  275. package/build/lib/sync.js.map +1 -0
  276. package/build/lib/tool-resolver.d.ts +12 -0
  277. package/build/lib/tool-resolver.d.ts.map +1 -1
  278. package/build/lib/tool-resolver.js +23 -0
  279. package/build/lib/tool-resolver.js.map +1 -1
  280. package/build/lib/updater.d.ts +7 -4
  281. package/build/lib/updater.d.ts.map +1 -1
  282. package/build/lib/updater.js +11 -8
  283. package/build/lib/updater.js.map +1 -1
  284. package/build/lib/version.js +1 -1
  285. package/build/lib/version.js.map +1 -1
  286. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ListExpandedRow.d.ts","sourceRoot":"","sources":["../../src/components/ListExpandedRow.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAKjE;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,IAAI,GAAG,MAAM,GACvB,MAAM,CAgBR;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,UAAU,oBAAoB;IAC5B,8CAA8C;IAC9C,KAAK,EAAE,cAAc,CAAC;IACtB,2DAA2D;IAC3D,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,+DAA+D;IAC/D,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,KAAK,EACL,aAAa,EACb,SAAS,EACT,aAAa,GACd,EAAE,oBAAoB,2CA+EtB"}
1
+ {"version":3,"file":"ListExpandedRow.d.ts","sourceRoot":"","sources":["../../src/components/ListExpandedRow.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAKjE;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAgB9G;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,UAAU,oBAAoB;IAC5B,8CAA8C;IAC9C,KAAK,EAAE,cAAc,CAAC;IACtB,wDAAwD;IACxD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,+DAA+D;IAC/D,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,KAAK,EACL,MAAM,EACN,aAAa,EACb,SAAS,EACT,aAAa,GACd,EAAE,oBAAoB,2CA2EtB"}
@@ -6,7 +6,7 @@ import Link from './Link.js';
6
6
  * Compute the number of lines the expanded row will consume for viewport calculations.
7
7
  * This accounts for the base lines, variable file count, pinned/frozen indicators, and readme URL.
8
8
  */
9
- export function computeExpandedLines(asset, readmeUrl) {
9
+ export function computeExpandedLines(asset, readmeUrl, frozen) {
10
10
  let lines = LIST_EXPANDED_BASE_LINES;
11
11
  // Each installed file adds a line
12
12
  lines += asset.files.length;
@@ -14,7 +14,7 @@ export function computeExpandedLines(asset, readmeUrl) {
14
14
  if (asset.pinnedVersion)
15
15
  lines += 1;
16
16
  // Frozen indicator adds a line
17
- if (asset.frozen)
17
+ if (frozen)
18
18
  lines += 1;
19
19
  // Readme URL: 1 for marginTop + 1 for the URL line
20
20
  if (readmeUrl)
@@ -38,9 +38,9 @@ export function computeExpandedLines(asset, readmeUrl) {
38
38
  * Pinned, frozen, and readme URL lines are added dynamically.
39
39
  */
40
40
  export const LIST_EXPANDED_BASE_LINES = 6;
41
- export default function ListExpandedRow({ asset, latestVersion, readmeUrl, terminalWidth, }) {
41
+ export default function ListExpandedRow({ asset, frozen, latestVersion, readmeUrl, terminalWidth, }) {
42
42
  const separatorWidth = Math.max(20, terminalWidth - 10);
43
43
  const isOutdated = latestVersion !== undefined && latestVersion !== asset.version;
44
- return (_jsxs(Box, { flexDirection: 'column', paddingLeft: 4, children: [_jsx(Text, { dimColor: true, children: '─'.repeat(separatorWidth) }), _jsx(Text, { wrap: 'truncate', children: asset.description ?? '' }), _jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { dimColor: true, children: ["Files (", asset.files.length, "):"] }), asset.files.map((f) => (_jsxs(Text, { children: [' ', _jsx(Text, { color: 'cyan', children: f.sourcePath })] }, f.sourcePath)))] }), asset.pinnedVersion && (_jsxs(Text, { children: [_jsx(Text, { children: '📌 Pinned' }), _jsxs(Text, { dimColor: true, children: [" to ", asset.pinnedVersion] })] })), asset.frozen && (_jsxs(Text, { children: [_jsx(Text, { children: '🧊 Frozen' }), _jsx(Text, { dimColor: true, children: " \u2014 sync and update will not overwrite" })] })), _jsxs(Box, { gap: 2, children: [_jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "Installed: " }), _jsxs(Text, { children: ["v", asset.version] })] }), isOutdated && (_jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "Latest: " }), _jsxs(Text, { color: 'yellow', children: ["v", latestVersion] })] })), latestVersion !== undefined && !isOutdated && (_jsx(Text, { color: 'green', children: '✓ up to date' }))] }), _jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "Installed: " }), _jsx(Text, { children: formatDate(asset.installedAt) }), asset.updatedAt && (_jsxs(Text, { dimColor: true, children: [" (updated ", formatDate(asset.updatedAt), ")"] }))] }), readmeUrl && (_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { dimColor: true, children: "README: " }), _jsx(Text, { color: 'cyan', children: _jsx(Link, { url: readmeUrl, children: "view on GitHub" }) })] })), _jsx(Text, { dimColor: true, children: '─'.repeat(separatorWidth) })] }));
44
+ return (_jsxs(Box, { flexDirection: 'column', paddingLeft: 4, children: [_jsx(Text, { dimColor: true, children: '─'.repeat(separatorWidth) }), _jsx(Text, { wrap: 'truncate', children: asset.description ?? '' }), _jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { dimColor: true, children: ["Files (", asset.files.length, "):"] }), asset.files.map((f) => (_jsxs(Text, { children: [' ', _jsx(Text, { color: 'cyan', children: f.sourcePath })] }, f.sourcePath)))] }), asset.pinnedVersion && (_jsxs(Text, { children: [_jsx(Text, { children: '📌 Pinned' }), _jsxs(Text, { dimColor: true, children: [" to ", asset.pinnedVersion] })] })), frozen && (_jsxs(Text, { children: [_jsx(Text, { children: '🧊 Frozen' }), _jsx(Text, { dimColor: true, children: " \u2014 sync and update will not overwrite" })] })), _jsxs(Box, { gap: 2, children: [_jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "Installed: " }), _jsxs(Text, { children: ["v", asset.version] })] }), isOutdated && (_jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "Latest: " }), _jsxs(Text, { color: 'yellow', children: ["v", latestVersion] })] })), latestVersion !== undefined && !isOutdated && _jsx(Text, { color: 'green', children: '✓ up to date' })] }), _jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "Installed: " }), _jsx(Text, { children: formatDate(asset.installedAt) }), asset.updatedAt && _jsxs(Text, { dimColor: true, children: [" (updated ", formatDate(asset.updatedAt), ")"] })] }), readmeUrl && (_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { dimColor: true, children: "README: " }), _jsx(Text, { color: 'cyan', children: _jsx(Link, { url: readmeUrl, children: "view on GitHub" }) })] })), _jsx(Text, { dimColor: true, children: '─'.repeat(separatorWidth) })] }));
45
45
  }
46
46
  //# sourceMappingURL=ListExpandedRow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListExpandedRow.js","sourceRoot":"","sources":["../../src/components/ListExpandedRow.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ListExpandedRow.js","sourceRoot":"","sources":["../../src/components/ListExpandedRow.tsx"],"names":[],"mappings":"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"}
@@ -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,35 @@
1
+ interface SkippedAssetItem {
2
+ /** Currently installed version */
3
+ installedVersion: string;
4
+ /** Latest available version */
5
+ latestVersion: string;
6
+ /** Asset name */
7
+ name: string;
8
+ /** Asset type (e.g., "skill", "rule") */
9
+ type: string;
10
+ }
11
+ interface SkippedAssetSectionProps {
12
+ /** Badge text for each item (e.g., "frozen", "pinned") */
13
+ badgeText: string;
14
+ /** Ink color for the section header and badge */
15
+ color: string;
16
+ /** Hint message shown in parentheses after the count (e.g., "use atk thaw to unfreeze") */
17
+ hint: string;
18
+ /** Icon for the section header (e.g., "❄", "⊘") */
19
+ icon: string;
20
+ /** The skipped assets to render */
21
+ items: SkippedAssetItem[];
22
+ /** Label text in the section header (e.g., "frozen", "pinned") */
23
+ label: string;
24
+ /** When true, render a top margin spacer via marginTop */
25
+ showSpacer?: boolean;
26
+ }
27
+ /**
28
+ * Renders a section of skipped assets with a colored header showing count and hint,
29
+ * followed by dimmed version lines with a badge for each item.
30
+ *
31
+ * Used for frozen and pinned asset sections in the update command output.
32
+ */
33
+ export default function SkippedAssetSection({ badgeText, color, hint, icon, items, label, showSpacer, }: SkippedAssetSectionProps): import("react/jsx-runtime").JSX.Element | null;
34
+ export {};
35
+ //# sourceMappingURL=SkippedAssetSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkippedAssetSection.d.ts","sourceRoot":"","sources":["../../src/components/SkippedAssetSection.tsx"],"names":[],"mappings":"AAIA,UAAU,gBAAgB;IACxB,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,wBAAwB;IAChC,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,2FAA2F;IAC3F,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,SAAS,EACT,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,UAAkB,GACnB,EAAE,wBAAwB,kDAqB1B"}
@@ -0,0 +1,15 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import AssetVersionLine from './AssetVersionLine.js';
4
+ /**
5
+ * Renders a section of skipped assets with a colored header showing count and hint,
6
+ * followed by dimmed version lines with a badge for each item.
7
+ *
8
+ * Used for frozen and pinned asset sections in the update command output.
9
+ */
10
+ export default function SkippedAssetSection({ badgeText, color, hint, icon, items, label, showSpacer = false, }) {
11
+ if (items.length === 0)
12
+ return null;
13
+ return (_jsxs(Box, { flexDirection: 'column', marginTop: showSpacer ? 1 : 0, children: [_jsxs(Text, { color: color, children: [icon, " ", items.length, " ", label, " asset", items.length !== 1 ? 's' : '', " skipped (", hint, "):"] }), items.map((item) => (_jsx(AssetVersionLine, { badge: { color, text: badgeText }, dimVersions: true, installedVersion: item.installedVersion, latestVersion: item.latestVersion, name: item.name, type: item.type }, `${item.type}/${item.name}`)))] }));
14
+ }
15
+ //# sourceMappingURL=SkippedAssetSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkippedAssetSection.js","sourceRoot":"","sources":["../../src/components/SkippedAssetSection.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AA8BrD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,SAAS,EACT,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,UAAU,GAAG,KAAK,GACO;IACzB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aACvD,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,aACf,IAAI,OAAG,KAAK,CAAC,MAAM,OAAG,KAAK,YAAQ,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAY,IAAI,UAC5E,EACN,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,KAAC,gBAAgB,IACf,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,WAAW,QACX,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAEvC,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,IAHV,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAIhC,CACH,CAAC,IACE,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,EACF,OAAO,GACP,gBAAgB,GAChB,iBAAiB,GACjB,QAAQ,GACR,WAAW,GACX,SAAS,GACT,eAAe,GACf,UAAU,GACV,IAAI,GACJ,SAAS,GACT,WAAW,CAAC;CACjB,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,GAcP;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,8 @@
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 AssetVersionLine } from './AssetVersionLine.js';
4
+ export { default as BrowseExpandedBundle, type BundleDeps, bundleExpandedLines, resolveBundleDependencies, } from './BrowseExpandedBundle.js';
5
+ export { default as BrowseExpandedRow, computeBrowseExpandedLines } from './BrowseExpandedRow.js';
5
6
  export { default as BrowseList } from './BrowseList.js';
6
7
  export { default as BundleDetail } from './BundleDetail.js';
7
8
  export { default as DependencyTree } from './DependencyTree.js';
@@ -10,6 +11,7 @@ export { default as DiffView, type FileDiffEntry } from './DiffView.js';
10
11
  export { default as DryRunBanner } from './DryRunBanner.js';
11
12
  export { default as Field } from './Field.js';
12
13
  export { default as FilterBar } from './FilterBar.js';
14
+ export { default as FrozenSkippedHint } from './FrozenSkippedHint.js';
13
15
  export { ASCII_ART, GRADIENT, default as Header } from './Header.js';
14
16
  export { default as HelpBar } from './HelpBar.js';
15
17
  export { default as InitSuccess } from './InitSuccess.js';
@@ -20,8 +22,13 @@ export { default as ListActionBar } from './ListActionBar.js';
20
22
  export { default as ListBrowseList } from './ListBrowseList.js';
21
23
  export { computeExpandedLines, LIST_EXPANDED_BASE_LINES, default as ListExpandedRow } from './ListExpandedRow.js';
22
24
  export { default as ListHelpBar } from './ListHelpBar.js';
25
+ export { default as OrphanListItem } from './OrphanListItem.js';
23
26
  export { default as PromptField } from './PromptField.js';
24
27
  export { default as SectionDivider } from './SectionDivider.js';
28
+ export { default as SkippedAssetSection } from './SkippedAssetSection.js';
25
29
  export { default as Spinner } from './Spinner.js';
26
30
  export { CheckIcon, FileStatusIcon } from './StatusBadge.js';
31
+ export { default as SyncAllInSync } from './SyncAllInSync.js';
32
+ export { default as SyncDriftedList } from './SyncDriftedList.js';
33
+ export { default as SyncNoAssets } from './SyncNoAssets.js';
27
34
  //# 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,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,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"}
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,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,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,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,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,8 @@
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 AssetVersionLine } from './AssetVersionLine.js';
4
+ export { default as BrowseExpandedBundle, bundleExpandedLines, resolveBundleDependencies, } from './BrowseExpandedBundle.js';
5
+ export { default as BrowseExpandedRow, computeBrowseExpandedLines } from './BrowseExpandedRow.js';
5
6
  export { default as BrowseList } from './BrowseList.js';
6
7
  export { default as BundleDetail } from './BundleDetail.js';
7
8
  export { default as DependencyTree } from './DependencyTree.js';
@@ -10,6 +11,7 @@ export { default as DiffView } from './DiffView.js';
10
11
  export { default as DryRunBanner } from './DryRunBanner.js';
11
12
  export { default as Field } from './Field.js';
12
13
  export { default as FilterBar } from './FilterBar.js';
14
+ export { default as FrozenSkippedHint } from './FrozenSkippedHint.js';
13
15
  export { ASCII_ART, GRADIENT, default as Header } from './Header.js';
14
16
  export { default as HelpBar } from './HelpBar.js';
15
17
  export { default as InitSuccess } from './InitSuccess.js';
@@ -20,8 +22,13 @@ export { default as ListActionBar } from './ListActionBar.js';
20
22
  export { default as ListBrowseList } from './ListBrowseList.js';
21
23
  export { computeExpandedLines, LIST_EXPANDED_BASE_LINES, default as ListExpandedRow } from './ListExpandedRow.js';
22
24
  export { default as ListHelpBar } from './ListHelpBar.js';
25
+ export { default as OrphanListItem } from './OrphanListItem.js';
23
26
  export { default as PromptField } from './PromptField.js';
24
27
  export { default as SectionDivider } from './SectionDivider.js';
28
+ export { default as SkippedAssetSection } from './SkippedAssetSection.js';
25
29
  export { default as Spinner } from './Spinner.js';
26
30
  export { CheckIcon, FileStatusIcon } from './StatusBadge.js';
31
+ export { default as SyncAllInSync } from './SyncAllInSync.js';
32
+ export { default as SyncDriftedList } from './SyncDriftedList.js';
33
+ export { default as SyncNoAssets } from './SyncNoAssets.js';
27
34
  //# 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,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,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"}
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,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,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,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,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
  } | {
@@ -76,6 +84,7 @@ export type BrowsingMode = {
76
84
  export type ConfirmingInstallMode = {
77
85
  alreadyInstalled: boolean;
78
86
  assetName: string;
87
+ assetOrg?: string;
79
88
  assetVersion: string;
80
89
  bundleAssetCount?: number;
81
90
  bundleName?: string;
@@ -88,6 +97,7 @@ export type ErrorState = {
88
97
  };
89
98
  export type InstallingMode = {
90
99
  assetName: string;
100
+ assetOrg?: string;
91
101
  assetVersion: string;
92
102
  bundleAssetCount?: number;
93
103
  bundleName?: string;
@@ -97,6 +107,7 @@ export type InstallingMode = {
97
107
  };
98
108
  export type InstallResultMode = {
99
109
  assetName: string;
110
+ assetOrg?: string;
100
111
  bundleAssetCount?: number;
101
112
  bundleName?: string;
102
113
  itemKind: 'asset' | 'bundle';
@@ -122,10 +133,18 @@ export type ReadyState = {
122
133
  orgOnly: boolean;
123
134
  registry: Registry;
124
135
  scrollOffset: number;
136
+ sortDirection: BrowseSortDirection;
137
+ sortField: BrowseSortField;
125
138
  status: 'ready';
139
+ toolWarning?: string;
126
140
  typeFilter: AssetTypeFilter;
127
141
  viewportHeight: number;
128
142
  };
143
+ /**
144
+ * Mirrors Ink's internal key type from ink ^6.0.0.
145
+ * When upgrading the ink dependency, verify this type still matches
146
+ * the key object shape passed to useInput callbacks in the Ink source.
147
+ */
129
148
  type InkKey = {
130
149
  backspace: boolean;
131
150
  ctrl: boolean;
@@ -139,12 +158,13 @@ type InkKey = {
139
158
  };
140
159
  export declare function browseReducer(state: BrowseState, action: BrowseAction): BrowseState;
141
160
  export declare function computeFilteredItems(allAssets: RegistryAsset[], allBundles: RegistryBundle[], typeFilter: AssetTypeFilter, filterText: string, orgOnly?: boolean, org?: string): BrowseItem[];
161
+ export declare function computeSortedItems(items: BrowseItem[], sortField: BrowseSortField, sortDirection: BrowseSortDirection): BrowseItem[];
142
162
  /**
143
163
  * Pure function mapping keyboard input to a browse action (or quit signal).
144
164
  * Returns null when the input should be ignored.
145
165
  */
146
166
  export declare function mapBrowseInput(input: string, key: InkKey, state: ReadyState): BrowseInputResult;
147
167
  export declare function useBrowseInput(state: BrowseState, dispatch: React.Dispatch<BrowseAction>, onQuit: () => void): void;
148
- export declare function useBrowseState(initialFilterText: string, initialTypeFilter: AssetTypeFilter): readonly [BrowseState, import("react").ActionDispatch<[action: BrowseAction]>, (registry: Registry, lockfile: Lockfile, org?: string) => void];
168
+ export declare function useBrowseState(initialFilterText: string, initialTypeFilter: AssetTypeFilter): readonly [BrowseState, import("react").ActionDispatch<[action: BrowseAction]>, (registry: Registry, lockfile: Lockfile, org?: string, toolWarning?: string) => void];
149
169
  export {};
150
170
  //# 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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"}