@detergent-software/atk 9.1.0-dev.7 → 9.1.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 CHANGED
@@ -1,3 +1,19 @@
1
+ ## [9.1.0-dev.9](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.1.0-dev.8&targetVersion=GTv9.1.0-dev.9) (2026-10-21)
2
+
3
+ ### Bug Fixes
4
+
5
+ * **cli:** fail a hook or keyed config merge that can't read its file (ATK-708) ([5bcfc07](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/5bcfc07a8f7263c00ed5ce35aa96df2cbb2ba2e4))
6
+ * **cli:** refuse a hook install before placing files when its config doesn't parse (ATK-708) ([a1cdc95](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/a1cdc9502c030155384397b6804ef58342248810))
7
+
8
+ ## [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)
9
+
10
+ ### Bug Fixes
11
+
12
+ * **cli:** fail an mcp-config install with nothing to register (ATK-472) ([2c1bc84](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/2c1bc84e71eec9df88231ece82c197af8c946378))
13
+ * **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))
14
+ * **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))
15
+ * **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))
16
+
1
17
  ## [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)
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;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"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4BxB,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,2CA2WlF"}
@@ -6,14 +6,14 @@ import { ErrorView, FileStatusIcon, Spinner } from '../components/index.js';
6
6
  import { useCommand } from '../hooks/useCommand.js';
7
7
  import { adapterAsPlaced, configDirMove, resolveInstalledPaths, userConfigDirPath } from '../lib/adapter.js';
8
8
  import { declarationAllows, isExcludedAtVersion } from '../lib/asset-tools.js';
9
- import { getConfigEntriesForTool, needsConfigRegistration, normalizeConfigPath, staleHookCommandEntries, } from '../lib/config-entries.js';
9
+ import { getConfigEntriesForTool, lacksHookRegistration, needsConfigRegistration, normalizeConfigPath, staleHookCommandEntries, } from '../lib/config-entries.js';
10
10
  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
14
  import { unlistedFiles, verifyOwnConfigEntries, verifyOwnFiles } from '../lib/owned-paths.js';
15
15
  import { option } from '../lib/pastel/index.js';
16
- import { fetchRegistry, versionTools } from '../lib/registry.js';
16
+ import { fetchRegistry, versionHookConfig, versionTools } from '../lib/registry.js';
17
17
  import { fromRoot } from '../lib/root-path.js';
18
18
  import { loadScopeConfig, resolveScope, scopedCommand } from '../lib/scope.js';
19
19
  import { resolveTools } from '../lib/tool-resolver.js';
@@ -127,10 +127,13 @@ export default function Audit({ options: { json, projectRoot, tool, user } }) {
127
127
  continue;
128
128
  }
129
129
  // Another tool recorded config entries for this asset but this tool never did, or this
130
- // tool's are in a config file its adapter no longer uses: report the registration as
131
- // missing (`atk sync` registers it).
130
+ // tool's are in a config file its adapter no longer uses, or a hook whose locked version
131
+ // binds events has none: report the registration as missing (`atk sync` registers it).
132
132
  const placement = toolAdapter.placements[asset.type];
