@detergent-software/atk 7.12.0 → 7.13.0-dev.1

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 (118) hide show
  1. package/README.md +3 -1
  2. package/build/commands/audit.d.ts.map +1 -1
  3. package/build/commands/audit.js +36 -5
  4. package/build/commands/audit.js.map +1 -1
  5. package/build/commands/browse.js +7 -2
  6. package/build/commands/browse.js.map +1 -1
  7. package/build/commands/install.d.ts.map +1 -1
  8. package/build/commands/install.js +34 -10
  9. package/build/commands/install.js.map +1 -1
  10. package/build/commands/list.js +13 -1
  11. package/build/commands/list.js.map +1 -1
  12. package/build/commands/setup.d.ts +2 -2
  13. package/build/commands/setup.d.ts.map +1 -1
  14. package/build/commands/setup.js +7 -4
  15. package/build/commands/setup.js.map +1 -1
  16. package/build/commands/sync.js +12 -8
  17. package/build/commands/sync.js.map +1 -1
  18. package/build/commands/uninstall.d.ts.map +1 -1
  19. package/build/commands/uninstall.js +25 -11
  20. package/build/commands/uninstall.js.map +1 -1
  21. package/build/commands/update.d.ts.map +1 -1
  22. package/build/commands/update.js +19 -5
  23. package/build/commands/update.js.map +1 -1
  24. package/build/components/ExcludedSkippedHint.d.ts +13 -0
  25. package/build/components/ExcludedSkippedHint.d.ts.map +1 -0
  26. package/build/components/ExcludedSkippedHint.js +12 -0
  27. package/build/components/ExcludedSkippedHint.js.map +1 -0
  28. package/build/components/StatusBadge.d.ts +1 -1
  29. package/build/components/StatusBadge.d.ts.map +1 -1
  30. package/build/components/StatusBadge.js +2 -0
  31. package/build/components/StatusBadge.js.map +1 -1
  32. package/build/components/SyncAllInSync.d.ts +3 -1
  33. package/build/components/SyncAllInSync.d.ts.map +1 -1
  34. package/build/components/SyncAllInSync.js +3 -2
  35. package/build/components/SyncAllInSync.js.map +1 -1
  36. package/build/components/SyncDriftedList.d.ts +3 -1
  37. package/build/components/SyncDriftedList.d.ts.map +1 -1
  38. package/build/components/SyncDriftedList.js +4 -3
  39. package/build/components/SyncDriftedList.js.map +1 -1
  40. package/build/components/index.d.ts +1 -0
  41. package/build/components/index.d.ts.map +1 -1
  42. package/build/components/index.js +1 -0
  43. package/build/components/index.js.map +1 -1
  44. package/build/hooks/useListActions.d.ts +1 -0
  45. package/build/hooks/useListActions.d.ts.map +1 -1
  46. package/build/hooks/useListActions.js +1 -0
  47. package/build/hooks/useListActions.js.map +1 -1
  48. package/build/hooks/usePruneState.d.ts +1 -1
  49. package/build/hooks/usePruneState.d.ts.map +1 -1
  50. package/build/hooks/usePruneState.js +11 -5
  51. package/build/hooks/usePruneState.js.map +1 -1
  52. package/build/hooks/useSetupState.d.ts +2 -1
  53. package/build/hooks/useSetupState.d.ts.map +1 -1
  54. package/build/hooks/useSetupState.js +17 -6
  55. package/build/hooks/useSetupState.js.map +1 -1
  56. package/build/hooks/useUninstallState.d.ts +21 -9
  57. package/build/hooks/useUninstallState.d.ts.map +1 -1
  58. package/build/hooks/useUninstallState.js +76 -15
  59. package/build/hooks/useUninstallState.js.map +1 -1
  60. package/build/lib/asset-tools.d.ts +55 -0
  61. package/build/lib/asset-tools.d.ts.map +1 -0
  62. package/build/lib/asset-tools.js +71 -0
  63. package/build/lib/asset-tools.js.map +1 -0
  64. package/build/lib/checksum.d.ts.map +1 -1
  65. package/build/lib/checksum.js +4 -2
  66. package/build/lib/checksum.js.map +1 -1
  67. package/build/lib/config-entries.d.ts +52 -0
  68. package/build/lib/config-entries.d.ts.map +1 -0
  69. package/build/lib/config-entries.js +71 -0
  70. package/build/lib/config-entries.js.map +1 -0
  71. package/build/lib/config-file.d.ts +49 -0
  72. package/build/lib/config-file.d.ts.map +1 -0
  73. package/build/lib/config-file.js +84 -0
  74. package/build/lib/config-file.js.map +1 -0
  75. package/build/lib/diff-command.d.ts.map +1 -1
  76. package/build/lib/diff-command.js +15 -3
  77. package/build/lib/diff-command.js.map +1 -1
  78. package/build/lib/init.d.ts.map +1 -1
  79. package/build/lib/init.js +6 -4
  80. package/build/lib/init.js.map +1 -1
  81. package/build/lib/installer.d.ts +17 -0
  82. package/build/lib/installer.d.ts.map +1 -1
  83. package/build/lib/installer.js +102 -38
  84. package/build/lib/installer.js.map +1 -1
  85. package/build/lib/lockfile.d.ts +11 -0
  86. package/build/lib/lockfile.d.ts.map +1 -1
  87. package/build/lib/lockfile.js +14 -0
  88. package/build/lib/lockfile.js.map +1 -1
  89. package/build/lib/schemas/adapter.d.ts +10 -0
  90. package/build/lib/schemas/adapter.d.ts.map +1 -1
  91. package/build/lib/schemas/adapter.js +8 -0
  92. package/build/lib/schemas/adapter.js.map +1 -1
  93. package/build/lib/schemas/lockfile.d.ts +5 -0
  94. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  95. package/build/lib/schemas/lockfile.js +8 -0
  96. package/build/lib/schemas/lockfile.js.map +1 -1
  97. package/build/lib/setup.d.ts +6 -0
  98. package/build/lib/setup.d.ts.map +1 -1
  99. package/build/lib/setup.js +49 -4
  100. package/build/lib/setup.js.map +1 -1
  101. package/build/lib/sync.d.ts +9 -1
  102. package/build/lib/sync.d.ts.map +1 -1
  103. package/build/lib/sync.js +31 -8
  104. package/build/lib/sync.js.map +1 -1
  105. package/build/lib/uninstaller.d.ts +35 -0
  106. package/build/lib/uninstaller.d.ts.map +1 -1
  107. package/build/lib/uninstaller.js +96 -29
  108. package/build/lib/uninstaller.js.map +1 -1
  109. package/build/lib/updater.d.ts +6 -0
  110. package/build/lib/updater.d.ts.map +1 -1
  111. package/build/lib/updater.js +35 -3
  112. package/build/lib/updater.js.map +1 -1
  113. package/build/lib/write-file.d.ts +13 -0
  114. package/build/lib/write-file.d.ts.map +1 -1
  115. package/build/lib/write-file.js +22 -0
  116. package/build/lib/write-file.js.map +1 -1
  117. package/package.json +2 -1
  118. package/tool-adapters/codex-cli.json +31 -0
