@detergent-software/atk 8.6.2-dev.1 → 8.7.0-dev.10

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 (222) hide show
  1. package/CHANGELOG.md +109 -0
  2. package/build/commands/audit.d.ts.map +1 -1
  3. package/build/commands/audit.js +34 -11
  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 +23 -15
  7. package/build/commands/browse.js.map +1 -1
  8. package/build/commands/freeze.d.ts.map +1 -1
  9. package/build/commands/freeze.js +11 -6
  10. package/build/commands/freeze.js.map +1 -1
  11. package/build/commands/index.d.ts.map +1 -1
  12. package/build/commands/index.js +1 -0
  13. package/build/commands/index.js.map +1 -1
  14. package/build/commands/install.d.ts.map +1 -1
  15. package/build/commands/install.js +91 -26
  16. package/build/commands/install.js.map +1 -1
  17. package/build/commands/list.d.ts +2 -1
  18. package/build/commands/list.d.ts.map +1 -1
  19. package/build/commands/list.js +82 -66
  20. package/build/commands/list.js.map +1 -1
  21. package/build/commands/move.d.ts +28 -0
  22. package/build/commands/move.d.ts.map +1 -0
  23. package/build/commands/move.js +180 -0
  24. package/build/commands/move.js.map +1 -0
  25. package/build/commands/outdated.d.ts +2 -1
  26. package/build/commands/outdated.d.ts.map +1 -1
  27. package/build/commands/outdated.js +67 -24
  28. package/build/commands/outdated.js.map +1 -1
  29. package/build/commands/pin.d.ts.map +1 -1
  30. package/build/commands/pin.js +12 -7
  31. package/build/commands/pin.js.map +1 -1
  32. package/build/commands/prune.d.ts.map +1 -1
  33. package/build/commands/prune.js +17 -10
  34. package/build/commands/prune.js.map +1 -1
  35. package/build/commands/schema.d.ts +1 -1
  36. package/build/commands/sync.d.ts.map +1 -1
  37. package/build/commands/sync.js +22 -13
  38. package/build/commands/sync.js.map +1 -1
  39. package/build/commands/thaw.d.ts.map +1 -1
  40. package/build/commands/thaw.js +11 -6
  41. package/build/commands/thaw.js.map +1 -1
  42. package/build/commands/uninstall.d.ts.map +1 -1
  43. package/build/commands/uninstall.js +20 -15
  44. package/build/commands/uninstall.js.map +1 -1
  45. package/build/commands/unpin.d.ts.map +1 -1
  46. package/build/commands/unpin.js +11 -6
  47. package/build/commands/unpin.js.map +1 -1
  48. package/build/commands/update.d.ts.map +1 -1
  49. package/build/commands/update.js +11 -11
  50. package/build/commands/update.js.map +1 -1
  51. package/build/components/CrossScopeWarning.d.ts +12 -0
  52. package/build/components/CrossScopeWarning.d.ts.map +1 -0
  53. package/build/components/CrossScopeWarning.js +13 -0
  54. package/build/components/CrossScopeWarning.js.map +1 -0
  55. package/build/components/DryRunBanner.d.ts +3 -1
  56. package/build/components/DryRunBanner.d.ts.map +1 -1
  57. package/build/components/DryRunBanner.js +2 -2
  58. package/build/components/DryRunBanner.js.map +1 -1
  59. package/build/components/InstallConfirmBar.d.ts.map +1 -1
  60. package/build/components/InstallConfirmBar.js +1 -3
  61. package/build/components/InstallConfirmBar.js.map +1 -1
  62. package/build/components/InstallSummary.d.ts +3 -1
  63. package/build/components/InstallSummary.d.ts.map +1 -1
  64. package/build/components/InstallSummary.js +2 -2
  65. package/build/components/InstallSummary.js.map +1 -1
  66. package/build/components/ListActionBar.d.ts +4 -2
  67. package/build/components/ListActionBar.d.ts.map +1 -1
  68. package/build/components/ListActionBar.js +5 -4
  69. package/build/components/ListActionBar.js.map +1 -1
  70. package/build/components/ListBrowseList.d.ts +7 -6
  71. package/build/components/ListBrowseList.d.ts.map +1 -1
  72. package/build/components/ListBrowseList.js +10 -6
  73. package/build/components/ListBrowseList.js.map +1 -1
  74. package/build/components/StatusBadge.d.ts +1 -1
  75. package/build/components/StatusBadge.d.ts.map +1 -1
  76. package/build/components/StatusBadge.js +1 -0
  77. package/build/components/StatusBadge.js.map +1 -1
  78. package/build/components/SyncAllInSync.d.ts +3 -1
  79. package/build/components/SyncAllInSync.d.ts.map +1 -1
  80. package/build/components/SyncAllInSync.js +2 -2
  81. package/build/components/SyncAllInSync.js.map +1 -1
  82. package/build/components/SyncDriftedList.d.ts +3 -1
  83. package/build/components/SyncDriftedList.d.ts.map +1 -1
  84. package/build/components/SyncDriftedList.js +3 -3
  85. package/build/components/SyncDriftedList.js.map +1 -1
  86. package/build/components/SyncNoAssets.d.ts +3 -1
  87. package/build/components/SyncNoAssets.d.ts.map +1 -1
  88. package/build/components/SyncNoAssets.js +2 -2
  89. package/build/components/SyncNoAssets.js.map +1 -1
  90. package/build/components/index.d.ts +1 -0
  91. package/build/components/index.d.ts.map +1 -1
  92. package/build/components/index.js +1 -0
  93. package/build/components/index.js.map +1 -1
  94. package/build/hooks/useInitState.d.ts.map +1 -1
  95. package/build/hooks/useInitState.js +4 -2
  96. package/build/hooks/useInitState.js.map +1 -1
  97. package/build/hooks/useListActions.d.ts +19 -6
  98. package/build/hooks/useListActions.d.ts.map +1 -1
  99. package/build/hooks/useListActions.js +36 -30
  100. package/build/hooks/useListActions.js.map +1 -1
  101. package/build/hooks/useListState.d.ts +29 -12
  102. package/build/hooks/useListState.d.ts.map +1 -1
  103. package/build/hooks/useListState.js +22 -6
  104. package/build/hooks/useListState.js.map +1 -1
  105. package/build/hooks/usePruneState.d.ts +6 -0
  106. package/build/hooks/usePruneState.d.ts.map +1 -1
  107. package/build/hooks/usePruneState.js +6 -1
  108. package/build/hooks/usePruneState.js.map +1 -1
  109. package/build/hooks/useResolvedScope.d.ts +21 -0
  110. package/build/hooks/useResolvedScope.d.ts.map +1 -0
  111. package/build/hooks/useResolvedScope.js +15 -0
  112. package/build/hooks/useResolvedScope.js.map +1 -0
  113. package/build/hooks/useUninstallState.d.ts +6 -0
  114. package/build/hooks/useUninstallState.d.ts.map +1 -1
  115. package/build/hooks/useUninstallState.js +6 -1
  116. package/build/hooks/useUninstallState.js.map +1 -1
  117. package/build/lib/adapter.d.ts +47 -1
  118. package/build/lib/adapter.d.ts.map +1 -1
  119. package/build/lib/adapter.js +153 -10
  120. package/build/lib/adapter.js.map +1 -1
  121. package/build/lib/checksum.d.ts.map +1 -1
  122. package/build/lib/checksum.js +2 -1
  123. package/build/lib/checksum.js.map +1 -1
  124. package/build/lib/config-entries.d.ts +5 -3
  125. package/build/lib/config-entries.d.ts.map +1 -1
  126. package/build/lib/config-entries.js +7 -4
  127. package/build/lib/config-entries.js.map +1 -1
  128. package/build/lib/config-file.d.ts +15 -4
  129. package/build/lib/config-file.d.ts.map +1 -1
  130. package/build/lib/config-file.js +35 -10
  131. package/build/lib/config-file.js.map +1 -1
  132. package/build/lib/config-lock.d.ts +22 -0
  133. package/build/lib/config-lock.d.ts.map +1 -0
  134. package/build/lib/config-lock.js +67 -0
  135. package/build/lib/config-lock.js.map +1 -0
  136. package/build/lib/cross-scope.d.ts +50 -0
  137. package/build/lib/cross-scope.d.ts.map +1 -0
  138. package/build/lib/cross-scope.js +132 -0
  139. package/build/lib/cross-scope.js.map +1 -0
  140. package/build/lib/diagnostics.d.ts +15 -2
  141. package/build/lib/diagnostics.d.ts.map +1 -1
  142. package/build/lib/diagnostics.js +152 -10
  143. package/build/lib/diagnostics.js.map +1 -1
  144. package/build/lib/diff-command.d.ts.map +1 -1
  145. package/build/lib/diff-command.js +7 -7
  146. package/build/lib/diff-command.js.map +1 -1
  147. package/build/lib/hook-config.d.ts +7 -0
  148. package/build/lib/hook-config.d.ts.map +1 -1
  149. package/build/lib/hook-config.js +11 -0
  150. package/build/lib/hook-config.js.map +1 -1
  151. package/build/lib/init.d.ts.map +1 -1
  152. package/build/lib/init.js +2 -1
  153. package/build/lib/init.js.map +1 -1
  154. package/build/lib/installed-for-tool.d.ts +2 -1
  155. package/build/lib/installed-for-tool.d.ts.map +1 -1
  156. package/build/lib/installed-for-tool.js +7 -4
  157. package/build/lib/installed-for-tool.js.map +1 -1
  158. package/build/lib/installer.d.ts +8 -4
  159. package/build/lib/installer.d.ts.map +1 -1
  160. package/build/lib/installer.js +153 -57
  161. package/build/lib/installer.js.map +1 -1
  162. package/build/lib/lockfile.d.ts +1 -1
  163. package/build/lib/lockfile.d.ts.map +1 -1
  164. package/build/lib/lockfile.js +2 -2
  165. package/build/lib/lockfile.js.map +1 -1
  166. package/build/lib/mover.d.ts +103 -0
  167. package/build/lib/mover.d.ts.map +1 -0
  168. package/build/lib/mover.js +375 -0
  169. package/build/lib/mover.js.map +1 -0
  170. package/build/lib/multi-tool-install.js +1 -1
  171. package/build/lib/multi-tool-install.js.map +1 -1
  172. package/build/lib/owned-paths.d.ts.map +1 -1
  173. package/build/lib/owned-paths.js +8 -8
  174. package/build/lib/owned-paths.js.map +1 -1
  175. package/build/lib/read-scopes.d.ts +32 -0
  176. package/build/lib/read-scopes.d.ts.map +1 -0
  177. package/build/lib/read-scopes.js +55 -0
  178. package/build/lib/read-scopes.js.map +1 -0
  179. package/build/lib/root-path.d.ts +7 -0
  180. package/build/lib/root-path.d.ts.map +1 -0
  181. package/build/lib/root-path.js +10 -0
  182. package/build/lib/root-path.js.map +1 -0
  183. package/build/lib/schemas/adapter.d.ts +80 -1
  184. package/build/lib/schemas/adapter.d.ts.map +1 -1
  185. package/build/lib/schemas/adapter.js +48 -0
  186. package/build/lib/schemas/adapter.js.map +1 -1
  187. package/build/lib/schemas/lockfile.d.ts +2 -0
  188. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  189. package/build/lib/schemas/lockfile.js +8 -2
  190. package/build/lib/schemas/lockfile.js.map +1 -1
  191. package/build/lib/scope.d.ts +11 -0
  192. package/build/lib/scope.d.ts.map +1 -1
  193. package/build/lib/scope.js +12 -0
  194. package/build/lib/scope.js.map +1 -1
  195. package/build/lib/sync.d.ts +4 -3
  196. package/build/lib/sync.d.ts.map +1 -1
  197. package/build/lib/sync.js +12 -5
  198. package/build/lib/sync.js.map +1 -1
  199. package/build/lib/toml-edit.d.ts +10 -0
  200. package/build/lib/toml-edit.d.ts.map +1 -0
  201. package/build/lib/toml-edit.js +311 -0
  202. package/build/lib/toml-edit.js.map +1 -0
  203. package/build/lib/tool-resolver.d.ts +5 -0
  204. package/build/lib/tool-resolver.d.ts.map +1 -1
  205. package/build/lib/tool-resolver.js +16 -12
  206. package/build/lib/tool-resolver.js.map +1 -1
  207. package/build/lib/uninstaller.d.ts +14 -1
  208. package/build/lib/uninstaller.d.ts.map +1 -1
  209. package/build/lib/uninstaller.js +73 -28
  210. package/build/lib/uninstaller.js.map +1 -1
  211. package/build/lib/updater.d.ts +5 -4
  212. package/build/lib/updater.d.ts.map +1 -1
  213. package/build/lib/updater.js +18 -12
  214. package/build/lib/updater.js.map +1 -1
  215. package/build/lib/write-file.d.ts +17 -4
  216. package/build/lib/write-file.d.ts.map +1 -1
  217. package/build/lib/write-file.js +60 -10
  218. package/build/lib/write-file.js.map +1 -1
  219. package/package.json +1 -1
  220. package/tool-adapters/claude-code.json +44 -0
  221. package/tool-adapters/codex-cli.json +28 -0
  222. package/tool-adapters/copilot-cli.json +46 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toml-edit.d.ts","sourceRoot":"","sources":["../../src/lib/toml-edit.ts"],"names":[],"mappings":"AA0BA,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AASrC;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CA2B7E"}
