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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/README.md +361 -0
  2. package/build/commands/audit.d.ts.map +1 -1
  3. package/build/commands/audit.js +79 -37
  4. package/build/commands/audit.js.map +1 -1
  5. package/build/commands/browse.d.ts.map +1 -1
  6. package/build/commands/browse.js +119 -154
  7. package/build/commands/browse.js.map +1 -1
  8. package/build/commands/cache.d.ts.map +1 -1
  9. package/build/commands/cache.js +13 -15
  10. package/build/commands/cache.js.map +1 -1
  11. package/build/commands/config.d.ts +1 -1
  12. package/build/commands/config.d.ts.map +1 -1
  13. package/build/commands/config.js +7 -3
  14. package/build/commands/config.js.map +1 -1
  15. package/build/commands/diff.d.ts.map +1 -1
  16. package/build/commands/diff.js +4 -117
  17. package/build/commands/diff.js.map +1 -1
  18. package/build/commands/freeze.d.ts +1 -2
  19. package/build/commands/freeze.d.ts.map +1 -1
  20. package/build/commands/freeze.js +17 -37
  21. package/build/commands/freeze.js.map +1 -1
  22. package/build/commands/info.d.ts +1 -2
  23. package/build/commands/info.d.ts.map +1 -1
  24. package/build/commands/info.js +36 -35
  25. package/build/commands/info.js.map +1 -1
  26. package/build/commands/init.d.ts.map +1 -1
  27. package/build/commands/init.js +39 -405
  28. package/build/commands/init.js.map +1 -1
  29. package/build/commands/install.d.ts.map +1 -1
  30. package/build/commands/install.js +49 -34
  31. package/build/commands/install.js.map +1 -1
  32. package/build/commands/list.d.ts +2 -2
  33. package/build/commands/list.d.ts.map +1 -1
  34. package/build/commands/list.js +138 -27
  35. package/build/commands/list.js.map +1 -1
  36. package/build/commands/outdated.d.ts.map +1 -1
  37. package/build/commands/outdated.js +20 -10
  38. package/build/commands/outdated.js.map +1 -1
  39. package/build/commands/pin.d.ts +1 -2
  40. package/build/commands/pin.d.ts.map +1 -1
  41. package/build/commands/pin.js +44 -47
  42. package/build/commands/pin.js.map +1 -1
  43. package/build/commands/prune.d.ts.map +1 -1
  44. package/build/commands/prune.js +76 -151
  45. package/build/commands/prune.js.map +1 -1
  46. package/build/commands/publish.d.ts +3 -1
  47. package/build/commands/publish.d.ts.map +1 -1
  48. package/build/commands/publish.js +67 -390
  49. package/build/commands/publish.js.map +1 -1
  50. package/build/commands/search.d.ts.map +1 -1
  51. package/build/commands/search.js +14 -19
  52. package/build/commands/search.js.map +1 -1
  53. package/build/commands/setup.d.ts +1 -1
  54. package/build/commands/setup.d.ts.map +1 -1
  55. package/build/commands/setup.js +49 -242
  56. package/build/commands/setup.js.map +1 -1
  57. package/build/commands/sync.d.ts.map +1 -1
  58. package/build/commands/sync.js +114 -121
  59. package/build/commands/sync.js.map +1 -1
  60. package/build/commands/thaw.d.ts +1 -2
  61. package/build/commands/thaw.d.ts.map +1 -1
  62. package/build/commands/thaw.js +19 -37
  63. package/build/commands/thaw.js.map +1 -1
  64. package/build/commands/uninstall.d.ts.map +1 -1
  65. package/build/commands/uninstall.js +106 -221
  66. package/build/commands/uninstall.js.map +1 -1
  67. package/build/commands/unpin.d.ts +1 -2
  68. package/build/commands/unpin.d.ts.map +1 -1
  69. package/build/commands/unpin.js +23 -38
  70. package/build/commands/unpin.js.map +1 -1
  71. package/build/commands/update.d.ts.map +1 -1
  72. package/build/commands/update.js +37 -25
  73. package/build/commands/update.js.map +1 -1
  74. package/build/commands/why.d.ts +1 -1
  75. package/build/commands/why.d.ts.map +1 -1
  76. package/build/commands/why.js +14 -6
  77. package/build/commands/why.js.map +1 -1
  78. package/build/components/AssetDetail.d.ts +1 -3
  79. package/build/components/AssetDetail.d.ts.map +1 -1
  80. package/build/components/AssetDetail.js +24 -21
  81. package/build/components/AssetDetail.js.map +1 -1
  82. package/build/components/AssetTable.d.ts +5 -2
  83. package/build/components/AssetTable.d.ts.map +1 -1
  84. package/build/components/AssetTable.js +37 -40
  85. package/build/components/AssetTable.js.map +1 -1
  86. package/build/components/BrowseExpandedBundle.d.ts +7 -0
  87. package/build/components/BrowseExpandedBundle.d.ts.map +1 -1
  88. package/build/components/BrowseExpandedBundle.js +19 -0
  89. package/build/components/BrowseExpandedBundle.js.map +1 -1
  90. package/build/components/BrowseExpandedRow.d.ts +4 -1
  91. package/build/components/BrowseExpandedRow.d.ts.map +1 -1
  92. package/build/components/BrowseExpandedRow.js +24 -3
  93. package/build/components/BrowseExpandedRow.js.map +1 -1
  94. package/build/components/BrowseList.d.ts +3 -1
  95. package/build/components/BrowseList.d.ts.map +1 -1
  96. package/build/components/BrowseList.js +52 -42
  97. package/build/components/BrowseList.js.map +1 -1
  98. package/build/components/DiffView.d.ts +0 -2
  99. package/build/components/DiffView.d.ts.map +1 -1
  100. package/build/components/DiffView.js +11 -5
  101. package/build/components/DiffView.js.map +1 -1
  102. package/build/components/DryRunBanner.d.ts +3 -3
  103. package/build/components/DryRunBanner.d.ts.map +1 -1
  104. package/build/components/DryRunBanner.js +2 -2
  105. package/build/components/DryRunBanner.js.map +1 -1
  106. package/build/components/FilterBar.d.ts +10 -3
  107. package/build/components/FilterBar.d.ts.map +1 -1
  108. package/build/components/FilterBar.js +4 -4
  109. package/build/components/FilterBar.js.map +1 -1
  110. package/build/components/HelpBar.d.ts.map +1 -1
  111. package/build/components/HelpBar.js +3 -3
  112. package/build/components/HelpBar.js.map +1 -1
  113. package/build/components/InitSuccess.d.ts +5 -0
  114. package/build/components/InitSuccess.d.ts.map +1 -0
  115. package/build/components/InitSuccess.js +20 -0
  116. package/build/components/InitSuccess.js.map +1 -0
  117. package/build/components/InstallSummary.d.ts +3 -3
  118. package/build/components/InstallSummary.d.ts.map +1 -1
  119. package/build/components/InstallSummary.js +2 -2
  120. package/build/components/InstallSummary.js.map +1 -1
  121. package/build/components/Link.d.ts +7 -0
  122. package/build/components/Link.d.ts.map +1 -0
  123. package/build/components/Link.js +6 -0
  124. package/build/components/Link.js.map +1 -0
  125. package/build/components/ListActionBar.d.ts +11 -0
  126. package/build/components/ListActionBar.d.ts.map +1 -0
  127. package/build/components/ListActionBar.js +30 -0
  128. package/build/components/ListActionBar.js.map +1 -0
  129. package/build/components/ListBrowseList.d.ts +27 -0
  130. package/build/components/ListBrowseList.d.ts.map +1 -0
  131. package/build/components/ListBrowseList.js +57 -0
  132. package/build/components/ListBrowseList.js.map +1 -0
  133. package/build/components/ListExpandedRow.d.ts +38 -0
  134. package/build/components/ListExpandedRow.d.ts.map +1 -0
  135. package/build/components/ListExpandedRow.js +46 -0
  136. package/build/components/ListExpandedRow.js.map +1 -0
  137. package/build/components/ListHelpBar.d.ts +19 -0
  138. package/build/components/ListHelpBar.d.ts.map +1 -0
  139. package/build/components/ListHelpBar.js +11 -0
  140. package/build/components/ListHelpBar.js.map +1 -0
  141. package/build/components/OrphanListItem.d.ts +15 -0
  142. package/build/components/OrphanListItem.d.ts.map +1 -0
  143. package/build/components/OrphanListItem.js +6 -0
  144. package/build/components/OrphanListItem.js.map +1 -0
  145. package/build/components/PromptField.d.ts +19 -0
  146. package/build/components/PromptField.d.ts.map +1 -0
  147. package/build/components/PromptField.js +7 -0
  148. package/build/components/PromptField.js.map +1 -0
  149. package/build/components/StatusBadge.d.ts +1 -1
  150. package/build/components/StatusBadge.d.ts.map +1 -1
  151. package/build/components/StatusBadge.js +4 -0
  152. package/build/components/StatusBadge.js.map +1 -1
  153. package/build/components/index.d.ts +10 -2
  154. package/build/components/index.d.ts.map +1 -1
  155. package/build/components/index.js +10 -2
  156. package/build/components/index.js.map +1 -1
  157. package/build/hooks/useBrowseState.d.ts +41 -1
  158. package/build/hooks/useBrowseState.d.ts.map +1 -1
  159. package/build/hooks/useBrowseState.js +142 -12
  160. package/build/hooks/useBrowseState.js.map +1 -1
  161. package/build/hooks/useConfirmation.d.ts +18 -0
  162. package/build/hooks/useConfirmation.d.ts.map +1 -0
  163. package/build/hooks/useConfirmation.js +56 -0
  164. package/build/hooks/useConfirmation.js.map +1 -0
  165. package/build/hooks/useInitState.d.ts +72 -0
  166. package/build/hooks/useInitState.d.ts.map +1 -0
  167. package/build/hooks/useInitState.js +372 -0
  168. package/build/hooks/useInitState.js.map +1 -0
  169. package/build/hooks/useListActions.d.ts +15 -0
  170. package/build/hooks/useListActions.d.ts.map +1 -0
  171. package/build/hooks/useListActions.js +155 -0
  172. package/build/hooks/useListActions.js.map +1 -0
  173. package/build/hooks/useListState.d.ts +151 -0
  174. package/build/hooks/useListState.d.ts.map +1 -0
  175. package/build/hooks/useListState.js +448 -0
  176. package/build/hooks/useListState.js.map +1 -0
  177. package/build/hooks/usePruneState.d.ts +76 -0
  178. package/build/hooks/usePruneState.d.ts.map +1 -0
  179. package/build/hooks/usePruneState.js +246 -0
  180. package/build/hooks/usePruneState.js.map +1 -0
  181. package/build/hooks/usePublishState.d.ts +115 -0
  182. package/build/hooks/usePublishState.d.ts.map +1 -0
  183. package/build/hooks/usePublishState.js +673 -0
  184. package/build/hooks/usePublishState.js.map +1 -0
  185. package/build/hooks/useSetupState.d.ts +59 -0
  186. package/build/hooks/useSetupState.d.ts.map +1 -0
  187. package/build/hooks/useSetupState.js +295 -0
  188. package/build/hooks/useSetupState.js.map +1 -0
  189. package/build/hooks/useUninstallState.d.ts +102 -0
  190. package/build/hooks/useUninstallState.d.ts.map +1 -0
  191. package/build/hooks/useUninstallState.js +342 -0
  192. package/build/hooks/useUninstallState.js.map +1 -0
  193. package/build/lib/checksum.d.ts +39 -0
  194. package/build/lib/checksum.d.ts.map +1 -1
  195. package/build/lib/checksum.js +101 -13
  196. package/build/lib/checksum.js.map +1 -1
  197. package/build/lib/config.d.ts +38 -18
  198. package/build/lib/config.d.ts.map +1 -1
  199. package/build/lib/config.js +107 -55
  200. package/build/lib/config.js.map +1 -1
  201. package/build/lib/diagnostics.d.ts +7 -0
  202. package/build/lib/diagnostics.d.ts.map +1 -1
  203. package/build/lib/diagnostics.js +54 -34
  204. package/build/lib/diagnostics.js.map +1 -1
  205. package/build/lib/diff-command.d.ts +40 -0
  206. package/build/lib/diff-command.d.ts.map +1 -0
  207. package/build/lib/diff-command.js +145 -0
  208. package/build/lib/diff-command.js.map +1 -0
  209. package/build/lib/diff.d.ts +7 -0
  210. package/build/lib/diff.d.ts.map +1 -1
  211. package/build/lib/diff.js +15 -10
  212. package/build/lib/diff.js.map +1 -1
  213. package/build/lib/format.d.ts +6 -0
  214. package/build/lib/format.d.ts.map +1 -0
  215. package/build/lib/format.js +18 -0
  216. package/build/lib/format.js.map +1 -0
  217. package/build/lib/github.d.ts +8 -0
  218. package/build/lib/github.d.ts.map +1 -1
  219. package/build/lib/github.js +9 -0
  220. package/build/lib/github.js.map +1 -1
  221. package/build/lib/installer.d.ts +1 -0
  222. package/build/lib/installer.d.ts.map +1 -1
  223. package/build/lib/installer.js +7 -7
  224. package/build/lib/installer.js.map +1 -1
  225. package/build/lib/lockfile.d.ts +19 -17
  226. package/build/lib/lockfile.d.ts.map +1 -1
  227. package/build/lib/lockfile.js +43 -67
  228. package/build/lib/lockfile.js.map +1 -1
  229. package/build/lib/publisher.d.ts +35 -0
  230. package/build/lib/publisher.d.ts.map +1 -1
  231. package/build/lib/publisher.js +210 -16
  232. package/build/lib/publisher.js.map +1 -1
  233. package/build/lib/registry.d.ts +20 -5
  234. package/build/lib/registry.d.ts.map +1 -1
  235. package/build/lib/registry.js +41 -30
  236. package/build/lib/registry.js.map +1 -1
  237. package/build/lib/schemas/config.d.ts +31 -3
  238. package/build/lib/schemas/config.d.ts.map +1 -1
  239. package/build/lib/schemas/config.js +21 -2
  240. package/build/lib/schemas/config.js.map +1 -1
  241. package/build/lib/schemas/index.d.ts +1 -1
  242. package/build/lib/schemas/index.d.ts.map +1 -1
  243. package/build/lib/schemas/index.js +1 -1
  244. package/build/lib/schemas/index.js.map +1 -1
  245. package/build/lib/schemas/lockfile.d.ts +18 -2
  246. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  247. package/build/lib/schemas/lockfile.js +10 -1
  248. package/build/lib/schemas/lockfile.js.map +1 -1
  249. package/build/lib/search.d.ts +15 -1
  250. package/build/lib/search.d.ts.map +1 -1
  251. package/build/lib/search.js +65 -65
  252. package/build/lib/search.js.map +1 -1
  253. package/build/lib/tool-resolver.d.ts +29 -6
  254. package/build/lib/tool-resolver.d.ts.map +1 -1
  255. package/build/lib/tool-resolver.js +54 -15
  256. package/build/lib/tool-resolver.js.map +1 -1
  257. package/build/lib/updater.d.ts +7 -4
  258. package/build/lib/updater.d.ts.map +1 -1
  259. package/build/lib/updater.js +12 -7
  260. package/build/lib/updater.js.map +1 -1
  261. package/build/lib/version.js +1 -1
  262. package/build/lib/version.js.map +1 -1
  263. package/package.json +79 -65
  264. package/tool-adapters/claude-code.json +1 -1
  265. package/tool-adapters/copilot-cli.json +1 -1
