@detergent-software/atk 9.1.0-dev.6 → 9.1.0-dev.8
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 +16 -0
- package/build/commands/audit.d.ts.map +1 -1
- package/build/commands/audit.js +13 -4
- package/build/commands/audit.js.map +1 -1
- package/build/lib/config-entries.d.ts +3 -1
- package/build/lib/config-entries.d.ts.map +1 -1
- package/build/lib/config-entries.js +6 -1
- package/build/lib/config-entries.js.map +1 -1
- package/build/lib/config-file.d.ts +8 -5
- package/build/lib/config-file.d.ts.map +1 -1
- package/build/lib/config-file.js +28 -7
- package/build/lib/config-file.js.map +1 -1
- package/build/lib/installer.d.ts.map +1 -1
- package/build/lib/installer.js +47 -22
- package/build/lib/installer.js.map +1 -1
- package/build/lib/jsonc.d.ts +25 -0
- package/build/lib/jsonc.d.ts.map +1 -0
- package/build/lib/jsonc.js +204 -0
- package/build/lib/jsonc.js.map +1 -0
- package/build/lib/owned-paths.d.ts +9 -0
- package/build/lib/owned-paths.d.ts.map +1 -1
- package/build/lib/owned-paths.js +51 -3
- package/build/lib/owned-paths.js.map +1 -1
- package/build/lib/write-file.d.ts +6 -0
- package/build/lib/write-file.d.ts.map +1 -1
- package/build/lib/write-file.js +15 -15
- package/build/lib/write-file.js.map +1 -1
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
## [9.1.0-dev.8](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.1.0-dev.7&targetVersion=GTv9.1.0-dev.8) (2026-10-21)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **cli:** fail an mcp-config install with nothing to register (ATK-472) ([2c1bc84](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/2c1bc84e71eec9df88231ece82c197af8c946378))
|
|
6
|
+
* **cli:** indent and remove JSONC config entries like the user's (ATK-472) ([0479787](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/0479787d493b86fd64aec4177fc823381df0e07f))
|
|
7
|
+
* **cli:** keep a comment on the user's last config entry when ATK adds one (ATK-472) ([02b7adb](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/02b7adb7b530cd761d3cba1a691a9d266c8fc8e5))
|
|
8
|
+
* **cli:** merge mcp-config into a JSONC .vscode/mcp.json, or fail the install (ATK-472) ([065d56f](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/065d56f40ad0cd7f94ba2a552db7adde83c9e1ce))
|
|
9
|
+
|
|
10
|
+
## [9.1.0-dev.7](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.1.0-dev.6&targetVersion=GTv9.1.0-dev.7) (2026-10-21)
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* **cli:** compare an asset folder's files on disk and skip runtime files (ATK-370) ([bc05b40](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/bc05b40c9ef0afa7e8315ef3b86757040f5da999))
|
|
15
|
+
* **cli:** remove the files a newer asset version no longer ships (ATK-370) ([1c2c826](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/1c2c826bfc0243c1f8dcda1aaccb58b9cac5b3af))
|
|
16
|
+
|
|
1
17
|
## [9.1.0-dev.6](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.1.0-dev.5&targetVersion=GTv9.1.0-dev.6) (2026-10-21)
|
|
2
18
|
|
|
3
19
|
### Bug Fixes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2BxB,eAAO,MAAM,WAAW,mDAAmD,CAAC;AAE5E,eAAO,MAAM,OAAO;;;;;iBAoClB,CAAC;
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2BxB,eAAO,MAAM,WAAW,mDAAmD,CAAC;AAE5E,eAAO,MAAM,OAAO;;;;;iBAoClB,CAAC;AA6CH,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAOF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CAqWlF"}
|
package/build/commands/audit.js
CHANGED
|
@@ -11,7 +11,7 @@ import { isFrozenInConfig } from '../lib/config.js';
|
|
|
11
11
|
import { identityKey, readLockfile } from '../lib/lockfile.js';
|
|
12
12
|
import { formatOrgName } from '../lib/org.js';
|
|
13
13
|
import { renderJson, useNonInteractive } from '../lib/output.js';
|
|
14
|
-
import { verifyOwnConfigEntries, verifyOwnFiles } from '../lib/owned-paths.js';
|
|
14
|
+
import { unlistedFiles, verifyOwnConfigEntries, verifyOwnFiles } from '../lib/owned-paths.js';
|
|
15
15
|
import { option } from '../lib/pastel/index.js';
|
|
16
16
|
import { fetchRegistry, versionTools } from '../lib/registry.js';
|
|
17
17
|
import { fromRoot } from '../lib/root-path.js';
|
|
@@ -170,7 +170,14 @@ export default function Audit({ options: { json, projectRoot, tool, user } }) {
|
|
|
170
170
|
assetStatus = 'config-missing';
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
|
-
|
|
173
|
+
const extraFiles = await unlistedFiles(asset, lockfile, placedAdapter, projectDir);
|
|
174
|
+
entries.push({
|
|
175
|
+
asset,
|
|
176
|
+
configFailures,
|
|
177
|
+
...(extraFiles.length > 0 ? { extraFiles } : {}),
|
|
178
|
+
failures,
|
|
179
|
+
status: assetStatus,
|
|
180
|
+
});
|
|
174
181
|
}
|
|
175
182
|
entries.sort((a, b) => a.asset.type.localeCompare(b.asset.type) ||
|
|
176
183
|
a.asset.name.localeCompare(b.asset.name) ||
|
|
@@ -214,10 +221,11 @@ export default function Audit({ options: { json, projectRoot, tool, user } }) {
|
|
|
214
221
|
const configModifiedCount = entries.filter((e) => e.status === 'config-modified').length;
|
|
215
222
|
const configMissingCount = entries.filter((e) => e.status === 'config-missing').length;
|
|
216
223
|
const movedCount = entries.filter((e) => e.status === 'moved').length;
|
|
224
|
+
const extraCount = entries.reduce((count, e) => count + (e.extraFiles?.length ?? 0), 0);
|
|
217
225
|
const allOk = !entries.some(isAuditFailure);
|
|
218
226
|
return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { bold: true, children: ["Integrity audit for ", _jsx(Text, { color: 'cyan', children: resolvedTool })] }), _jsx(Text, { children: " " }), entries.map((entry) => (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsx(FileStatusIcon, { status: entry.status }), ' ', _jsx(Text, { bold: true, children: formatOrgName(entry.asset.org, entry.asset.name) }), _jsxs(Text, { dimColor: true, children: [' ', "(", entry.asset.type, ") v", entry.asset.version] }), entry.status === 'ok' && _jsx(Text, { color: 'green', children: " \u2014 intact" }), entry.status === 'frozen' && _jsx(Text, { color: 'cyan', children: " \u2014 frozen (content-locked)" }), entry.status === 'excluded' && (_jsxs(Text, { dimColor: true, children: [' ', "\u2014 excluded for ", resolvedTool, entry.stillOnDisk ? ' (files still on disk)' : ''] })), entry.status === 'modified' && _jsx(Text, { color: 'yellow', children: " \u2014 modified" }), entry.status === 'missing' && _jsx(Text, { color: 'red', children: " \u2014 files missing" }), entry.status === 'config-modified' && _jsx(Text, { color: 'magenta', children: " \u2014 config modified" }), entry.status === 'config-missing' && _jsx(Text, { color: 'red', children: " \u2014 config entries missing" }), entry.status === 'moved' && _jsx(Text, { color: 'yellow', children: " \u2014 config dir moved" })] }), entry.moved && (_jsxs(Text, { dimColor: true, children: [' ', "placed in ", entry.moved.from, "; ", resolvedTool, " now reads ", entry.moved.to] })), entry.failures.map((f) => (_jsxs(Text, { dimColor: true, children: [' ', f.actual.startsWith('FILE_NOT_FOUND') ? '✕ missing:' : '⚠ changed:', " ", f.path] }, f.path))), entry.configFailures.map((cf) => (_jsxs(Text, { dimColor: true, children: [' ', cf.reason === 'CONFIG_CHECKSUM_MISMATCH'
|
|
219
227
|
? `⚠ config changed: ${cf.file} → ${cf.key}`
|
|
220
|
-
: `✕ config missing: ${cf.file} → ${cf.key}`] }, `${cf.file}:${cf.key}`)))] }, identityKey(entry.asset)))), _jsx(Text, { children: " " }), allOk ? (_jsxs(Text, { color: 'green', children: ["\u2713 All ", okCount + frozenCount, " asset", okCount + frozenCount !== 1 ? 's' : '', " passed integrity check.", frozenCount > 0 && _jsxs(Text, { color: 'cyan', children: [" (", frozenCount, " frozen)"] }), excludedCount > 0 && _jsxs(Text, { dimColor: true, children: [" (", excludedCount, " excluded for this tool)"] })] })) : (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Text, { children: [
|
|
228
|
+
: `✕ config missing: ${cf.file} → ${cf.key}`] }, `${cf.file}:${cf.key}`))), entry.extraFiles?.map((path) => (_jsxs(Text, { dimColor: true, children: [' ', "+ not from v", entry.asset.version, ": ", path] }, path)))] }, identityKey(entry.asset)))), _jsx(Text, { children: " " }), allOk ? (_jsxs(Text, { color: 'green', children: ["\u2713 All ", okCount + frozenCount, " asset", okCount + frozenCount !== 1 ? 's' : '', " passed integrity check.", frozenCount > 0 && _jsxs(Text, { color: 'cyan', children: [" (", frozenCount, " frozen)"] }), excludedCount > 0 && _jsxs(Text, { dimColor: true, children: [" (", excludedCount, " excluded for this tool)"] })] })) : (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Text, { children: [
|
|
221
229
|
okCount > 0 && (_jsxs(Text, { color: 'green', children: [okCount, " ok"] }, 'ok')),
|
|
222
230
|
frozenCount > 0 && (_jsxs(Text, { color: 'cyan', children: [frozenCount, " frozen"] }, 'frozen')),
|
|
223
231
|
excludedCount > 0 && (_jsxs(Text, { dimColor: true, children: [excludedCount, " excluded"] }, 'excluded')),
|
|
@@ -226,7 +234,7 @@ export default function Audit({ options: { json, projectRoot, tool, user } }) {
|
|
|
226
234
|
missingCount > 0 && (_jsxs(Text, { color: 'red', children: [missingCount, " missing"] }, 'missing')),
|
|
227
235
|
configMissingCount > 0 && (_jsxs(Text, { color: 'red', children: [configMissingCount, " config missing"] }, 'config-missing')),
|
|
228
236
|
movedCount > 0 && (_jsxs(Text, { color: 'yellow', children: [movedCount, " moved"] }, 'moved')),
|
|
229
|
-
].filter(Boolean).flatMap((el, i) => (i > 0 ? [_jsx(Text, { children: ", " }, `sep-${i}`), el] : [el])) }), _jsxs(Text, { dimColor: true, children: ["Run ", _jsx(Text, { bold: true, children: scopedCommand('atk sync', scope) }), " to restore assets to their expected state."] }), modifiedCount > 0 && (_jsxs(Text, { dimColor: true, children: ["Sync keeps files you edited; ", _jsx(Text, { bold: true, children: scopedCommand('atk sync --force', scope) }), " overwrites them."] }))] })), index < toolResults.length - 1 && _jsx(Text, { children: " " })] }, resolvedTool));
|
|
237
|
+
].filter(Boolean).flatMap((el, i) => (i > 0 ? [_jsx(Text, { children: ", " }, `sep-${i}`), el] : [el])) }), _jsxs(Text, { dimColor: true, children: ["Run ", _jsx(Text, { bold: true, children: scopedCommand('atk sync', scope) }), " to restore assets to their expected state."] }), modifiedCount > 0 && (_jsxs(Text, { dimColor: true, children: ["Sync keeps files you edited; ", _jsx(Text, { bold: true, children: scopedCommand('atk sync --force', scope) }), " overwrites them."] }))] })), extraCount > 0 && (_jsxs(Text, { dimColor: true, children: [extraCount, " file", extraCount !== 1 ? 's' : '', " in asset folders ", extraCount !== 1 ? 'were' : 'was', " not placed by ATK (+). An older version may have left ", extraCount !== 1 ? 'them' : 'it', ": delete what you don't need."] })), index < toolResults.length - 1 && _jsx(Text, { children: " " })] }, resolvedTool));
|
|
230
238
|
}) }));
|
|
231
239
|
}
|
|
232
240
|
const FAILURE_STATUSES = new Set([
|
|
@@ -240,6 +248,7 @@ function buildJsonOutput(results, hasFailures) {
|
|
|
240
248
|
const tools = results.map(({ entries, tool }) => ({
|
|
241
249
|
entries: entries.map((entry) => ({
|
|
242
250
|
configFailures: entry.configFailures,
|
|
251
|
+
...(entry.extraFiles ? { extraFiles: entry.extraFiles } : {}),
|
|
243
252
|
failures: entry.failures,
|
|
244
253
|
...(entry.moved ? { movedFrom: entry.moved.from, movedTo: entry.moved.to } : {}),
|
|
245
254
|
name: entry.asset.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.tsx"],"names":[],"mappings":"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"}
|
|
@@ -46,7 +46,9 @@ export declare function mergeConfigEntriesForTool(previous: AssetConfigEntries |
|
|
|
46
46
|
*
|
|
47
47
|
* Assets with no recorded entries at all are left alone — a hook with no event
|
|
48
48
|
* bindings, a legacy lockfile, or a memory-template legitimately has none, and
|
|
49
|
-
* flagging them would re-sync the asset forever.
|
|
49
|
+
* flagging them would re-sync the asset forever. Not so for a fileless placement
|
|
50
|
+
* (mcp-config): it places nothing but the registration, so an asset with none for
|
|
51
|
+
* this tool is installed nowhere (a merge that failed before ATK-472 recorded it so).
|
|
50
52
|
*/
|
|
51
53
|
export declare function needsConfigRegistration(asset: AssetConfigEntries, adapter: Adapter): boolean;
|
|
52
54
|
/** Normalize a project-relative config path for comparison: POSIX separators, no leading `./`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-entries.d.ts","sourceRoot":"","sources":["../../src/lib/config-entries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIzE;;;;;;;;;;;;;;;GAeG;AAEH,KAAK,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,MAAM,CAAC,CAAC;AAEzE;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAWzG;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAElG;AAED,kGAAkG;AAClG,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,kBAAkB,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAKjH;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,EACxC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GACtC,WAAW,EAAE,CAQf;AAED
|
|
1
|
+
{"version":3,"file":"config-entries.d.ts","sourceRoot":"","sources":["../../src/lib/config-entries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIzE;;;;;;;;;;;;;;;GAeG;AAEH,KAAK,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,MAAM,CAAC,CAAC;AAEzE;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAWzG;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAElG;AAED,kGAAkG;AAClG,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,kBAAkB,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAKjH;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,EACxC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GACtC,WAAW,EAAE,CAQf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAa5F;AAED,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMxD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,MAAM,CAAC,EACvE,OAAO,EAAE,OAAO,EAChB,UAAU,GAAE,MAAM,GAAG,SAA4B,GAChD,WAAW,EAAE,CAOf"}
|
|
@@ -51,13 +51,18 @@ export function mergeConfigEntriesForTool(previous, adapter, fresh) {
|
|
|
51
51
|
*
|
|
52
52
|
* Assets with no recorded entries at all are left alone — a hook with no event
|
|
53
53
|
* bindings, a legacy lockfile, or a memory-template legitimately has none, and
|
|
54
|
-
* flagging them would re-sync the asset forever.
|
|
54
|
+
* flagging them would re-sync the asset forever. Not so for a fileless placement
|
|
55
|
+
* (mcp-config): it places nothing but the registration, so an asset with none for
|
|
56
|
+
* this tool is installed nowhere (a merge that failed before ATK-472 recorded it so).
|
|
55
57
|
*/
|
|
56
58
|
export function needsConfigRegistration(asset, adapter) {
|
|
57
59
|
const placement = adapter.placements[asset.type];
|
|
58
60
|
if (!placement?.configFile || !placement.configKey) {
|
|
59
61
|
return false;
|
|
60
62
|
}
|
|
63
|
+
if (placement.fileless && getConfigEntriesForTool(asset, adapter).length === 0) {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
61
66
|
if ((asset.configEntries?.length ?? 0) === 0) {
|
|
62
67
|
return false;
|
|
63
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-entries.js","sourceRoot":"","sources":["../../src/lib/config-entries.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAqBvE;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAkB,EAAE,OAAgB,EAAE,SAAiB;IAC9F,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC;IACrC,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,SAAwC,CAAC,CAAC;IAC/E,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AACvF,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,uBAAuB,CAAC,KAAyB,EAAE,OAAgB;IACjF,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,0BAA0B,CAAC,KAAqC,EAAE,OAAgB;IAChG,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACtG,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAwC,EACxC,OAAgB,EAChB,KAAuC;IAEvC,MAAM,MAAM,GAAkB;QAC5B,GAAG,0BAA0B,CAAC,QAAQ,EAAE,OAAO,CAAC;QAChD,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;KACpD,CAAC;IAEF,sFAAsF;IACtF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"config-entries.js","sourceRoot":"","sources":["../../src/lib/config-entries.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,8 +25,9 @@ export declare function detectConfigFormat(filePath: string): ConfigFormat;
|
|
|
25
25
|
*/
|
|
26
26
|
export declare function normalizeForFormat<T>(value: T, format: ConfigFormat): T;
|
|
27
27
|
/**
|
|
28
|
-
* Parse config text in the given format.
|
|
29
|
-
* (`SyntaxError` for JSON, `TomlError`
|
|
28
|
+
* Parse config text in the given format. JSON is read as JSONC (comments and trailing commas), as
|
|
29
|
+
* VS Code reads `.vscode/mcp.json`. Throws on syntax errors (`SyntaxError` for JSON, `TomlError`
|
|
30
|
+
* for TOML).
|
|
30
31
|
*/
|
|
31
32
|
export declare function parseConfig(raw: string, format: ConfigFormat): Record<string, unknown>;
|
|
32
33
|
/**
|
|
@@ -35,8 +36,8 @@ export declare function parseConfig(raw: string, format: ConfigFormat): Record<s
|
|
|
35
36
|
*/
|
|
36
37
|
export declare function readConfigFile(filePath: string, format: ConfigFormat): Promise<Record<string, unknown>>;
|
|
37
38
|
/**
|
|
38
|
-
* Delete a config file that removing ATK's entries left with no keys. A
|
|
39
|
-
*
|
|
39
|
+
* Delete a config file that removing ATK's entries left with no keys. A file that still holds the
|
|
40
|
+
* user's comments is kept instead, with only ATK's entries taken out of it.
|
|
40
41
|
*/
|
|
41
42
|
export declare function removeEmptiedConfigFile(filePath: string, format: ConfigFormat, options?: WriteOptions): Promise<void>;
|
|
42
43
|
/**
|
|
@@ -51,7 +52,9 @@ export declare function resolveConfigFormat(filePath: string, placement?: Pick<P
|
|
|
51
52
|
* are rewritten, so the user's comments and formatting stay. When the change can't be made that way
|
|
52
53
|
* (it isn't one of the `section.child` tables ATK writes, or the file defines one inline), the whole
|
|
53
54
|
* document is re-serialized, which drops the comments; a one-line warning is then emitted through
|
|
54
|
-
* `onProgress` so the loss is visible rather than silent.
|
|
55
|
+
* `onProgress` so the loss is visible rather than silent. An existing JSON file that isn't strict
|
|
56
|
+
* JSON (it has comments or trailing commas) is edited the same way ({@link editJsonc}); strict JSON
|
|
57
|
+
* is re-serialized as before.
|
|
55
58
|
*
|
|
56
59
|
* `options.atomic` writes through a temp file and a rename, for a file the tool rewrites while it
|
|
57
60
|
* runs (a placement with `configLockFile`).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-file.d.ts","sourceRoot":"","sources":["../../src/lib/config-file.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"config-file.d.ts","sourceRoot":"","sources":["../../src/lib/config-file.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI5D,OAAO,EAAiB,KAAK,YAAY,EAAgC,MAAM,iBAAiB,CAAC;AAEjG;;;;;;;;GAQG;AAEH,6DAA6D;AAC7D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3C;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,GAAG,CAAC,CAKvE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEtF;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAG7G;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,GAAG,SAAS,GAC5D,YAAY,CAEd;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,YAAY,EACpB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACtC,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CA4Bf"}
|
package/build/lib/config-file.js
CHANGED
|
@@ -2,6 +2,7 @@ import { existsSync } from 'node:fs';
|
|
|
2
2
|
import { readFile, unlink } from 'node:fs/promises';
|
|
3
3
|
import { extname } from 'node:path';
|
|
4
4
|
import { parse as parseToml } from 'smol-toml';
|
|
5
|
+
import { editJsonc, isStrictJson, parseJsonc } from './jsonc.js';
|
|
5
6
|
import { editTomlTables } from './toml-edit.js';
|
|
6
7
|
import { writeJsonFile, writeTextFile, writeTomlFile } from './write-file.js';
|
|
7
8
|
/**
|
|
@@ -25,11 +26,12 @@ export function normalizeForFormat(value, format) {
|
|
|
25
26
|
return stripNullish(value);
|
|
26
27
|
}
|
|
27
28
|
/**
|
|
28
|
-
* Parse config text in the given format.
|
|
29
|
-
* (`SyntaxError` for JSON, `TomlError`
|
|
29
|
+
* Parse config text in the given format. JSON is read as JSONC (comments and trailing commas), as
|
|
30
|
+
* VS Code reads `.vscode/mcp.json`. Throws on syntax errors (`SyntaxError` for JSON, `TomlError`
|
|
31
|
+
* for TOML).
|
|
30
32
|
*/
|
|
31
33
|
export function parseConfig(raw, format) {
|
|
32
|
-
return (format === 'toml' ? parseToml(raw) :
|
|
34
|
+
return (format === 'toml' ? parseToml(raw) : parseJsonc(raw));
|
|
33
35
|
}
|
|
34
36
|
/**
|
|
35
37
|
* Read and parse a config file. Propagates filesystem errors (e.g. ENOENT)
|
|
@@ -40,17 +42,25 @@ export async function readConfigFile(filePath, format) {
|
|
|
40
42
|
return parseConfig(raw, format);
|
|
41
43
|
}
|
|
42
44
|
/**
|
|
43
|
-
* Delete a config file that removing ATK's entries left with no keys. A
|
|
44
|
-
*
|
|
45
|
+
* Delete a config file that removing ATK's entries left with no keys. A file that still holds the
|
|
46
|
+
* user's comments is kept instead, with only ATK's entries taken out of it.
|
|
45
47
|
*/
|
|
46
48
|
export async function removeEmptiedConfigFile(filePath, format, options = {}) {
|
|
49
|
+
const existing = await readFile(filePath, 'utf-8');
|
|
47
50
|
if (format === 'toml') {
|
|
48
|
-
const remaining = editTomlTables(
|
|
51
|
+
const remaining = editTomlTables(existing, {});
|
|
49
52
|
if (remaining !== undefined && remaining.trim() !== '') {
|
|
50
53
|
await writeTextFile(filePath, remaining, options);
|
|
51
54
|
return;
|
|
52
55
|
}
|
|
53
56
|
}
|
|
57
|
+
else if (!isStrictJson(existing)) {
|
|
58
|
+
const remaining = editJsonc(existing, {});
|
|
59
|
+
if (remaining !== undefined && remaining.replace(/\s/g, '') !== '{}') {
|
|
60
|
+
await writeTextFile(filePath, remaining, options);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
54
64
|
await unlink(filePath);
|
|
55
65
|
}
|
|
56
66
|
/**
|
|
@@ -67,13 +77,24 @@ export function resolveConfigFormat(filePath, placement) {
|
|
|
67
77
|
* are rewritten, so the user's comments and formatting stay. When the change can't be made that way
|
|
68
78
|
* (it isn't one of the `section.child` tables ATK writes, or the file defines one inline), the whole
|
|
69
79
|
* document is re-serialized, which drops the comments; a one-line warning is then emitted through
|
|
70
|
-
* `onProgress` so the loss is visible rather than silent.
|
|
80
|
+
* `onProgress` so the loss is visible rather than silent. An existing JSON file that isn't strict
|
|
81
|
+
* JSON (it has comments or trailing commas) is edited the same way ({@link editJsonc}); strict JSON
|
|
82
|
+
* is re-serialized as before.
|
|
71
83
|
*
|
|
72
84
|
* `options.atomic` writes through a temp file and a rename, for a file the tool rewrites while it
|
|
73
85
|
* runs (a placement with `configLockFile`).
|
|
74
86
|
*/
|
|
75
87
|
export async function writeConfigFile(filePath, data, format, onProgress, options = {}) {
|
|
76
88
|
if (format === 'json') {
|
|
89
|
+
const existing = existsSync(filePath) ? await readFile(filePath, 'utf-8') : undefined;
|
|
90
|
+
if (existing !== undefined && !isStrictJson(existing)) {
|
|
91
|
+
const edited = editJsonc(existing, data);
|
|
92
|
+
if (edited !== undefined) {
|
|
93
|
+
await writeTextFile(filePath, edited, options);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
onProgress?.(`Warning: rewriting ${filePath} — JSON comments and custom formatting are not preserved`);
|
|
97
|
+
}
|
|
77
98
|
await writeJsonFile(filePath, data, options);
|
|
78
99
|
return;
|
|
79
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-file.js","sourceRoot":"","sources":["../../src/lib/config-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AAI/C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAqB,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAejG;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AACvE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAI,KAAQ,EAAE,MAAoB;IAClE,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,YAAY,CAAC,KAAK,CAAM,CAAC;AAClC,CAAC;AAED
|
|
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":"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,EAAE,WAAW,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, checkRealPaths, configDirMove, configEntryPath, getPla
|
|
|
5
5
|
import { carryExclusions, declarationAllows, declaresTool, isExcludedForTool } from './asset-tools.js';
|
|
6
6
|
import { computeConfigEntryChecksum, computeHookGroupChecksum, CONFIG_CHECKSUM_VERSION, hashBytes, verifyChecksum, } from './checksum.js';
|
|
7
7
|
import { getConfigEntriesForTool, getOtherToolsConfigEntries, mergeConfigEntriesForTool, normalizeConfigPath, staleHookCommandEntries, } from './config-entries.js';
|
|
8
|
-
import { normalizeForFormat, readConfigFile, removeEmptiedConfigFile, resolveConfigFormat, writeConfigFile, } from './config-file.js';
|
|
8
|
+
import { normalizeForFormat, parseConfig, 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';
|
|
@@ -240,12 +240,38 @@ export async function executeInstallPlan(plan, options) {
|
|
|
240
240
|
}
|
|
241
241
|
throw new InstallPlanError(failed, error, added.length);
|
|
242
242
|
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
})
|
|
243
|
+
// Once the whole plan is in place, the files of the copies it replaced that it didn't write again
|
|
244
|
+
// go: all of a moved copy's, which the tool no longer reads, and those another version placed that
|
|
245
|
+
// this one no longer ships, unless the user changed them (ATK-370). The install stands, so a
|
|
246
|
+
// failure here is a warning.
|
|
247
|
+
const replaced = [
|
|
248
|
+
...movedCopies.map((copy) => ({ ...copy, placedByAtk: false })),
|
|
249
|
+
...supportedEntries.flatMap((entry, i) => {
|
|
250
|
+
const previous = findInstalledAsset(installedBefore, entry.asset.name, entry.asset.type, entry.asset.org);
|
|
251
|
+
if (!previous || isExcludedForTool(previous, options.adapter.tool) || configDirMove(options.adapter, previous)) {
|
|
252
|
+
return [];
|
|
253
|
+
}
|
|
254
|
+
return [
|
|
255
|
+
{
|
|
256
|
+
dropping: `${formatOrgName(entry.asset.org, entry.asset.name)}@${entry.version}`,
|
|
257
|
+
placedByAtk: true,
|
|
258
|
+
previous,
|
|
259
|
+
written: results[i].filesPlaced.map((f) => f.destination),
|
|
260
|
+
},
|
|
261
|
+
];
|
|
262
|
+
}),
|
|
263
|
+
];
|
|
264
|
+
for (const { dropping, placedByAtk, previous, written } of replaced) {
|
|
265
|
+
try {
|
|
266
|
+
const removed = await removePlacedFiles(previous, adapterAsPlaced(options.adapter, previous), options.projectDir, { keep: written, lockfile, onProgress: options.onProgress, placedByAtk });
|
|
267
|
+
if (dropping)
|
|
268
|
+
for (const path of removed)
|
|
269
|
+
options.onProgress?.(`Removed ${path}: ${dropping} no longer ships it`);
|
|
270
|
+
}
|
|
271
|
+
catch (error) {
|
|
272
|
+
options.onProgress?.(`Warning: Failed to remove the files ${formatOrgName(previous.org, previous.name)}@${previous.version} ` +
|
|
273
|
+
`placed that this install replaced — ${errorMessage(error)}`);
|
|
274
|
+
}
|
|
249
275
|
}
|
|
250
276
|
return results;
|
|
251
277
|
}
|
|
@@ -529,7 +555,7 @@ async function checkFileConflict(destPath, managedPaths, asset) {
|
|
|
529
555
|
/**
|
|
530
556
|
* Throw a FileConflictError if the config entry `entry` names already exists without ATK's
|
|
531
557
|
* `_managedBy` marker and no installed asset wrote it: the user wrote it, so only --force replaces
|
|
532
|
-
* it, as with a file. A config file that doesn't parse is left to the merge, which
|
|
558
|
+
* it, as with a file. A config file that doesn't parse is left to the merge, which reports it.
|
|
533
559
|
*/
|
|
534
560
|
async function checkUserEntryConflict(entry, managedEntries, format) {
|
|
535
561
|
if (!entry.entry || managedEntries.has(sharedEntryKey(entry)) || !existsSync(entry.file)) {
|
|
@@ -699,10 +725,11 @@ async function installAsset(entry, options, managedPaths, managedEntries, owners
|
|
|
699
725
|
let mergeContent;
|
|
700
726
|
if (placement.configMerge && !placement.configHookMerge && entrypointFile) {
|
|
701
727
|
try {
|
|
702
|
-
mergeContent =
|
|
728
|
+
mergeContent = parseConfig(entrypointFile.content.toString('utf-8'), 'json');
|
|
703
729
|
}
|
|
704
730
|
catch {
|
|
705
|
-
//
|
|
731
|
+
// Content that isn't JSON: a keyed merge falls back to marker-only behavior, and a fragment
|
|
732
|
+
// merge fails the install (mergeFragmentConfig)
|
|
706
733
|
}
|
|
707
734
|
}
|
|
708
735
|
// The target config file's serialization format (JSON by default; TOML for tools like Codex
|
|
@@ -887,8 +914,8 @@ async function installAsset(entry, options, managedPaths, managedEntries, owners
|
|
|
887
914
|
const configFilesCreated = absentConfigFiles
|
|
888
915
|
.filter((path) => existsSync(path))
|
|
889
916
|
.map((path) => toRelativePosix(projectDir, path));
|
|
890
|
-
// Only once the asset is registered where the placement says: a merge that failed (
|
|
891
|
-
// writes nothing) must not take away the old entry as well.
|
|
917
|
+
// Only once the asset is registered where the placement says: a merge that failed (a hook or keyed
|
|
918
|
+
// merge warns and writes nothing) must not take away the old entry as well.
|
|
892
919
|
if (configEntries.length > 0) {
|
|
893
920
|
await removeStaleConfigEntries(previousEntry, declaredEntrypoint, adapter, placement, lockfile, projectDir, onProgress);
|
|
894
921
|
}
|
|
@@ -1014,15 +1041,13 @@ function memoryTemplateBlock(placement, name, basePath) {
|
|
|
1014
1041
|
* entry's own keys win.
|
|
1015
1042
|
*/
|
|
1016
1043
|
async function mergeFragmentConfig(configFilePath, configKey, format, projectDir, mergeContent, fragmentKey, onProgress, writeOptions = {}, entryDefaults = {}, commandEntryDefaults = {}) {
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1044
|
+
// The placement has no files, so an asset this merge doesn't register is registered nowhere: the
|
|
1045
|
+
// install fails and the plan rolls back rather than record it as installed.
|
|
1046
|
+
const inner = mergeContent ? fragmentEntries(mergeContent, configKey, fragmentKey) : [];
|
|
1047
|
+
if (inner.length === 0) {
|
|
1048
|
+
throw new InstallerError(`The asset's config ${mergeContent ? 'has no servers' : 'is missing or not JSON'}, so there is nothing to register in ${configFilePath}.`, { hint: 'Check the asset in the registry.' });
|
|
1020
1049
|
}
|
|
1021
1050
|
try {
|
|
1022
|
-
const inner = fragmentEntries(mergeContent, configKey, fragmentKey);
|
|
1023
|
-
if (inner.length === 0) {
|
|
1024
|
-
return empty;
|
|
1025
|
-
}
|
|
1026
1051
|
let config = {};
|
|
1027
1052
|
if (existsSync(configFilePath)) {
|
|
1028
1053
|
config = await readConfigFile(configFilePath, format);
|
|
@@ -1054,9 +1079,9 @@ async function mergeFragmentConfig(configFilePath, configKey, format, projectDir
|
|
|
1054
1079
|
return { entries, names: inner.map(([name]) => name) };
|
|
1055
1080
|
}
|
|
1056
1081
|
catch (error) {
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1082
|
+
throw new InstallerError(`Couldn't register the servers in ${configFilePath}: ${errorMessage(error)}`, {
|
|
1083
|
+
hint: 'Fix the file, then run the command again.',
|
|
1084
|
+
});
|
|
1060
1085
|
}
|
|
1061
1086
|
}
|
|
1062
1087
|
/**
|