@@ -0,0 +1,311 @@
1
+ import { parse as parseToml, stringify as stringifyToml } from 'smol-toml';
2
+ /**
3
+ * The text of `text` changed to hold `after`, with only the `section.child` tables that differ
4
+ * edited, or `undefined` when that can't be done: the documents differ outside such tables, the
5
+ * file defines a table another way (an inline table, dotted keys), or the edit doesn't read back as
6
+ * `after`. The caller then rewrites the whole document.
7
+ */
8
+ export function editTomlTables(text, after) {
9
+ let before;
10
+ try {
11
+ before = parseToml(text);
12
+ }
13
+ catch {
14
+ return undefined;
15
+ }
16
+ const changes = tableChanges(before, after);
17
+ if (changes === undefined)
18
+ return undefined;
19
+ if (changes.length === 0)
20
+ return text;
21
+ const lines = splitLines(text);
22
+ const eol = text.includes('\r\n') ? '\r\n' : '\n';
23
+ for (const change of changes) {
24
+ if (!applyChange(lines, change, eol))
25
+ return undefined;
26
+ }
27
+ for (const section of Object.keys(before)) {
28
+ if (after[section] === undefined && !removeEmptyHeader(lines, section))
29
+ return undefined;
30
+ }
31
+ const result = lines.map((line) => line.body + line.eol).join('');
32
+ try {
33
+ return sameValue(parseToml(result), after) ? result : undefined;
34
+ }
35
+ catch {
36
+ return undefined;
37
+ }
38
+ }
39
+ /** Put one table change into `lines`. False when the text can't be read. */
40
+ function applyChange(lines, { child, section, value }, eol) {
41
+ const blocks = scanBlocks(lines);
42
+ if (blocks === undefined)
43
+ return false;
44
+ const own = blocks.filter((b) => b.path.length >= 2 && b.path[0] === section && b.path[1] === child);
45
+ if (own.length > 0) {
46
+ // Last first, so the earlier blocks' line numbers still hold.
47
+ for (const block of own.toReversed()) {
48
+ removeLines(lines, block.start, block.end, value === undefined || block !== own[0]);
49
+ }
50
+ if (value !== undefined) {
51
+ const at = own[0].start;
52
+ // The line before may now end the file without a line ending.
53
+ const before = lines[at - 1];
54
+ if (before !== undefined && before.eol === '')
55
+ before.eol = eol;
56
+ lines.splice(at, 0, ...tableLines(section, child, value, eol));
57
+ }
58
+ return true;
59
+ }
60
+ if (value === undefined)
61
+ return true;
62
+ const sectionBlocks = blocks.filter((b) => b.path[0] === section);
63
+ const at = sectionBlocks.length > 0 ? sectionBlocks.at(-1).end : lines.length;
64
+ const last = lines[at - 1];
65
+ if (last !== undefined && last.eol === '')
66
+ last.eol = eol;
67
+ const separator = last !== undefined && last.body.trim() !== '' ? [{ body: '', eol }] : [];
68
+ lines.splice(at, 0, ...separator, ...tableLines(section, child, value, eol));
69
+ return true;
70
+ }
71
+ /** Whether `value` is a TOML table (a plain object, not an array or a date). */
72
+ function isTable(value) {
73
+ return value !== null && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Date);
74
+ }
75
+ /** How a line reads, carried over the lines a multi-line string or array spans. */
76
+ function kindOf(body, state) {
77
+ let kind = 'content';
78
+ if (state.multiline === undefined && state.depth === 0) {
79
+ const trimmed = body.trimStart();
80
+ if (trimmed === '')
81
+ return 'blank';
82
+ if (trimmed.startsWith('#'))
83
+ return 'comment';
84
+ if (trimmed.startsWith('['))
85
+ kind = 'header';
86
+ }
87
+ if (kind === 'header')
88
+ return kind;
89
+ let i = 0;
90
+ while (i < body.length) {
91
+ if (state.multiline !== undefined) {
92
+ if (state.multiline === '"""' && body[i] === '\\') {
93
+ i += 2;
94
+ }
95
+ else if (body.startsWith(state.multiline, i)) {
96
+ // Up to two more quotes right before the closing delimiter belong to the string.
97
+ let run = 3;
98
+ while (run < 5 && body[i + run] === state.multiline[0])
99
+ run++;
100
+ i += run;
101
+ state.multiline = undefined;
102
+ }
103
+ else {
104
+ i++;
105
+ }
106
+ continue;
107
+ }
108
+ const char = body[i];
109
+ if (char === '#')
110
+ break;
111
+ if (body.startsWith('"""', i) || body.startsWith("'''", i)) {
112
+ state.multiline = body.startsWith('"""', i) ? '"""' : "'''";
113
+ i += 3;
114
+ }
115
+ else if (char === '"') {
116
+ i++;
117
+ while (i < body.length && body[i] !== '"')
118
+ i += body[i] === '\\' ? 2 : 1;
119
+ i++;
120
+ }
121
+ else if (char === "'") {
122
+ const close = body.indexOf("'", i + 1);
123
+ i = close === -1 ? body.length : close + 1;
124
+ }
125
+ else {
126
+ if (char === '[' || char === '{')
127
+ state.depth++;
128
+ if (char === ']' || char === '}')
129
+ state.depth--;
130
+ i++;
131
+ }
132
+ }
133
+ return state.depth < 0 ? undefined : kind;
134
+ }
135
+ /** The key path of a `[a.b]` or `[[a.b]]` header line, or `undefined` when it doesn't parse. */
136
+ function parseHeader(line) {
137
+ const trimmed = line.trim();
138
+ const open = trimmed.startsWith('[[') ? 2 : 1;
139
+ const path = [];
140
+ let i = open;
141
+ for (;;) {
142
+ while (trimmed[i] === ' ' || trimmed[i] === '\t')
143
+ i++;
144
+ let raw;
145
+ if (trimmed[i] === '"' || trimmed[i] === "'") {
146
+ const quote = trimmed[i];
147
+ let j = i + 1;
148
+ while (j < trimmed.length && trimmed[j] !== quote)
149
+ j += quote === '"' && trimmed[j] === '\\' ? 2 : 1;
150
+ raw = trimmed.slice(i, j + 1);
151
+ i = j + 1;
152
+ let key;
153
+ try {
154
+ key = parseToml(`k = ${raw}`)['k'];
155
+ }
156
+ catch {
157
+ return undefined;
158
+ }
159
+ if (typeof key !== 'string')
160
+ return undefined;
161
+ path.push(key);
162
+ }
163
+ else {
164
+ raw = /^[A-Za-z0-9_-]+/.exec(trimmed.slice(i))?.[0] ?? '';
165
+ if (raw === '')
166
+ return undefined;
167
+ path.push(raw);
168
+ i += raw.length;
169
+ }
170
+ while (trimmed[i] === ' ' || trimmed[i] === '\t')
171
+ i++;
172
+ if (trimmed[i] === '.') {
173
+ i++;
174
+ continue;
175
+ }
176
+ return trimmed.startsWith(']'.repeat(open), i) ? path : undefined;
177
+ }
178
+ }
179
+ /**
180
+ * Drop the bare `[section]` header ATK's tables sat under, now that the section is gone from the
181
+ * document. Its comments stay. False when the header still has keys (the edit can't be made).
182
+ */
183
+ function removeEmptyHeader(lines, section) {
184
+ const blocks = scanBlocks(lines);
185
+ if (blocks === undefined)
186
+ return false;
187
+ for (const block of blocks.toReversed()) {
188
+ if (block.path.length !== 1 || block.path[0] !== section)
189
+ continue;
190
+ if (block.end - block.start > 1)
191
+ return false;
192
+ removeLines(lines, block.start, block.end, true);
193
+ }
194
+ return true;
195
+ }
196
+ /**
197
+ * Remove lines `start` to `end`. With `dropSeparator`, also the blank line that set them apart: the
198
+ * one before them, or, at the top of the file, the one after.
199
+ */
200
+ function removeLines(lines, start, end, dropSeparator) {
201
+ const isBlank = (index) => lines[index] !== undefined && lines[index].body.trim() === '';
202
+ let from = start;
203
+ let to = end;
204
+ if (dropSeparator && isBlank(start - 1))
205
+ from--;
206
+ else if (dropSeparator && start === 0 && isBlank(end))
207
+ to++;
208
+ const removedLast = lines[to - 1];
209
+ lines.splice(from, to - from);
210
+ // Keep the file's last line ending as it was.
211
+ if (to - from > 0 && from === lines.length && from > 0)
212
+ lines[from - 1].eol = removedLast.eol;
213
+ }
214
+ /** Deep equality of two TOML values; a missing member and an `undefined` or `null` one are alike. */
215
+ function sameValue(a, b) {
216
+ if (a instanceof Date || b instanceof Date) {
217
+ return a instanceof Date && b instanceof Date && a.toISOString() === b.toISOString();
218
+ }
219
+ if (Array.isArray(a) || Array.isArray(b)) {
220
+ return Array.isArray(a) && Array.isArray(b) && a.length === b.length && a.every((v, i) => sameValue(v, b[i]));
221
+ }
222
+ if (isTable(a) && isTable(b)) {
223
+ const keys = new Set([...Object.keys(a), ...Object.keys(b)]);
224
+ return [...keys].every((key) => {
225
+ const x = a[key] ?? undefined;
226
+ const y = b[key] ?? undefined;
227
+ return x === undefined || y === undefined ? x === y : sameValue(x, y);
228
+ });
229
+ }
230
+ return a === b || (Number.isNaN(a) && Number.isNaN(b));
231
+ }
232
+ /** Each table header in `lines` and its block, or `undefined` when the text can't be read. */
233
+ function scanBlocks(lines) {
234
+ const state = { depth: 0, multiline: undefined };
235
+ const kinds = [];
236
+ const headers = [];
237
+ for (const [index, line] of lines.entries()) {
238
+ const kind = kindOf(line.body, state);
239
+ if (kind === undefined)
240
+ return undefined;
241
+ kinds.push(kind);
242
+ if (kind === 'header') {
243
+ const path = parseHeader(line.body);
244
+ if (path === undefined)
245
+ return undefined;
246
+ headers.push({ line: index, path });
247
+ }
248
+ }
249
+ return headers.map(({ line, path }, i) => {
250
+ // Comments and blank lines at a block's end belong to what follows it.
251
+ let end = headers[i + 1]?.line ?? lines.length;
252
+ while (end - 1 > line && kinds[end - 1] !== 'content')
253
+ end--;
254
+ return { end, path, start: line };
255
+ });
256
+ }
257
+ /** Split text into lines, each keeping its own line ending. */
258
+ function splitLines(text) {
259
+ if (text === '')
260
+ return [];
261
+ const parts = text.split(/(\r?\n)/);
262
+ const lines = [];
263
+ for (let i = 0; i < parts.length; i += 2) {
264
+ const body = parts[i];
265
+ const eol = parts[i + 1] ?? '';
266
+ if (body === '' && eol === '' && i === parts.length - 1)
267
+ break;
268
+ lines.push({ body, eol });
269
+ }
270
+ return lines;
271
+ }
272
+ /**
273
+ * The `section.child` table changes that turn `before` into `after`, or `undefined` when they differ
274
+ * in anything else (a top-level key, a section that isn't a table, an entry that isn't one).
275
+ */
276
+ function tableChanges(before, after) {
277
+ const changes = [];
278
+ for (const section of new Set([...Object.keys(before), ...Object.keys(after)])) {
279
+ if (sameValue(before[section], after[section]))
280
+ continue;
281
+ const was = tableOrAbsent(before[section]);
282
+ const is = tableOrAbsent(after[section]);
283
+ if (was === null || is === null)
284
+ return undefined;
285
+ for (const child of new Set([...Object.keys(was ?? {}), ...Object.keys(is ?? {})])) {
286
+ if (sameValue(was?.[child], is?.[child]))
287
+ continue;
288
+ const old = tableOrAbsent(was?.[child]);
289
+ const value = tableOrAbsent(is?.[child]);
290
+ if (old === null || value === null)
291
+ return undefined;
292
+ changes.push({ child, section, value });
293
+ }
294
+ }
295
+ return changes;
296
+ }
297
+ /** The lines of a `[section.child]` table (and its sub-tables) as smol-toml writes it. */
298
+ function tableLines(section, child, value, eol) {
299
+ const text = stringifyToml({ [section]: { [child]: value } });
300
+ return text
301
+ .replace(/\n$/, '')
302
+ .split('\n')
303
+ .map((body) => ({ body, eol }));
304
+ }
305
+ /** `value` as a table, `undefined` when it is absent, or `null` when it is something else. */
306
+ function tableOrAbsent(value) {
307
+ if (value === undefined || value === null)
308
+ return undefined;
309
+ return isTable(value) ? value : null;
310
+ }
311
+ //# sourceMappingURL=toml-edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toml-edit.js","sourceRoot":"","sources":["../../src/lib/toml-edit.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  import type { Adapter } from './schemas/adapter.js';
2
+ import { SetupRequiredError } from './errors.js';
3
+ /** The error for a scope with no tools, naming the setup command of the scope at `root`. */
4
+ export declare function noToolsError(root: string): Promise<SetupRequiredError>;
2
5
  /**
3
6
  * Resolve a single tool to target, returning both the resolved tool name and its adapter config.
4
7
  *
@@ -32,6 +35,8 @@ export declare function resolveToolNames(toolOption?: string, projectDir?: strin
32
35
  * 3. Error directing user to run `atk setup`
33
36
  *
34
37
  * No auto-detection is performed — tools must be explicitly configured.
38
+ *
39
+ * At the user root each adapter comes back as the user scope sees it (`adapterForScope`).
35
40
  */