@@ -1,4 +1,10 @@
1
+ import type { AssetType } from './schemas/manifest.js';
1
2
  import { type Config, type ProjectConfig } from './schemas/config.js';
3
+ /**
4
+ * Freeze an asset by adding it to the project config's `frozenAssets` array.
5
+ * No-op if the asset is already frozen with the same name, type, and org.
6
+ */
7
+ export declare function freezeAssetInConfig(projectDir: string, name: string, type: AssetType, org?: string): Promise<void>;
2
8
  /**
3
9
  * Get the path to the ATK cache directory (~/.atk/cache/).
4
10
  */
@@ -11,6 +17,26 @@ export declare function getConfigPath(): string;
11
17
  * Get a single config value by key.
12
18
  */
13
19
  export declare function getConfigValue(config: Config, key: string): unknown;
20
+ /**
21
+ * Get the path to the project-level config file (.atkrc.json in project root).
22
+ */
23
+ export declare function getProjectConfigPath(projectDir: string): string;
24
+ /**
25
+ * Check whether a local project config (.atkrc.json) exists in the given directory.
26
+ * The config stores the developer's selected tools (`tools: string[]`).
27
+ */
28
+ export declare function hasLocalConfig(projectDir: string): boolean;
29
+ /**
30
+ * Check whether an asset is frozen in the project config.
31
+ * Loads the project config from disk each time — for batch checks use `isFrozenInConfig` instead.
32
+ */
33
+ export declare function isAssetFrozen(projectDir: string, name: string, type?: AssetType, org?: string): Promise<boolean>;
34
+ /**
35
+ * Synchronous check whether an asset is frozen in a pre-loaded project config.
36
+ * Useful for batch operations (sync, update, outdated) where loading config once
37
+ * and checking many assets is more efficient.
38
+ */
39
+ export declare function isFrozenInConfig(config: null | ProjectConfig, name: string, type?: AssetType, org?: string): boolean;
14
40
  /**
15
41
  * List all known config keys with their current values and defaults.
16
42
  */