@@ -1,6 +1,7 @@
1
1
  import { useEffect, useReducer, useRef } from 'react';
2
+ import { describeLockfileEffects } from '../lib/asset-tools.js';
2
3
  import { loadConfig } from '../lib/config.js';
3
- import { findInstalledAsset, LockfileLockedError, readLockfile, withLockfileLock } from '../lib/lockfile.js';
4
+ import { findInstalledAssetWithFallback, LockfileLockedError, readLockfile, withLockfileLock, } from '../lib/lockfile.js';
4
5
  import { parseBundleSpec, resolveActiveOrg } from '../lib/org.js';
5
6
  import { findProjectRoot } from '../lib/paths.js';
6
7
  import { fetchRegistry, findBundle } from '../lib/registry.js';
@@ -126,8 +127,13 @@ export function useUninstallState(flags) {
126
127
  // Extract org from @org/name syntax if present (shared bundle/asset spec parser)
127
128
  const { name: nameFromOrg, org: inlineOrg } = parseBundleSpec(rawName);
128
129
  const name = inlineOrg ? nameFromOrg : rawName;
129
- const tools = await resolveTools(tool);
130
+ const tools = await resolveTools(tool, projectDir);
130
131
  const toolNames = tools.map((t) => t.tool);
132
+ // `--tool` narrows the uninstall to one tool: assets that the project's other tools
133
+ // still have keep their lockfile entry. Without it every tool is cleaned and the
134
+ // entries are dropped.
135
+ const toolScope = tool ? { configuredAdapters: await loadConfiguredAdapters(projectDir) } : undefined;
136
+ const effectsFor = (assets) => describeLockfileEffects(assets, toolNames, toolScope?.configuredAdapters);
131
137
  dispatch({ message: 'Loading configuration...', type: 'LOAD_PROGRESS' });
132
138
  const config = await loadConfig();
133
139
  // Step 1: Try bundle detection first
@@ -154,21 +160,32 @@ export function useUninstallState(flags) {
154
160
  }
155
161
  // Dry-run: return plan without executing
156
162
  if (dryRun) {
157
- dispatch({ outcome: { outcome: 'dry-run-bundle', plan, tools: toolNames }, type: 'LOAD_DONE' });
163
+ dispatch({
164
+ outcome: {
165
+ lockfileEffects: effectsFor([...plan.assetsToRemove, ...plan.orphansToRemove]),
166
+ outcome: 'dry-run-bundle',
167
+ plan,
168
+ tools: toolNames,
169
+ },
170
+ type: 'LOAD_DONE',
171
+ });
158
172
  return;
159
173
  }
160
174
  // If --yes flag, execute immediately for all tools
161
175
  if (yes) {
162
176
  dispatch({ message: 'Removing bundle assets...', type: 'LOAD_PROGRESS' });
163
- // Execute bundle uninstall with the first adapter (bundle uninstall works on lockfile entries)
177
+ // Bundle uninstall drops each lockfile entry in a single pass, so every configured
178
+ // tool's files and config registrations are cleaned in that same pass.
164
179
  const result = await executeBundleUninstall(plan, {
165
180
  adapter: tools[0].adapter,
181
+ additionalAdapters: tools.slice(1).map((t) => t.adapter),
166
182
  cascade,
167
183
  onProgress: (message) => {
168
184
  if (!cancelled)
169
185
  dispatch({ message, type: 'LOAD_PROGRESS' });
170
186
  },
171
187
  projectDir,
188
+ toolScope,
172
189
  });
173
190
  if (cancelled)
174
191
  return;
@@ -183,7 +200,16 @@ export function useUninstallState(flags) {
183
200
  });
184
201
  return;
185
202
  }
