@detergent-software/atk 8.7.0-dev.7 → 8.7.0-dev.9
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/CHANGELOG.md +23 -0
- package/build/commands/install.d.ts.map +1 -1
- package/build/commands/install.js +74 -17
- package/build/commands/install.js.map +1 -1
- package/build/components/CrossScopeWarning.d.ts +12 -0
- package/build/components/CrossScopeWarning.d.ts.map +1 -0
- package/build/components/CrossScopeWarning.js +13 -0
- package/build/components/CrossScopeWarning.js.map +1 -0
- package/build/components/index.d.ts +1 -0
- package/build/components/index.d.ts.map +1 -1
- package/build/components/index.js +1 -0
- package/build/components/index.js.map +1 -1
- package/build/lib/config-file.d.ts +10 -3
- package/build/lib/config-file.d.ts.map +1 -1
- package/build/lib/config-file.js +29 -7
- package/build/lib/config-file.js.map +1 -1
- package/build/lib/cross-scope.d.ts +50 -0
- package/build/lib/cross-scope.d.ts.map +1 -0
- package/build/lib/cross-scope.js +132 -0
- package/build/lib/cross-scope.js.map +1 -0
- package/build/lib/diagnostics.d.ts +13 -0
- package/build/lib/diagnostics.d.ts.map +1 -1
- package/build/lib/diagnostics.js +41 -6
- package/build/lib/diagnostics.js.map +1 -1
- package/build/lib/installer.d.ts.map +1 -1
- package/build/lib/installer.js +11 -7
- package/build/lib/installer.js.map +1 -1
- package/build/lib/schemas/adapter.d.ts +21 -0
- package/build/lib/schemas/adapter.d.ts.map +1 -1
- package/build/lib/schemas/adapter.js +11 -0
- package/build/lib/schemas/adapter.js.map +1 -1
- package/build/lib/toml-edit.d.ts +10 -0
- package/build/lib/toml-edit.d.ts.map +1 -0
- package/build/lib/toml-edit.js +311 -0
- package/build/lib/toml-edit.js.map +1 -0
- package/build/lib/uninstaller.d.ts.map +1 -1
- package/build/lib/uninstaller.js +2 -2
- package/build/lib/uninstaller.js.map +1 -1
- package/build/lib/write-file.d.ts +5 -2
- package/build/lib/write-file.d.ts.map +1 -1
- package/build/lib/write-file.js +6 -3
- package/build/lib/write-file.js.map +1 -1
- package/package.json +1 -1
- package/tool-adapters/claude-code.json +8 -0
- package/tool-adapters/codex-cli.json +5 -0
- package/tool-adapters/copilot-cli.json +9 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { AssetType } from './schemas/index.js';
|
|
2
|
+
import type { InstalledAsset } from './schemas/lockfile.js';
|
|
3
|
+
import { type Notice } from './notices.js';
|
|
4
|
+
import { type ScopeClash } from './schemas/adapter.js';
|
|
5
|
+
import { type ResolvedScope, type Scope } from './scope.js';
|
|
6
|
+
/** Which copy one tool uses of an asset installed at both scopes. */
|
|
7
|
+
export interface CrossScopeClash {
|
|
8
|
+
displayName: string;
|
|
9
|
+
tool: string;
|
|
10
|
+
uses: ScopeClash;
|
|
11
|
+
}
|
|
12
|
+
/** An asset being installed at one scope that the other scope already has. */
|
|
13
|
+
export interface CrossScopeInstall {
|
|
14
|
+
/** Each tool that has both copies and a known rule, and the copy it uses. */
|
|
15
|
+
clash: CrossScopeClash[];
|
|
16
|
+
name: string;
|
|
17
|
+
org?: string;
|
|
18
|
+
/** The other scope's root. */
|
|
19
|
+
root: string;
|
|
20
|
+
/** The scope that already has it. */
|
|
21
|
+
scope: Scope;
|
|
22
|
+
type: AssetType;
|
|
23
|
+
/** The version the other scope has. */
|
|
24
|
+
version: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The `CrossScopeInstall` for `installed`, an entry of the other scope's lockfile: its version
|
|
28
|
+
* there, and the clash rule of each of `tools` (the tools that have both copies) that has one.
|
|
29
|
+
*/
|
|
30
|
+
export declare function crossScopeInstall(installed: InstalledAsset, { root, scope }: ResolvedScope, tools: string[]): Promise<CrossScopeInstall>;
|
|
31
|
+
/** The one `cross-scope` notice for an install's duplicates, which all sit at the same other scope. */
|
|
32
|
+
export declare function crossScopeNotice(installs: [CrossScopeInstall, ...CrossScopeInstall[]]): Notice;
|
|
33
|
+
/** The tools' rules for which copy they use, as one clause: `Claude Code uses the user copy; …`. */
|
|
34
|
+
export declare function describeClashes(clash: CrossScopeClash[]): string;
|
|
35
|
+
/** One line on an asset installed at both scopes: where the other copy is, its version, and each tool's rule. */
|
|
36
|
+
export declare function describeCrossScope(install: CrossScopeInstall): string;
|
|
37
|
+
/**
|
|
38
|
+
* The assets among `assets` that the other scope already has: the user scope for a project install,
|
|
39
|
+
* and the cwd's project for a user-scope install (none when the cwd is in no project but the user
|
|
40
|
+
* root). Matched on (type, org, name). `tools` are the install's tools; each result's rules are for
|
|
41
|
+
* those that have both copies. An asset's `excludedTools` (from the lockfile, after an install) and
|
|
42
|
+
* the other entry's leave out the tools a copy isn't placed for, and a copy placed for none of its
|
|
43
|
+
* scope's tools doesn't count. The other scope is optional, so one that is missing or can't be read
|
|
44
|
+
* gives none, never an error.
|
|
45
|
+
*/
|
|
46
|
+
export declare function findCrossScopeInstalls(assets: ReadonlyArray<Pick<InstalledAsset, 'excludedTools' | 'name' | 'org' | 'type'>>, { scope, tools }: {
|
|
47
|
+
scope: Scope;
|
|
48
|
+
tools: string[];
|
|
49
|
+
}): Promise<CrossScopeInstall[]>;
|
|
50
|
+
//# sourceMappingURL=cross-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-scope.d.ts","sourceRoot":"","sources":["../../src/lib/cross-scope.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK5D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAGL,KAAK,aAAa,EAElB,KAAK,KAAK,EAEX,MAAM,YAAY,CAAC;AAEpB,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,cAAc,EACzB,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,aAAa,EAC9B,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,iBAAiB,CAAC,CAU5B;AAED,uGAAuG;AACvG,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,CAAC,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAAC,GAAG,MAAM,CAY9F;AAED,oGAAoG;AACpG,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,MAAM,CAMhE;AAED,iHAAiH;AACjH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAGrE;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,CAAC,EACtF,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAClD,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA6B9B"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { loadAdapter } from './adapter.js';
|
|
3
|
+
import { isExcludedForTool, isExcludedForTools } from './asset-tools.js';
|
|
4
|
+
import { identityKey, lockfileExists, readLockfile } from './lockfile.js';
|
|
5
|
+
import {} from './notices.js';
|
|
6
|
+
import { formatOrgName } from './org.js';
|
|
7
|
+
import { findProjectRoot } from './paths.js';
|
|
8
|
+
import {} from './schemas/adapter.js';
|
|
9
|
+
import { isUserRoot, loadScopeConfig, resolveUserRoot, scopedCommand, } from './scope.js';
|
|
10
|
+
/**
|
|
11
|
+
* The `CrossScopeInstall` for `installed`, an entry of the other scope's lockfile: its version
|
|
12
|
+
* there, and the clash rule of each of `tools` (the tools that have both copies) that has one.
|
|
13
|
+
*/
|
|
14
|
+
export async function crossScopeInstall(installed, { root, scope }, tools) {
|
|
15
|
+
return {
|
|
16
|
+
clash: await clashRules(installed.type, tools),
|
|
17
|
+
name: installed.name,
|
|
18
|
+
...(installed.org ? { org: installed.org } : {}),
|
|
19
|
+
root,
|
|
20
|
+
scope,
|
|
21
|
+
type: installed.type,
|
|
22
|
+
version: installed.version,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/** The one `cross-scope` notice for an install's duplicates, which all sit at the same other scope. */
|
|
26
|
+
export function crossScopeNotice(installs) {
|
|
27
|
+
if (installs.length === 1) {
|
|
28
|
+
const [install] = installs;
|
|
29
|
+
return { command: uninstallCommand(install), kind: 'cross-scope', text: describeCrossScope(install) };
|
|
30
|
+
}
|
|
31
|
+
const list = installs.map((i) => `${formatOrgName(i.org, i.name)} (${i.type}) v${i.version}`).join(', ');
|
|
32
|
+
return {
|
|
33
|
+
command: 'atk list',
|
|
34
|
+
kind: 'cross-scope',
|
|
35
|
+
text: `${installs.length} assets are also installed ${scopePhrase(installs[0].scope)}: ${list}. Each tool that has both copies follows its own rule for which one it uses.`,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/** The tools' rules for which copy they use, as one clause: `Claude Code uses the user copy; …`. */
|
|
39
|
+
export function describeClashes(clash) {
|
|
40
|
+
return clash
|
|
41
|
+
.map(({ displayName, uses }) => uses === 'both' ? `${displayName} loads both copies` : `${displayName} uses the ${uses} copy`)
|
|
42
|
+
.join('; ');
|
|
43
|
+
}
|
|
44
|
+
/** One line on an asset installed at both scopes: where the other copy is, its version, and each tool's rule. */
|
|
45
|
+
export function describeCrossScope(install) {
|
|
46
|
+
const head = `${formatOrgName(install.org, install.name)} (${install.type}) is also installed ${scopePhrase(install.scope)} (v${install.version})`;
|
|
47
|
+
return install.clash.length === 0 ? `${head}.` : `${head}. ${describeClashes(install.clash)}.`;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The assets among `assets` that the other scope already has: the user scope for a project install,
|
|
51
|
+
* and the cwd's project for a user-scope install (none when the cwd is in no project but the user
|
|
52
|
+
* root). Matched on (type, org, name). `tools` are the install's tools; each result's rules are for
|
|
53
|
+
* those that have both copies. An asset's `excludedTools` (from the lockfile, after an install) and
|
|
54
|
+
* the other entry's leave out the tools a copy isn't placed for, and a copy placed for none of its
|
|
55
|
+
* scope's tools doesn't count. The other scope is optional, so one that is missing or can't be read
|
|
56
|
+
* gives none, never an error.
|
|
57
|
+
*/
|
|
58
|
+
export async function findCrossScopeInstalls(assets, { scope, tools }) {
|
|
59
|
+
const other = await otherScope(scope);
|
|
60
|
+
if (!other)
|
|
61
|
+
return [];
|
|
62
|
+
let otherAssets;
|
|
63
|
+
let otherTools;
|
|
64
|
+
try {
|
|
65
|
+
otherAssets = (await readLockfile(other.root)).assets ?? [];
|
|
66
|
+
// Without a config, the other scope names no tools, so no rule applies (as in `atk doctor`).
|
|
67
|
+
otherTools = (await loadScopeConfig(other.root))?.tools ?? [];
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return [];
|
|
71
|
+
}
|
|
72
|
+
const byKey = new Map(otherAssets.map((a) => [identityKey(a), a]));
|
|
73
|
+
const seen = new Set();
|
|
74
|
+
const installs = [];
|
|
75
|
+
for (const asset of assets) {
|
|
76
|
+
const key = identityKey(asset);
|
|
77
|
+
const installed = byKey.get(key);
|
|
78
|
+
if (!installed || seen.has(key))
|
|
79
|
+
continue;
|
|
80
|
+
if (isExcludedForTools(asset, tools) || isExcludedForTools(installed, otherTools))
|
|
81
|
+
continue;
|
|
82
|
+
seen.add(key);
|
|
83
|
+
const shared = tools.filter((t) => otherTools.includes(t) && !isExcludedForTool(asset, t) && !isExcludedForTool(installed, t));
|
|
84
|
+
installs.push(await crossScopeInstall(installed, other, shared));
|
|
85
|
+
}
|
|
86
|
+
return installs;
|
|
87
|
+
}
|
|
88
|
+
/** Each tool's rule for `type`; a tool without one, or whose adapter doesn't load, is left out. */
|
|
89
|
+
async function clashRules(type, tools) {
|
|
90
|
+
const rules = [];
|
|
91
|
+
for (const tool of tools) {
|
|
92
|
+
try {
|
|
93
|
+
const adapter = await loadAdapter(tool);
|
|
94
|
+
const uses = adapter.scopeClash?.[type];
|
|
95
|
+
if (uses) {
|
|
96
|
+
rules.push({ displayName: adapter.displayName, tool, uses });
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
// The install itself reports an adapter that doesn't load.
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return rules;
|
|
104
|
+
}
|
|
105
|
+
/** The scope opposite `scope`, when it exists and has a lockfile. */
|
|
106
|
+
async function otherScope(scope) {
|
|
107
|
+
let root;
|
|
108
|
+
try {
|
|
109
|
+
if (scope === 'project') {
|
|
110
|
+
root = await resolveUserRoot();
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
root = findProjectRoot();
|
|
114
|
+
if (await isUserRoot(root))
|
|
115
|
+
return undefined;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
return undefined;
|
|
120
|
+
}
|
|
121
|
+
if (!existsSync(root) || !lockfileExists(root))
|
|
122
|
+
return undefined;
|
|
123
|
+
return { root, scope: scope === 'project' ? 'user' : 'project' };
|
|
124
|
+
}
|
|
125
|
+
function scopePhrase(scope) {
|
|
126
|
+
return scope === 'user' ? 'at the user scope' : 'in the project';
|
|
127
|
+
}
|
|
128
|
+
/** The command that removes the other scope's copy. */
|
|
129
|
+
function uninstallCommand({ name, org, scope, type }) {
|
|
130
|
+
return scopedCommand(`atk uninstall ${name} --type ${type}${org ? ` --org ${org}` : ''}`, scope);
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=cross-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-scope.js","sourceRoot":"","sources":["../../src/lib/cross-scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,19 @@ import type { ProjectConfig } from './schemas/config.js';
|
|
|
3
3
|
import type { Registry } from './schemas/index.js';
|
|
4
4
|
import type { InstalledAsset } from './schemas/lockfile.js';
|
|
5
5
|
import { type Scope } from './scope.js';
|
|
6
|
+
/**
|
|
7
|
+
* Check for assets installed both in the project and at the user scope, with the version at each and
|
|
8
|
+
* which copy each tool that has both uses. A copy uninstalled for every tool of its scope doesn't
|
|
9
|
+
* count. Returns undefined when there are none.
|
|
10
|
+
*/
|
|
11
|
+
export declare function checkBothScopes(project: {
|
|
12
|
+
assets: InstalledAsset[];
|
|
13
|
+
tools: string[];
|
|
14
|
+
}, user: {
|
|
15
|
+
assets: InstalledAsset[];
|
|
16
|
+
root: string;
|
|
17
|
+
tools: string[];
|
|
18
|
+
}): Promise<DiagnosticCheck | undefined>;
|
|
6
19
|
/**
|
|
7
20
|
* Check that the hook scripts a configured tool runs directly are executable. Returns
|
|
8
21
|
* undefined when there is nothing to check: on Windows, which has no exec bit, or when
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAe5D,OAAO,EAAkD,KAAK,KAAK,EAAiB,MAAM,YAAY,CAAC;AAEvG;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE;IAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,EACtD,IAAI,EAAE;IAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAChE,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAyBtC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,cAAc,EAAE,EACxB,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,KAAK,CAAC,EAAE,KAAK,GACZ,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CA0CtC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,cAAc,EAAE,EACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,CAAC,EAAE,KAAK,GACZ,eAAe,GAAG,SAAS,CAmB7B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAqBjE;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACnC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GACnE,OAAO,CAAC,eAAe,EAAE,CAAC,CAsM5B"}
|
package/build/lib/diagnostics.js
CHANGED
|
@@ -2,17 +2,47 @@ import { existsSync } from 'node:fs';
|
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { adapterForScope, loadAdapter } from './adapter.js';
|
|
4
4
|
import { resolveApiUrl } from './api-client.js';
|
|
5
|
-
import { isExcludedAtVersion, isExcludedForTool, isUndeclaredForTool } from './asset-tools.js';
|
|
5
|
+
import { isExcludedAtVersion, isExcludedForTool, isExcludedForTools, isUndeclaredForTool } from './asset-tools.js';
|
|
6
6
|
import { getCredential, getLastEntraSession, validateToken } from './auth.js';
|
|
7
7
|
import { isFrozenInConfig, loadConfig } from './config.js';
|
|
8
|
+
import { crossScopeInstall, describeClashes } from './cross-scope.js';
|
|
8
9
|
import { detectTools, getAdapterDiagnostics } from './detector.js';
|
|
9
10
|
import { getEntraCachePath } from './entra.js';
|
|
10
11
|
import { errorMessage } from './errors.js';
|
|
11
12
|
import { hookScriptPath, lacksExecBit } from './hook-script.js';
|
|
12
|
-
import { lockfileExists, readLockfile } from './lockfile.js';
|
|
13
|
+
import { identityKey, lockfileExists, readLockfile } from './lockfile.js';
|
|
13
14
|
import { formatOrgName } from './org.js';
|
|
14
15
|
import { fetchRegistry, versionTools } from './registry.js';
|
|
15
16
|
import { loadScopeConfig, resolveScope, resolveUserRoot, scopedCommand } from './scope.js';
|
|
17
|
+
/**
|
|
18
|
+
* Check for assets installed both in the project and at the user scope, with the version at each and
|
|
19
|
+
* which copy each tool that has both uses. A copy uninstalled for every tool of its scope doesn't
|
|
20
|
+
* count. Returns undefined when there are none.
|
|
21
|
+
*/
|
|
22
|
+
export async function checkBothScopes(project, user) {
|
|
23
|
+
const projectByKey = new Map(project.assets.map((a) => [identityKey(a), a]));
|
|
24
|
+
const lines = [];
|
|
25
|
+
for (const userAsset of user.assets) {
|
|
26
|
+
const projectAsset = projectByKey.get(identityKey(userAsset));
|
|
27
|
+
if (!projectAsset)
|
|
28
|
+
continue;
|
|
29
|
+
if (isExcludedForTools(projectAsset, project.tools) || isExcludedForTools(userAsset, user.tools))
|
|
30
|
+
continue;
|
|
31
|
+
const tools = project.tools.filter((t) => user.tools.includes(t) && !isExcludedForTool(projectAsset, t) && !isExcludedForTool(userAsset, t));
|
|
32
|
+
const { clash } = await crossScopeInstall(userAsset, { root: user.root, scope: 'user' }, tools);
|
|
33
|
+
const rules = clash.length > 0 ? ` (${describeClashes(clash)})` : '';
|
|
34
|
+
lines.push(`${formatOrgName(userAsset.org, userAsset.name)} (${userAsset.type}): project v${projectAsset.version}, user v${userAsset.version}${rules}`);
|
|
35
|
+
}
|
|
36
|
+
if (lines.length === 0)
|
|
37
|
+
return undefined;
|
|
38
|
+
const one = lines.length === 1;
|
|
39
|
+
return {
|
|
40
|
+
detail: `${lines.join('; ')}. Run \`atk uninstall <name> --type <type>\` (with \`--org <org>\` for an org asset), adding \`--user\` for the user copy, to keep one copy.`,
|
|
41
|
+
message: `${lines.length} asset${one ? ' is' : 's are'} installed at both scopes`,
|
|
42
|
+
name: 'Both scopes',
|
|
43
|
+
status: 'warn',
|
|
44
|
+
};
|
|
45
|
+
}
|
|
16
46
|
/**
|
|
17
47
|
* Check that the hook scripts a configured tool runs directly are executable. Returns
|
|
18
48
|
* undefined when there is nothing to check: on Windows, which has no exec bit, or when
|
|
@@ -315,7 +345,7 @@ export async function runDiagnostics(progress, { projectRoot, user } = {}) {
|
|
|
315
345
|
progress('Checking user scope...');
|
|
316
346
|
checks.push(userRoot.check);
|
|
317
347
|
if (userRoot.root) {
|
|
318
|
-
checks.push(...(await checkUserScope(userRoot.root, registry)));
|
|
348
|
+
checks.push(...(await checkUserScope(userRoot.root, registry, { assets: installedAssets, tools: configuredTools })));
|
|
319
349
|
}
|
|
320
350
|
}
|
|
321
351
|
return checks;
|
|
@@ -350,10 +380,11 @@ async function checkUserRoot(config) {
|
|
|
350
380
|
return { check: { detail: source, message: root, name: 'User root', status: 'pass' }, root };
|
|
351
381
|
}
|
|
352
382
|
/**
|
|
353
|
-
* The user scope's checks for a project's doctor run: its config (tools), its lockfile
|
|
354
|
-
*
|
|
383
|
+
* The user scope's checks for a project's doctor run: its config (tools), its lockfile, its hooks,
|
|
384
|
+
* and the assets it shares with `project`. The user scope is optional, so one that isn't set up
|
|
385
|
+
* passes; one that can't be read warns.
|
|
355
386
|
*/
|
|
356
|
-
async function checkUserScope(userRoot, registry) {
|
|
387
|
+
async function checkUserScope(userRoot, registry, project) {
|
|
357
388
|
const checks = [];
|
|
358
389
|
let userConfig = null;
|
|
359
390
|
try {
|
|
@@ -411,6 +442,10 @@ async function checkUserScope(userRoot, registry) {
|
|
|
411
442
|
checks.push({ ...check, name: `User ${check.name.toLowerCase()}` });
|
|
412
443
|
}
|
|
413
444
|
}
|
|
445
|
+
const bothScopes = await checkBothScopes(project, { assets: userAssets, root: userRoot, tools: userTools });
|
|
446
|
+
if (bothScopes) {
|
|
447
|
+
checks.push(bothScopes);
|
|
448
|
+
}
|
|
414
449
|
return checks;
|
|
415
450
|
}
|
|
416
451
|
const SOURCE_LABELS = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/lib/installer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,sBAAsB,CAAC;AAErE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAiC,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/lib/installer.ts"],"names":[],"mappings":"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"}
|
package/build/lib/installer.js
CHANGED
|
@@ -5,7 +5,7 @@ import { adapterAsPlaced, configDirMove, getPlacement, isEntrypoint, recordUserC
|
|
|
5
5
|
import { carryExclusions, declarationAllows, declaresTool, isExcludedForTool } from './asset-tools.js';
|
|
6
6
|
import { computeConfigEntryChecksum, computeHookGroupChecksum, hashBytes, verifyChecksum } from './checksum.js';
|
|
7
7
|
import { getConfigEntriesForTool, getOtherToolsConfigEntries, mergeConfigEntriesForTool, normalizeConfigPath, } from './config-entries.js';
|
|
8
|
-
import { normalizeForFormat, readConfigFile, resolveConfigFormat, writeConfigFile, } from './config-file.js';
|
|
8
|
+
import { normalizeForFormat, readConfigFile, removeEmptiedConfigFile, resolveConfigFormat, writeConfigFile, } from './config-file.js';
|
|
9
9
|
import { configLockPath, withConfigLock } from './config-lock.js';
|
|
10
10
|
import { addToEnabledList, removeFromEnabledList } from './enabled-list.js';
|
|
11
11
|
import { ApiCodeError, errorGuidance, errorMessage } from './errors.js';
|
|
@@ -764,8 +764,8 @@ async function installAsset(entry, options, managedPaths, managedEntries, owners
|
|
|
764
764
|
// (e.g. a whole .mcp.json). Merge the entries inside content[configKey] into
|
|
765
765
|
// configFile[configKey] keyed by each entry's own name, instead of nesting the
|
|
766
766
|
// whole content under the asset name.
|
|
767
|
-
const { configEntryDefaults, configFile, configFragmentKey, configKey } = placement;
|
|
768
|
-
const { entries, names } = await withConfigLock(lockFile, () => mergeFragmentConfig(join(basePath, configFile), configKey, configFormat, projectDir, mergeContent, configFragmentKey, onProgress, writeOptions, configEntryDefaults));
|
|
767
|
+
const { configCommandEntryDefaults, configEntryDefaults, configFile, configFragmentKey, configKey } = placement;
|
|
768
|
+
const { entries, names } = await withConfigLock(lockFile, () => mergeFragmentConfig(join(basePath, configFile), configKey, configFormat, projectDir, mergeContent, configFragmentKey, onProgress, writeOptions, configEntryDefaults, configCommandEntryDefaults));
|
|
769
769
|
configEntries.push(...entries);
|
|
770
770
|
// Auto-register the merged entry names into an enabled-list (e.g. enabledMcpjsonServers
|
|
771
771
|
// in settings.local.json) so the tool auto-approves them.
|
|
@@ -884,9 +884,11 @@ function memoryTemplateBlock(placement, name, basePath) {
|
|
|
884
884
|
* tracking / checksum verification) plus the list of names that were merged.
|
|
885
885
|
*
|
|
886
886
|
* The entries are found by {@link fragmentEntries}. `entryDefaults` (the placement's
|
|
887
|
-
* `configEntryDefaults`) fills in the keys an entry leaves out
|
|
887
|
+
* `configEntryDefaults`) fills in the keys an entry leaves out, and `commandEntryDefaults`
|
|
888
|
+
* (`configCommandEntryDefaults`) those of an entry with a `command`, a local stdio server; the
|
|
889
|
+
* entry's own keys win.
|
|
888
890
|
*/
|
|
889
|
-
async function mergeFragmentConfig(configFilePath, configKey, format, projectDir, mergeContent, fragmentKey, onProgress, writeOptions = {}, entryDefaults = {}) {
|
|
891
|
+
async function mergeFragmentConfig(configFilePath, configKey, format, projectDir, mergeContent, fragmentKey, onProgress, writeOptions = {}, entryDefaults = {}, commandEntryDefaults = {}) {
|
|
890
892
|
const empty = { entries: [], names: [] };
|
|
891
893
|
if (!mergeContent) {
|
|
892
894
|
return empty;
|
|
@@ -911,8 +913,10 @@ async function mergeFragmentConfig(configFilePath, configKey, format, projectDir
|
|
|
911
913
|
}
|
|
912
914
|
const section = config[configKey];
|
|
913
915
|
const entries = [];
|
|
916
|
+
const commandDefaults = { ...entryDefaults, ...commandEntryDefaults };
|
|
914
917
|
for (const [name, fragment] of inner) {
|
|
915
|
-
const
|
|
918
|
+
const defaults = 'command' in fragment ? commandDefaults : entryDefaults;
|
|
919
|
+
const value = normalizeForFormat({ ...defaults, ...fragment, _managedBy: 'atk' }, format);
|
|
916
920
|
section[name] = value;
|
|
917
921
|
entries.push({
|
|
918
922
|
checksum: computeConfigEntryChecksum(value),
|
|
@@ -1099,7 +1103,7 @@ async function revertConfigEntry(configFilePath, keyPath, command, format, delet
|
|
|
1099
1103
|
}
|
|
1100
1104
|
}
|
|
1101
1105
|
if (deleteWhenEmpty && Object.keys(config).length === 0) {
|
|
1102
|
-
await
|
|
1106
|
+
await removeEmptiedConfigFile(configFilePath, format, writeOptions);
|
|
1103
1107
|
return;
|
|
1104
1108
|
}
|
|
1105
1109
|
await writeConfigFile(configFilePath, config, format, onProgress, writeOptions);
|