@detergent-software/atk 7.11.0 → 7.12.0-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +3 -1
  2. package/build/commands/browse.js +7 -2
  3. package/build/commands/browse.js.map +1 -1
  4. package/build/commands/index.d.ts.map +1 -1
  5. package/build/commands/index.js +5 -2
  6. package/build/commands/index.js.map +1 -1
  7. package/build/commands/install.js +10 -1
  8. package/build/commands/install.js.map +1 -1
  9. package/build/commands/uninstall.js +1 -1
  10. package/build/commands/uninstall.js.map +1 -1
  11. package/build/lib/checksum.d.ts.map +1 -1
  12. package/build/lib/checksum.js +4 -2
  13. package/build/lib/checksum.js.map +1 -1
  14. package/build/lib/config-file.d.ts +49 -0
  15. package/build/lib/config-file.d.ts.map +1 -0
  16. package/build/lib/config-file.js +84 -0
  17. package/build/lib/config-file.js.map +1 -0
  18. package/build/lib/init.d.ts.map +1 -1
  19. package/build/lib/init.js +6 -4
  20. package/build/lib/init.js.map +1 -1
  21. package/build/lib/installer.d.ts +17 -0
  22. package/build/lib/installer.d.ts.map +1 -1
  23. package/build/lib/installer.js +81 -35
  24. package/build/lib/installer.js.map +1 -1
  25. package/build/lib/schemas/adapter.d.ts +10 -0
  26. package/build/lib/schemas/adapter.d.ts.map +1 -1
  27. package/build/lib/schemas/adapter.js +8 -0
  28. package/build/lib/schemas/adapter.js.map +1 -1
  29. package/build/lib/uninstaller.d.ts.map +1 -1
  30. package/build/lib/uninstaller.js +10 -10
  31. package/build/lib/uninstaller.js.map +1 -1
  32. package/build/lib/write-file.d.ts +13 -0
  33. package/build/lib/write-file.d.ts.map +1 -1
  34. package/build/lib/write-file.js +22 -0
  35. package/build/lib/write-file.js.map +1 -1
  36. package/package.json +2 -1
  37. package/tool-adapters/codex-cli.json +31 -0
@@ -0,0 +1,84 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { readFile } from 'node:fs/promises';
3
+ import { extname } from 'node:path';
4
+ import { parse as parseToml } from 'smol-toml';
5
+ import { writeJsonFile, writeTomlFile } from './write-file.js';
6
+ /**
7
+ * Infer the config format from a file path. `.toml` (any case) → `toml`,
8
+ * everything else → `json`. Used where only a lockfile entry (file + key) is
9
+ * available and no placement is in scope.
10
+ */
11
+ export function detectConfigFormat(filePath) {
12
+ return extname(filePath).toLowerCase() === '.toml' ? 'toml' : 'json';
13
+ }
14
+ /**
15
+ * Normalize a value so that what is checksummed equals what will be read back
16
+ * from disk after a write. TOML has no null: smol-toml silently drops
17
+ * null/undefined object members on serialize, so strip them up front. JSON is
18
+ * returned unchanged.
19
+ */
20
+ export function normalizeForFormat(value, format) {
21
+ if (format !== 'toml') {
22
+ return value;
23
+ }
24
+ return stripNullish(value);
25
+ }
26
+ /**
27
+ * Parse config text in the given format. Throws on syntax errors
28
+ * (`SyntaxError` for JSON, `TomlError` for TOML).
29
+ */
30
+ export function parseConfig(raw, format) {
31
+ return (format === 'toml' ? parseToml(raw) : JSON.parse(raw));
32
+ }
33
+ /**
34
+ * Read and parse a config file. Propagates filesystem errors (e.g. ENOENT)
35
+ * like `readFile` — callers keep their own existence guards.
36
+ */
37
+ export async function readConfigFile(filePath, format) {
38
+ const raw = await readFile(filePath, 'utf-8');
39
+ return parseConfig(raw, format);
40
+ }
41
+ /**
42
+ * Resolve the format for a placement's config file: an explicit
43
+ * `configFormat` wins, otherwise the file extension decides.
44
+ */
45
+ export function resolveConfigFormat(filePath, placement) {
46
+ return placement?.configFormat ?? detectConfigFormat(filePath);
47
+ }
48
+ /**
49
+ * Serialize and write a config file in the given format, idempotently.
50
+ *
51
+ * For TOML, re-serializing drops any comments the user had in the file; when
52
+ * that is about to happen, a one-line warning is emitted through `onProgress`
53
+ * so the loss is visible rather than silent.
54
+ */
55
+ export async function writeConfigFile(filePath, data, format, onProgress) {
56
+ if (format === 'json') {
57
+ await writeJsonFile(filePath, data);
58
+ return;
59
+ }
60
+ if (onProgress && existsSync(filePath)) {
61
+ const existing = await readFile(filePath, 'utf-8');
62
+ if (/^\s*#/m.test(existing)) {
63
+ onProgress(`Warning: rewriting ${filePath} — TOML comments and custom formatting are not preserved`);
64
+ }
65
+ }
66
+ await writeTomlFile(filePath, data);
67
+ }
68
+ /** Recursively drop null/undefined members from plain objects (arrays are mapped, not filtered). */
69
+ function stripNullish(value) {
70
+ if (Array.isArray(value)) {
71
+ return value.map(stripNullish);
72
+ }
73
+ if (value !== null && typeof value === 'object') {
74
+ const out = {};
75
+ for (const [key, member] of Object.entries(value)) {
76
+ if (member === null || member === undefined)
77
+ continue;
78
+ out[key] = stripNullish(member);
79
+ }
80
+ return out;
81
+ }
82
+ return value;
83
+ }
84
+ //# sourceMappingURL=config-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-file.js","sourceRoot":"","sources":["../../src/lib/config-file.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":"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"}
package/build/lib/init.js CHANGED
@@ -4,6 +4,7 @@ import { basename, extname, join, resolve } from 'node:path';
4
4
  import { promisify } from 'node:util';