133
- if (placement?.configFile && placement.configKey && needsConfigRegistration(asset, toolAdapter)) {
133
+ const hookConfig = registry && asset.type === 'hook' ? versionHookConfig(registry, asset, asset.version) : null;
134
+ if (placement?.configFile &&
135
+ placement.configKey &&
136
+ (needsConfigRegistration(asset, toolAdapter) || lacksHookRegistration(asset, toolAdapter, hookConfig))) {
134
137
  configFailures.push({
135
138
  file: normalizeConfigPath(placement.configFile),
136
139
  key: placement.configKey,
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC7G,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAc,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,CAAC,MAAM,WAAW,GAAG,gDAAgD,CAAC;AAE5E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,CAAC;SACJ,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,wCAAwC;KACtD,CAAC,CACH;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,iCAAiC;KAC/C,CAAC,CACH;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,iCAAiC;KAC/C,CAAC,CACH;IACH,IAAI,EAAE,CAAC;SACJ,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,WAAW,EAAE,yEAAyE;KACvF,CAAC,CACH;CACJ,CAAC,CAAC;AAsDH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAS;IACjF,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,UAAU,CACtB,KAAK,EAAE,QAAQ,EAAE,EAAE;QACjB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,YAAY,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9E,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAEtD,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;QAExD,sFAAsF;QACtF,2FAA2F;QAC3F,kEAAkE;QAClE,IAAI,QAA8B,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;YAC3D,QAAQ,CAAC,qBAAqB,CAAC,CAAC;YAChC,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,WAAW,GAAsB,EAAE,CAAC;QAE1C,KAAK,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,QAAQ,EAAE,CAAC;YAChE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;YAEzC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAClD,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAiB,EAAE,CAAC;YACjC,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBAC/B,QAAQ,CAAC,aAAa,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,QAAQ,KAAK,CAAC,CAAC;gBAEjF,IAAI,gBAAgB,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC5E,SAAS;gBACX,CAAC;gBAED,qFAAqF;gBACrF,MAAM,aAAa,GAAG,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBAC1D,MAAM,aAAa,GAAG,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;gBAE9E,2FAA2F;gBAC3F,wFAAwF;gBACxF,4FAA4F;gBAC5F,wFAAwF;gBACxF,MAAM,WAAW,GAAG,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5G,IACE,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC;oBACjD,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,IAAI,SAAS,EAAE,QAAQ,CAAC,EAClE,CAAC;oBACD,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;oBACvG,OAAO,CAAC,IAAI,CAAC;wBACX,KAAK;wBACL,cAAc,EAAE,EAAE;wBAClB,QAAQ,EAAE,EAAE;wBACZ,MAAM,EAAE,UAAU;wBAClB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACxC,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACnD,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,IAAI,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC;iBAC5C,CAAC,CAAC,CAAC;gBAEJ,2EAA2E;gBAC3E,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;gBAEhG,iFAAiF;gBACjF,kFAAkF;gBAClF,gEAAgE;gBAChE,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBACvE,MAAM,cAAc,GAAyB,gBAAgB,CAAC,MAAM;oBAClE,CAAC,CAAC,MAAM,sBAAsB,CAAC,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC;oBAC5F,CAAC,CAAC,EAAE,CAAC;gBAEP,2FAA2F;gBAC3F,uDAAuD;gBACvD,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBAC/C,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,CAAC,IAAI,CAAC;wBACX,KAAK;wBACL,cAAc;wBACd,QAAQ;wBACR,KAAK,EAAE;4BACL,IAAI,EAAE,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;4BAC3D,EAAE,EAAE,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC;yBACxD;wBACD,MAAM,EAAE,OAAO;qBAChB,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,uFAAuF;gBACvF,qFAAqF;gBACrF,qCAAqC;gBACrC,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACrD,IAAI,SAAS,EAAE,UAAU,IAAI,SAAS,CAAC,SAAS,IAAI,uBAAuB,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;oBAChG,cAAc,CAAC,IAAI,CAAC;wBAClB,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC;wBAC/C,GAAG,EAAE,SAAS,CAAC,SAAS;wBACxB,MAAM,EAAE,sBAAsB;qBAC/B,CAAC,CAAC;gBACL,CAAC;gBACD,4FAA4F;gBAC5F,kFAAkF;gBAClF,KAAK,MAAM,KAAK,IAAI,uBAAuB,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;oBAChE,cAAc,CAAC,IAAI,CAAC;wBAClB,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC;wBACrC,GAAG,EAAE,KAAK,CAAC,GAAG;wBACd,MAAM,EAAE,sBAAsB;qBAC/B,CAAC,CAAC;gBACL,CAAC;gBAED,gDAAgD;gBAChD,6DAA6D;gBAC7D,IAAI,WAAW,GAAyB,IAAI,CAAC;gBAE7C,oBAAoB;gBACpB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACjF,IAAI,WAAW,EAAE,CAAC;wBAChB,WAAW,GAAG,UAAU,CAAC;oBAC3B,CAAC;yBAAM,CAAC;wBACN,WAAW,GAAG,SAAS,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBAED,uDAAuD;gBACvD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,0BAA0B,CAAC,CAAC;oBAC9F,MAAM,gBAAgB,GAAG,cAAc,CAAC,IAAI,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,uBAAuB,IAAI,CAAC,CAAC,MAAM,KAAK,sBAAsB,CACnF,CAAC;oBAEF,IAAI,iBAAiB,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;wBACpD,WAAW,GAAG,iBAAiB,CAAC;oBAClC,CAAC;yBAAM,IAAI,gBAAgB,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;wBACpD,WAAW,GAAG,gBAAgB,CAAC;oBACjC,CAAC;gBACH,CAAC;gBAED,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;gBACnF,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK;oBACL,cAAc;oBACd,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChD,QAAQ;oBACR,MAAM,EAAE,WAAW;iBACpB,CAAC,CAAC;YACL,CAAC;YAED,OAAO,CAAC,IAAI,CACV,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;gBACxC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;gBACxC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CACvD,CAAC;YAEF,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAChC,CAAC,EACD,CAAC,IAAI,CAAC,CACP,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAC,OAAO,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC;IAC7C,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC7B,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,UAAU,CAAC;gBAChB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAC,SAAS,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC;IACzF,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;IAE1C,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACpF,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,UAAU,CAAC,eAAe,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE;YAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,IAAC,QAAQ,+CAA0B,YAAY,2BAA2B,EAC9E,KAAK,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAC,IAAI,oBAAS,KAFlB,YAAY,CAGvC,CACP,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;YAChE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;YACxE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;YAC5E,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;YAC5E,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;YAC1E,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,iBAAiB,CAAC,CAAC,MAAM,CAAC;YACzF,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC,MAAM,CAAC;YACvF,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;YACtE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACxF,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAE5C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,IAAC,IAAI,2CACY,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,YAAY,GAAQ,IACvD,EACP,KAAC,IAAI,oBAAS,EACb,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACtB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,eACH,KAAC,cAAc,IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAI,EAAC,GAAG,EAC5C,KAAC,IAAI,IAAC,IAAI,kBAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAQ,EACpE,MAAC,IAAI,IAAC,QAAQ,mBACX,GAAG,OACF,KAAK,CAAC,KAAK,CAAC,IAAI,SAAK,KAAK,CAAC,KAAK,CAAC,OAAO,IACrC,EACN,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,+BAAiB,EAC7D,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,gDAAkC,EACjF,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,CAC9B,MAAC,IAAI,IAAC,QAAQ,mBACX,GAAG,0BACY,YAAY,EAC3B,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,IAC7C,CACR,EACA,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,iCAAmB,EACtE,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,sCAAwB,EACvE,KAAK,CAAC,MAAM,KAAK,iBAAiB,IAAI,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,wCAA0B,EACrF,KAAK,CAAC,MAAM,KAAK,gBAAgB,IAAI,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,+CAAiC,EACvF,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,yCAA2B,IACvE,EACN,KAAK,CAAC,KAAK,IAAI,CACd,MAAC,IAAI,IAAC,QAAQ,mBACX,IAAI,gBAAY,KAAK,CAAC,KAAK,CAAC,IAAI,QAAI,YAAY,iBAAa,KAAK,CAAC,KAAK,CAAC,EAAE,IACvE,CACR,EACA,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACzB,MAAC,IAAI,IAAC,QAAQ,mBACX,IAAI,EACJ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,OAAG,CAAC,CAAC,IAAI,KAF3D,CAAC,CAAC,IAAI,CAGnB,CACR,CAAC,EACD,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAChC,MAAC,IAAI,IAAC,QAAQ,mBACX,IAAI,EACJ,EAAE,CAAC,MAAM,KAAK,0BAA0B;wCACvC,CAAC,CAAC,qBAAqB,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,GAAG,EAAE;wCAC5C,CAAC,CAAC,qBAAqB,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,GAAG,EAAE,KAJ5B,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,EAAE,CAKnC,CACR,CAAC,EACD,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC/B,MAAC,IAAI,IAAC,QAAQ,mBACX,IAAI,kBAAc,KAAK,CAAC,KAAK,CAAC,OAAO,QAAI,IAAI,KAD5B,IAAI,CAEjB,CACR,CAAC,KA9C6B,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CA+CnD,CACP,CAAC,EACF,KAAC,IAAI,oBAAS,EACb,KAAK,CAAC,CAAC,CAAC,CACP,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,4BACV,OAAO,GAAG,WAAW,YAAQ,OAAO,GAAG,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,8BACzE,WAAW,GAAG,CAAC,IAAI,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,mBAAI,WAAW,gBAAgB,EACpE,aAAa,GAAG,CAAC,IAAI,MAAC,IAAI,IAAC,QAAQ,yBAAI,aAAa,gCAAgC,IAChF,CACR,CAAC,CAAC,CAAC,CACF,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,cAED;oCACE,OAAO,GAAG,CAAC,IAAI,CACb,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,aAChB,OAAO,YADc,IAAI,CAErB,CACR;oCACD,WAAW,GAAG,CAAC,IAAI,CACjB,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,aACf,WAAW,gBADS,QAAQ,CAExB,CACR;oCACD,aAAa,GAAG,CAAC,IAAI,CACnB,MAAC,IAAI,IAAC,QAAQ,mBACX,aAAa,kBADG,UAAU,CAEtB,CACR;oCACD,aAAa,GAAG,CAAC,IAAI,CACnB,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,aACjB,aAAa,kBADS,UAAU,CAE5B,CACR;oCACD,mBAAmB,GAAG,CAAC,IAAI,CACzB,MAAC,IAAI,IAAC,KAAK,EAAC,SAAS,aAClB,mBAAmB,yBADI,iBAAiB,CAEpC,CACR;oCACD,YAAY,GAAG,CAAC,IAAI,CAClB,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,aACd,YAAY,iBADO,SAAS,CAExB,CACR;oCACD,kBAAkB,GAAG,CAAC,IAAI,CACxB,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,aACd,kBAAkB,wBADC,gBAAgB,CAE/B,CACR;oCACD,UAAU,GAAG,CAAC,IAAI,CAChB,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,aACjB,UAAU,eADY,OAAO,CAEzB,CACR;iCACF,CAAC,MAAM,CAAC,OAAO,CACjB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAC,IAAI,sBAAM,OAAO,CAAC,EAAE,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GACxE,EACP,MAAC,IAAI,IAAC,QAAQ,2BACR,KAAC,IAAI,IAAC,IAAI,kBAAE,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,GAAQ,mDACnD,EACN,aAAa,GAAG,CAAC,IAAI,CACpB,MAAC,IAAI,IAAC,QAAQ,oDACiB,KAAC,IAAI,IAAC,IAAI,kBAAE,aAAa,CAAC,kBAAkB,EAAE,KAAK,CAAC,GAAQ,yBAEpF,CACR,IACG,CACP,EACA,UAAU,GAAG,CAAC,IAAI,CACjB,MAAC,IAAI,IAAC,QAAQ,mBACX,UAAU,WAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,wBAAoB,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,6DAC/C,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,qCAE9E,CACR,EACA,KAAK,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,KAAC,IAAI,oBAAS,KAhIlB,YAAY,CAiIvC,CACP,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAsC,IAAI,GAAG,CAAC;IAClE,gBAAgB;IAChB,iBAAiB;IACjB,SAAS;IACT,UAAU;IACV,OAAO;CACR,CAAC,CAAC;AAEH,SAAS,eAAe,CAAC,OAA0B,EAAE,WAAoB;IACvE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAChD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC/B,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;YACtB,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;YACtB,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;SAC7B,CAAC,CAAC;QACH,IAAI;KACL,CAAC,CAAC,CAAC;IAEJ,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,cAAc,CAAC,KAAiB;IACvC,OAAO,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Adapter } from './schemas/adapter.js';
2
+ import type { HookConfig } from './schemas/index.js';
2
3
  import type { ConfigEntry, InstalledAsset } from './schemas/lockfile.js';
3
4
  /**
4
5
  * Helpers for scoping an installed asset's lockfile `configEntries` to a single tool.
@@ -27,6 +28,14 @@ export declare function configEntryBelongsToTool(entry: ConfigEntry, adapter: Ad
27
28
  export declare function getConfigEntriesForTool(asset: AssetConfigEntries, adapter: Adapter): ConfigEntry[];
28
29
  /** The asset's recorded config entries that belong to any tool other than the given adapter's. */
29
30
  export declare function getOtherToolsConfigEntries(asset: AssetConfigEntries | undefined, adapter: Adapter): ConfigEntry[];
31
+ /**
32
+ * Whether a hook is missing its registration for the given tool though its locked version binds
33
+ * events (`hookConfig`, from the registry): the placement merges them into a config file, and the
34
+ * asset has no entries for this tool at all. A hook merge that failed before ATK-708 recorded it so,
35
+ * with the script placed and nothing running it. {@link needsConfigRegistration} can't see it: a
36
+ * hook that binds no events legitimately has no entries, and only the registry tells them apart.
37
+ */
38
+ export declare function lacksHookRegistration(asset: AssetConfigEntries, adapter: Adapter, hookConfig: HookConfig | null | undefined): boolean;
30
39
  /**
31
40
  * Build the config entries to record after (re)installing an asset for one tool:
32
41
  * other tools' previously recorded entries are preserved verbatim, this tool's stale
@@ -46,7 +55,9 @@ export declare function mergeConfigEntriesForTool(previous: AssetConfigEntries |
46
55
  *
47
56
  * Assets with no recorded entries at all are left alone — a hook with no event
48
57
  * bindings, a legacy lockfile, or a memory-template legitimately has none, and
49
- * flagging them would re-sync the asset forever.
58
+ * flagging them would re-sync the asset forever. Not so for a fileless placement
59
+ * (mcp-config): it places nothing but the registration, so an asset with none for
60
+ * this tool is installed nowhere (a merge that failed before ATK-472 recorded it so).
50
61
  */
51
62
  export declare function needsConfigRegistration(asset: AssetConfigEntries, adapter: Adapter): boolean;
52
63
  /** 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;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAU5F;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"}
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,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,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;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,kBAAkB,EACzB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,GACxC,OAAO,CAUT;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"}
@@ -25,6 +25,22 @@ export function getOtherToolsConfigEntries(asset, adapter) {
25
25
  }
26
26
  return (asset.configEntries ?? []).filter((e) => !configEntryBelongsToTool(e, adapter, asset.type));
27
27
  }
28
+ /**
29
+ * Whether a hook is missing its registration for the given tool though its locked version binds
30
+ * events (`hookConfig`, from the registry): the placement merges them into a config file, and the
31
+ * asset has no entries for this tool at all. A hook merge that failed before ATK-708 recorded it so,
32
+ * with the script placed and nothing running it. {@link needsConfigRegistration} can't see it: a
33
+ * hook that binds no events legitimately has no entries, and only the registry tells them apart.
34
+ */
35
+ export function lacksHookRegistration(asset, adapter, hookConfig) {
36
+ const placement = adapter.placements[asset.type];
37
+ return (asset.type === 'hook' &&
38
+ !!placement?.configHookMerge &&
39
+ !!placement.configFile &&
40
+ !!placement.configKey &&
41
+ Object.keys(hookConfig ?? {}).length > 0 &&
42
+ getConfigEntriesForTool(asset, adapter).length === 0);
43
+ }
28
44
  /**
29
45
  * Build the config entries to record after (re)installing an asset for one tool:
30
46
  * other tools' previously recorded entries are preserved verbatim, this tool's stale
@@ -51,13 +67,18 @@ export function mergeConfigEntriesForTool(previous, adapter, fresh) {
51
67
  *
52
68
  * Assets with no recorded entries at all are left alone — a hook with no event
53
69
  * bindings, a legacy lockfile, or a memory-template legitimately has none, and
54
- * flagging them would re-sync the asset forever.
70
+ * flagging them would re-sync the asset forever. Not so for a fileless placement
71
+ * (mcp-config): it places nothing but the registration, so an asset with none for
72
+ * this tool is installed nowhere (a merge that failed before ATK-472 recorded it so).
55
73
  */
56
74
  export function needsConfigRegistration(asset, adapter) {
57
75
  const placement = adapter.placements[asset.type];
58
76
  if (!placement?.configFile || !placement.configKey) {
59
77
  return false;
60
78
  }
79
+ if (placement.fileless && getConfigEntriesForTool(asset, adapter).length === 0) {
80
+ return true;
81
+ }
61
82
  if ((asset.configEntries?.length ?? 0) === 0) {
62
83
  return false;
63
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config-entries.js","sourceRoot":"","sources":["../../src/lib/config-entries.ts"],"names":[],"mappings":"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"}
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. Throws on syntax errors
29
- * (`SyntaxError` for JSON, `TomlError` for TOML).
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 TOML file that still holds
39
- * the user's comments is kept instead, with only ATK's tables taken out of it.
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;AAG5D,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;;;GAGG;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,CASf;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;;;;;;;;;;;GAWG;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,CAmBf"}
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"}
@@ -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. Throws on syntax errors
29
- * (`SyntaxError` for JSON, `TomlError` for TOML).
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) : JSON.parse(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 TOML file that still holds
44
- * the user's comments is kept instead, with only ATK's tables taken out of it.
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(await readFile(filePath, 'utf-8'), {});
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":"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"}
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":"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"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/lib/installer.ts"],"names":[],"mappings":"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"}
@@ -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';
@@ -193,7 +193,8 @@ export async function executeInstallPlan(plan, options) {
193
193
  }
194
194
  }
195
195
  catch (error) {
196
- // The failing asset isn't in `results`. Nothing else owns a path it created, so all of them go.
196
+ // The failing asset isn't in `results`. Nothing else owns a path it created, so all of them go:
197
+ // its files, or a first install's hook script whose registration failed.
197
198
  for (const path of created) {
198
199
  try {
199
200
  if (existsSync(path)) {
@@ -518,6 +519,22 @@ function bundleOriginFor(previous, requested, adopt) {
518
519
  const sameBundle = kept && requested && kept.name === requested.name && kept.org === requested.org;
519
520
  return sameBundle ? requested : kept;
520
521
  }
522
+ /**
523
+ * Throw an InstallerError naming the file when the config file at `path` exists and doesn't parse,
524
+ * before the install writes anything: the merge into it would fail after `what`'s files were placed.
525
+ */
526
+ async function checkConfigReadable(path, format, what) {
527
+ if (!existsSync(path))
528
+ return;
529
+ try {
530
+ await readConfigFile(path, format);
531
+ }
532
+ catch (error) {
533
+ throw new InstallerError(`Couldn't register ${what} in ${path}: ${errorMessage(error)}`, {
534
+ hint: 'Fix the file, then run the command again.',
535
+ });
536
+ }
537
+ }
521
538
  /**
522
539
  * Throw a FileConflictError if another installed asset wrote `entry` and `asset` didn't. An entry
523
540
  * no installed asset wrote is left to the merge, as before. An asset that recorded the entry of
@@ -555,7 +572,7 @@ async function checkFileConflict(destPath, managedPaths, asset) {
555
572
  /**
556
573
  * Throw a FileConflictError if the config entry `entry` names already exists without ATK's
557
574
  * `_managedBy` marker and no installed asset wrote it: the user wrote it, so only --force replaces
558
- * it, as with a file. A config file that doesn't parse is left to the merge, which warns.
575
+ * it, as with a file. A config file that doesn't parse is left to the merge, which reports it.
559
576
  */
560
577
  async function checkUserEntryConflict(entry, managedEntries, format) {
561
578
  if (!entry.entry || managedEntries.has(sharedEntryKey(entry)) || !existsSync(entry.file)) {
@@ -688,8 +705,8 @@ function fragmentEntries(content, configKey, fragmentKey) {
688
705
  * Accepts the current in-memory lockfile and returns the updated lockfile alongside the result,
689
706
  * and the shared entries the asset wrote.
690
707
  * While it places the asset's files, `created` holds each path it writes where no file was (added
691
- * before the write), so a caller can remove them when placing fails partway. It is emptied once
692
- * every file is placed.
708
+ * before the write), so a caller can remove them when placing or registering them fails. It is
709
+ * emptied once the config entries that run them are written.
693
710
  */
694
711
  async function installAsset(entry, options, managedPaths, managedEntries, ownersElsewhere, lockfile, created) {
695
712
  const { asset } = entry;
@@ -725,10 +742,11 @@ async function installAsset(entry, options, managedPaths, managedEntries, owners
725
742
  let mergeContent;
726
743
  if (placement.configMerge && !placement.configHookMerge && entrypointFile) {
727
744
  try {
728
- mergeContent = JSON.parse(entrypointFile.content.toString('utf-8'));
745
+ mergeContent = parseConfig(entrypointFile.content.toString('utf-8'), 'json');
729
746
  }
730
747
  catch {
731
- // If content isn't valid JSON, fall back to marker-only behavior
748
+ // Content that isn't JSON: a keyed merge falls back to marker-only behavior, and a fragment
749
+ // merge fails the install (mergeFragmentConfig)
732
750
  }
733
751
  }
734
752
  // The target config file's serialization format (JSON by default; TOML for tools like Codex
@@ -758,11 +776,16 @@ async function installAsset(entry, options, managedPaths, managedEntries, owners
758
776
  : []),
759
777
  ...staleConfigEntries(previousEntry, declaredEntrypoint, adapter, placement).map((stale) => configEntryPath(stale, previousEntry, adapter, projectDir)),
760
778
  ], asset.name, adapter, projectDir);
779
+ // A config file the merge below couldn't read fails the install before any file is placed, so a
780
+ // reinstall's files keep the content its previous entries run.
781
+ if (placement.configFile && placement.configKey && !placement.fileless) {
782
+ await checkConfigReadable(fromRoot(basePath, placement.configFile), configFormat, placement.configHookMerge ? 'the hook' : `"${asset.name}"`);
783
+ }
761
784
  // Branch on placement type
762
785
  const placedFiles = [];
763
786
  const filesPlaced = [];
764
787
  const configEntries = [];
765
- // The shared entries written so far: the merge helpers warn and write nothing when they fail.
788
+ // The shared entries written so far.
766
789
  const written = [];
767
790
  // The memory-template block written, which a rollback undoes.
768
791
  let blockWritten;
@@ -864,9 +887,6 @@ async function installAsset(entry, options, managedPaths, managedEntries, owners
864
887
  await makeExecutable(scriptDest);
865
888
  }
866
889
  }
867
- // Every file is placed, and the config entries below can point at them (a hook runs its script),
868
- // so a failure from here on leaves them in place.
869
- created.length = 0;
870
890
  // The config files the writes below can create, which a rollback then removes once empty.
871
891
  const absentConfigFiles = [placement.configFile, placement.enabledListFile]
872
892
  .filter((file) => !!file)
@@ -903,18 +923,22 @@ async function installAsset(entry, options, managedPaths, managedEntries, owners
903
923
  }
904
924
  else {
905
925
  const { configFile, configKey } = placement;
906
- const configResult = await withConfigLock(lockFile, () => updateConfigFile(fromRoot(basePath, configFile), configKey, configFormat, asset.name, asset.type, projectDir, mergeContent, onProgress, writeOptions));
907
- if (configResult) {
908
- configEntries.push(configResult);
909
- }
926
+ const configEntry = await withConfigLock(lockFile, () => updateConfigFile(fromRoot(basePath, configFile), configKey, configFormat, asset.name, asset.type, projectDir, mergeContent, onProgress, writeOptions));
927
+ configEntries.push(configEntry);
910
928
  }
911
929
  }
930
+ // The entries just written run the asset's files (a hook runs its script), so a failure from here
931
+ // on leaves them in place. A merge that failed threw before this, and the files placed where none
932
+ // were go with the rollback: a first install's script, and not one already on disk that the
933
+ // previous entries run. (Sync removes the asset before reinstalling it, so there the script is
934
+ // gone either way: ATK-713.)
935
+ created.length = 0;
912
936
  written.push(...sharedEntries.filter((shared) => configEntries.some((c) => !c.command && c.key === shared.key)));
913
937
  const configFilesCreated = absentConfigFiles
914
938
  .filter((path) => existsSync(path))
915
939
  .map((path) => toRelativePosix(projectDir, path));
916
- // Only once the asset is registered where the placement says: a merge that failed (it warns and
917
- // writes nothing) must not take away the old entry as well.
940
+ // Only once the asset is registered where the placement says: a hook that binds no events
941
+ // registers nothing, and must not take away the old entry either.
918
942
  if (configEntries.length > 0) {
919
943
  await removeStaleConfigEntries(previousEntry, declaredEntrypoint, adapter, placement, lockfile, projectDir, onProgress);
920
944
  }
@@ -1040,15 +1064,13 @@ function memoryTemplateBlock(placement, name, basePath) {
1040
1064
  * entry's own keys win.
1041
1065
  */
1042
1066
  async function mergeFragmentConfig(configFilePath, configKey, format, projectDir, mergeContent, fragmentKey, onProgress, writeOptions = {}, entryDefaults = {}, commandEntryDefaults = {}) {
1043
- const empty = { entries: [], names: [] };
1044
- if (!mergeContent) {
1045
- return empty;
1067
+ // The placement has no files, so an asset this merge doesn't register is registered nowhere: the
1068
+ // install fails and the plan rolls back rather than record it as installed.
1069
+ const inner = mergeContent ? fragmentEntries(mergeContent, configKey, fragmentKey) : [];
1070
+ if (inner.length === 0) {
1071
+ 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.' });
1046
1072
  }
1047
1073
  try {
1048
- const inner = fragmentEntries(mergeContent, configKey, fragmentKey);
1049
- if (inner.length === 0) {
1050
- return empty;
1051
- }
1052
1074
  let config = {};
1053
1075
  if (existsSync(configFilePath)) {
1054
1076
  config = await readConfigFile(configFilePath, format);
@@ -1080,9 +1102,9 @@ async function mergeFragmentConfig(configFilePath, configKey, format, projectDir
1080
1102
  return { entries, names: inner.map(([name]) => name) };
1081
1103
  }
1082
1104
  catch (error) {
1083
- // Non-fatal — log but don't fail the install
1084
- onProgress?.(`Warning: Failed to merge config fragment into ${configFilePath} — ${errorMessage(error)}`);
1085
- return empty;
1105
+ throw new InstallerError(`Couldn't register the servers in ${configFilePath}: ${errorMessage(error)}`, {
1106
+ hint: 'Fix the file, then run the command again.',
1107
+ });
1086
1108
  }
1087
1109
  }
1088
1110
  /**
@@ -1135,9 +1157,10 @@ async function mergeHookConfig(configFilePath, configKey, format, hookConfig, co
1135
1157
  return entries;
1136
1158
  }
1137
1159
  catch (error) {
1138
- // Non-fatal — log but don't fail the install
1139
- onProgress?.(`Warning: Failed to merge hook config into ${configFilePath} — ${errorMessage(error)}`);
1140
- return [];
1160
+ // The script is placed but nothing would run it, so the install fails and rolls back.
1161
+ throw new InstallerError(`Couldn't register the hook in ${configFilePath}: ${errorMessage(error)}`, {
1162
+ hint: 'Fix the file, then run the command again.',
1163
+ });
1141
1164
  }
1142
1165
  }
1143
1166
  /** The {@link PlanFiles} key of a plan entry: one asset version. */
@@ -1387,9 +1410,9 @@ async function updateConfigFile(configFilePath, configKey, format, assetName, as
1387
1410
  };
1388
1411
  }
1389
1412
  catch (error) {
1390
- // Non-fatal — log but don't fail the install
1391
- onProgress?.(`Warning: Failed to update config file ${configFilePath} — ${errorMessage(error)}`);
1392
- return null;
1413
+ throw new InstallerError(`Couldn't register "${assetName}" in ${configFilePath}: ${errorMessage(error)}`, {
1414
+ hint: 'Fix the file, then run the command again.',
1415
+ });
1393
1416
  }
1394
1417
  }
1395
1418
  //# sourceMappingURL=installer.js.map