@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
@@ -0,0 +1,145 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { readFile } from 'node:fs/promises';
3
+ import { join } from 'node:path';
4
+ import { resolveInstalledPaths } from './adapter.js';
5
+ import { getGitHubToken } from './auth.js';
6
+ import { loadConfig } from './config.js';
7
+ import { computeAddedFileDiff, computeRemovedFileDiff, computeUnifiedDiff } from './diff.js';
8
+ import { fetchFileContent, getEffectiveBranch, listAssetDirectoryFiles } from './github.js';
9
+ import { findInstalledAsset, readLockfile } from './lockfile.js';
10
+ import { resolveActiveOrg } from './org.js';
11
+ import { findProjectRoot } from './paths.js';
12
+ import { fetchRegistry, findAsset } from './registry.js';
13
+ import { resolveTool } from './tool-resolver.js';
14
+ /**
15
+ * Core logic for the `atk diff` command. Computes the diff between a locally
16
+ * installed asset and the latest version in the registry.
17
+ *
18
+ * @param name - Asset name (without org prefix)
19
+ * @param org - Org from the --org CLI flag or inline @org/name syntax (already merged)
20
+ * @param tool - Tool override from --tool CLI flag
21
+ * @param context - Number of context lines for unified diff output
22
+ * @param refresh - Whether to bypass the registry cache
23
+ * @param projectRoot - Optional project root override
24
+ * @param cliOrg - Org from the --org CLI flag
25
+ * @param inlineOrg - Org parsed from @org/name syntax
26
+ * @param progress - Callback to report progress messages to the UI
27
+ */
28
+ export async function computeDiffOutcome(name, org, tool, context, refresh, projectRoot, cliOrg, inlineOrg, progress) {
29
+ const projectDir = findProjectRoot(projectRoot);
30
+ progress('Loading configuration...');
31
+ const config = await loadConfig();
32
+ const { adapter } = await resolveTool(tool);
33
+ progress('Reading lockfile...');
34
+ const lockfile = await readLockfile(projectDir);
35
+ const resolvedOrg = resolveActiveOrg(inlineOrg ?? cliOrg, lockfile.org, config.org);
36
+ const installed = findInstalledAsset(lockfile, name, undefined, resolvedOrg);
37
+ if (!installed) {
38
+ return { name, outcome: 'not-installed' };
39
+ }
40
+ progress('Fetching registry...');
41
+ const registry = await fetchRegistry({ force: refresh });
42
+ const foundAsset = findAsset(registry, name, installed.type, undefined, resolvedOrg);
43
+ if (!foundAsset) {
44
+ return { name, outcome: 'not-in-registry' };
45
+ }
46
+ const { asset: registryAsset, version: latestVersion } = foundAsset;
47
+ progress('Fetching latest version...');
48
+ const token = await getGitHubToken();
49
+ const effectiveBranch = getEffectiveBranch(config.registryBranch);
50
+ let remoteFilesList;
51
+ try {
52
+ remoteFilesList = await listAssetDirectoryFiles(token, registryAsset, latestVersion, effectiveBranch);
53
+ }
54
+ catch (error) {
55
+ throw new Error(`Failed to list asset directory files for "${name}". ` +
56
+ `Ensure your GitHub authentication is valid (run \`gh auth login\`). ` +
57
+ `Original error: ${error instanceof Error ? error.message : String(error)}`);
58
+ }
59
+ // Convert remote files array to a Map for O(1) lookups by name
60
+ const remoteFiles = new Map(remoteFilesList.map((f) => [f.name, f]));
61
+ // Resolve installed paths via the adapter
62
+ const resolved = resolveInstalledPaths(installed, adapter, projectDir);
63
+ const installedPathMap = new Map(resolved.files.map((f) => [f.sourcePath, f.installedPath]));
64
+ // Identify which installed files have a remote counterpart and exist locally
65
+ const filesToFetch = [];
66
+ const diffs = [];
67
+ for (const file of installed.files) {
68
+ const installedPath = installedPathMap.get(file.sourcePath);
69
+ const remoteFile = remoteFiles.get(file.sourcePath);
70
+ if (!remoteFile) {
71
+ const absoluteInstalledPath = installedPath ? join(projectDir, installedPath) : undefined;
72
+ if (absoluteInstalledPath && existsSync(absoluteInstalledPath)) {
73
+ const localContent = await readFile(absoluteInstalledPath, 'utf-8');
74
+ diffs.push({
75
+ diffLines: computeRemovedFileDiff(localContent),
76
+ fileName: file.sourcePath,
77
+ status: 'removed',
78
+ });
79
+ }
80
+ else {
81
+ diffs.push({ fileName: file.sourcePath, status: 'removed' });
82
+ }
83
+ continue;
84
+ }
85
+ if (!installedPath) {
86
+ diffs.push({ fileName: file.sourcePath, status: 'missing-local' });
87
+ continue;
88
+ }
89
+ const absoluteInstalledPath = join(projectDir, installedPath);
90
+ if (!existsSync(absoluteInstalledPath)) {
91
+ diffs.push({ fileName: file.sourcePath, status: 'missing-local' });
92
+ continue;
93
+ }
94
+ filesToFetch.push({ file, installedPath, remotePath: remoteFile.path });
95
+ }
96
+ // Fetch all remote file contents in parallel
97
+ const remoteContents = await Promise.all(filesToFetch.map(async ({ remotePath }) => fetchFileContent(token, remotePath, effectiveBranch)));
98
+ // Read all local file contents in parallel
99
+ const localContents = await Promise.all(filesToFetch.map(async ({ installedPath }) => readFile(join(projectDir, installedPath), 'utf-8')));
100
+ // Build diffs from fetched content
101
+ for (let i = 0; i < filesToFetch.length; i++) {
102
+ const { file } = filesToFetch[i];
103
+ const remoteContent = remoteContents[i];
104
+ const localContent = localContents[i];
105
+ if (localContent === remoteContent) {
106
+ diffs.push({
107
+ fileName: file.sourcePath,
108
+ localLines: localContent.split('\n').length,
109
+ remoteLines: remoteContent.split('\n').length,
110
+ status: 'unchanged',
111
+ });
112
+ }
113
+ else {
114
+ // Diff argument order: remote (old) → local (new).
115
+ // This means '+' lines represent local content and '-' lines represent registry content.
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
+ // Collect added files (present in registry but not in installed files), then batch-fetch in parallel
126
+ const installedSourcePaths = new Set(installed.files.map((f) => f.sourcePath));
127
+ const addedRemoteFiles = [...remoteFiles.values()].filter((rf) => !installedSourcePaths.has(rf.name));
128
+ const addedContents = await Promise.all(addedRemoteFiles.map(async (rf) => fetchFileContent(token, rf.path, effectiveBranch)));
129
+ for (let i = 0; i < addedRemoteFiles.length; i++) {
130
+ const remoteFile = addedRemoteFiles[i];
131
+ const remoteContent = addedContents[i];
132
+ diffs.push({ diffLines: computeAddedFileDiff(remoteContent), fileName: remoteFile.name, status: 'added' });
133
+ }
134
+ const sameVersion = installed.version === latestVersion;
135
+ return {
136
+ diffs,
137
+ installed,
138
+ latestVersion,
139
+ name,
140
+ outcome: 'results',
141
+ registryAsset,
142
+ sameVersion,
143
+ };
144
+ }
145
+ //# sourceMappingURL=diff-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-command.js","sourceRoot":"","sources":["../../src/lib/diff-command.ts"],"names":[],"mappings":"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"}
@@ -31,4 +31,11 @@ export declare function computeRemovedFileDiff(content: string): DiffLine[];
31
31
  * @param contextLines - Number of context lines surrounding each change (default: 3).
32
32
  */
33
33
  export declare function computeUnifiedDiff(oldContent: string, newContent: string, contextLines?: number): DiffLine[];
34
+ /**
35
+ * Split content into lines and strip the trailing empty string
36
+ * that results from a final newline character.
37
+ *
38
+ * @param content - The raw string content to split.
39
+ */
40
+ export declare function splitContentLines(content: string): string[];
34
41
  //# sourceMappingURL=diff.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/lib/diff.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC;AAE/E;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAmBhE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAmBlE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,GAAE,MAAU,GAAG,QAAQ,EAAE,CA4B/G"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/lib/diff.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC;AAE/E;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAehE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAelE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,GAAE,MAAU,GAAG,QAAQ,EAAE,CA4B/G;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAM3D"}
package/build/lib/diff.js CHANGED
@@ -5,11 +5,7 @@ import { structuredPatch } from 'diff';
5
5
  * @param content - The full content of the added file.
6
6
  */
7
7
  export function computeAddedFileDiff(content) {
8
- const contentLines = content.split('\n');
9
- // Remove trailing empty string from a final newline
10
- if (contentLines.length > 0 && contentLines[contentLines.length - 1] === '') {
11
- contentLines.pop();
12
- }
8
+ const contentLines = splitContentLines(content);
13
9
  const lines = [];
14
10
  lines.push({
15
11
  content: `@@ -0,0 +1,${contentLines.length} @@`,
@@ -26,11 +22,7 @@ export function computeAddedFileDiff(content) {
26
22
  * @param content - The full content of the removed file.
27
23
  */
28
24
  export function computeRemovedFileDiff(content) {
29
- const contentLines = content.split('\n');
30
- // Remove trailing empty string from a final newline
31
- if (contentLines.length > 0 && contentLines[contentLines.length - 1] === '') {
32
- contentLines.pop();
33
- }
25
+ const contentLines = splitContentLines(content);
34
26
  const lines = [];
35
27
  lines.push({
36
28
  content: `@@ -1,${contentLines.length} +0,0 @@`,
@@ -75,4 +67,17 @@ export function computeUnifiedDiff(oldContent, newContent, contextLines = 3) {
75
67
  }
76
68
  return lines;
77
69
  }
70
+ /**
71
+ * Split content into lines and strip the trailing empty string
72
+ * that results from a final newline character.
73
+ *
74
+ * @param content - The raw string content to split.
75
+ */
76
+ export function splitContentLines(content) {
77
+ const lines = content.split('\n');
78
+ if (lines.length > 0 && lines[lines.length - 1] === '') {
79
+ lines.pop();
80
+ }
81
+ return lines;
82
+ }
78
83
  //# sourceMappingURL=diff.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/lib/diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/lib/diff.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Format an ISO date string into a human-readable short date (e.g. "Jan 5, 2025").
3
+ * Returns the original string if parsing fails.
4
+ */
5
+ export declare function formatDate(isoString: string): string;
6
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAWpD"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Format an ISO date string into a human-readable short date (e.g. "Jan 5, 2025").
3
+ * Returns the original string if parsing fails.
4
+ */
5
+ export function formatDate(isoString) {
6
+ try {
7
+ const date = new Date(isoString);
8
+ return date.toLocaleDateString('en-US', {
9
+ day: 'numeric',
10
+ month: 'short',
11
+ year: 'numeric',
12
+ });
13
+ }
14
+ catch {
15
+ return isoString;
16
+ }
17
+ }
18
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;YACtC,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -28,6 +28,14 @@ export declare function buildGitHubContentsUrl(path: string, branch?: string): s
28
28
  * @returns HeadersInit with Accept, Authorization, and X-GitHub-Api-Version
29
29
  */
30
30
  export declare function buildGitHubHeaders(token: string, accept?: string): HeadersInit;
31
+ /**
32
+ * Build a browsable GitHub URL pointing to an asset's README.md in the registry repo.
33
+ */
34
+ export declare function buildReadmeUrl(asset: {
35
+ name: string;
36
+ org?: string;
37
+ type: string;
38
+ }, version: string): string;
31
39
  /**
32
40
  * Fetch raw file content from the GitHub Contents API.
33
41
  *
@@ -1 +1 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/lib/github.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,8CAA8C,CAAC;AACjF,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,oDAAoD;AACpD,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAE/C,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,gCAAgC,CAAC;AAEhE,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB,oCAAoC,CAAC;AAEnE,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAM9E;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWpG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAYzE;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACnD,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,EAAE,CAAC,CAuB5B"}
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/lib/github.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,8CAA8C,CAAC;AACjF,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,oDAAoD;AACpD,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAE/C,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,gCAAgC,CAAC;AAEhE,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB,oCAAoC,CAAC;AAEnE,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAM9E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAK3G;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWpG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAYzE;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACnD,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,EAAE,CAAC,CAuB5B"}
@@ -35,6 +35,15 @@ export function buildGitHubHeaders(token, accept) {
35
35
  'X-GitHub-Api-Version': GITHUB_API_VERSION,
36
36
  };
37
37
  }
38
+ /**
39
+ * Build a browsable GitHub URL pointing to an asset's README.md in the registry repo.
40
+ */
41
+ export function buildReadmeUrl(asset, version) {
42
+ const assetDir = asset.org
43
+ ? `assets/${asset.type}s/@${asset.org}/${asset.name}/${version}`
44
+ : `assets/${asset.type}s/${asset.name}/${version}`;
45
+ return `https://github.com/${DEFAULT_REGISTRY_REPO}/blob/${DEFAULT_REGISTRY_BRANCH}/${assetDir}/README.md`;
46
+ }
38
47
  /**
39
48
  * Fetch raw file content from the GitHub Contents API.
40
49
  *
@@ -1 +1 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/lib/github.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/lib/github.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export interface InstallResult {
25
25
  version: string;
26
26
  };
27
27
  configEntriesCreated: Array<{
28
+ checksum: string;
28
29
  file: string;
29
30
  key: string;
30
31
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/lib/installer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAYpD,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,yEAAyE;IACzE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qCAAqC;IACrC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,8CAA8C;IAC9C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,oBAAoB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,WAAW,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,aAAa,EAAE,YAAY,GAAG,QAAQ,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAOD,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA8E7G"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/lib/installer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAYpD,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,yEAAyE;IACzE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qCAAqC;IACrC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,8CAA8C;IAC9C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,oBAAoB,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,WAAW,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,aAAa,EAAE,YAAY,GAAG,QAAQ,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAOD,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA8E7G"}
@@ -3,7 +3,7 @@ import { mkdir, readFile, unlink, writeFile } from 'node:fs/promises';
3
3
  import { dirname, join } from 'node:path';
4
4
  import { getPlacement, isEntrypoint, resolveInstalledPaths } from './adapter.js';
5
5
  import { getGitHubToken } from './auth.js';
6
- import { hashString } from './checksum.js';
6
+ import { computeConfigEntryChecksum, hashString } from './checksum.js';
7
7
  import { fetchFileContent, getEffectiveBranch, listAssetDirectoryFiles } from './github.js';
8
8
  import { ensureGitignoreEntries } from './gitignore.js';
9
9
  import { addAssetToLockfile, readLockfile, removeAssetFromLockfile, writeLockfile } from './lockfile.js';
@@ -192,11 +192,8 @@ async function installAsset(entry, options, managedPaths, lockfile) {
192
192
  else {
193
193
  await writeFile(targetPath, delimitedContent + '\n', 'utf-8');
194
194
  }
195
- // Record as config entry for tracking (not a regular file)
196
- configEntries.push({
197
- file: toRelativePosix(projectDir, targetPath),
198
- key: `memory-template.${asset.name}`,
199
- });
195
+ // Memory-template entries are tracked as placed files, not config entries.
196
+ // They don't go through updateConfigFile() and have no config entry checksum.
200
197
  }
201
198
  else if (placement.entrypointName) {
202
199
  // Directory-based placement (e.g., skills)
@@ -264,11 +261,13 @@ async function installAsset(entry, options, managedPaths, lockfile) {
264
261
  // Update lockfile — use resolved version and per-version dependency data
265
262
  const installedAsset = {
266
263
  ...(options.bundleOrigin ? { bundleOrigin: options.bundleOrigin } : {}),
264
+ ...(configEntries.length > 0 ? { configEntries } : {}),
267
265
  dependencies: (entry.versionData.dependencies ?? []).map((d) => ({
268
266
  name: d.name,
269
267
  type: d.type,
270
268
  ...(d.version ? { version: d.version } : {}),
271
269
  })),
270
+ ...(entry.versionData.description ? { description: entry.versionData.description } : {}),
272
271
  files: placedFiles,
273
272
  installedAt: new Date().toISOString(),
274
273
  installReason: entry.reason,
@@ -403,7 +402,8 @@ async function updateConfigFile(configFilePath, configKey, assetName, assetType,
403
402
  };
404
403
  }
405
404
  await writeFile(configFilePath, JSON.stringify(config, null, '\t') + '\n', 'utf-8');
406
- return { file: toRelativePosix(projectDir, configFilePath), key: `${configKey}.${assetName}` };
405
+ const checksum = computeConfigEntryChecksum(section[assetName]);
406
+ return { checksum, file: toRelativePosix(projectDir, configFilePath), key: `${configKey}.${assetName}` };
407
407
  }
408
408
  catch (error) {
409
409
  // Non-fatal — log but don't fail the install
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/lib/installer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAO1C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACzG,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAkC7C,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAiB,EAAE,OAAuB;IACjF,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,8EAA8E;IAC9E,IAAI,CAAC;QACH,MAAM,sBAAsB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,UAAU,EAAE,CAAC,gEAAgE,CAAC,CAAC;IACzF,CAAC;IAED,oFAAoF;IACpF,IAAI,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAEtD,+EAA+E;IAC/E,MAAM,YAAY,GAAG,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzF,IAAI,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YACzG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,QAAQ,GAAG,eAAe,CAAC;QAC7B,CAAC;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,+DAA+D;QAC/D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,UAAU,EAAE,CAAC,gCAAgC,OAAO,CAAC,MAAM,wBAAwB,CAAC,CAAC;YAE7F,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;gBAC3B,OAAO,CAAC,UAAU,EAAE,CAAC,gBAAgB,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC;gBAEvD,oCAAoC;gBACpC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACtC,IAAI,CAAC;wBACH,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;4BACjC,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBACjC,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,UAAU,EAAE,CAClB,mDAAmD,IAAI,CAAC,WAAW,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClI,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,2CAA2C;gBAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;oBAChD,IAAI,CAAC;wBACH,MAAM,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC/F,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,UAAU,EAAE,CAClB,0CAA0C,KAAK,CAAC,GAAG,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClI,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,+DAA+D;gBAC/D,IAAI,CAAC;oBACH,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC1D,MAAM,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACpD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,UAAU,EAAE,CAClB,gEAAgE,MAAM,CAAC,IAAI,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC1I,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,OAAO,CAAC,UAAU,EAAE,CAAC,oBAAoB,CAAC,CAAC;QAC7C,CAAC;QAED,8EAA8E;QAC9E,MAAM,eAAe,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/E,MAAM,IAAI,cAAc,CACtB,4BAA4B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,IAAI,SAAS,IAAI;YACnF,OAAO,OAAO,CAAC,MAAM,oDAAoD,eAAe,EAAE,CAC7F,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,QAAkB,EAAE,UAAkB,EAAE,OAAgB;IACpF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACnE,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAAC,QAAgB,EAAE,YAAyB;IAC1E,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,MAAM,IAAI,cAAc,CACtB,mBAAmB,QAAQ,0EAA0E,CACtG,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,eAAe,CAC5B,KAAoB,EACpB,OAAe,EACf,cAAuB,EACvB,GAAY;IAEZ,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;IACrC,MAAM,eAAe,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAE3D,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAC/C,KAAK,EACL,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAC3C,OAAO,EACP,eAAe,CAChB,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC7B,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YAC1E,OAAO;gBACL,OAAO;gBACP,YAAY,EAAE,IAAI,CAAC,IAAI;aACxB,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,cAAc,CAAC,yCAAyC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;YACpC,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,cAAc,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACnF,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,YAAY,CACzB,KAAuB,EACvB,OAAuB,EACvB,YAAyB,EACzB,QAAkB;IAElB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACxB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAEhF,UAAU,EAAE,CAAC,cAAc,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC;IAE5C,sBAAsB;IACtB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,cAAc,CAAC,SAAS,OAAO,CAAC,IAAI,kCAAkC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IACjG,CAAC;IAED,sBAAsB;IACtB,MAAM,QAAQ,GAAG,UAAU,CAAC;IAE5B,gEAAgE;IAChE,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEhG,2BAA2B;IAC3B,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAExF,2BAA2B;IAC3B,MAAM,WAAW,GAAoB,EAAE,CAAC;IACxC,MAAM,WAAW,GAAmD,EAAE,CAAC;IACvE,MAAM,aAAa,GAAyC,EAAE,CAAC;IAE/D,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,mEAAmE;QACnE,+BAA+B;IACjC,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC5C,2DAA2D;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACnF,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAEtC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,cAAc,CAAC,iDAAiD,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,EAAE,OAAO,IAAI,SAAU,CAAC,OAAO,CAAC;QAC9D,MAAM,gBAAgB,GAAG,aAAa,KAAK,CAAC,IAAI,SAAS,OAAO,gBAAgB,KAAK,CAAC,IAAI,MAAM,CAAC;QAEjG,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACrD,2EAA2E;YAC3E,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,gBAAgB,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7F,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;QAED,2DAA2D;QAC3D,aAAa,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC;YAC7C,GAAG,EAAE,mBAAmB,KAAK,CAAC,IAAI,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;QACpC,2CAA2C;QAC3C,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,eAAe,CAC9B,SAAS,CAAC,IAAI,EACd,KAAK,CAAC,IAAI,EACV,QAAQ,EACR,IAAI,CAAC,YAAY,EACjB,KAAK,CAAC,IAAI,EACV,SAAS,CAAC,cAAc,CACzB,CAAC;YACF,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YAElC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,iBAAiB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAEjD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1C,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ;gBACR,UAAU,EAAE,IAAI,CAAC,YAAY;aAC9B,CAAC,CAAC;YACH,WAAW,CAAC,IAAI,CAAC;gBACf,WAAW,EAAE,QAAQ;gBACrB,MAAM,EAAE,IAAI,CAAC,YAAY;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,gCAAgC;QAChC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtG,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YAElC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,iBAAiB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAEjD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1C,WAAW,CAAC,IAAI,CAAC;gBACf,QAAQ;gBACR,UAAU,EAAE,IAAI,CAAC,YAAY;aAC9B,CAAC,CAAC;YACH,WAAW,CAAC,IAAI,CAAC;gBACf,WAAW,EAAE,QAAQ;gBACrB,MAAM,EAAE,IAAI,CAAC,YAAY;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QAChD,+CAA+C;QAC/C,IAAI,YAAiD,CAAC;QACtD,IAAI,SAAS,CAAC,WAAW,IAAI,cAAc,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAA4B,CAAC;YAC/E,CAAC;YAAC,MAAM,CAAC;gBACP,iEAAiE;YACnE,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,gBAAgB,CACzC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,EACpC,SAAS,CAAC,SAAS,EACnB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,IAAI,EACV,UAAU,EACV,YAAY,EACZ,UAAU,CACX,CAAC;QACF,IAAI,YAAY,EAAE,CAAC;YACjB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,MAAM,cAAc,GAAmB;QACrC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,YAAY,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/D,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7C,CAAC,CAAC;QACH,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,aAAa,EAAE,KAAK,CAAC,MAAM;QAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;IAEF,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACrE,MAAM,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAEjD,UAAU,EAAE,CAAC,aAAa,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAEzD,OAAO;QACL,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE;YACN,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,oBAAoB,EAAE,aAAa;YACnC,WAAW;YACX,aAAa,EAAE,KAAK,CAAC,MAAM;YAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CACtB,YAAoB,EACpB,SAAiB,EACjB,QAAgB,EAChB,YAAoB,EACpB,SAAiB,EACjB,cAAuB;IAEvB,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAEtE,IAAI,cAAc,EAAE,CAAC;QACnB,iFAAiF;QACjF,MAAM,OAAO,GAAG,gBAAgB,CAAC;QACjC,IAAI,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC/C,CAAC;IAED,iCAAiC;IACjC,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE9C,IAAI,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,iBAAiB,CAC9B,cAAsB,EACtB,OAAe,EACf,UAAsC;IAEtC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;QAE1D,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAE7C,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,OAAkC,CAAC;QACtD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE5B,gDAAgD;QAChD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IACtF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,EAAE,CACV,0CAA0C,OAAO,OAAO,cAAc,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACrI,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,OAAe,EAAE,SAAiB;IACvD,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,IAAI,MAAM,CACxB,sBAAsB,WAAW,+BAA+B,WAAW,UAAU,EACrF,GAAG,CACJ,CAAC;IACF,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAC7B,cAAsB,EACtB,SAAiB,EACjB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,YAAsC,EACtC,UAAsC;IAEtC,IAAI,CAAC;QACH,IAAI,MAAM,GAA4B,EAAE,CAAC;QAEzC,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YACpD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;YAChE,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACzB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAA4B,CAAC;QAE7D,IAAI,YAAY,EAAE,CAAC;YACjB,oDAAoD;YACpD,OAAO,CAAC,SAAS,CAAC,GAAG;gBACnB,GAAG,YAAY;gBACf,UAAU,EAAE,KAAK;aAClB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,gBAAgB;YAChB,OAAO,CAAC,SAAS,CAAC,GAAG;gBACnB,UAAU,EAAE,KAAK;gBACjB,IAAI,EAAE,SAAS;aAChB,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QAEpF,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,SAAS,IAAI,SAAS,EAAE,EAAE,CAAC;IACjG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,6CAA6C;QAC7C,UAAU,EAAE,CACV,yCAAyC,cAAc,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACtH,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/lib/installer.ts"],"names":[],"mappings":"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"}
@@ -94,13 +94,6 @@ export declare function findInstalledAsset(lockfile: Lockfile, name: string, typ
94
94
  * (b) no other remaining installed asset (excluding those in otherNamesBeingRemoved) lists it in dependencies.
95
95
  */
96
96
  export declare function findOrphanedDependencies(lockfile: Lockfile, assetBeingRemoved: InstalledAsset, otherNamesBeingRemoved?: string[]): InstalledAsset[];
97
- /**
98
- * Freeze an installed asset to prevent sync and update from overwriting it.
99
- * Only direct installs can be frozen; freezing a dependency throws an error.
100
- *
101
- * @throws {LockfileError} if the asset is not found or is not a direct install
102
- */
103
- export declare function freezeAsset(lockfile: Lockfile, name: string, type?: AssetType, org?: string): Lockfile;
104
97
  /**
105
98
  * Get all installed assets, optionally filtered by type.
106
99
  */
@@ -117,12 +110,6 @@ export declare function getLockfilePath(projectDir: string): string;
117
110
  * Get the path to the lock sentinel file for the given project directory.
118
111
  */
119
112
  export declare function getLockSentinelPath(projectDir: string): string;
120
- /**
121
- * Check whether an asset is frozen in the lockfile.
122
- * Returns `true` if the asset exists and has `frozen === true`, `false` otherwise.
123
- * This is a read-only query that never throws.
124
- */
125
- export declare function isFrozen(lockfile: Lockfile, name: string, type?: AssetType, org?: string): boolean;
126
113
  /**
127
114
  * Check if an asset is installed.
128
115
  */
@@ -133,6 +120,10 @@ export declare function isInstalled(lockfile: Lockfile, name: string, type?: Ass
133
120
  * This is a read-only query that never throws.
134
121
  */
135
122
  export declare function isPinned(lockfile: Lockfile, name: string, type?: AssetType, org?: string): boolean;
123
+ /**
124
+ * Check whether a lockfile exists on disk in the given project directory.
125
+ */
126
+ export declare function lockfileExists(projectDir: string): boolean;
136
127
  /**
137
128
  * Pin an installed asset to a specific version.
138
129
  * Only direct installs can be pinned; pinning a dependency throws an error.
@@ -155,11 +146,14 @@ export declare function releaseLockfileLock(projectDir: string): Promise<void>;
155
146
  */
156
147
  export declare function removeAssetFromLockfile(lockfile: Lockfile, name: string, type?: AssetType, org?: string): Lockfile;
157
148
  /**
158
- * Thaw a frozen asset, allowing sync and update to overwrite it again.
149
+ * Validate that an asset is installed and was directly installed (not as a dependency).
150
+ * Throws a descriptive `LockfileError` if the asset is not found or is a dependency.
159
151
  *
160
- * @throws {LockfileError} if the asset is not found
152
+ * @param operation - A verb describing the operation being guarded (e.g. "frozen", "thawed", "pinned").
153
+ * Used in the error message: "dependency and cannot be {operation}".
154
+ * @throws {LockfileError} if the asset is not found or is not a direct install
161
155
  */
162
- export declare function thawAsset(lockfile: Lockfile, name: string, type?: AssetType, org?: string): Lockfile;
156
+ export declare function requireDirectInstall(lockfile: Lockfile, name: string, operation: string, type?: AssetType, org?: string): InstalledAsset;
163
157
  /**
164
158
  * Trace the reverse dependency chain from a given asset upward to all
165
159
  * direct-install roots.
@@ -174,7 +168,7 @@ export declare function traceDependencyChain(lockfile: Lockfile, assetName: stri
174
168
  /**
175
169
  * Remove the version pin from an installed asset.
176
170
  *
177
- * @throws {LockfileError} if the asset is not found
171
+ * @throws {LockfileError} if the asset is not found or is not a direct install
178
172
  */
179
173
  export declare function unpinAssetVersion(lockfile: Lockfile, name: string, type?: AssetType, org?: string): Lockfile;
180
174
  /**
@@ -182,6 +176,14 @@ export declare function unpinAssetVersion(lockfile: Lockfile, name: string, type
182
176
  * Used when a user explicitly installs something that was previously auto-installed.
183
177
  */
184
178
  export declare function upgradeToDirectInstall(lockfile: Lockfile, name: string, type?: AssetType, org?: string): Lockfile;
179
+ /**
180
+ * Execute `fn` while holding the advisory lockfile lock, mapping
181
+ * {@link LockfileLockedError} to a user-friendly error message.
182
+ *
183
+ * This is a convenience wrapper around {@link withLockfileLock} that
184
+ * eliminates the need for each command to duplicate the same catch block.
185
+ */
186
+ export declare function withLockfileErrorHandling<T>(projectDir: string, fn: () => Promise<T>): Promise<T>;
185
187
  /**
186
188
  * Execute `fn` while holding the advisory lockfile lock.
187
189
  * The lock is always released in a `finally` block, even if `fn` throws.
@@ -1 +1 @@
1
- {"version":3,"file":"lockfile.d.ts","sourceRoot":"","sources":["../../src/lib/lockfile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lockfile.d.ts","sourceRoot":"","sources":["../../src/lib/lockfile.ts"],"names":[],"mappings":"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"}