@detergent-software/atk 7.12.0-dev.1 → 7.12.0-dev.3
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.
- package/README.md +3 -1
- package/build/commands/browse.js +7 -2
- package/build/commands/browse.js.map +1 -1
- package/build/commands/install.js +10 -1
- package/build/commands/install.js.map +1 -1
- package/build/hooks/useUninstallState.d.ts.map +1 -1
- package/build/hooks/useUninstallState.js +15 -7
- package/build/hooks/useUninstallState.js.map +1 -1
- package/build/lib/checksum.d.ts.map +1 -1
- package/build/lib/checksum.js +4 -2
- package/build/lib/checksum.js.map +1 -1
- package/build/lib/config-file.d.ts +49 -0
- package/build/lib/config-file.d.ts.map +1 -0
- package/build/lib/config-file.js +84 -0
- package/build/lib/config-file.js.map +1 -0
- package/build/lib/diff-command.d.ts.map +1 -1
- package/build/lib/diff-command.js +7 -3
- package/build/lib/diff-command.js.map +1 -1
- package/build/lib/init.d.ts.map +1 -1
- package/build/lib/init.js +6 -4
- package/build/lib/init.js.map +1 -1
- package/build/lib/installer.d.ts +17 -0
- package/build/lib/installer.d.ts.map +1 -1
- package/build/lib/installer.js +81 -35
- package/build/lib/installer.js.map +1 -1
- package/build/lib/lockfile.d.ts +11 -0
- package/build/lib/lockfile.d.ts.map +1 -1
- package/build/lib/lockfile.js +14 -0
- package/build/lib/lockfile.js.map +1 -1
- package/build/lib/schemas/adapter.d.ts +10 -0
- package/build/lib/schemas/adapter.d.ts.map +1 -1
- package/build/lib/schemas/adapter.js +8 -0
- package/build/lib/schemas/adapter.js.map +1 -1
- package/build/lib/uninstaller.d.ts.map +1 -1
- package/build/lib/uninstaller.js +13 -12
- package/build/lib/uninstaller.js.map +1 -1
- package/build/lib/write-file.d.ts +13 -0
- package/build/lib/write-file.d.ts.map +1 -1
- package/build/lib/write-file.js +22 -0
- package/build/lib/write-file.js.map +1 -1
- package/package.json +2 -1
- 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":"diff-command.d.ts","sourceRoot":"","sources":["../../src/lib/diff-command.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAkB3D,MAAM,MAAM,WAAW,GACnB;IACE,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;CACtB,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC;AAE/C,0FAA0F;AAC1F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"diff-command.d.ts","sourceRoot":"","sources":["../../src/lib/diff-command.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAkB3D,MAAM,MAAM,WAAW,GACnB;IACE,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;CACtB,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC;AAE/C,0FAA0F;AAC1F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,WAAW,CAAC,CAyJtB"}
|
|
@@ -4,7 +4,7 @@ import { join } from 'node:path';
|
|
|
4
4
|
import { resolveInstalledPaths } from './adapter.js';
|
|
5
5
|
import { loadConfig } from './config.js';
|
|
6
6
|
import { computeAddedFileDiff, computeRemovedFileDiff, computeUnifiedDiff } from './diff.js';
|
|
7
|
-
import {
|
|
7
|
+
import { findInstalledAssetWithFallback, readLockfile } from './lockfile.js';
|
|
8
8
|
import { resolveActiveOrg } from './org.js';
|
|
9
9
|
import { findProjectRoot } from './paths.js';
|
|
10
10
|
import { fetchAssetFileBytes, fetchRegistry, findAsset, listAssetFiles, } from './registry.js';
|
|
@@ -30,14 +30,18 @@ export async function computeDiffOutcome(name, org, tool, context, refresh, proj
|
|
|
30
30
|
const { adapter } = await resolveTool(tool);
|
|
31
31
|
progress('Reading lockfile...');
|
|
32
32
|
const lockfile = await readLockfile(projectDir);
|
|
33
|
+
// The active org is a preference: prefer that org's lockfile entry, fall back to
|
|
34
|
+
// the global entry (mirrors how `install` resolved the name).
|
|
33
35
|
const resolvedOrg = resolveActiveOrg(inlineOrg ?? cliOrg, lockfile.org, config.org);
|
|
34
|
-
const installed =
|
|
36
|
+
const installed = findInstalledAssetWithFallback(lockfile, name, undefined, resolvedOrg);
|
|
35
37
|
if (!installed) {
|
|
36
38
|
return { name, outcome: 'not-installed' };
|
|
37
39
|
}
|
|
38
40
|
progress('Fetching registry...');
|
|
39
41
|
const registry = await fetchRegistry({ force: refresh });
|
|
40
|
-
|
|
42
|
+
// Look up the registry identity of the asset actually installed, so a global
|
|
43
|
+
// install is never diffed against a same-named org-scoped registry asset.
|
|
44
|
+
const foundAsset = findAsset(registry, name, installed.type, undefined, installed.org);
|
|
41
45
|
if (!foundAsset) {
|
|
42
46
|
return { name, outcome: 'not-in-registry' };
|
|
43
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-command.js","sourceRoot":"","sources":["../../src/lib/diff-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAMjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC7F,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"diff-command.js","sourceRoot":"","sources":["../../src/lib/diff-command.ts"],"names":[],"mappings":"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"}
|
package/build/lib/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
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 =
|
|
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
|
|
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
|
|
455
|
+
throw new Error(`Cannot read "${mcpPath}". Ensure ${configFile} exists in the project root.`);
|
|
454
456
|
}
|
|
455
|
-
const mcpJson =
|
|
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)) {
|
package/build/lib/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/lib/init.ts"],"names":[],"mappings":"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"}
|
package/build/lib/installer.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/build/lib/installer.js
CHANGED
|
@@ -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,
|
|
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
|
|
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
|
-
|
|
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 "${
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
}
|