186
- dispatch({ outcome: { outcome: 'bundle-confirming', plan, tools }, type: 'LOAD_DONE' });
203
+ dispatch({
204
+ outcome: {
205
+ lockfileEffects: effectsFor([...plan.assetsToRemove, ...plan.orphansToRemove]),
206
+ outcome: 'bundle-confirming',
207
+ plan,
208
+ tools,
209
+ toolScope,
210
+ },
211
+ type: 'LOAD_DONE',
212
+ });
187
213
  return;
188
214
  }
189
215
  // Dry-run for single asset: read lockfile directly (skip lock), compute plan, return
@@ -192,15 +218,26 @@ export function useUninstallState(flags) {
192
218
  const lockfile = await readLockfile(projectDir);
193
219
  if (cancelled)
194
220
  return;
195
- // Resolve active org: inline @org/name takes priority over --org flag
221
+ // Resolve active org (inline @org/name > --org > lockfile > config) as a
222
+ // preference: the lookup prefers that org's entry and falls back to the
223
+ // global entry, mirroring how `install` resolved the name.
196
224
  const org = resolveActiveOrg(inlineOrg ?? cliOrg, lockfile.org, config.org);
197
- const installed = findInstalledAsset(lockfile, name, undefined, org);
225
+ const installed = findInstalledAssetWithFallback(lockfile, name, undefined, org);
198
226
  if (!installed) {
199
227
  dispatch({ outcome: { name, outcome: 'not-installed' }, type: 'LOAD_DONE' });
200
228
  return;
201
229
  }
202
- const plan = planUninstall(lockfile, name, org);
203
- dispatch({ outcome: { outcome: 'dry-run-single', plan, tools }, type: 'LOAD_DONE' });
230
+ // Plan against the org of the entry actually found (may be global).
231
+ const plan = planUninstall(lockfile, name, installed.org);
232
+ dispatch({
233
+ outcome: {
234
+ lockfileEffects: effectsFor(cascade ? [plan.primary, ...plan.orphanedDependencies] : [plan.primary]),
235
+ outcome: 'dry-run-single',
236
+ plan,
237
+ tools,
238
+ },
239
+ type: 'LOAD_DONE',
240
+ });
204
241
  return;
205
242
  }
206
243
  // Fall through to existing single-asset uninstall logic
