@detergent-software/atk 0.12.1-dev.2

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 (314) hide show
  1. package/build/cli.d.ts +3 -0
  2. package/build/cli.d.ts.map +1 -0
  3. package/build/cli.js +35 -0
  4. package/build/cli.js.map +1 -0
  5. package/build/commands/_app.d.ts +3 -0
  6. package/build/commands/_app.d.ts.map +1 -0
  7. package/build/commands/_app.js +12 -0
  8. package/build/commands/_app.js.map +1 -0
  9. package/build/commands/audit.d.ts +12 -0
  10. package/build/commands/audit.d.ts.map +1 -0
  11. package/build/commands/audit.js +78 -0
  12. package/build/commands/audit.js.map +1 -0
  13. package/build/commands/browse.d.ts +15 -0
  14. package/build/commands/browse.d.ts.map +1 -0
  15. package/build/commands/browse.js +284 -0
  16. package/build/commands/browse.js.map +1 -0
  17. package/build/commands/cache.d.ts +13 -0
  18. package/build/commands/cache.d.ts.map +1 -0
  19. package/build/commands/cache.js +67 -0
  20. package/build/commands/cache.js.map +1 -0
  21. package/build/commands/config.d.ts +13 -0
  22. package/build/commands/config.d.ts.map +1 -0
  23. package/build/commands/config.js +62 -0
  24. package/build/commands/config.js.map +1 -0
  25. package/build/commands/diff.d.ts +16 -0
  26. package/build/commands/diff.d.ts.map +1 -0
  27. package/build/commands/diff.js +158 -0
  28. package/build/commands/diff.js.map +1 -0
  29. package/build/commands/doctor.d.ts +11 -0
  30. package/build/commands/doctor.d.ts.map +1 -0
  31. package/build/commands/doctor.js +30 -0
  32. package/build/commands/doctor.js.map +1 -0
  33. package/build/commands/index.d.ts +3 -0
  34. package/build/commands/index.d.ts.map +1 -0
  35. package/build/commands/index.js +30 -0
  36. package/build/commands/index.js.map +1 -0
  37. package/build/commands/info.d.ts +25 -0
  38. package/build/commands/info.d.ts.map +1 -0
  39. package/build/commands/info.js +198 -0
  40. package/build/commands/info.js.map +1 -0
  41. package/build/commands/init.d.ts +17 -0
  42. package/build/commands/init.d.ts.map +1 -0
  43. package/build/commands/init.js +504 -0
  44. package/build/commands/init.js.map +1 -0
  45. package/build/commands/install.d.ts +18 -0
  46. package/build/commands/install.d.ts.map +1 -0
  47. package/build/commands/install.js +186 -0
  48. package/build/commands/install.js.map +1 -0
  49. package/build/commands/list.d.ts +20 -0
  50. package/build/commands/list.d.ts.map +1 -0
  51. package/build/commands/list.js +61 -0
  52. package/build/commands/list.js.map +1 -0
  53. package/build/commands/outdated.d.ts +21 -0
  54. package/build/commands/outdated.d.ts.map +1 -0
  55. package/build/commands/outdated.js +81 -0
  56. package/build/commands/outdated.js.map +1 -0
  57. package/build/commands/pin.d.ts +22 -0
  58. package/build/commands/pin.d.ts.map +1 -0
  59. package/build/commands/pin.js +94 -0
  60. package/build/commands/pin.js.map +1 -0
  61. package/build/commands/prune.d.ts +14 -0
  62. package/build/commands/prune.d.ts.map +1 -0
  63. package/build/commands/prune.js +203 -0
  64. package/build/commands/prune.js.map +1 -0
  65. package/build/commands/publish.d.ts +14 -0
  66. package/build/commands/publish.d.ts.map +1 -0
  67. package/build/commands/publish.js +345 -0
  68. package/build/commands/publish.js.map +1 -0
  69. package/build/commands/search.d.ts +16 -0
  70. package/build/commands/search.d.ts.map +1 -0
  71. package/build/commands/search.js +80 -0
  72. package/build/commands/search.js.map +1 -0
  73. package/build/commands/sync.d.ts +15 -0
  74. package/build/commands/sync.d.ts.map +1 -0
  75. package/build/commands/sync.js +209 -0
  76. package/build/commands/sync.js.map +1 -0
  77. package/build/commands/uninstall.d.ts +18 -0
  78. package/build/commands/uninstall.d.ts.map +1 -0
  79. package/build/commands/uninstall.js +304 -0
  80. package/build/commands/uninstall.js.map +1 -0
  81. package/build/commands/unpin.d.ts +22 -0
  82. package/build/commands/unpin.d.ts.map +1 -0
  83. package/build/commands/unpin.js +79 -0
  84. package/build/commands/unpin.js.map +1 -0
  85. package/build/commands/update.d.ts +17 -0
  86. package/build/commands/update.d.ts.map +1 -0
  87. package/build/commands/update.js +151 -0
  88. package/build/commands/update.js.map +1 -0
  89. package/build/commands/why.d.ts +23 -0
  90. package/build/commands/why.d.ts.map +1 -0
  91. package/build/commands/why.js +108 -0
  92. package/build/commands/why.js.map +1 -0
  93. package/build/components/AssetDetail.d.ts +32 -0
  94. package/build/components/AssetDetail.d.ts.map +1 -0
  95. package/build/components/AssetDetail.js +45 -0
  96. package/build/components/AssetDetail.js.map +1 -0
  97. package/build/components/AssetTable.d.ts +25 -0
  98. package/build/components/AssetTable.d.ts.map +1 -0
  99. package/build/components/AssetTable.js +96 -0
  100. package/build/components/AssetTable.js.map +1 -0
  101. package/build/components/BrowseExpandedBundle.d.ts +26 -0
  102. package/build/components/BrowseExpandedBundle.d.ts.map +1 -0
  103. package/build/components/BrowseExpandedBundle.js +59 -0
  104. package/build/components/BrowseExpandedBundle.js.map +1 -0
  105. package/build/components/BrowseExpandedRow.d.ts +14 -0
  106. package/build/components/BrowseExpandedRow.d.ts.map +1 -0
  107. package/build/components/BrowseExpandedRow.js +9 -0
  108. package/build/components/BrowseExpandedRow.js.map +1 -0
  109. package/build/components/BrowseList.d.ts +26 -0
  110. package/build/components/BrowseList.d.ts.map +1 -0
  111. package/build/components/BrowseList.js +101 -0
  112. package/build/components/BrowseList.js.map +1 -0
  113. package/build/components/BundleDetail.d.ts +7 -0
  114. package/build/components/BundleDetail.d.ts.map +1 -0
  115. package/build/components/BundleDetail.js +12 -0
  116. package/build/components/BundleDetail.js.map +1 -0
  117. package/build/components/DependencyTree.d.ts +19 -0
  118. package/build/components/DependencyTree.d.ts.map +1 -0
  119. package/build/components/DependencyTree.js +21 -0
  120. package/build/components/DependencyTree.js.map +1 -0
  121. package/build/components/DiagnosticList.d.ts +19 -0
  122. package/build/components/DiagnosticList.d.ts.map +1 -0
  123. package/build/components/DiagnosticList.js +17 -0
  124. package/build/components/DiagnosticList.js.map +1 -0
  125. package/build/components/DiffView.d.ts +30 -0
  126. package/build/components/DiffView.d.ts.map +1 -0
  127. package/build/components/DiffView.js +32 -0
  128. package/build/components/DiffView.js.map +1 -0
  129. package/build/components/DryRunBanner.d.ts +11 -0
  130. package/build/components/DryRunBanner.d.ts.map +1 -0
  131. package/build/components/DryRunBanner.js +6 -0
  132. package/build/components/DryRunBanner.js.map +1 -0
  133. package/build/components/Field.d.ts +12 -0
  134. package/build/components/Field.d.ts.map +1 -0
  135. package/build/components/Field.js +9 -0
  136. package/build/components/Field.js.map +1 -0
  137. package/build/components/FilterBar.d.ts +18 -0
  138. package/build/components/FilterBar.d.ts.map +1 -0
  139. package/build/components/FilterBar.js +21 -0
  140. package/build/components/FilterBar.js.map +1 -0
  141. package/build/components/Header.d.ts +13 -0
  142. package/build/components/Header.d.ts.map +1 -0
  143. package/build/components/Header.js +20 -0
  144. package/build/components/Header.js.map +1 -0
  145. package/build/components/HelpBar.d.ts +11 -0
  146. package/build/components/HelpBar.d.ts.map +1 -0
  147. package/build/components/HelpBar.js +9 -0
  148. package/build/components/HelpBar.js.map +1 -0
  149. package/build/components/InstallConfirmBar.d.ts +9 -0
  150. package/build/components/InstallConfirmBar.d.ts.map +1 -0
  151. package/build/components/InstallConfirmBar.js +23 -0
  152. package/build/components/InstallConfirmBar.js.map +1 -0
  153. package/build/components/InstallSummary.d.ts +29 -0
  154. package/build/components/InstallSummary.d.ts.map +1 -0
  155. package/build/components/InstallSummary.js +12 -0
  156. package/build/components/InstallSummary.js.map +1 -0
  157. package/build/components/SectionDivider.d.ts +5 -0
  158. package/build/components/SectionDivider.d.ts.map +1 -0
  159. package/build/components/SectionDivider.js +11 -0
  160. package/build/components/SectionDivider.js.map +1 -0
  161. package/build/components/Spinner.d.ts +13 -0
  162. package/build/components/Spinner.d.ts.map +1 -0
  163. package/build/components/Spinner.js +11 -0
  164. package/build/components/Spinner.js.map +1 -0
  165. package/build/components/StatusBadge.d.ts +23 -0
  166. package/build/components/StatusBadge.d.ts.map +1 -0
  167. package/build/components/StatusBadge.js +43 -0
  168. package/build/components/StatusBadge.js.map +1 -0
  169. package/build/components/index.d.ts +20 -0
  170. package/build/components/index.d.ts.map +1 -0
  171. package/build/components/index.js +20 -0
  172. package/build/components/index.js.map +1 -0
  173. package/build/hooks/useBrowseState.d.ts +122 -0
  174. package/build/hooks/useBrowseState.d.ts.map +1 -0
  175. package/build/hooks/useBrowseState.js +315 -0
  176. package/build/hooks/useBrowseState.js.map +1 -0
  177. package/build/hooks/useCommand.d.ts +23 -0
  178. package/build/hooks/useCommand.d.ts.map +1 -0
  179. package/build/hooks/useCommand.js +43 -0
  180. package/build/hooks/useCommand.js.map +1 -0
  181. package/build/lib/adapter.d.ts +40 -0
  182. package/build/lib/adapter.d.ts.map +1 -0
  183. package/build/lib/adapter.js +112 -0
  184. package/build/lib/adapter.js.map +1 -0
  185. package/build/lib/auth.d.ts +31 -0
  186. package/build/lib/auth.d.ts.map +1 -0
  187. package/build/lib/auth.js +101 -0
  188. package/build/lib/auth.js.map +1 -0
  189. package/build/lib/breakpoints.d.ts +3 -0
  190. package/build/lib/breakpoints.d.ts.map +1 -0
  191. package/build/lib/breakpoints.js +8 -0
  192. package/build/lib/breakpoints.js.map +1 -0
  193. package/build/lib/checksum.d.ts +31 -0
  194. package/build/lib/checksum.d.ts.map +1 -0
  195. package/build/lib/checksum.js +78 -0
  196. package/build/lib/checksum.js.map +1 -0
  197. package/build/lib/config.d.ts +42 -0
  198. package/build/lib/config.d.ts.map +1 -0
  199. package/build/lib/config.js +123 -0
  200. package/build/lib/config.js.map +1 -0
  201. package/build/lib/detector.d.ts +35 -0
  202. package/build/lib/detector.d.ts.map +1 -0
  203. package/build/lib/detector.js +125 -0
  204. package/build/lib/detector.js.map +1 -0
  205. package/build/lib/diagnostics.d.ts +10 -0
  206. package/build/lib/diagnostics.d.ts.map +1 -0
  207. package/build/lib/diagnostics.js +195 -0
  208. package/build/lib/diagnostics.js.map +1 -0
  209. package/build/lib/diff.d.ts +34 -0
  210. package/build/lib/diff.d.ts.map +1 -0
  211. package/build/lib/diff.js +78 -0
  212. package/build/lib/diff.js.map +1 -0
  213. package/build/lib/fetch-retry.d.ts +43 -0
  214. package/build/lib/fetch-retry.d.ts.map +1 -0
  215. package/build/lib/fetch-retry.js +137 -0
  216. package/build/lib/fetch-retry.js.map +1 -0
  217. package/build/lib/github.d.ts +57 -0
  218. package/build/lib/github.d.ts.map +1 -0
  219. package/build/lib/github.js +96 -0
  220. package/build/lib/github.js.map +1 -0
  221. package/build/lib/gitignore.d.ts +37 -0
  222. package/build/lib/gitignore.d.ts.map +1 -0
  223. package/build/lib/gitignore.js +142 -0
  224. package/build/lib/gitignore.js.map +1 -0
  225. package/build/lib/init.d.ts +100 -0
  226. package/build/lib/init.d.ts.map +1 -0
  227. package/build/lib/init.js +295 -0
  228. package/build/lib/init.js.map +1 -0
  229. package/build/lib/installer.d.ts +50 -0
  230. package/build/lib/installer.d.ts.map +1 -0
  231. package/build/lib/installer.js +435 -0
  232. package/build/lib/installer.js.map +1 -0
  233. package/build/lib/lockfile.d.ts +170 -0
  234. package/build/lib/lockfile.d.ts.map +1 -0
  235. package/build/lib/lockfile.js +437 -0
  236. package/build/lib/lockfile.js.map +1 -0
  237. package/build/lib/markdown.d.ts +9 -0
  238. package/build/lib/markdown.d.ts.map +1 -0
  239. package/build/lib/markdown.js +67 -0
  240. package/build/lib/markdown.js.map +1 -0
  241. package/build/lib/parse-json.d.ts +34 -0
  242. package/build/lib/parse-json.d.ts.map +1 -0
  243. package/build/lib/parse-json.js +52 -0
  244. package/build/lib/parse-json.js.map +1 -0
  245. package/build/lib/paths.d.ts +28 -0
  246. package/build/lib/paths.d.ts.map +1 -0
  247. package/build/lib/paths.js +68 -0
  248. package/build/lib/paths.js.map +1 -0
  249. package/build/lib/publisher.d.ts +49 -0
  250. package/build/lib/publisher.d.ts.map +1 -0
  251. package/build/lib/publisher.js +388 -0
  252. package/build/lib/publisher.js.map +1 -0
  253. package/build/lib/registry.d.ts +97 -0
  254. package/build/lib/registry.d.ts.map +1 -0
  255. package/build/lib/registry.js +248 -0
  256. package/build/lib/registry.js.map +1 -0
  257. package/build/lib/resolver.d.ts +50 -0
  258. package/build/lib/resolver.d.ts.map +1 -0
  259. package/build/lib/resolver.js +110 -0
  260. package/build/lib/resolver.js.map +1 -0
  261. package/build/lib/schemas/adapter.d.ts +33 -0
  262. package/build/lib/schemas/adapter.d.ts.map +1 -0
  263. package/build/lib/schemas/adapter.js +27 -0
  264. package/build/lib/schemas/adapter.js.map +1 -0
  265. package/build/lib/schemas/bundle.d.ts +38 -0
  266. package/build/lib/schemas/bundle.d.ts.map +1 -0
  267. package/build/lib/schemas/bundle.js +19 -0
  268. package/build/lib/schemas/bundle.js.map +1 -0
  269. package/build/lib/schemas/config.d.ts +12 -0
  270. package/build/lib/schemas/config.d.ts.map +1 -0
  271. package/build/lib/schemas/config.js +14 -0
  272. package/build/lib/schemas/config.js.map +1 -0
  273. package/build/lib/schemas/index.d.ts +7 -0
  274. package/build/lib/schemas/index.d.ts.map +1 -0
  275. package/build/lib/schemas/index.js +7 -0
  276. package/build/lib/schemas/index.js.map +1 -0
  277. package/build/lib/schemas/lockfile.d.ts +102 -0
  278. package/build/lib/schemas/lockfile.d.ts.map +1 -0
  279. package/build/lib/schemas/lockfile.js +50 -0
  280. package/build/lib/schemas/lockfile.js.map +1 -0
  281. package/build/lib/schemas/manifest.d.ts +91 -0
  282. package/build/lib/schemas/manifest.d.ts.map +1 -0
  283. package/build/lib/schemas/manifest.js +42 -0
  284. package/build/lib/schemas/manifest.js.map +1 -0
  285. package/build/lib/schemas/registry.d.ts +225 -0
  286. package/build/lib/schemas/registry.d.ts.map +1 -0
  287. package/build/lib/schemas/registry.js +59 -0
  288. package/build/lib/schemas/registry.js.map +1 -0
  289. package/build/lib/search.d.ts +23 -0
  290. package/build/lib/search.d.ts.map +1 -0
  291. package/build/lib/search.js +139 -0
  292. package/build/lib/search.js.map +1 -0
  293. package/build/lib/tool-resolver.d.ts +12 -0
  294. package/build/lib/tool-resolver.d.ts.map +1 -0
  295. package/build/lib/tool-resolver.js +24 -0
  296. package/build/lib/tool-resolver.js.map +1 -0
  297. package/build/lib/uninstaller.d.ts +109 -0
  298. package/build/lib/uninstaller.d.ts.map +1 -0
  299. package/build/lib/uninstaller.js +368 -0
  300. package/build/lib/uninstaller.js.map +1 -0
  301. package/build/lib/updater.d.ts +68 -0
  302. package/build/lib/updater.d.ts.map +1 -0
  303. package/build/lib/updater.js +230 -0
  304. package/build/lib/updater.js.map +1 -0
  305. package/build/lib/version.d.ts +13 -0
  306. package/build/lib/version.d.ts.map +1 -0
  307. package/build/lib/version.js +30 -0
  308. package/build/lib/version.js.map +1 -0
  309. package/build/windows-esm-loader.d.ts +15 -0
  310. package/build/windows-esm-loader.d.ts.map +1 -0
  311. package/build/windows-esm-loader.js +11 -0
  312. package/build/windows-esm-loader.js.map +1 -0
  313. package/package.json +67 -0
  314. package/tool-adapters/claude-code.json +34 -0