@@ -25,6 +51,12 @@ export declare function listConfigEntries(config: Config): Array<{
25
51
  * Creates no file if none exists — defaults are used.
26
52
  */
27
53
  export declare function loadConfig(): Promise<Config>;
54
+ /**
55
+ * Load the project-level config from .atkrc.json in the project directory.
56
+ * Returns null if no project config exists.
57
+ * Legacy `{ tool: string }` files are automatically migrated to `{ tools: string[] }` on read via schema preprocess.
58
+ */
59
+ export declare function loadProjectConfig(projectDir: string): Promise<null | ProjectConfig>;
28
60
  /**
29
61
  * Reset a config key back to its default value.
30
62
  * Returns the updated config.
@@ -34,26 +66,9 @@ export declare function resetConfigValue(config: Config, key: string): Config;
34
66
  * Save the full config object to ~/.atkrc.json.
35
67
  */
36
68
  export declare function saveConfig(config: Config): Promise<void>;
37
- /**
38
- * Get the path to the project-level config file (.atkrc.json in project root).
39
- */
40
- export declare function getProjectConfigPath(projectDir: string): string;
41
- /**
42
- * Check whether a local project config (.atkrc.json) exists in the given directory.
43
- */
44
- export declare function hasLocalConfig(projectDir: string): boolean;
45
- /**
46
- * Load merged config: user-level config only.
47
- * Project config now only stores `{ tool }` and does not contribute to Config fields.
48
- */
49
- export declare function loadMergedConfig(projectDir: string): Promise<Config>;
50
- /**
51
- * Load the project-level config from .atkrc.json in the project directory.
52
- * Returns null if no project config exists.
53
- */
54
- export declare function loadProjectConfig(projectDir: string): Promise<null | ProjectConfig>;
55
69
  /**
56
70
  * Save the project-level config to .atkrc.json in the project directory.
71
+ * Always writes the new `{ tools: string[] }` format, never the legacy `{ tool }` format.
57
72
  */
58
73
  export declare function saveProjectConfig(projectDir: string, config: ProjectConfig): Promise<void>;
59
74
  /**
@@ -61,4 +76,9 @@ export declare function saveProjectConfig(projectDir: string, config: ProjectCon
61
76
  * Returns the updated config. Validates the result against the schema.
62
77
  */
63
78
  export declare function setConfigValue(config: Config, key: string, value: string): Config;
79
+ /**
80
+ * Thaw an asset by removing it from the project config's `frozenAssets` array.
81
+ * Removes all entries matching the given name, and optionally type and org.
82
+ */
83
+ export declare function thawAssetInConfig(projectDir: string, name: string, type?: AssetType, org?: string): Promise<void>;
64
84
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,MAAM,EAGX,KAAK,aAAa,EAEnB,MAAM,qBAAqB,CAAC;AAI7B;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAKnE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAe5G;AAED;;;;GAIG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAUlD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBpE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB9D;AAID;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAK1E;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC,CASzF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBhG;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAuBjF"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EACL,KAAK,MAAM,EAGX,KAAK,aAAa,EAEnB,MAAM,qBAAqB,CAAC;AAI7B;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,EACf,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAKnE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,SAAS,EAChB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,IAAI,GAAG,aAAa,EAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,SAAS,EAChB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAWT;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAQ5G;AAED;;;;GAIG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAUlD;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,aAAa,CAAC,CASzF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAgBpE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB9D;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBhG;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA2BjF;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,SAAS,EAChB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAsBf"}
@@ -2,9 +2,33 @@ import { existsSync } from 'node:fs';
2
2
  import { mkdir, readFile, writeFile } from 'node:fs/promises';