36
41
  export declare function resolveTools(toolOption?: string, projectDir?: string): Promise<Array<{
37
42
  adapter: Adapter;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-resolver.d.ts","sourceRoot":"","sources":["../../src/lib/tool-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAOpD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAG7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAclG;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,KAAK,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAwBpD"}
1
+ {"version":3,"file":"tool-resolver.d.ts","sourceRoot":"","sources":["../../src/lib/tool-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIjD,4FAA4F;AAC5F,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAM5E;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAG7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAclG;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAChC,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,KAAK,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CA0BpD"}
@@ -1,7 +1,15 @@
1
- import { loadAdapter } from './adapter.js';
1
+ import { adapterForScope, loadAdapter } from './adapter.js';
2
2
  import { SetupRequiredError } from './errors.js';
3
3
  import { findProjectRoot } from './paths.js';
4
- import { loadScopeConfig, setupGuidance } from './scope.js';
4
+ import { isUserRoot, loadScopeConfig, setupGuidance } from './scope.js';
5
+ /** The error for a scope with no tools, naming the setup command of the scope at `root`. */
6
+ export async function noToolsError(root) {
7
+ const { command, hint } = await setupGuidance(root);
8
+ return new SetupRequiredError(`No tools configured. Run \`${command}\` to select your AI coding tool.`, {
9
+ command,
10
+ hint,
11
+ });
12
+ }
5
13
  /**
6
14
  * Resolve a single tool to target, returning both the resolved tool name and its adapter config.
7
15
  *
@@ -46,12 +54,16 @@ export async function resolveToolNames(toolOption, projectDir) {
46
54
  * 3. Error directing user to run `atk setup`
47
55
  *
48
56
  * No auto-detection is performed — tools must be explicitly configured.
57
+ *
58
+ * At the user root each adapter comes back as the user scope sees it (`adapterForScope`).
49
59
  */
50
60
  export async function resolveTools(toolOption, projectDir) {
51
61
  const resolvedDir = projectDir ?? findProjectRoot();
62
+ // At the user root, each adapter places with its user placements.
63
+ const scope = (await isUserRoot(resolvedDir)) ? 'user' : 'project';
52
64
  // When --tool flag is provided, return only that single tool
53
65
  if (toolOption) {
54
- const adapter = await loadAdapter(toolOption);
66
+ const adapter = adapterForScope(await loadAdapter(toolOption, resolvedDir), scope, resolvedDir);
55
67
  return [{ adapter, tool: toolOption }];
56
68
  }
57
69
  // Read all tools from the scope config
@@ -62,17 +74,9 @@ export async function resolveTools(toolOption, projectDir) {
62
74
  }
63
75
  const results = [];
64
76
  for (const tool of tools) {
65
- const adapter = await loadAdapter(tool);
77
+ const adapter = adapterForScope(await loadAdapter(tool, resolvedDir), scope, resolvedDir);
66
78
  results.push({ adapter, tool });
67
79
  }
68
80
  return results;
69
81
  }
70
- /** The error for a scope with no tools, naming the setup command of the scope at `root`. */
71
- async function noToolsError(root) {
72
- const { command, hint } = await setupGuidance(root);
73
- return new SetupRequiredError(`No tools configured. Run \`${command}\` to select your AI coding tool.`, {
74
- command,
75
- hint,
76
- });
77
- }
78
82
  //# sourceMappingURL=tool-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-resolver.js","sourceRoot":"","sources":["../../src/lib/tool-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAmB,EACnB,UAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAmB,EAAE,UAAmB;IAC7E,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,IAAI,eAAe,EAAE,CAAC;IACpD,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,aAAa,EAAE,KAAK,CAAC;IAEnC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAmB,EACnB,UAAmB;IAEnB,MAAM,WAAW,GAAG,UAAU,IAAI,eAAe,EAAE,CAAC;IAEpD,6DAA6D;IAC7D,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,uCAAuC;IACvC,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,aAAa,EAAE,KAAK,CAAC;IAEnC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,OAAO,GAA8C,EAAE,CAAC;IAC9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,4FAA4F;AAC5F,KAAK,UAAU,YAAY,CAAC,IAAY;IACtC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,IAAI,kBAAkB,CAAC,8BAA8B,OAAO,mCAAmC,EAAE;QACtG,OAAO;QACP,IAAI;KACL,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"tool-resolver.js","sourceRoot":"","sources":["../../src/lib/tool-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAExE,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC7C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,IAAI,kBAAkB,CAAC,8BAA8B,OAAO,mCAAmC,EAAE;QACtG,OAAO;QACP,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAmB,EACnB,UAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAmB,EAAE,UAAmB;IAC7E,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,IAAI,eAAe,EAAE,CAAC;IACpD,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,aAAa,EAAE,KAAK,CAAC;IAEnC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAmB,EACnB,UAAmB;IAEnB,MAAM,WAAW,GAAG,UAAU,IAAI,eAAe,EAAE,CAAC;IACpD,kEAAkE;IAClE,MAAM,KAAK,GAAG,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnE,6DAA6D;IAC7D,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAChG,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,uCAAuC;IACvC,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,aAAa,EAAE,KAAK,CAAC;IAEnC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,OAAO,GAA8C,EAAE,CAAC;IAC9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAC1F,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -162,15 +162,28 @@ export declare function planBundleUninstall(lockfile: Lockfile, bundleName: stri
162
162
  * already uninstalled for all of them are not counted as dependents.
163
163
  */
164
164
  export declare function planUninstall(lockfile: Lockfile, assetName: string, org?: string, type?: AssetType, removingTools?: string[]): UninstallPlan;
165
+ /**
166
+ * Delete the files `installed` placed for the adapter's tool, at the adapter's placements, and the
167
+ * empty directories they leave below the placements' own. A file another entry of `lockfile` also
168
+ * places for the tool is kept, and so is one that is on disk the same file as one of `keep`.
169
+ * Returns the absolute paths removed.
170
+ */
171
+ export declare function removePlacedFiles(installed: InstalledAsset, adapter: Adapter, projectDir: string, { keep, lockfile, onProgress }: {
172
+ keep?: string[];
173
+ lockfile: Lockfile;
174
+ onProgress?: (message: string) => void;
175
+ }): Promise<string[]>;
165
176
  /**
166
177
  * Remove a single asset's files and config entries from disk.
167
178
  * Does NOT touch the lockfile — caller is responsible for lockfile updates.
168
179
  *
169
180
  * Uses the adapter to dynamically resolve installed file paths and config entries
170
181
  * from the asset's source paths, rather than reading pre-computed paths from the lockfile.
182
+ * At the user scope they resolve in the user config directory the asset was placed in for the
183
+ * tool, which is not the current one when its `userConfigDir.env` moved since.
171
184
  * A file or config entry that another entry of `lockfile` also places for the tool is kept.
172
185
  */
173
- export declare function removeSingleAsset(installed: InstalledAsset, adapter: Adapter, projectDir: string, { lockfile, onProgress }: {
186
+ export declare function removeSingleAsset(installed: InstalledAsset, currentAdapter: Adapter, projectDir: string, { lockfile, onProgress }: {
174
187
  lockfile: Lockfile;
175
188
  onProgress?: (message: string) => void;
176
189
  }): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"uninstaller.d.ts","sourceRoot":"","sources":["../../src/lib/uninstaller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstaller.d.ts","sourceRoot":"","sources":["../../src/lib/uninstaller.ts"],"names":[],"mappings":"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"}