@@ -210,12 +247,17 @@ export function useUninstallState(flags) {
210
247
  const lockfile = await readLockfile(projectDir);
211
248
  if (cancelled)
212
249
  return null;
213
- // Resolve active org: inline @org/name takes priority over --org flag
214
- const org = resolveActiveOrg(inlineOrg ?? cliOrg, lockfile.org, config.org);
215
- const installed = findInstalledAsset(lockfile, name, undefined, org);
250
+ // Resolve active org (inline @org/name > --org > lockfile > config) as a
251
+ // preference: the lookup prefers that org's entry and falls back to the
252
+ // global entry, mirroring how `install` resolved the name.
253
+ const resolvedOrg = resolveActiveOrg(inlineOrg ?? cliOrg, lockfile.org, config.org);
254
+ const installed = findInstalledAssetWithFallback(lockfile, name, undefined, resolvedOrg);
216
255
  if (!installed) {
217
256
  return { name, outcome: 'not-installed' };
218
257
  }
258
+ // From here on, key everything on the org of the entry actually found
259
+ // (may be global even when the project has an active org).
260
+ const org = installed.org;
219
261
  // Compute the plan for display
220
262
  const plan = planUninstall(lockfile, name, org);
221
263
  // If dependents exist and no --yes flag, ask for confirmation
@@ -226,11 +268,13 @@ export function useUninstallState(flags) {
226
268
  return {
227
269
  adapter: tools[0].adapter,
228
270
  lockfile,
271
+ lockfileEffects: effectsFor(cascade ? [plan.primary, ...plan.orphanedDependencies] : [plan.primary]),
229
272
  org,
230
273
  outcome: 'confirming',
231
274
  plan,
232
275
  tool: tools[0].tool,
233
276
  tools,
277
+ toolScope,
234
278
  };
235
279
  }
236
280
  // Uninstall for all tools
@@ -248,6 +292,7 @@ export function useUninstallState(flags) {
248
292
  org,
249
293
  plan,
250
294
  projectDir,
295
+ toolScope,
251
296
  });
252
297
  toolResults.push({ plan, results, tool: toolName });
253
298
  }