3
3
  import { homedir } from 'node:os';
4
4
  import { dirname, join } from 'node:path';
5
+ import { z } from 'zod';
5
6
  import { parseAndValidate } from './parse-json.js';
6
7
  import { ConfigSchema, DEFAULT_CONFIG, ProjectConfigSchema, } from './schemas/config.js';
7
- const CONFIG_FILENAME = '.atkrc.json';
8
+ const ATKRC_FILENAME = '.atkrc.json';
9
+ /**
10
+ * Freeze an asset by adding it to the project config's `frozenAssets` array.
11
+ * No-op if the asset is already frozen with the same name, type, and org.
12
+ */
13
+ export async function freezeAssetInConfig(projectDir, name, type, org) {
14
+ const config = await loadProjectConfig(projectDir);
15
+ if (!config) {
16
+ throw new Error(`No project config found in ${projectDir}. Run \`atk setup\` first.`);
17
+ }
18
+ const frozenAssets = config.frozenAssets ?? [];
19
+ // Already frozen — nothing to do
20
+ if (frozenAssets.some((entry) => entry.name === name && entry.type === type && entry.org === org)) {
21
+ return;
22
+ }
23
+ const entry = { name, type };
24
+ if (org !== undefined) {
25
+ entry.org = org;
26
+ }
27
+ await saveProjectConfig(projectDir, {
28
+ ...config,
29
+ frozenAssets: [...frozenAssets, entry],
30
+ });
31
+ }
8
32
  /**
9
33
  * Get the path to the ATK cache directory (~/.atk/cache/).
10
34
  */