5
5
  import { getPlacement, loadAdapter, loadAllAdapters, resolveInstalledPaths } from './adapter.js';
6
6
  import { collectFilesRecursive } from './checksum.js';
7
+ import { parseConfig, resolveConfigFormat } from './config-file.js';
7
8
  import { parseOrgFromName } from './org.js';
8
9
  import { findProjectRoot } from './paths.js';
9
10
  import { writeJsonFile, writeTextFile } from './write-file.js';
@@ -172,7 +173,7 @@ export async function forkFromLocal(fromPath, assetType) {
172
173
  const projectRoot = findProjectRoot();
173
174
  const settingsPath = join(projectRoot, placement.configFile);
174
175
  const settingsRaw = await readFile(settingsPath, 'utf-8');
175
- const settings = JSON.parse(settingsRaw);
176
+ const settings = parseConfig(settingsRaw, resolveConfigFormat(settingsPath, placement));
176
177
  const section = settings[placement.configKey];
177
178
  if (section && typeof section === 'object' && !Array.isArray(section)) {
178
179
  const hookConfig = {};
@@ -444,15 +445,16 @@ export function validateAssetName(name) {
444
445
  */
445
446
  async function forkFromLocalMcpConfig(keyName, placement, manifest) {
446
447
  const projectRoot = findProjectRoot();
447
- const mcpPath = join(projectRoot, placement.configFile ?? '.mcp.json');
448
+ const configFile = placement.configFile ?? '.mcp.json';
449
+ const mcpPath = join(projectRoot, configFile);
448
450
  let mcpRaw;
449
451
  try {
450
452
  mcpRaw = await readFile(mcpPath, 'utf-8');
451
453
  }
452
454
  catch {
453
- throw new Error(`Cannot read "${mcpPath}". Ensure .mcp.json exists in the project root.`);
455
+ throw new Error(`Cannot read "${mcpPath}". Ensure ${configFile} exists in the project root.`);
454
456
  }
455
- const mcpJson = JSON.parse(mcpRaw);
457
+ const mcpJson = parseConfig(mcpRaw, resolveConfigFormat(mcpPath, placement));
456
458
  const configKey = placement.configKey ?? 'mcpServers';
457
459
  const servers = mcpJson[configKey];
458
460
  if (!servers || !(keyName in servers)) {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAOtC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE/D,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,CAAC,MAAM,eAAe,GAC1B,0FAA0F,CAAC;AAE7F,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,QAAQ,CAAU,CAAC;AA0CjH,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAY,EACZ,IAAc,EACd,QAAkB,EAClB,GAAY;IAEZ,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACvG,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/D,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChH,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IAC7D,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,SAAmB;IAC7D,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,QAAkB,EAClB,OAAgB,EAChB,UAAkB;IAElB,2DAA2D;IAC3D,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAE3E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAEvE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExC,kEAAkE;IAClE,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAClD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;QACpE,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,MAAM,QAAQ,GAA4B;QACxC,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,EAAE;QAC1C,WAAW,EAAE,EAAE;QACf,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,OAAO,EAAE,SAAS,CAAC,OAAO;KAC3B,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAgB,EAChB,SAAmB;IAEnB,qEAAqE;IACrE,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;IAEjD,iEAAiE;IACjE,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,SAAsB,CAAC,CAAC;IAChE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,oDAAoD,SAAS,IAAI,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAE7C,6CAA6C;IAC7C,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,OAAO,sBAAsB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,4BAA4B;IAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEvC,IAAI,KAAuC,CAAC;IAC5C,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,qBAAqB,YAAY,2DAA2D,CAAC,CAAC;IAChH,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;IAC5B,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;IAE1B,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACnB,oBAAoB;QACpB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEtD,2DAA2D;QAC3D,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,IAAI,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC1E,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QAC/B,qDAAqD;QACrD,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAE1E,KAAK,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,SAAS,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAE/C,2EAA2E;YAC3E,8BAA8B;YAC9B,IAAI,UAAU,IAAI,SAAS,CAAC,cAAc,IAAI,mBAAmB,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC3F,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,SAAS,YAAY,sCAAsC,CAAC,CAAC;IAC/E,CAAC;IAED,2EAA2E;IAC3E,8EAA8E;IAC9E,iFAAiF;IACjF,IAAI,SAAS,CAAC,eAAe,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;YACtC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;YAC7D,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAA4B,CAAC;YACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAE9C,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtE,MAAM,UAAU,GAA2D,EAAE,CAAC;gBAE9E,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAkC,CAAC,EAAE,CAAC;oBACjF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;wBAAE,SAAS;oBACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;4BAAE,SAAS;wBAClD,MAAM,CAAC,GAAG,KAA+C,CAAC;wBAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,CAAC;4BACH,OAAO,CAAC,KAAK,QAAQ;4BACrB,OAAQ,CAA2B,CAAC,OAAO,KAAK,QAAQ;4BACvD,CAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,WAAW,KAAK,CAAC,CACpE,CAAC;wBACF,IAAI,CAAC,UAAU;4BAAE,SAAS;wBAE1B,MAAM,OAAO,GAA2C,EAAE,CAAC;wBAC3D,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;4BAAE,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;wBAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAQ,CAA2B,CAAC,OAAO,KAAK,QAAQ,CAChG,CAAC;wBACF,IAAI,KAAK;4BAAE,OAAO,CAAC,OAAO,GAAI,KAA6B,CAAC,OAAO,CAAC;wBACpE,UAAU,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBAED,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yEAAyE;QAC3E,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAc,EAAE,IAAY,EAAE,WAAmB;IACzF,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAExC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,iBAAiB,CAAC;QACvB,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,KAAK,WAAW,OAAO,WAAW,IAAI,CAAC;QAChD,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY;YACf,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,0BAA0B,WAAW,MAAM,WAAW,yDAAyD,CAAC;IAC3H,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAoB;IACnD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAExB,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,cAAc,GAA4B;YAC9C,OAAO,EAAE,GAAG,eAAe,qBAAqB;YAChD,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC/C,sEAAsE;gBACtE,qEAAqE;gBACrE,uEAAuE;gBACvE,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACpC,4EAA4E;gBAC5E,MAAM,IAAI,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;gBACpE,MAAM,UAAU,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;gBACvE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBACpE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;YACrE,CAAC,CAAC;YACF,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,IAAI,EAAE,SAAS;YACf,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO;SACjB,CAAC;QAEF,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAA4B;QACxC,OAAO,EAAE,GAAG,eAAe,uBAAuB;QAClD,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,KAAK,EAAE,MAAM;QACb,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,IAAI,EAAE,SAAS;QACf,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO;KACjB,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAc,EAAE,IAAY,EAAE,WAAmB;IACrF,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAExC,IAAI,OAAO,GAAG,KAAK,WAAW,OAAO,WAAW,8HAA8H,CAAC;IAE/K,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,IAAI,yjBAAyjB,IAAI,qDAAqD,CAAC;IAChoB,CAAC;IAED,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,2IAA2I,IAAI,wDAAwD,IAAI,6BAA6B,CAAC;IACtP,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAc,EAAE,IAAY;IAC5D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,GAAG,IAAI,KAAK,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,GAAG,IAAI,KAAK,CAAC;QACtB,KAAK,YAAY;YACf,OAAO,SAAS,CAAC;QACnB,KAAK,iBAAiB;YACpB,OAAO,GAAG,IAAI,KAAK,CAAC;QACtB,KAAK,MAAM;YACT,OAAO,GAAG,IAAI,KAAK,CAAC;QACtB,KAAK,OAAO;YACV,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC5E,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAoB,EAAE,aAAqB;IAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,8BAA8B;IAC9B,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5C,qEAAqE;IACrE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC;IACrF,MAAM,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjE,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAEpC,sCAAsC;IACtC,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,yBAAyB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3F,MAAM,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;QAC1D,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAED,kBAAkB;IAClB,MAAM,aAAa,GAAG,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7F,MAAM,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,aAAa,CAAC,CAAC;IACjE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE/B,OAAO;QACL,YAAY;QACZ,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS;QACT,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,sCAAsC;IACtC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,KAAK,EAAE,6CAA6C,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAChF,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAE5C,mFAAmF;QACnF,IAAI,CAAC,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,OAAO;gBACL,KAAK,EAAE,+DAA+D;gBACtE,KAAK,EAAE,KAAK;aACb,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,OAAO,EAAE,KAAK,EAAE,+DAA+D,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAClG,CAAC;QAED,yDAAyD;QACzD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,KAAK,EAAE,yCAAyC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO;YACL,KAAK,EAAE,uFAAuF;YAC9F,KAAK,EAAE,KAAK;SACb,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,iCAAiC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACpE,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,2CAA2C,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC9E,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E;;;GAGG;AACH,KAAK,UAAU,sBAAsB,CACnC,OAAe,EACf,SAAmD,EACnD,QAAiC;IAEjC,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,UAAU,IAAI,WAAW,CAAC,CAAC;IAEvE,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,gBAAgB,OAAO,iDAAiD,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAA4B,CAAC;IAC9D,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,IAAI,YAAY,CAAC;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAwC,CAAC;IAE1E,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,kBAAkB,SAAS,QAAQ,OAAO,IAAI,CAAC,CAAC;IACxF,CAAC;IAED,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,GAAG,YAAqB,CAAC;IACtC,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;IAErD,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,EAAkB,EAAE,QAAQ,EAAE,CAAC;AACxD,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,QAAgB,EAAE,SAAiB;IAC9D,MAAM,QAAQ,GAA2B;QACvC,KAAK,EAAE,4BAA4B;QACnC,IAAI,EAAE,6BAA6B;QACnC,iBAAiB,EAAE,sCAAsC;QACzD,IAAI,EAAE,iCAAiC;QACvC,KAAK,EAAE,4BAA4B;KACpC,CAAC;IAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAClD,CAAC;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;;GAGG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,13 @@ export interface InstallOptions {
18
18
  pin?: boolean;
19
19
  /** Project root directory. */
20
20
  projectDir: string;
21
+ /**
22
+ * When true, a plan containing only asset types this tool has no placement for resolves
23
+ * to an empty result instead of throwing. Multi-tool installs set this so a tool that
24
+ * lacks e.g. a `rule` placement steps aside while another tool installs the asset; see
25
+ * {@link assertInstalledByAnyTool} for the "nobody installed it" check.
26
+ */
27
+ skipUnsupported?: boolean;
21
28
  }
22
29
  export interface InstallResult {
23
30
  bundleOrigin?: {
@@ -45,6 +52,16 @@ export declare class InstallerError extends Error {
45
52
  hint?: string;
46
53
  constructor(message: string, options?: ErrorHintOptions);
47
54
  }
55
+ /**
56
+ * Guard for multi-tool installs run with `skipUnsupported`. Each tool skips the asset
57
+ * types it cannot place, which is fine as long as some tool placed something. If every
58
+ * tool skipped every entry, nothing was installed — surface that as an error rather
59
+ * than reporting a successful no-op.
60
+ */
61
+ export declare function assertInstalledByAnyTool(plan: InstallPlan, toolResults: Array<{
62
+ results: InstallResult[];
63
+ tool: string;
64
+ }>): void;
48
65
  /**
49
66
  * Execute a full install plan — install all assets in order.
50
67
  * On partial failure, rolls back previously installed assets (deletes placed files,
@@ -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;AAOpD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQpD,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,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;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,oBAAoB,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/F,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;AAQD,qBAAa,cAAe,SAAQ,KAAK;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEF,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;CAM5D;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAoF7G"}
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;AAepD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQpD,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,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;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,oBAAoB,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/F,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;AAQD,qBAAa,cAAe,SAAQ,KAAK;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEF,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;CAM5D;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,WAAW,EACjB,WAAW,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC7D,IAAI,CAUN;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA2G7G"}
@@ -3,13 +3,14 @@ import { mkdir, readFile, unlink } from 'node:fs/promises';
3
3
  import { dirname, join } from 'node:path';
4
4
  import { getPlacement, isEntrypoint, resolveInstalledPaths } from './adapter.js';
5
5
  import { computeConfigEntryChecksum, computeHookGroupChecksum, hashBytes } from './checksum.js';
6
+ import { detectConfigFormat, normalizeForFormat, readConfigFile, resolveConfigFormat, writeConfigFile, } from './config-file.js';
6
7
  import {} from './errors.js';
7
8
  import { ensureGitignoreEntries } from './gitignore.js';
8
9
  import { buildHookGroup, deriveHookCommand, hookGroupOwnsCommand, removeHookGroup } from './hook-config.js';
9
10
  import { addAssetToLockfile, readLockfile, removeAssetFromLockfile, writeLockfile } from './lockfile.js';
10
11
  import { toRelativePosix } from './paths.js';
11
12
  import { fetchAssetFileBytes, fetchAssetManifest, listAssetFiles } from './registry.js';
12
- import { writeBinaryFile, writeJsonFile, writeTextFile } from './write-file.js';
13
+ import { writeBinaryFile, writeTextFile } from './write-file.js';
13
14
  export class InstallerError extends Error {
14
15
  command;
15
16
  hint;
@@ -20,6 +21,23 @@ export class InstallerError extends Error {
20
21
  this.command = options.command;
21
22
  }
22
23
  }
24
+ /**
25
+ * Guard for multi-tool installs run with `skipUnsupported`. Each tool skips the asset
26
+ * types it cannot place, which is fine as long as some tool placed something. If every
27
+ * tool skipped every entry, nothing was installed — surface that as an error rather
28
+ * than reporting a successful no-op.
29
+ */
30
+ export function assertInstalledByAnyTool(plan, toolResults) {
31
+ if (plan.entries.length === 0 || toolResults.some((r) => r.results.length > 0)) {
32
+ return;
33
+ }
34
+ const types = [...new Set(plan.entries.map((e) => e.asset.type))].join(', ');
35
+ const tools = toolResults.map((r) => r.tool).join(', ');
36
+ throw new InstallerError(`None of the configured tools (${tools}) support asset type "${types}"`, {
37
+ command: 'atk setup',
38
+ hint: 'Add a tool that supports this asset type, or install it in a project configured for one.',
39
+ });
40
+ }
23
41
  /**
24
42
  * Execute a full install plan — install all assets in order.
25
43
  * On partial failure, rolls back previously installed assets (deletes placed files,
@@ -39,8 +57,25 @@ export async function executeInstallPlan(plan, options) {
39
57
  let lockfile = await readLockfile(options.projectDir);
40
58
  // Build set of ATK-managed file paths from the lockfile for conflict detection
41
59
  const managedPaths = buildManagedPathsSet(lockfile, options.projectDir, options.adapter);
60
+ // In multi-tool projects the same plan runs once per tool. A tool that has no
61
+ // placement for an asset type (e.g. Codex CLI has no `rule` placement) skips
62
+ // those entries instead of aborting the whole run for that tool. When the tool
63
+ // supports nothing in the plan, fail loudly so a single-tool install isn't a
64
+ // silent no-op.
65
+ const supportedEntries = [];
66
+ for (const entry of plan.entries) {
67
+ if (getPlacement(options.adapter, entry.asset.type)) {
68
+ supportedEntries.push(entry);
69
+ }
70
+ else {
71
+ options.onProgress?.(`Skipping ${entry.asset.name}: ${options.adapter.displayName} does not support ${entry.asset.type} assets`);
72
+ }
73
+ }
74
+ if (supportedEntries.length === 0 && plan.entries.length > 0 && !options.skipUnsupported) {
75
+ throw new InstallerError(`Tool "${options.adapter.tool}" does not support asset type "${plan.entries[0].asset.type}"`);
76
+ }
42
77
  try {
43
- for (const entry of plan.entries) {
78
+ for (const entry of supportedEntries) {
44
79
  const { lockfile: updatedLockfile, result } = await installAsset(entry, options, managedPaths, lockfile);
45
80
  results.push(result);
46
81
  lockfile = updatedLockfile;
@@ -67,7 +102,9 @@ export async function executeInstallPlan(plan, options) {
67
102
  // Revert config file entries (best-effort)
68
103
  for (const entry of result.configEntriesCreated) {
69
104
  try {
70
- await revertConfigEntry(join(options.projectDir, entry.file), entry.key, entry.command, options.onProgress);
105
+ const configPath = join(options.projectDir, entry.file);
106
+ const format = resolveConfigFormat(configPath, getPlacement(options.adapter, result.type));
107
+ await revertConfigEntry(configPath, entry.key, entry.command, format, options.onProgress);
71
108
  }
72
109
  catch (error) {
73
110
  options.onProgress?.(`Warning: Failed to revert config entry ${entry.key} during rollback — ${error instanceof Error ? error.message : String(error)}`);
@@ -88,7 +125,7 @@ export async function executeInstallPlan(plan, options) {
88
125
  // keeping any recovery hint/command (e.g. from an API auth failure).
89
126
  const originalMessage = error instanceof Error ? error.message : String(error);
90
127
  const original = error;
91
- throw new InstallerError(`Install failed at asset "${plan.entries[results.length]?.asset.name ?? 'unknown'}" ` +
128
+ throw new InstallerError(`Install failed at asset "${supportedEntries[results.length]?.asset.name ?? 'unknown'}" ` +
92
129
  `and ${results.length} previously installed asset(s) were rolled back: ${originalMessage}`, {
93
130
  command: typeof original?.command === 'string' ? original.command : undefined,
94
131
  hint: typeof original?.hint === 'string' ? original.hint : undefined,
@@ -103,10 +140,10 @@ export async function executeInstallPlan(plan, options) {
103
140
  */
104
141
  async function addToEnabledList(enabledListFilePath, enabledListKey, names, onProgress) {
105
142
  try {
143
+ const format = detectConfigFormat(enabledListFilePath);
106
144
  let config = {};
107
145
  if (existsSync(enabledListFilePath)) {
108
- const raw = await readFile(enabledListFilePath, 'utf-8');
109
- config = JSON.parse(raw);
146
+ config = await readConfigFile(enabledListFilePath, format);
110
147
  }
111
148
  else {
112
149
  const dir = dirname(enabledListFilePath);
@@ -125,7 +162,7 @@ async function addToEnabledList(enabledListFilePath, enabledListKey, names, onPr
125
162
  }
126
163
  if (changed) {
127
164
  config[enabledListKey] = list;
128
- await writeJsonFile(enabledListFilePath, config);
165
+ await writeConfigFile(enabledListFilePath, config, format, onProgress);
129
166
  }
130
167
  }
131
168
  catch (error) {
@@ -311,13 +348,18 @@ async function installAsset(entry, options, managedPaths, lockfile) {
311
348
  });
312
349
  }
313
350
  }
314
- // Handle config file updates if needed
351
+ // Handle config file updates if needed. The target file's serialization format
352
+ // (JSON by default; TOML for tools like Codex CLI) is resolved once here and
353
+ // threaded into every merge helper.
354
+ const configFormat = placement.configFile
355
+ ? resolveConfigFormat(join(basePath, placement.configFile), placement)
356
+ : 'json';
315
357
  if (placement.configFile && placement.configKey && placement.configHookMerge) {
316
358
  // Hook placement: merge the asset's hookConfig event bindings into the tool
317
359
  // config file as valid event arrays (e.g. settings.json hooks.Stop[]), with the
318
360
  // command derived from the installed script path.
319
361
  const command = deriveHookCommand(placement.configCommandPrefix, placement.path.replace(/\{name\}/g, asset.name));
320
- const hookEntries = await mergeHookConfig(join(basePath, placement.configFile), placement.configKey, entry.versionData.hookConfig, command, projectDir, onProgress);
362
+ const hookEntries = await mergeHookConfig(join(basePath, placement.configFile), placement.configKey, configFormat, entry.versionData.hookConfig, command, projectDir, onProgress);
321
363
  configEntries.push(...hookEntries);
322
364
  }
323
365
  else if (placement.configFile && placement.configKey) {
@@ -336,7 +378,7 @@ async function installAsset(entry, options, managedPaths, lockfile) {
336
378
  // (e.g. a whole .mcp.json). Merge the entries inside content[configKey] into
337
379
  // configFile[configKey] keyed by each entry's own name, instead of nesting the
338
380
  // whole content under the asset name.
339
- const { entries, names } = await mergeFragmentConfig(join(basePath, placement.configFile), placement.configKey, projectDir, mergeContent, onProgress);
381
+ const { entries, names } = await mergeFragmentConfig(join(basePath, placement.configFile), placement.configKey, configFormat, projectDir, mergeContent, placement.configFragmentKey, onProgress);
340
382
  configEntries.push(...entries);
341
383
  // Auto-register the merged entry names into an enabled-list (e.g. enabledMcpjsonServers
342
384
  // in settings.local.json) so the tool auto-approves them.
@@ -345,7 +387,7 @@ async function installAsset(entry, options, managedPaths, lockfile) {
345
387
  }
346
388
  }
347
389
  else {
348
- const configResult = await updateConfigFile(join(basePath, placement.configFile), placement.configKey, asset.name, asset.type, projectDir, mergeContent, onProgress);
390
+ const configResult = await updateConfigFile(join(basePath, placement.configFile), placement.configKey, configFormat, asset.name, asset.type, projectDir, mergeContent, onProgress);
349
391
  if (configResult) {
350
392
  configEntries.push(configResult);
351
393
  }
@@ -394,26 +436,33 @@ async function installAsset(entry, options, managedPaths, lockfile) {
394
436
  * into `config[configKey]` keyed by their own names (not nested under the asset name), each tagged
395
437
  * with the `_managedBy: 'atk'` marker. Returns one config entry per merged name (for lockfile
396
438
  * tracking / checksum verification) plus the list of names that were merged.
439
+ *
440
+ * The inner map is looked up at `content[configKey]`, then `content[fragmentKey]` (for tools
441
+ * whose target key differs from the asset content's key, e.g. `mcp_servers` vs `mcpServers`),
442
+ * and finally the whole content is treated as the inner map.
397
443
  */
398
- async function mergeFragmentConfig(configFilePath, configKey, projectDir, mergeContent, onProgress) {
444
+ async function mergeFragmentConfig(configFilePath, configKey, format, projectDir, mergeContent, fragmentKey, onProgress) {
399
445
  const empty = { entries: [], names: [] };
400
446
  if (!mergeContent) {
401
447
  return empty;
402
448
  }
403
449
  try {
404
- // Tolerant extraction: prefer the inner map at content[configKey]; otherwise treat the
405
- // whole content as the inner map.
406
- const inner = mergeContent[configKey] && typeof mergeContent[configKey] === 'object'
407
- ? mergeContent[configKey]
408
- : mergeContent;
450
+ const pickMap = (key) => {
451
+ if (!key)
452
+ return undefined;
453
+ const candidate = mergeContent[key];
454
+ return candidate && typeof candidate === 'object' && !Array.isArray(candidate)
455
+ ? candidate
456
+ : undefined;
457
+ };
458
+ const inner = pickMap(configKey) ?? pickMap(fragmentKey) ?? mergeContent;
409
459
  const innerNames = Object.keys(inner).filter((name) => inner[name] && typeof inner[name] === 'object');
410
460
  if (innerNames.length === 0) {
411
461
  return empty;
412
462
  }
413
463
  let config = {};
414
464
  if (existsSync(configFilePath)) {
415
- const raw = await readFile(configFilePath, 'utf-8');
416
- config = JSON.parse(raw);
465
+ config = await readConfigFile(configFilePath, format);
417
466
  }
418
467
  else {
419
468
  const dir = dirname(configFilePath);
@@ -427,7 +476,7 @@ async function mergeFragmentConfig(configFilePath, configKey, projectDir, mergeC
427
476
  const section = config[configKey];
428
477
  const entries = [];
429
478
  for (const name of innerNames) {
430
- const value = { ...inner[name], _managedBy: 'atk' };
479
+ const value = normalizeForFormat({ ...inner[name], _managedBy: 'atk' }, format);
431
480
  section[name] = value;
432
481
  entries.push({
433
482
  checksum: computeConfigEntryChecksum(value),
@@ -435,7 +484,7 @@ async function mergeFragmentConfig(configFilePath, configKey, projectDir, mergeC
435
484
  key: `${configKey}.${name}`,
436
485
  });
437
486
  }
438
- await writeJsonFile(configFilePath, config);
487
+ await writeConfigFile(configFilePath, config, format, onProgress);
439
488
  return { entries, names: innerNames };
440
489
  }
441
490
  catch (error) {
@@ -454,7 +503,7 @@ async function mergeFragmentConfig(configFilePath, configKey, projectDir, mergeC
454
503
  * owned by this command is dropped before appending, so repeated install/sync doesn't duplicate.
455
504
  * Returns one lockfile config entry per event, checksummed over the ATK-owned group only.
456
505
  */
457
- async function mergeHookConfig(configFilePath, configKey, hookConfig, command, projectDir, onProgress) {
506
+ async function mergeHookConfig(configFilePath, configKey, format, hookConfig, command, projectDir, onProgress) {
458
507
  const events = hookConfig ? Object.keys(hookConfig) : [];
459
508
  if (events.length === 0) {
460
509
  // No hookConfig (e.g. legacy asset or un-rebuilt registry index) — write nothing.
@@ -463,8 +512,7 @@ async function mergeHookConfig(configFilePath, configKey, hookConfig, command, p
463
512
  try {
464
513
  let config = {};
465
514
  if (existsSync(configFilePath)) {
466
- const raw = await readFile(configFilePath, 'utf-8');
467
- config = JSON.parse(raw);
515
+ config = await readConfigFile(configFilePath, format);
468
516
  }
469
517
  else {
470
518
  const dir = dirname(configFilePath);
@@ -491,7 +539,7 @@ async function mergeHookConfig(configFilePath, configKey, hookConfig, command, p
491
539
  key: `${configKey}.${event}`,
492
540
  });
493
541
  }
494
- await writeJsonFile(configFilePath, config);
542
+ await writeConfigFile(configFilePath, config, format, onProgress);
495
543
  return entries;
496
544
  }
497
545
  catch (error) {
@@ -528,13 +576,12 @@ function resolveFilePath(pathTemplate, assetName, basePath, relativePath, assetT
528
576
  * Reads the config file, removes the entry at the given key path (e.g., "mcpServers.my-mcp"),
529
577
  * and writes it back. If the parent section becomes empty, it is also removed.
530
578
  */
531
- async function revertConfigEntry(configFilePath, keyPath, command, onProgress) {
579
+ async function revertConfigEntry(configFilePath, keyPath, command, format, onProgress) {
532
580
  if (!existsSync(configFilePath)) {
533
581
  return;
534
582
  }
535
583
  try {
536
- const raw = await readFile(configFilePath, 'utf-8');
537
- const config = JSON.parse(raw);
584
+ const config = await readConfigFile(configFilePath, format);
538
585
  // keyPath is "section.childKey" (e.g., "mcpServers.my-mcp" or "hooks.Stop")
539
586
  const dotIndex = keyPath.indexOf('.');
540
587
  if (dotIndex === -1) {
@@ -559,7 +606,7 @@ async function revertConfigEntry(configFilePath, keyPath, command, onProgress) {
559
606
  delete config[sectionKey];
560
607
  }
561
608
  }
562
- await writeJsonFile(configFilePath, config);
609
+ await writeConfigFile(configFilePath, config, format, onProgress);
563
610
  }
564
611
  catch (error) {
565
612
  onProgress?.(`Warning: Failed to revert config entry ${keyPath} in ${configFilePath} — ${error instanceof Error ? error.message : String(error)}`);
@@ -583,12 +630,11 @@ function stripAtkBlock(content, assetName) {
583
630
  * When mergeContent is provided, it is merged into the config section with _managedBy marker.
584
631
  * Otherwise, a simple marker is written.
585
632
  */
586
- async function updateConfigFile(configFilePath, configKey, assetName, assetType, projectDir, mergeContent, onProgress) {
633
+ async function updateConfigFile(configFilePath, configKey, format, assetName, assetType, projectDir, mergeContent, onProgress) {
587
634
  try {
588
635
  let config = {};
589
636
  if (existsSync(configFilePath)) {
590
- const raw = await readFile(configFilePath, 'utf-8');
591
- config = JSON.parse(raw);
637
+ config = await readConfigFile(configFilePath, format);
592
638
  }
593
639
  else {
594
640
  const dir = dirname(configFilePath);
@@ -603,10 +649,10 @@ async function updateConfigFile(configFilePath, configKey, assetName, assetType,
603
649
  const section = config[configKey];
604
650
  if (mergeContent) {
605
651
  // Merge actual asset content with _managedBy marker
606
- section[assetName] = {
652
+ section[assetName] = normalizeForFormat({
607
653
  ...mergeContent,
608
654
  _managedBy: 'atk',
609
- };
655
+ }, format);
610
656
  }
611
657
  else {
612
658
  // Simple marker
@@ -615,7 +661,7 @@ async function updateConfigFile(configFilePath, configKey, assetName, assetType,
615
661
  type: assetType,
616
662
  };
617
663
  }
618
- await writeJsonFile(configFilePath, config);
664
+ await writeConfigFile(configFilePath, config, format, onProgress);
619
665
  const checksum = computeConfigEntryChecksum(section[assetName]);
620
666
  return { checksum, file: toRelativePosix(projectDir, configFilePath), key: `${configKey}.${assetName}` };
621
667
  }