@@ -0,0 +1,62 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import { option } from 'pastel';
4
+ import { z } from 'zod';
5
+ import { useCommand } from '../hooks/useCommand.js';
6
+ import { getConfigValue, listConfigEntries, loadConfig, resetConfigValue, saveConfig, setConfigValue, } from '../lib/config.js';
7
+ export const description = 'Manage configuration';
8
+ export const options = z.object({
9
+ reset: z
10
+ .boolean()
11
+ .default(false)
12
+ .describe(option({
13
+ description: 'Reset a key to its default value',
14
+ })),
15
+ });
16
+ export const args = z.tuple([
17
+ z.string().optional().describe('Config key'),
18
+ z.string().optional().describe('Config value (set if provided)'),
19
+ ]);
20
+ export default function Config({ args: [key, value], options: { reset } }) {
21
+ const state = useCommand(async () => {
22
+ const config = await loadConfig();
23
+ if (!key) {
24
+ const entries = listConfigEntries(config);
25
+ return { entries, outcome: 'list' };
26
+ }
27
+ if (reset) {
28
+ const updated = resetConfigValue(config, key);
29
+ await saveConfig(updated);
30
+ return { key, outcome: 'reset' };
31
+ }
32
+ if (value !== undefined) {
33
+ const updated = setConfigValue(config, key, value);
34
+ await saveConfig(updated);
35
+ return { key, outcome: 'set', value };
36
+ }
37
+ const val = getConfigValue(config, key);
38
+ return { key, outcome: 'get', value: val };
39
+ }, [key, reset, value], 'Loading configuration...');
40
+ if (state.status === 'loading') {
41
+ return _jsx(Text, { dimColor: true, children: state.message });
42
+ }
43
+ if (state.status === 'error') {
44
+ return _jsxs(Text, { color: 'red', children: ["Error: ", state.message] });
45
+ }
46
+ const { data } = state;
47
+ if (data.outcome === 'list') {
48
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Text, { bold: true, children: "Configuration:" }), _jsx(Text, { children: " " }), data.entries.map((entry) => (_jsxs(Box, { children: [_jsx(Box, { width: 20, children: _jsx(Text, { bold: true, children: entry.key }) }), _jsx(Text, { color: entry.isDefault ? 'gray' : 'green', children: String(entry.value) }), entry.isDefault && _jsx(Text, { dimColor: true, children: " (default)" })] }, entry.key)))] }));
49
+ }
50
+ if (data.outcome === 'get') {
51
+ if (data.value === undefined) {
52
+ return (_jsxs(Text, { children: [_jsx(Text, { bold: true, children: data.key }), ": ", _jsx(Text, { dimColor: true, children: "(not set)" })] }));
53
+ }
54
+ return (_jsxs(Text, { children: [_jsx(Text, { bold: true, children: data.key }), ": ", _jsx(Text, { color: 'green', children: String(data.value) })] }));
55
+ }
56
+ if (data.outcome === 'set') {
57
+ return (_jsxs(Text, { children: ["Set ", _jsx(Text, { bold: true, children: data.key }), " = ", _jsx(Text, { color: 'green', children: data.value })] }));
58
+ }
59
+ // reset
60
+ return (_jsxs(Text, { children: ["Reset ", _jsx(Text, { bold: true, children: data.key }), " to default"] }));
61
+ }
62
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ export declare const description = "Show changes between installed and latest version";
3
+ export declare const options: z.ZodObject<{
4
+ context: z.ZodDefault<z.ZodNumber>;
5
+ projectRoot: z.ZodOptional<z.ZodString>;
6
+ refresh: z.ZodDefault<z.ZodBoolean>;
7
+ tool: z.ZodOptional<z.ZodString>;
8
+ }, z.core.$strip>;
9
+ export declare const args: z.ZodTuple<[z.ZodString], null>;
10
+ type Props = {
11
+ args: z.infer<typeof args>;
12
+ options: z.infer<typeof options>;
13
+ };
14
+ export default function Diff({ args: [name], options: { context, projectRoot, refresh, tool } }: Props): import("react/jsx-runtime").JSX.Element;
15
+ export {};
16
+ //# sourceMappingURL=diff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/commands/diff.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,eAAO,MAAM,WAAW,sDAAsD,CAAC;AAE/E,eAAO,MAAM,OAAO;;;;;iBAoClB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAA+C,CAAC;AAgBjE,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CA0JrG"}
@@ -0,0 +1,158 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text } from 'ink';
3
+ import { existsSync } from 'node:fs';
4
+ import { readFile } from 'node:fs/promises';
5
+ import { join } from 'node:path';
6
+ import { option } from 'pastel';
7
+ import { z } from 'zod';
8
+ import { DiffView, Spinner } from '../components/index.js';
9
+ import { useCommand } from '../hooks/useCommand.js';
10
+ import { getGitHubToken } from '../lib/auth.js';
11
+ import { loadConfig } from '../lib/config.js';
12
+ import { computeAddedFileDiff, computeRemovedFileDiff, computeUnifiedDiff } from '../lib/diff.js';
13
+ import { fetchFileContent, getEffectiveBranch, listAssetDirectoryFiles } from '../lib/github.js';
14
+ import { findInstalledAsset, readLockfile } from '../lib/lockfile.js';
15
+ import { findProjectRoot } from '../lib/paths.js';
16
+ import { fetchRegistry, findAsset } from '../lib/registry.js';
17
+ import { resolveTool } from '../lib/tool-resolver.js';
18
+ export const description = 'Show changes between installed and latest version';
19
+ export const options = z.object({
20
+ context: z
21
+ .number()
22
+ .default(3)
23
+ .describe(option({
24
+ alias: 'C',
25
+ description: 'Number of context lines around each change',
26
+ })),
27
+ projectRoot: z
28
+ .string()
29
+ .optional()
30
+ .describe(option({
31
+ alias: 'P',
32
+ description: 'Override project root directory',
33
+ })),
34
+ refresh: z
35
+ .boolean()
36
+ .default(false)
37
+ .describe(option({
38
+ description: 'Bypass the registry cache and fetch fresh data',
39
+ })),
40
+ tool: z
41
+ .string()
42
+ .optional()
43
+ .describe(option({
44
+ alias: 'T',
45
+ description: 'Target tool (e.g., claude-code)',
46
+ })),
47
+ });
48
+ export const args = z.tuple([z.string().describe('Asset name')]);
49
+ export default function Diff({ args: [name], options: { context, projectRoot, refresh, tool } }) {
50
+ const state = useCommand(async (progress) => {
51
+ const projectDir = findProjectRoot(projectRoot);
52
+ progress('Loading configuration...');
53
+ const config = await loadConfig();
54
+ const { tool: resolvedTool } = await resolveTool(tool);
55
+ progress('Reading lockfile...');
56
+ const lockfile = await readLockfile(projectDir, resolvedTool);
57
+ const installed = findInstalledAsset(lockfile, name);
58
+ if (!installed) {
59
+ return { name, outcome: 'not-installed' };
60
+ }
61
+ progress('Fetching registry...');
62
+ const registry = await fetchRegistry({ force: refresh });
63
+ const resolved = findAsset(registry, name, installed.type);
64
+ if (!resolved) {
65
+ return { name, outcome: 'not-in-registry' };
66
+ }
67
+ const { asset: registryAsset, version: latestVersion } = resolved;
68
+ progress('Fetching latest version...');
69
+ const token = await getGitHubToken();
70
+ const effectiveBranch = getEffectiveBranch(config.registryBranch);
71
+ const remoteFiles = await listAssetDirectoryFiles(token, registryAsset, latestVersion, effectiveBranch);
72
+ // Identify which installed files have a remote counterpart and exist locally
73
+ const filesToFetch = [];
74
+ const diffs = [];
75
+ for (const file of installed.files) {
76
+ const remoteFile = remoteFiles.find((f) => f.name === file.sourcePath);
77
+ if (!remoteFile) {
78
+ const absoluteInstalledPath = join(projectDir, file.installedPath);
79
+ if (existsSync(absoluteInstalledPath)) {
80
+ const localContent = await readFile(absoluteInstalledPath, 'utf-8');
81
+ diffs.push({
82
+ diffLines: computeRemovedFileDiff(localContent),
83
+ fileName: file.sourcePath,
84
+ status: 'removed',
85
+ });
86
+ }
87
+ else {
88
+ diffs.push({ fileName: file.sourcePath, status: 'removed' });
89
+ }
90
+ continue;
91
+ }
92
+ const absoluteInstalledPath = join(projectDir, file.installedPath);
93
+ if (!existsSync(absoluteInstalledPath)) {
94
+ diffs.push({ fileName: file.sourcePath, status: 'missing-local' });
95
+ continue;
96
+ }
97
+ filesToFetch.push({ file, remotePath: remoteFile.path });
98
+ }
99
+ // Fetch all remote file contents in parallel
100
+ const remoteContents = await Promise.all(filesToFetch.map(async ({ remotePath }) => fetchFileContent(token, remotePath, effectiveBranch)));
101
+ // Build diffs from fetched content
102
+ for (let i = 0; i < filesToFetch.length; i++) {
103
+ const { file } = filesToFetch[i];
104
+ const remoteContent = remoteContents[i];
105
+ const absoluteInstalledPath = join(projectDir, file.installedPath);
106
+ const localContent = await readFile(absoluteInstalledPath, 'utf-8');
107
+ if (localContent === remoteContent) {
108
+ diffs.push({
109
+ fileName: file.sourcePath,
110
+ localLines: localContent.split('\n').length,
111
+ remoteLines: remoteContent.split('\n').length,
112
+ status: 'unchanged',
113
+ });
114
+ }
115
+ else {
116
+ diffs.push({
117
+ diffLines: computeUnifiedDiff(remoteContent, localContent, context),
118
+ fileName: file.sourcePath,
119
+ localLines: localContent.split('\n').length,
120
+ remoteLines: remoteContent.split('\n').length,
121
+ status: 'modified',
122
+ });
123
+ }
124
+ }
125
+ for (const remoteFile of remoteFiles) {
126
+ if (!installed.files.find((f) => f.sourcePath === remoteFile.name)) {
127
+ const remoteContent = await fetchFileContent(token, remoteFile.path, effectiveBranch);
128
+ diffs.push({ diffLines: computeAddedFileDiff(remoteContent), fileName: remoteFile.name, status: 'added' });
129
+ }
130
+ }
131
+ const sameVersion = installed.version === latestVersion;
132
+ return {
133
+ contextLines: context,
134
+ diffs,
135
+ installed,
136
+ latestVersion,
137
+ name,
138
+ outcome: 'results',
139
+ registryAsset,
140
+ sameVersion,
141
+ };
142
+ }, [name, refresh, tool]);
143
+ if (state.status === 'loading') {
144
+ return _jsx(Spinner, { message: state.message });
145
+ }
146
+ if (state.status === 'error') {
147
+ return _jsxs(Text, { color: 'red', children: ["Error: ", state.message] });
148
+ }
149
+ const { data } = state;
150
+ if (data.outcome === 'not-installed') {
151
+ return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: data.name }), " is not installed."] }));
152
+ }
153
+ if (data.outcome === 'not-in-registry') {
154
+ return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: data.name }), " was not found in the registry."] }));
155
+ }
156
+ return (_jsx(DiffView, { contextLines: data.contextLines, diffs: data.diffs, installedVersion: data.installed.version, latestVersion: data.latestVersion, name: data.name, sameVersion: data.sameVersion }));
157
+ }
158
+ //# sourceMappingURL=diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/commands/diff.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ export declare const description = "Check environment health and diagnose issues";
3
+ export declare const options: z.ZodObject<{
4
+ projectRoot: z.ZodOptional<z.ZodString>;
5
+ }, z.core.$strip>;
6
+ type Props = {
7
+ options: z.infer<typeof options>;
8
+ };
9
+ export default function Doctor({ options: { projectRoot } }: Props): import("react/jsx-runtime").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,WAAW,iDAAiD,CAAC;AAE1E,eAAO,MAAM,OAAO;;iBAUlB,CAAC;AAEH,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,2CAkBjE"}
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text } from 'ink';
3
+ import { option } from 'pastel';
4
+ import { z } from 'zod';
5
+ import { DiagnosticList, Spinner } from '../components/index.js';
6
+ import { useCommand } from '../hooks/useCommand.js';
7
+ import { runDiagnostics } from '../lib/diagnostics.js';
8
+ export const description = 'Check environment health and diagnose issues';
9
+ export const options = z.object({
10
+ projectRoot: z
11
+ .string()
12
+ .optional()
13
+ .describe(option({
14
+ alias: 'P',
15
+ description: 'Override project root directory',
16
+ })),
17
+ });
18
+ export default function Doctor({ options: { projectRoot } }) {
19
+ const state = useCommand(async (progress) => {
20
+ return runDiagnostics(progress, projectRoot);
21
+ }, [projectRoot], 'Running diagnostics...');
22
+ if (state.status === 'loading') {
23
+ return _jsx(Spinner, { message: state.message });
24
+ }
25
+ if (state.status === 'error') {
26
+ return _jsxs(Text, { color: 'red', children: ["Error: ", state.message] });
27
+ }
28
+ return _jsx(DiagnosticList, { checks: state.data, title: 'Environment diagnostics' });
29
+ }
30
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAwB,cAAc,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,CAAC,MAAM,WAAW,GAAG,8CAA8C,CAAC;AAE1E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,iCAAiC;KAC/C,CAAC,CACH;CACJ,CAAC,CAAC;AAMH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,EAAS;IAChE,MAAM,KAAK,GAAG,UAAU,CACtB,KAAK,EAAE,QAAQ,EAAE,EAAE;QACjB,OAAO,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC,EACD,CAAC,WAAW,CAAC,EACb,wBAAwB,CACzB,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAC,OAAO,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC;IAC7C,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,wBAAS,KAAK,CAAC,OAAO,IAAQ,CAAC;IACzD,CAAC;IAED,OAAO,KAAC,cAAc,IAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAC,yBAAyB,GAAG,CAAC;AAChF,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const description = "Agentic Tool Kit \u2014 manage assets for AI coding tools";
2
+ export default function Index(): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,8DAAyD,CAAC;AA2BlF,MAAM,CAAC,OAAO,UAAU,KAAK,4CAiB5B"}
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ export const description = 'Agentic Tool Kit — manage assets for AI coding tools';
4
+ const commands = [
5
+ ['audit', 'Verify asset integrity'],
6
+ ['browse', 'Interactively browse the asset registry'],
7
+ ['cache', 'Manage the registry cache'],
8
+ ['config', 'Manage configuration'],
9
+ ['diff', 'Show changes between installed and latest'],
10
+ ['doctor', 'Check environment health'],
11
+ ['info', 'Show details about an asset'],
12
+ ['init', 'Scaffold a new asset or bundle'],
13
+ ['install', 'Install an asset'],
14
+ ['list', 'List installed assets'],
15
+ ['outdated', 'Show available updates'],
16
+ ['pin', 'Pin an asset to a specific version'],
17
+ ['prune', 'Remove orphaned dependencies'],
18
+ ['publish', 'Publish an asset or bundle to the registry'],
19
+ ['search', 'Search for assets in the registry'],
20
+ ['sync', 'Re-apply all installed assets'],
21
+ ['uninstall', 'Uninstall an asset'],
22
+ ['unpin', 'Remove a version pin from an asset'],
23
+ ['update', 'Update installed assets'],
24
+ ['why', 'Explain why an asset is installed'],
25
+ ];
26
+ const maxNameLen = Math.max(...commands.map(([name]) => name.length));
27
+ export default function Index() {
28
+ return (_jsxs(Box, { flexDirection: 'column', gap: 1, children: [_jsxs(Text, { children: ["Asset manager for AI coding tools. Use ", _jsx(Text, { bold: true, children: "atk --help" }), " to see available commands."] }), _jsxs(Box, { flexDirection: 'column', children: [_jsx(Text, { dimColor: true, children: "Commands:" }), commands.map(([name, desc]) => (_jsxs(Text, { children: [' ', _jsx(Text, { bold: true, children: name.padEnd(maxNameLen) }), " ", desc] }, name)))] })] }));
29
+ }
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,MAAM,CAAC,MAAM,WAAW,GAAG,sDAAsD,CAAC;AAElF,MAAM,QAAQ,GAAG;IACf,CAAC,OAAO,EAAE,wBAAwB,CAAC;IACnC,CAAC,QAAQ,EAAE,yCAAyC,CAAC;IACrD,CAAC,OAAO,EAAE,2BAA2B,CAAC;IACtC,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAClC,CAAC,MAAM,EAAE,2CAA2C,CAAC;IACrD,CAAC,QAAQ,EAAE,0BAA0B,CAAC;IACtC,CAAC,MAAM,EAAE,6BAA6B,CAAC;IACvC,CAAC,MAAM,EAAE,gCAAgC,CAAC;IAC1C,CAAC,SAAS,EAAE,kBAAkB,CAAC;IAC/B,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACjC,CAAC,UAAU,EAAE,wBAAwB,CAAC;IACtC,CAAC,KAAK,EAAE,oCAAoC,CAAC;IAC7C,CAAC,OAAO,EAAE,8BAA8B,CAAC;IACzC,CAAC,SAAS,EAAE,4CAA4C,CAAC;IACzD,CAAC,QAAQ,EAAE,mCAAmC,CAAC;IAC/C,CAAC,MAAM,EAAE,+BAA+B,CAAC;IACzC,CAAC,WAAW,EAAE,oBAAoB,CAAC;IACnC,CAAC,OAAO,EAAE,oCAAoC,CAAC;IAC/C,CAAC,QAAQ,EAAE,yBAAyB,CAAC;IACrC,CAAC,KAAK,EAAE,mCAAmC,CAAC;CACpC,CAAC;AAEX,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAEtE,MAAM,CAAC,OAAO,UAAU,KAAK;IAC3B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,MAAC,IAAI,0DACoC,KAAC,IAAI,IAAC,IAAI,iCAAkB,mCAC9D,EACP,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,QAAQ,gCAAiB,EAC9B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAC9B,MAAC,IAAI,eACF,IAAI,EACL,KAAC,IAAI,IAAC,IAAI,kBAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAQ,OAAE,IAAI,KAFxC,IAAI,CAGR,CACR,CAAC,IACE,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { z } from 'zod';
2
+ export declare const description = "Show details about an asset";
3
+ export declare const options: z.ZodObject<{
4
+ full: z.ZodDefault<z.ZodBoolean>;
5
+ json: z.ZodDefault<z.ZodBoolean>;
6
+ refresh: z.ZodDefault<z.ZodBoolean>;
7
+ type: z.ZodOptional<z.ZodEnum<{
8
+ skill: "skill";
9
+ agent: "agent";
10
+ rule: "rule";
11
+ hook: "hook";
12
+ "memory-template": "memory-template";
13
+ "mcp-config": "mcp-config";
14
+ }>>;
15
+ verbose: z.ZodDefault<z.ZodBoolean>;
16
+ version: z.ZodOptional<z.ZodString>;
17
+ }, z.core.$strip>;
18
+ export declare const args: z.ZodTuple<[z.ZodString], null>;
19
+ type Props = {
20
+ args: z.infer<typeof args>;
21
+ options: z.infer<typeof options>;
22
+ };
23
+ export default function Info({ args: [name], options: { full, json, refresh, type, verbose, version } }: Props): import("react/jsx-runtime").JSX.Element;
24
+ export {};
25
+ //# sourceMappingURL=info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,WAAW,gCAAgC,CAAC;AAEzD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;iBAiDlB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAA+C,CAAC;AAiBjE,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,2CAuI7G"}
@@ -0,0 +1,198 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import { option } from 'pastel';
4
+ import { z } from 'zod';
5
+ import { AssetDetail, BundleDetail, Spinner } from '../components/index.js';
6
+ import { useCommand } from '../hooks/useCommand.js';
7
+ import { findInstalledAsset, readLockfile } from '../lib/lockfile.js';
8
+ import { findProjectRoot } from '../lib/paths.js';
9
+ import { fetchRegistry, findAsset, findBundle, getSortedVersions, isDeprecated } from '../lib/registry.js';
10
+ import { DEFAULT_CONFIG } from '../lib/schemas/config.js';
11
+ import { AssetType } from '../lib/schemas/manifest.js';
12
+ import { resolveTool } from '../lib/tool-resolver.js';
13
+ export const description = 'Show details about an asset';
14
+ export const options = z.object({
15
+ full: z
16
+ .boolean()
17
+ .default(false)
18
+ .describe(option({
19
+ description: 'Show the full README without truncation',
20
+ })),
21
+ json: z
22
+ .boolean()
23
+ .default(false)
24
+ .describe(option({
25
+ description: 'Output raw JSON (for scripting and CI)',
26
+ })),
27
+ refresh: z
28
+ .boolean()
29
+ .default(false)
30
+ .describe(option({
31
+ description: 'Bypass the registry cache and fetch fresh data',
32
+ })),
33
+ type: AssetType.optional().describe(option({
34
+ alias: 't',
35
+ description: 'Filter by asset type (skill, agent, rule, hook, memory-template, mcp-config)',
36
+ })),
37
+ verbose: z
38
+ .boolean()
39
+ .default(false)
40
+ .describe(option({
41
+ alias: 'v',
42
+ description: 'Show additional details like checksum',
43
+ })),
44
+ version: z
45
+ .string()
46
+ .optional()
47
+ .describe(option({
48
+ alias: 'V',
49
+ description: 'Show info for a specific version (exact or semver range)',
50
+ })),
51
+ });
52
+ export const args = z.tuple([z.string().describe('Asset name')]);
53
+ export default function Info({ args: [name], options: { full, json, refresh, type, verbose, version } }) {
54
+ const state = useCommand(async (progress) => {
55
+ const parsedType = type;
56
+ progress('Fetching registry...');
57
+ const registry = await fetchRegistry({ force: refresh });
58
+ const resolved = findAsset(registry, name, parsedType, version);
59
+ if (!resolved) {
60
+ if (version) {
61
+ const assetExists = findAsset(registry, name, parsedType);
62
+ if (assetExists) {
63
+ const { versions: availableVersions } = getSortedVersions(assetExists.asset);
64
+ return {
65
+ availableVersions,
66
+ name,
67
+ outcome: 'version_not_found',
68
+ version,
69
+ };
70
+ }
71
+ }
72
+ if (!type) {
73
+ const bundle = findBundle(registry, name);
74
+ if (bundle) {
75
+ return { bundle, outcome: 'bundle_found' };
76
+ }
77
+ }
78
+ return { name, outcome: 'not_found' };
79
+ }
80
+ const deprecation = isDeprecated(registry, name, parsedType);
81
+ const { versions: availableVersions } = getSortedVersions(resolved.asset);
82
+ // Load lockfile to determine install status (non-fatal on failure)
83
+ progress('Checking install status...');
84
+ let isInstalled = false;
85
+ let installedVersion;
86
+ try {
87
+ const projectDir = findProjectRoot();
88
+ let resolvedTool;
89
+ try {
90
+ const result = await resolveTool(undefined);
91
+ resolvedTool = result.tool;
92
+ }
93
+ catch {
94
+ resolvedTool = DEFAULT_CONFIG.defaultTool ?? 'claude-code';
95
+ }
96
+ const lockfile = await readLockfile(projectDir, resolvedTool);
97
+ const installed = findInstalledAsset(lockfile, name, parsedType);
98
+ if (installed) {
99
+ isInstalled = true;
100
+ installedVersion = installed.version;
101
+ }
102
+ }
103
+ catch {
104
+ // Lockfile loading is non-fatal — default to not installed
105
+ }
106
+ return {
107
+ asset: resolved.asset,
108
+ availableVersions,
109
+ deprecation,
110
+ installedVersion,
111
+ isInstalled,
112
+ outcome: 'found',
113
+ version: resolved.version,
114
+ versionData: resolved.versionData,
115
+ };
116
+ }, [name, refresh, type, version], version ? `Fetching info for ${name}@${version}...` : 'Fetching asset info...');
117
+ if (state.status === 'loading') {
118
+ return _jsx(Spinner, { message: state.message });
119
+ }
120
+ if (state.status === 'error') {
121
+ return _jsxs(Text, { color: 'red', children: ["Error: ", state.message] });
122
+ }
123
+ const { data } = state;
124
+ if (data.outcome === 'not_found' || data.outcome === 'version_not_found') {
125
+ process.exitCode = 1;
126
+ }
127
+ if (json) {
128
+ return _jsx(Text, { children: JSON.stringify(buildJsonOutput(data), null, 2) });
129
+ }
130
+ if (data.outcome === 'bundle_found') {
131
+ return _jsx(BundleDetail, { bundle: data.bundle });
132
+ }
133
+ if (data.outcome === 'version_not_found') {
134
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'red', children: ["Version ", _jsxs(Text, { bold: true, children: ["\"", data.version, "\""] }), " of ", _jsxs(Text, { bold: true, children: ["\"", data.name, "\""] }), " not found."] }), data.availableVersions.length > 0 && (_jsxs(Text, { dimColor: true, children: ["Available versions: ", data.availableVersions.join(', ')] }))] }));
135
+ }
136
+ if (data.outcome === 'not_found') {
137
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'red', children: ["Asset ", _jsxs(Text, { bold: true, children: ["\"", data.name, "\""] }), " not found in the registry."] }), _jsxs(Text, { dimColor: true, children: ["Run ", _jsxs(Text, { bold: true, children: ["atk search ", data.name] }), " to find similar assets."] })] }));
138
+ }
139
+ return (_jsx(AssetDetail, { asset: data.asset, availableVersions: data.availableVersions, deprecation: data.deprecation, full: full, installedVersion: data.installedVersion, isInstalled: data.isInstalled, verbose: verbose, version: data.version, versionData: data.versionData }));
140
+ }
141
+ function buildJsonOutput(data) {
142
+ switch (data.outcome) {
143
+ case 'bundle_found': {
144
+ return {
145
+ assetCount: data.bundle.assetCount,
146
+ assets: data.bundle.assets,
147
+ author: data.bundle.author,
148
+ description: data.bundle.description,
149
+ name: data.bundle.name,
150
+ outcome: data.outcome,
151
+ tags: data.bundle.tags,
152
+ version: data.bundle.version,
153
+ };
154
+ }
155
+ case 'found': {
156
+ return {
157
+ availableVersions: data.availableVersions,
158
+ deprecation: data.deprecation,
159
+ description: data.versionData.description,
160
+ installedVersion: data.installedVersion,
161
+ isInstalled: data.isInstalled,
162
+ name: data.asset.name,
163
+ outcome: data.outcome,
164
+ tags: data.asset.tags,
165
+ type: data.asset.type,
166
+ version: data.version,
167
+ versionData: {
168
+ author: data.versionData.author,
169
+ checksum: data.versionData.checksum,
170
+ dependencies: data.versionData.dependencies,
171
+ description: data.versionData.description,
172
+ files: data.versionData.files,
173
+ readme: data.versionData.readme,
174
+ security: data.versionData.security,
175
+ tools: data.versionData.tools,
176
+ trustLevel: data.versionData.trustLevel,
177
+ },
178
+ };
179
+ }
180
+ case 'not_found': {
181
+ return {
182
+ exitCode: 1,
183
+ name: data.name,
184
+ outcome: data.outcome,
185
+ };
186
+ }
187
+ case 'version_not_found': {
188
+ return {
189
+ availableVersions: data.availableVersions,
190
+ exitCode: 1,
191
+ name: data.name,
192
+ outcome: data.outcome,
193
+ version: data.version,
194
+ };
195
+ }
196
+ }
197
+ }
198
+ //# sourceMappingURL=info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/commands/info.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ export declare const description = "Scaffold a new asset or bundle";
3
+ export declare const options: z.ZodObject<{
4
+ author: z.ZodOptional<z.ZodString>;
5
+ description: z.ZodOptional<z.ZodString>;
6
+ from: z.ZodOptional<z.ZodString>;
7
+ name: z.ZodOptional<z.ZodString>;
8
+ offline: z.ZodDefault<z.ZodBoolean>;
9
+ }, z.core.$strip>;
10
+ export declare const args: z.ZodTuple<[z.ZodString], null>;
11
+ type Props = {
12
+ args: z.infer<typeof args>;
13
+ options: z.infer<typeof options>;
14
+ };
15
+ export default function Init({ args: [rawType], options: { author: authorFlag, description: descriptionFlag, from, name: nameFlag, offline }, }: Props): import("react/jsx-runtime").JSX.Element | null;
16
+ export {};
17
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqBxB,eAAO,MAAM,WAAW,mCAAmC,CAAC;AAE5D,eAAO,MAAM,OAAO;;;;;;iBA4ClB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAEf,CAAC;AAgBH,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAC3B,IAAI,EAAE,CAAC,OAAO,CAAC,EACf,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAC7F,EAAE,KAAK,kDA6jBP"}