@@ -304,17 +349,19 @@ export function useUninstallState(flags) {
304
349
  const projectDir = findProjectRoot(projectRoot);
305
350
  // Handle bundle confirmation execution
306
351
  if (outcome.outcome === 'bundle-confirming') {
307
- const { plan, tools } = outcome;
352
+ const { plan, tools, toolScope } = outcome;
308
353
  try {
309
- // Execute with first adapter (bundle uninstall works on lockfile entries)
354
+ // Clean every configured tool in the single pass that drops the lockfile entries
310
355
  const result = await executeBundleUninstall(plan, {
311
356
  adapter: tools[0].adapter,
357
+ additionalAdapters: tools.slice(1).map((t) => t.adapter),
312
358
  cascade,
313
359
  onProgress: (message) => {
314
360
  if (!cancelled)
315
361
  dispatch({ message, type: 'EXECUTE_PROGRESS' });
316
362
  },
317
363
  projectDir,
364
+ toolScope,
318
365
  });
319
366
  if (cancelled)
320
367
  return;
@@ -335,7 +382,7 @@ export function useUninstallState(flags) {
335
382
  }
336
383
  // Handle single-asset confirmation execution for all tools
337
384
  if (outcome.outcome === 'confirming') {
338
- const { lockfile, org, plan, tools } = outcome;
385
+ const { lockfile, org, plan, tools, toolScope } = outcome;
339
386
  const resolvedName = plan.primary.name;
340
387
  try {
341
388
  // Uninstall for all tools
@@ -352,6 +399,7 @@ export function useUninstallState(flags) {
352
399
  org,
353
400
  plan,
354
401
  projectDir,
402
+ toolScope,
355
403
  });
356
404
  allResults.push(...results);
357
405
  }
@@ -392,4 +440,17 @@ export function useUninstallState(flags) {
392
440
  }, [state.phase]);
393
441
  return [state, dispatch];
394
442
  }
443
+ /**
444
+ * Adapters of every tool configured for the project (`.atkrc.json`), ignoring `--tool`.
445
+ * A project that was never set up has none, which makes a `--tool` uninstall drop the entry.
446
+ */
447
+ async function loadConfiguredAdapters(projectDir) {
448
+ try {
449
+ const configured = await resolveTools(undefined, projectDir);
450
+ return configured.map((t) => t.adapter);
451
+ }
452
+ catch {
453
+ return [];
454
+ }
455
+ }
395
456
  //# sourceMappingURL=useUninstallState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUninstallState.js","sourceRoot":"","sources":["../../src/hooks/useUninstallState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useUninstallState.js","sourceRoot":"","sources":["../../src/hooks/useUninstallState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type { Adapter } from './schemas/adapter.js';
2
+ import type { InstalledAsset } from './schemas/lockfile.js';
3
+ /**
4
+ * Helpers for tracking which tools an installed asset is wanted for.
5
+ *
6
+ * The lockfile is tool-agnostic: by default every lockfile asset is wanted for every tool a
7
+ * developer has configured. A tool-scoped uninstall (`atk uninstall <asset> --tool <tool>`)
8
+ * records the tool in the asset's `excludedTools` instead of dropping the shared entry, so the
9
+ * other tools keep tracking the asset and sync/audit/update skip it for the excluded tool.
10
+ *
11
+ * Like `config-entries.ts`, this module is intentionally dependency-free (type-only imports
12
+ * plus that module) so it can be shared by lib code, hooks and commands without import cycles
13
+ * and without being affected by tests that mock `adapter.js` / `lockfile.js`.
14
+ */
15
+ /** What happens to one asset's lockfile entry when it is uninstalled for some tools. */
16
+ export interface LockfileEffect {
17
+ /** True when the entry survives because other tools still have the asset. */
18
+ entryKept: boolean;
19
+ name: string;
20
+ org?: string;
21
+ /** Tools that still have the asset after the removal (empty when the entry is dropped). */
22
+ remainingTools: string[];
23
+ type: string;
24
+ }
25
+ type AssetToolFields = Pick<InstalledAsset, 'configEntries' | 'excludedTools' | 'type'>;
26
+ /**
27
+ * The `excludedTools` to record after (re)installing an asset for one tool: the previously
28
+ * recorded exclusions minus the tool being installed. Returns undefined when none remain so
29
+ * the field is omitted from the lockfile.
30
+ */
31
+ export declare function carryExcludedTools(previous: Pick<InstalledAsset, 'excludedTools'> | undefined, installingTool: string): string[] | undefined;
32
+ /**
33
+ * Describe what a removal for `removingTools` does to the lockfile entries of the given assets.
34
+ * With `configuredAdapters` undefined the removal is not tool-scoped: every entry is dropped.
35
+ */
36
+ export declare function describeLockfileEffects(assets: InstalledAsset[], removingTools: string[], configuredAdapters: Adapter[] | undefined): LockfileEffect[];
37
+ /**
38
+ * The lockfile entry to keep after uninstalling an asset for one tool: the tool is recorded in
39
+ * `excludedTools` (sorted, so teammates do not reorder the committed lockfile) and only the
40
+ * other tools' config entries are kept.
41
+ */
42
+ export declare function excludeToolFromAsset(asset: InstalledAsset, adapter: Adapter): InstalledAsset;
43
+ /**
44
+ * Tools that still have the asset once it is removed for `removingTools`: the configured
45
+ * adapters that can place this asset type, plus any tool that tagged a config entry on the
46
+ * asset (the lockfile is shared, so a teammate's tool may not be configured locally), minus
47
+ * the tools already excluded and the ones being removed now.
48
+ */
49
+ export declare function getRemainingTools(asset: AssetToolFields, removingTools: string[], configuredAdapters: Adapter[]): string[];
50
+ /** Whether the asset was explicitly uninstalled for the given tool. */
51
+ export declare function isExcludedForTool(asset: Pick<InstalledAsset, 'excludedTools'>, tool: string): boolean;
52
+ /** Whether the adapter has a placement for the asset type (mirrors adapter.ts `supportsAssetType`). */
53
+ export declare function supportsType(adapter: Adapter, assetType: string): boolean;
54
+ export {};
55
+ //# sourceMappingURL=asset-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-tools.d.ts","sourceRoot":"","sources":["../../src/lib/asset-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D;;;;;;;;;;;GAWG;AAEH,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,6EAA6E;IAC7E,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2FAA2F;IAC3F,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,KAAK,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,eAAe,GAAG,MAAM,CAAC,CAAC;AAExF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,GAAG,SAAS,EAC3D,cAAc,EAAE,MAAM,GACrB,MAAM,EAAE,GAAG,SAAS,CAGtB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,cAAc,EAAE,EACxB,aAAa,EAAE,MAAM,EAAE,EACvB,kBAAkB,EAAE,OAAO,EAAE,GAAG,SAAS,GACxC,cAAc,EAAE,CAWlB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,cAAc,CAU5F;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAgB1H;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAErG;AAED,uGAAuG;AACvG,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAEzE"}
@@ -0,0 +1,71 @@
1
+ import { getOtherToolsConfigEntries } from './config-entries.js';
2
+ /**
3
+ * The `excludedTools` to record after (re)installing an asset for one tool: the previously
4
+ * recorded exclusions minus the tool being installed. Returns undefined when none remain so
5
+ * the field is omitted from the lockfile.
6
+ */
7
+ export function carryExcludedTools(previous, installingTool) {
8
+ const remaining = (previous?.excludedTools ?? []).filter((t) => t !== installingTool);
9
+ return remaining.length > 0 ? remaining : undefined;
10
+ }
11
+ /**
12
+ * Describe what a removal for `removingTools` does to the lockfile entries of the given assets.
13
+ * With `configuredAdapters` undefined the removal is not tool-scoped: every entry is dropped.
14
+ */
15
+ export function describeLockfileEffects(assets, removingTools, configuredAdapters) {
16
+ return assets.map((asset) => {
17
+ const remainingTools = configuredAdapters ? getRemainingTools(asset, removingTools, configuredAdapters) : [];
18
+ return {
19
+ entryKept: remainingTools.length > 0,
20
+ name: asset.name,
21
+ ...(asset.org ? { org: asset.org } : {}),
22
+ remainingTools,
23
+ type: asset.type,
24
+ };
25
+ });
26
+ }
27
+ /**
28
+ * The lockfile entry to keep after uninstalling an asset for one tool: the tool is recorded in
29
+ * `excludedTools` (sorted, so teammates do not reorder the committed lockfile) and only the
30
+ * other tools' config entries are kept.
31
+ */
32
+ export function excludeToolFromAsset(asset, adapter) {
33
+ const { configEntries: _configEntries, excludedTools: _excludedTools, ...rest } = asset;
34
+ const otherEntries = getOtherToolsConfigEntries(asset, adapter);
35
+ const excludedTools = [...new Set([...(asset.excludedTools ?? []), adapter.tool])].sort();
36
+ return {
37
+ ...rest,
38
+ ...(otherEntries.length > 0 ? { configEntries: otherEntries } : {}),
39
+ excludedTools,
40
+ };
41
+ }
42
+ /**
43
+ * Tools that still have the asset once it is removed for `removingTools`: the configured
44
+ * adapters that can place this asset type, plus any tool that tagged a config entry on the
45
+ * asset (the lockfile is shared, so a teammate's tool may not be configured locally), minus
46
+ * the tools already excluded and the ones being removed now.
47
+ */
48
+ export function getRemainingTools(asset, removingTools, configuredAdapters) {
49
+ const candidates = new Set();
50
+ for (const adapter of configuredAdapters) {
51
+ if (supportsType(adapter, asset.type)) {
52
+ candidates.add(adapter.tool);
53
+ }
54
+ }
55
+ for (const entry of asset.configEntries ?? []) {
56
+ if (entry.tool !== undefined) {
57
+ candidates.add(entry.tool);
58
+ }
59
+ }
60
+ const gone = new Set([...(asset.excludedTools ?? []), ...removingTools]);
61
+ return [...candidates].filter((t) => !gone.has(t)).sort();
62
+ }
63
+ /** Whether the asset was explicitly uninstalled for the given tool. */
64
+ export function isExcludedForTool(asset, tool) {
65
+ return (asset.excludedTools ?? []).includes(tool);
66
+ }
67
+ /** Whether the adapter has a placement for the asset type (mirrors adapter.ts `supportsAssetType`). */
68
+ export function supportsType(adapter, assetType) {
69
+ return assetType in adapter.placements;
70
+ }
71
+ //# sourceMappingURL=asset-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-tools.js","sourceRoot":"","sources":["../../src/lib/asset-tools.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AA4BjE;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAA2D,EAC3D,cAAsB;IAEtB,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC;IACtF,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAwB,EACxB,aAAuB,EACvB,kBAAyC;IAEzC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,MAAM,cAAc,GAAG,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7G,OAAO;YACL,SAAS,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC;YACpC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,cAAc;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAqB,EAAE,OAAgB;IAC1E,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACxF,MAAM,YAAY,GAAG,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE1F,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAsB,EAAE,aAAuB,EAAE,kBAA6B;IAC9G,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,IAAI,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;QAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5D,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,iBAAiB,CAAC,KAA4C,EAAE,IAAY;IAC1F,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,SAAiB;IAC9D,OAAO,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;AACzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"AAMA,4DAA4D;AAC5D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,wBAAwB,CAAC;CAClC;AAED,mDAAmD;AACnD,MAAM,MAAM,wBAAwB,GAAG,0BAA0B,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;AAErH,oDAAoD;AACpD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAgBhE;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAMjF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAErD;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAcpE;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAatD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGjG;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/C,OAAO,CAAC,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAgBpE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,EACjF,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA0E/B"}
1
+ {"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"AAOA,4DAA4D;AAC5D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,wBAAwB,CAAC;CAClC;AAED,mDAAmD;AACnD,MAAM,MAAM,wBAAwB,GAAG,0BAA0B,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;AAErH,oDAAoD;AACpD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAgBhE;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAMjF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAErD;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAcpE;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAatD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGjG;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/C,OAAO,CAAC,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAgBpE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,EACjF,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA2E/B"}
@@ -1,6 +1,7 @@
1
1
  import { createHash } from 'node:crypto';
2
2
  import { readdir, readFile } from 'node:fs/promises';
3
3
  import { join } from 'node:path';
4
+ import { detectConfigFormat, parseConfig } from './config-file.js';
4
5
  import { hookGroupOwnsCommand } from './hook-config.js';
5
6
  /** Recursively collect all files in a directory. */
6
7
  export async function collectFilesRecursive(dirPath, baseDir) {
@@ -148,11 +149,12 @@ export async function verifyConfigEntries(entries, projectDir) {
148
149
  const failures = [];
149
150
  for (const entry of entries) {
150
151
  const absolutePath = join(projectDir, entry.file);
151
- // 1. Read and parse the config file
152
+ // 1. Read and parse the config file (format inferred from the extension —
153
+ // callers only hold lockfile entries, not the adapter placement)
152
154
  let config;
153
155
  try {
154
156
  const raw = await readFile(absolutePath, 'utf-8');
155
- config = JSON.parse(raw);
157
+ config = parseConfig(raw, detectConfigFormat(entry.file));
156
158
  }
157
159
  catch {
158
160
  failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_FILE_NOT_FOUND' });
@@ -1 +1 @@
1
- {"version":3,"file":"checksum.js","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checksum.js","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import type { Adapter } from './schemas/adapter.js';
2
+ import type { ConfigEntry, InstalledAsset } from './schemas/lockfile.js';
3
+ /**
4
+ * Helpers for scoping an installed asset's lockfile `configEntries` to a single tool.
5
+ *
6
+ * The lockfile is tool-agnostic and shared by teammates who may use different tools,
7
+ * but a config entry is inherently tool-specific (its `file`, `command` and `checksum`
8
+ * all differ per adapter). Each entry is therefore tagged with the `tool` that
9
+ * registered it, and every consumer (installer, uninstaller, sync, audit) must only
10
+ * act on the entries belonging to the adapter it is running for.
11
+ *
12
+ * Entries written by older CLI versions carry no `tool` tag; their owner is inferred
13
+ * by matching the entry's `file` against the adapter placement's `configFile`.
14
+ *
15
+ * This module is intentionally dependency-free (type-only imports) so it can be shared
16
+ * by the installer, uninstaller, sync and audit without import cycles.
17
+ */
18
+ type AssetConfigEntries = Pick<InstalledAsset, 'configEntries' | 'type'>;
19
+ /**
20
+ * Whether a lockfile config entry belongs to the given adapter's tool.
21
+ * Tagged entries match on `tool`; untagged legacy entries match when their file is
22
+ * the config file this adapter registers the asset type in.
23
+ */
24
+ export declare function configEntryBelongsToTool(entry: ConfigEntry, adapter: Adapter, assetType: string): boolean;
25
+ /** The asset's recorded config entries that belong to the given adapter's tool. */
26
+ export declare function getConfigEntriesForTool(asset: AssetConfigEntries, adapter: Adapter): ConfigEntry[];
27
+ /** The asset's recorded config entries that belong to any tool other than the given adapter's. */
28
+ export declare function getOtherToolsConfigEntries(asset: AssetConfigEntries | undefined, adapter: Adapter): ConfigEntry[];
29
+ /**
30
+ * Build the config entries to record after (re)installing an asset for one tool:
31
+ * other tools' previously recorded entries are preserved verbatim, this tool's stale
32
+ * entries are dropped, and the freshly registered entries are tagged with the tool.
33
+ *
34
+ * The result is ordered by tool so that teammates syncing under different tools do
35
+ * not reorder the committed lockfile.
36
+ */
37
+ export declare function mergeConfigEntriesForTool(previous: AssetConfigEntries | undefined, adapter: Adapter, fresh: Array<Omit<ConfigEntry, 'tool'>>): ConfigEntry[];
38
+ /**
39
+ * Whether an asset is missing its config registration for the given tool: the adapter
40
+ * registers this asset type in a config file, the asset has recorded entries for some
41
+ * other tool, but none for this one. This repairs multi-tool projects where only one
42
+ * tool's registration was ever recorded.
43
+ *
44
+ * Assets with no recorded entries at all are left alone — a hook with no event
45
+ * bindings, a legacy lockfile, or a memory-template legitimately has none, and
46
+ * flagging them would re-sync the asset forever.
47
+ */
48
+ export declare function needsConfigRegistration(asset: AssetConfigEntries, adapter: Adapter): boolean;
49
+ /** Normalize a project-relative config path for comparison: POSIX separators, no leading `./`. */
50
+ export declare function normalizeConfigPath(path: string): string;
51
+ export {};
52
+ //# sourceMappingURL=config-entries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-entries.d.ts","sourceRoot":"","sources":["../../src/lib/config-entries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEzE;;;;;;;;;;;;;;GAcG;AAEH,KAAK,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,MAAM,CAAC,CAAC;AAEzE;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAWzG;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAElG;AAED,kGAAkG;AAClG,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,kBAAkB,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAKjH;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,EACxC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GACtC,WAAW,EAAE,CAQf;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAS5F;AAED,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMxD"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Whether a lockfile config entry belongs to the given adapter's tool.
3
+ * Tagged entries match on `tool`; untagged legacy entries match when their file is
4
+ * the config file this adapter registers the asset type in.
5
+ */
6
+ export function configEntryBelongsToTool(entry, adapter, assetType) {
7
+ if (entry.tool !== undefined) {
8
+ return entry.tool === adapter.tool;
9
+ }
10
+ const placement = adapter.placements[assetType];
11
+ if (!placement?.configFile) {
12
+ return false;
13
+ }
14
+ return normalizeConfigPath(entry.file) === normalizeConfigPath(placement.configFile);
15
+ }
16
+ /** The asset's recorded config entries that belong to the given adapter's tool. */
17
+ export function getConfigEntriesForTool(asset, adapter) {
18
+ return (asset.configEntries ?? []).filter((e) => configEntryBelongsToTool(e, adapter, asset.type));
19
+ }
20
+ /** The asset's recorded config entries that belong to any tool other than the given adapter's. */
21
+ export function getOtherToolsConfigEntries(asset, adapter) {
22
+ if (!asset) {
23
+ return [];
24
+ }
25
+ return (asset.configEntries ?? []).filter((e) => !configEntryBelongsToTool(e, adapter, asset.type));
26
+ }
27
+ /**
28
+ * Build the config entries to record after (re)installing an asset for one tool:
29
+ * other tools' previously recorded entries are preserved verbatim, this tool's stale
30
+ * entries are dropped, and the freshly registered entries are tagged with the tool.
31
+ *
32
+ * The result is ordered by tool so that teammates syncing under different tools do
33
+ * not reorder the committed lockfile.
34
+ */
35
+ export function mergeConfigEntriesForTool(previous, adapter, fresh) {
36
+ const merged = [
37
+ ...getOtherToolsConfigEntries(previous, adapter),
38
+ ...fresh.map((e) => ({ ...e, tool: adapter.tool })),
39
+ ];
40
+ // Array.prototype.sort is stable, so entries keep their relative order within a tool.
41
+ return merged.sort((a, b) => (a.tool ?? '').localeCompare(b.tool ?? ''));
42
+ }
43
+ /**
44
+ * Whether an asset is missing its config registration for the given tool: the adapter
45
+ * registers this asset type in a config file, the asset has recorded entries for some
46
+ * other tool, but none for this one. This repairs multi-tool projects where only one
47
+ * tool's registration was ever recorded.
48
+ *
49
+ * Assets with no recorded entries at all are left alone — a hook with no event
50
+ * bindings, a legacy lockfile, or a memory-template legitimately has none, and
51
+ * flagging them would re-sync the asset forever.
52
+ */
53
+ export function needsConfigRegistration(asset, adapter) {
54
+ const placement = adapter.placements[asset.type];
55
+ if (!placement?.configFile || !placement.configKey) {
56
+ return false;
57
+ }
58
+ if ((asset.configEntries?.length ?? 0) === 0) {
59
+ return false;
60
+ }
61
+ return getConfigEntriesForTool(asset, adapter).length === 0;
62
+ }
63
+ /** Normalize a project-relative config path for comparison: POSIX separators, no leading `./`. */
64
+ export function normalizeConfigPath(path) {
65
+ let normalized = path.replace(/\\/g, '/');
66
+ while (normalized.startsWith('./')) {
67
+ normalized = normalized.slice(2);
68
+ }
69
+ return normalized;
70
+ }
71
+ //# sourceMappingURL=config-entries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-entries.js","sourceRoot":"","sources":["../../src/lib/config-entries.ts"],"names":[],"mappings":"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"}