@@ -15,29 +39,56 @@ export function getCacheDir(config) {
15
39
  * Get the path to the user's config file (~/.atkrc.json).
16
40
  */
17
41
  export function getConfigPath() {
18
- return join(homedir(), CONFIG_FILENAME);
42
+ return join(homedir(), ATKRC_FILENAME);
19
43
  }
20
44
  /**
21
45
  * Get a single config value by key.
22
46
  */
23
47
  export function getConfigValue(config, key) {
24
- if (!(key in config)) {
25
- return undefined;
48
+ if (!(key in ConfigSchema.shape)) {
49
+ throw new Error(`Unknown config key: ${key}`);
26
50
  }
27
51
  return config[key];
28
52
  }
53
+ /**
54
+ * Get the path to the project-level config file (.atkrc.json in project root).
55
+ */
56
+ export function getProjectConfigPath(projectDir) {
57
+ return join(projectDir, ATKRC_FILENAME);
58
+ }
59
+ /**
60
+ * Check whether a local project config (.atkrc.json) exists in the given directory.
61
+ * The config stores the developer's selected tools (`tools: string[]`).
62
+ */
63
+ export function hasLocalConfig(projectDir) {
64
+ return existsSync(getProjectConfigPath(projectDir));
65
+ }
66
+ /**
67
+ * Check whether an asset is frozen in the project config.
68
+ * Loads the project config from disk each time — for batch checks use `isFrozenInConfig` instead.
69
+ */
70
+ export async function isAssetFrozen(projectDir, name, type, org) {
71
+ const config = await loadProjectConfig(projectDir);
72
+ return isFrozenInConfig(config, name, type, org);
73
+ }
74
+ /**
75
+ * Synchronous check whether an asset is frozen in a pre-loaded project config.
76
+ * Useful for batch operations (sync, update, outdated) where loading config once
77
+ * and checking many assets is more efficient.
78
+ */
79
+ export function isFrozenInConfig(config, name, type, org) {
80
+ if (!config?.frozenAssets) {
81
+ return false;
82
+ }
83
+ return config.frozenAssets.some((entry) => entry.name === name &&
84
+ (type === undefined || entry.type === type) &&
85
+ (org === undefined || entry.org === org));
86
+ }
29
87
  /**
30
88
  * List all known config keys with their current values and defaults.
31
89
  */
32
90
  export function listConfigEntries(config) {
33
- const allKeys = [
34
- 'registryUrl',
35
- 'registryBranch',
36
- 'cacheDir',
37
- 'cacheTtlMinutes',
38
- 'githubToken',
39
- 'org',
40
- ];
91
+ const allKeys = Object.keys(ConfigSchema.shape);
41
92
  return allKeys.map((key) => ({
42
93
  isDefault: config[key] === undefined || config[key] === DEFAULT_CONFIG[key],
43
94
  key,
@@ -58,6 +109,19 @@ export async function loadConfig() {
58
109
  const parsed = parseAndValidate(raw, ConfigSchema, `Invalid config at ${configPath}`);
59
110
  return { ...DEFAULT_CONFIG, ...parsed };
60
111
  }
112
+ /**
113
+ * Load the project-level config from .atkrc.json in the project directory.
114
+ * Returns null if no project config exists.
115
+ * Legacy `{ tool: string }` files are automatically migrated to `{ tools: string[] }` on read via schema preprocess.
116
+ */
117
+ export async function loadProjectConfig(projectDir) {
118
+ const configPath = getProjectConfigPath(projectDir);
119
+ if (!existsSync(configPath)) {
120
+ return null;
121
+ }
122
+ const raw = await readFile(configPath, 'utf-8');
123
+ return parseAndValidate(raw, ProjectConfigSchema, `Invalid project config at ${configPath}`);
124
+ }
61
125
  /**
62
126
  * Reset a config key back to its default value.
63
127
  * Returns the updated config.
@@ -96,43 +160,9 @@ export async function saveConfig(config) {
96
160
  }
97
161
  await writeFile(configPath, JSON.stringify(toSave, null, '\t') + '\n', 'utf-8');
98
162
  }
99
- const PROJECT_CONFIG_FILENAME = '.atkrc.json';
100
- /**
101
- * Get the path to the project-level config file (.atkrc.json in project root).
102
- */
103
- export function getProjectConfigPath(projectDir) {
104
- return join(projectDir, PROJECT_CONFIG_FILENAME);
105
- }
106
- /**
107
- * Check whether a local project config (.atkrc.json) exists in the given directory.
108
- */
109
- export function hasLocalConfig(projectDir) {
110
- return existsSync(getProjectConfigPath(projectDir));
111
- }
112
- /**
113
- * Load merged config: user-level config only.
114
- * Project config now only stores `{ tool }` and does not contribute to Config fields.
115
- */
116
- export async function loadMergedConfig(projectDir) {
117
- // projectDir is accepted for API compatibility but project config
118
- // no longer overrides any Config fields (it only stores the tool choice).
119
- void projectDir;
120
- return loadConfig();
121
- }
122
- /**
123
- * Load the project-level config from .atkrc.json in the project directory.
124
- * Returns null if no project config exists.
125
- */
126
- export async function loadProjectConfig(projectDir) {
127
- const configPath = getProjectConfigPath(projectDir);
128
- if (!existsSync(configPath)) {
129
- return null;
130
- }
131
- const raw = await readFile(configPath, 'utf-8');
132
- return parseAndValidate(raw, ProjectConfigSchema, `Invalid project config at ${configPath}`);
133
- }
134
163
  /**
135
164
  * Save the project-level config to .atkrc.json in the project directory.
165
+ * Always writes the new `{ tools: string[] }` format, never the legacy `{ tool }` format.
136
166
  */
137
167
  export async function saveProjectConfig(projectDir, config) {
138
168
  const configPath = getProjectConfigPath(projectDir);
@@ -140,12 +170,13 @@ export async function saveProjectConfig(projectDir, config) {
140
170
  if (!existsSync(dir)) {
141
171
  await mkdir(dir, { recursive: true });
142
172
  }
143
- // Strip undefined values to keep the file minimal
144
- const toSave = {};
145
- for (const [key, value] of Object.entries(config)) {
146
- if (value !== undefined) {
147
- toSave[key] = value;
148
- }
173
+ // Explicitly write `tools` array format — never the legacy `tool` field
174
+ const toSave = {
175
+ tools: config.tools,
176
+ };
177
+ // Include frozenAssets only when non-empty to keep the file minimal
178
+ if (config.frozenAssets && config.frozenAssets.length > 0) {
179
+ toSave.frozenAssets = config.frozenAssets;
149
180
  }
150
181
  await writeFile(configPath, JSON.stringify(toSave, null, '\t') + '\n', 'utf-8');
151
182
  }
@@ -157,9 +188,12 @@ export function setConfigValue(config, key, value) {
157
188
  if (!(key in ConfigSchema.shape)) {
158
189
  throw new Error(`Unknown config key: ${key}`);
159
190
  }
160
- // Coerce value types based on the key
191
+ // Schema-driven type coercion: detect number fields from the Zod schema
192
+ // and coerce string CLI input to numbers automatically.
161
193
  let coerced = value;
162
- if (key === 'cacheTtlMinutes') {
194
+ const fieldSchema = ConfigSchema.shape[key];
195
+ const jsonSchema = z.toJSONSchema(fieldSchema);
196
+ if ('type' in jsonSchema && jsonSchema.type === 'number') {
163
197
  const num = Number(value);
164
198
  if (Number.isNaN(num)) {
165
199
  throw new Error(`Invalid value for ${key}: expected a number`);
@@ -173,4 +207,22 @@ export function setConfigValue(config, key, value) {
173
207
  }
174
208
  return result.data;
175
209
  }
210
+ /**
211
+ * Thaw an asset by removing it from the project config's `frozenAssets` array.
212
+ * Removes all entries matching the given name, and optionally type and org.
213
+ */
214
+ export async function thawAssetInConfig(projectDir, name, type, org) {
215
+ const config = await loadProjectConfig(projectDir);
216
+ if (!config) {
217
+ throw new Error(`No project config found in ${projectDir}. Run \`atk setup\` first.`);
218
+ }
219
+ const frozenAssets = config.frozenAssets ?? [];
220
+ const filtered = frozenAssets.filter((entry) => !(entry.name === name &&
221
+ (type === undefined || entry.type === type) &&
222
+ (org === undefined || entry.org === org)));
223
+ await saveProjectConfig(projectDir, {
224
+ ...config,
225
+ frozenAssets: filtered,
226
+ });
227
+ }
176
228
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,11 @@
1
1
  import type { DiagnosticCheck } from '../components/index.js';
2
+ /**
3
+ * Check whether the given Node.js version string meets the project requirements.
4
+ *
5
+ * @param version - a Node.js-style version string such as `process.version` (e.g. "v24.5.0")
6
+ * @returns a `DiagnosticCheck` with status pass / warn / fail
7
+ */
8
+ export declare function checkNodeVersion(version: string): DiagnosticCheck;
2
9
  /**
3
10
  * Run all environment diagnostic checks and return the results.
4
11
  * Extracted from the `doctor` command so it can be tested independently.
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAS9D;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACnC,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,eAAe,EAAE,CAAC,CAsM5B"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAS9D;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAqBjE;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACnC,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,eAAe,EAAE,CAAC,CA8L5B"}
@@ -1,44 +1,52 @@
1
1
  import { getGitHubToken, isGhCliAvailable, validateToken } from './auth.js';
2
2
  import { loadConfig, loadProjectConfig } from './config.js';
3
3
  import { detectTools, getAdapterDiagnostics } from './detector.js';
4
- import { readLockfile } from './lockfile.js';
4
+ import { lockfileExists, readLockfile } from './lockfile.js';
5
5
  import { findProjectRoot } from './paths.js';
6
6
  import { fetchRegistry } from './registry.js';
7
7
  /**
8
- * Run all environment diagnostic checks and return the results.
9
- * Extracted from the `doctor` command so it can be tested independently.
8
+ * Check whether the given Node.js version string meets the project requirements.
10
9
  *
11
- * @param progress - callback to report progress messages
12
- * @param projectRootOverride - optional explicit project root; when omitted, discovered via `findProjectRoot()`
10
+ * @param version - a Node.js-style version string such as `process.version` (e.g. "v24.5.0")
11
+ * @returns a `DiagnosticCheck` with status pass / warn / fail
13
12
  */
14
- export async function runDiagnostics(progress, projectRootOverride) {
15
- const projectDir = findProjectRoot(projectRootOverride);
16
- const checks = [];
17
- // Check Node.js version
18
- progress('Checking Node.js...');
19
- const nodeVersion = process.version;
20
- const nodeMajor = parseInt(nodeVersion.slice(1), 10);
13
+ export function checkNodeVersion(version) {
14
+ const nodeMajor = parseInt(version.slice(1), 10);
21
15
  if (nodeMajor >= 24) {
22
- checks.push({
23
- message: `${nodeVersion} (recommended)`,
16
+ return {
17
+ message: `${version} (recommended)`,
24
18
  name: 'Node.js',
25
19
  status: 'pass',
26
- });
20
+ };
27
21
  }
28
22
  else if (nodeMajor >= 20) {
29
- checks.push({
30
- message: `${nodeVersion} (Node 24+ recommended)`,
23
+ return {
24
+ message: `${version} (Node 24+ recommended)`,
31
25
  name: 'Node.js',
32
26
  status: 'warn',
33
- });
27
+ };
34
28
  }
35
29
  else {
36
- checks.push({
37
- message: `${nodeVersion} (Node 20+ required, 24+ recommended)`,
30
+ return {
31
+ message: `${version} (Node 20+ required, 24+ recommended)`,
38
32
  name: 'Node.js',
39
33
  status: 'fail',
40
- });
34
+ };
41
35
  }
36
+ }
37
+ /**
38
+ * Run all environment diagnostic checks and return the results.
39
+ * Extracted from the `doctor` command so it can be tested independently.
40
+ *
41
+ * @param progress - callback to report progress messages
42
+ * @param projectRootOverride - optional explicit project root; when omitted, discovered via `findProjectRoot()`
43
+ */
44
+ export async function runDiagnostics(progress, projectRootOverride) {
45
+ const projectDir = findProjectRoot(projectRootOverride);
46
+ const checks = [];
47
+ // Check Node.js version
48
+ progress('Checking Node.js...');
49
+ checks.push(checkNodeVersion(process.version));
42
50
  // Check gh CLI
43
51
  progress('Checking GitHub CLI...');
44
52
  const ghAvailable = await isGhCliAvailable();
@@ -170,7 +178,9 @@ export async function runDiagnostics(progress, projectRootOverride) {
170
178
  const projectConfig = await loadProjectConfig(projectDir);
171
179
  if (projectConfig) {
172
180
  checks.push({
173
- message: `Loaded (tool: ${projectConfig.tool})`,
181
+ message: projectConfig.tools.length === 0
182
+ ? 'Loaded (no tools configured)'
183
+ : `Loaded (tools: ${projectConfig.tools.join(', ')})`,
174
184
  name: 'Project config',
175
185
  status: 'pass',
176
186
  });
@@ -194,23 +204,33 @@ export async function runDiagnostics(progress, projectRootOverride) {
194
204
  }
195
205
  // Check lockfile
196
206
  progress('Checking lockfile...');
197
- try {
198
- const lockfile = await readLockfile(projectDir);
199
- const assetCount = (lockfile.assets ?? []).length;
200
- checks.push({
201
- message: `Found .atk-lock.json (${assetCount} asset${assetCount === 1 ? '' : 's'})`,
202
- name: 'Lockfile',
203
- status: 'pass',
204
- });
205
- }
206
- catch {
207
+ if (!lockfileExists(projectDir)) {
207
208
  checks.push({
208
- detail: 'Run `atk setup` to initialize the project.',
209
- message: 'No lockfile found or unreadable',
209
+ detail: 'Run `atk setup` to initialize',
210
+ message: 'No lockfile found',
210
211
  name: 'Lockfile',
211
212
  status: 'warn',
212
213
  });
213
214
  }
215
+ else {
216
+ try {
217
+ const lockfile = await readLockfile(projectDir);
218
+ const assetCount = (lockfile.assets ?? []).length;
219
+ checks.push({
220
+ message: `Found .atk-lock.json (${assetCount} asset${assetCount === 1 ? '' : 's'})`,
221
+ name: 'Lockfile',
222
+ status: 'pass',
223
+ });
224
+ }
225
+ catch (err) {
226
+ checks.push({
227
+ detail: 'Run `atk setup` to re-initialize',
228
+ message: err instanceof Error ? err.message : 'Failed to read lockfile',
229
+ name: 'Lockfile',
230
+ status: 'warn',
231
+ });
232
+ }
233
+ }
214
234
  return checks;
215
235
  }
216
236
  //# sourceMappingURL=diagnostics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { FileDiffEntry } from '../components/index.js';
2
+ import type { InstalledAsset, InstalledFile } from './schemas/lockfile.js';
3
+ import type { RegistryAsset } from './schemas/registry.js';
4
+ export type DiffOutcome = {
5
+ diffs: FileDiffEntry[];
6
+ installed: InstalledAsset;
7
+ latestVersion: string;
8
+ name: string;
9
+ outcome: 'results';
10
+ registryAsset: RegistryAsset;
11
+ sameVersion: boolean;
12
+ } | {
13
+ name: string;
14
+ outcome: 'not-in-registry';
15
+ } | {
16
+ name: string;
17
+ outcome: 'not-installed';
18
+ };
19
+ /** Describes a file to fetch for diff comparison, with its installed and remote paths. */
20
+ export interface FileFetchEntry {
21
+ file: InstalledFile;
22
+ installedPath: string;
23
+ remotePath: string;
24
+ }
25
+ /**
26
+ * Core logic for the `atk diff` command. Computes the diff between a locally
27
+ * installed asset and the latest version in the registry.
28
+ *
29
+ * @param name - Asset name (without org prefix)
30
+ * @param org - Org from the --org CLI flag or inline @org/name syntax (already merged)
31
+ * @param tool - Tool override from --tool CLI flag
32
+ * @param context - Number of context lines for unified diff output
33
+ * @param refresh - Whether to bypass the registry cache
34
+ * @param projectRoot - Optional project root override
35
+ * @param cliOrg - Org from the --org CLI flag
36
+ * @param inlineOrg - Org parsed from @org/name syntax
37
+ * @param progress - Callback to report progress messages to the UI
38
+ */
39
+ export declare function computeDiffOutcome(name: string, org: string | undefined, tool: string | undefined, context: number, refresh: boolean, projectRoot: string | undefined, cliOrg: string | undefined, inlineOrg: string | undefined, progress: (message: string) => void): Promise<DiffOutcome>;
40
+ //# sourceMappingURL=diff-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-command.d.ts","sourceRoot":"","sources":["../../src/lib/diff-command.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAa3D,MAAM,MAAM,WAAW,GACnB;IACE,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;CACtB,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC;AAE/C,0FAA0F;AAC1F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,WAAW,CAAC,CAqJtB"}