@detergent-software/atk 8.6.2-dev.1 → 8.7.0-dev.1
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 +11 -0
- package/build/hooks/useListActions.d.ts.map +1 -1
- package/build/hooks/useListActions.js +3 -1
- package/build/hooks/useListActions.js.map +1 -1
- package/build/lib/adapter.d.ts +7 -0
- package/build/lib/adapter.d.ts.map +1 -1
- package/build/lib/adapter.js +8 -0
- package/build/lib/adapter.js.map +1 -1
- package/build/lib/config-file.d.ts +5 -1
- package/build/lib/config-file.d.ts.map +1 -1
- package/build/lib/config-file.js +6 -3
- package/build/lib/config-file.js.map +1 -1
- package/build/lib/config-lock.d.ts +20 -0
- package/build/lib/config-lock.d.ts.map +1 -0
- package/build/lib/config-lock.js +60 -0
- package/build/lib/config-lock.js.map +1 -0
- package/build/lib/hook-config.d.ts +7 -0
- package/build/lib/hook-config.d.ts.map +1 -1
- package/build/lib/hook-config.js +11 -0
- package/build/lib/hook-config.js.map +1 -1
- package/build/lib/installer.d.ts +6 -2
- 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/multi-tool-install.js +1 -1
- package/build/lib/multi-tool-install.js.map +1 -1
- package/build/lib/schemas/adapter.d.ts +31 -0
- package/build/lib/schemas/adapter.d.ts.map +1 -1
- package/build/lib/schemas/adapter.js +12 -0
- package/build/lib/schemas/adapter.js.map +1 -1
- package/build/lib/sync.d.ts +2 -2
- package/build/lib/tool-resolver.d.ts +2 -0
- package/build/lib/tool-resolver.d.ts.map +1 -1
- package/build/lib/tool-resolver.js +8 -4
- package/build/lib/tool-resolver.js.map +1 -1
- package/build/lib/uninstaller.d.ts.map +1 -1
- package/build/lib/uninstaller.js +5 -3
- package/build/lib/uninstaller.js.map +1 -1
- package/build/lib/updater.d.ts +2 -2
- package/build/lib/write-file.d.ts +12 -2
- package/build/lib/write-file.d.ts.map +1 -1
- package/build/lib/write-file.js +54 -7
- package/build/lib/write-file.js.map +1 -1
- package/package.json +1 -1
- package/tool-adapters/claude-code.json +31 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
## [8.7.0-dev.1](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv8.6.2-dev.1&targetVersion=GTv8.7.0-dev.1) (2026-10-15)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* **cli:** place user-scope assets with per-scope adapter placements ([44d8990](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/44d89907b5aad63aa2483962fd29c4a08e37fbc2))
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
* **cli:** create a new .claude.json private to its owner ([ad94489](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/ad944893acd45e58ec5eada111688ad6848373a3))
|
|
10
|
+
* **cli:** harden the .claude.json write and pass the scope from list ([d665ea3](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/d665ea31af4c54bb8707412252a2892a25b59cf1))
|
|
11
|
+
|
|
1
12
|
## [8.6.2-dev.1](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv8.6.1&targetVersion=GTv8.6.2-dev.1) (2026-10-14)
|
|
2
13
|
|
|
3
14
|
### Bug Fixes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useListActions.d.ts","sourceRoot":"","sources":["../../src/hooks/useListActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,OAAO,CAAC;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAwB/D;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EACpC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,EAChC,eAAe,EAAE,SAAS,CAAC,IAAI,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACrG,gBAAgB,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC,GACjD,IAAI,
|
|
1
|
+
{"version":3,"file":"useListActions.d.ts","sourceRoot":"","sources":["../../src/hooks/useListActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,OAAO,CAAC;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAwB/D;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EACpC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,EAChC,eAAe,EAAE,SAAS,CAAC,IAAI,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACrG,gBAAgB,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC,GACjD,IAAI,CA+NN"}
|
|
@@ -3,7 +3,7 @@ import { isExcludedForTool, supportsType } from '../lib/asset-tools.js';
|
|
|
3
3
|
import { freezeAssetInConfig, isAssetFrozen, thawAssetInConfig } from '../lib/config.js';
|
|
4
4
|
import { errorMessage } from '../lib/errors.js';
|
|
5
5
|
import { LOCKFILE_LOCKED_MESSAGE, LockfileLockedError, pinAssetVersion, readLockfile, unpinAssetVersion, withLockfileLock, writeLockfile, } from '../lib/lockfile.js';
|
|
6
|
-
import { loadScopeConfig } from '../lib/scope.js';
|
|
6
|
+
import { isUserRoot, loadScopeConfig } from '../lib/scope.js';
|
|
7
7
|
import { uninstallAsset } from '../lib/uninstaller.js';
|
|
8
8
|
import { declarationAllowsVersion, excludedAtVersion, removeUndeclaredAfterUpdate, updateAsset, } from '../lib/updater.js';
|
|
9
9
|
/**
|
|
@@ -132,6 +132,7 @@ export function useListActions(state, dispatch, projectDirRef, resolvedToolRef,
|
|
|
132
132
|
// Failures placing a hook whose exclusion the latest version lifts: the tool never had
|
|
133
133
|
// it, so, as in `atk update`, the other tools still update.
|
|
134
134
|
const liftErrors = [];
|
|
135
|
+
const scope = (await isUserRoot(projectDirRef.current)) ? 'user' : 'project';
|
|
135
136
|
for (const adapter of adapters) {
|
|
136
137
|
if (excludedAtVersion(registry, installed, undefined, adapter) ||
|
|
137
138
|
!supportsType(adapter, installed.type))
|
|
@@ -148,6 +149,7 @@ export function useListActions(state, dispatch, projectDirRef, resolvedToolRef,
|
|
|
148
149
|
dispatch({ message, type: 'ACTION_PROGRESS' });
|
|
149
150
|
},
|
|
150
151
|
projectDir: projectDirRef.current,
|
|
152
|
+
scope,
|
|
151
153
|
toolLockfile: lockfile,
|
|
152
154
|
});
|
|
153
155
|
if (isExcludedForTool(installed, adapter.tool)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useListActions.js","sourceRoot":"","sources":["../../src/hooks/useListActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAM1D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"useListActions.js","sourceRoot":"","sources":["../../src/hooks/useListActions.ts"],"names":[],"mappings":"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"}
|
package/build/lib/adapter.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AssetType } from './schemas/index.js';
|
|
2
|
+
import type { Scope } from './scope.js';
|
|
2
3
|
import { GuidedError } from './errors.js';
|
|
3
4
|
import { type Adapter, type PlacementConfig } from './schemas/adapter.js';
|
|
4
5
|
export interface AdapterDiagnostics {
|
|
@@ -15,6 +16,12 @@ export interface AdapterLoadFailure {
|
|
|
15
16
|
export declare class AdapterError extends GuidedError {
|
|
16
17
|
name: string;
|
|
17
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* The adapter as the scope sees it. At the user scope its placements are the adapter's
|
|
21
|
+
* `userPlacements` (none when it has none), so every reader of `placements` places assets,
|
|
22
|
+
* and finds their config entries, the user-scope way.
|
|
23
|
+
*/
|
|
24
|
+
export declare function adapterForScope(adapter: Adapter, scope: Scope): Adapter;
|
|
18
25
|
/**
|
|
19
26
|
* Clear the adapter cache (useful for testing).
|
|
20
27
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/lib/adapter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/lib/adapter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAgB,WAAW,EAAE,MAAM,aAAa,CAAC;AAGxD,OAAO,EAAE,KAAK,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEzF,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAOD,qBAAa,YAAa,SAAQ,WAAW;IAClC,IAAI,SAAkB;CAChC;AAKD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAEvE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,eAAe,GAAG,SAAS,CAEhG;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,CAEpE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAqB1G;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBhE;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAoC1D;AAED;;;;;GAKG;AACH,wBAAsB,8BAA8B,IAAI,OAAO,CAAC;IAC9D,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,EAAE,kBAAkB,CAAC;CACjC,CAAC,CAwDD;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE;IACL,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,EACD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB;IACD,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/E,CA8DA;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG5G;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAEjF"}
|
package/build/lib/adapter.js
CHANGED
|
@@ -14,6 +14,14 @@ export class AdapterError extends GuidedError {
|
|
|
14
14
|
}
|
|
15
15
|
/** Cache loaded adapters by tool name. */
|
|
16
16
|
const adapterCache = new Map();
|
|
17
|
+
/**
|
|
18
|
+
* The adapter as the scope sees it. At the user scope its placements are the adapter's
|
|
19
|
+
* `userPlacements` (none when it has none), so every reader of `placements` places assets,
|
|
20
|
+
* and finds their config entries, the user-scope way.
|
|
21
|
+
*/
|
|
22
|
+
export function adapterForScope(adapter, scope) {
|
|
23
|
+
return scope === 'user' ? { ...adapter, placements: adapter.userPlacements ?? {} } : adapter;
|
|
24
|
+
}
|
|
17
25
|
/**
|
|
18
26
|
* Clear the adapter cache (useful for testing).
|
|
19
27
|
*/
|
package/build/lib/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/lib/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/lib/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PlacementConfig } from './schemas/adapter.js';
|
|
2
|
+
import { type WriteOptions } from './write-file.js';
|
|
2
3
|
/**
|
|
3
4
|
* Format-aware read/write helpers for tool config files that ATK registers
|
|
4
5
|
* assets into (e.g. Claude Code's `.mcp.json`, Codex CLI's `.codex/config.toml`).
|
|
@@ -44,6 +45,9 @@ export declare function resolveConfigFormat(filePath: string, placement?: Pick<P
|
|
|
44
45
|
* For TOML, re-serializing drops any comments the user had in the file; when
|
|
45
46
|
* that is about to happen, a one-line warning is emitted through `onProgress`
|
|
46
47
|
* so the loss is visible rather than silent.
|
|
48
|
+
*
|
|
49
|
+
* `options.atomic` writes through a temp file and a rename, for a file the tool rewrites while it
|
|
50
|
+
* runs (a placement with `configLockFile`).
|
|
47
51
|
*/
|
|
48
|
-
export declare function writeConfigFile(filePath: string, data: Record<string, unknown>, format: ConfigFormat, onProgress?: (message: string) => void): Promise<void>;
|
|
52
|
+
export declare function writeConfigFile(filePath: string, data: Record<string, unknown>, format: ConfigFormat, onProgress?: (message: string) => void, options?: WriteOptions): Promise<void>;
|
|
49
53
|
//# sourceMappingURL=config-file.d.ts.map
|
|
@@ -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;AAE5D,OAAO,EAAiB,KAAK,YAAY,EAAiB,MAAM,iBAAiB,CAAC;AAElF;;;;;;;;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,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,GAAG,SAAS,GAC5D,YAAY,CAEd;AAED;;;;;;;;;GASG;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,CAcf"}
|
package/build/lib/config-file.js
CHANGED
|
@@ -51,10 +51,13 @@ export function resolveConfigFormat(filePath, placement) {
|
|
|
51
51
|
* For TOML, re-serializing drops any comments the user had in the file; when
|
|
52
52
|
* that is about to happen, a one-line warning is emitted through `onProgress`
|
|
53
53
|
* so the loss is visible rather than silent.
|
|
54
|
+
*
|
|
55
|
+
* `options.atomic` writes through a temp file and a rename, for a file the tool rewrites while it
|
|
56
|
+
* runs (a placement with `configLockFile`).
|
|
54
57
|
*/
|
|
55
|
-
export async function writeConfigFile(filePath, data, format, onProgress) {
|
|
58
|
+
export async function writeConfigFile(filePath, data, format, onProgress, options = {}) {
|
|
56
59
|
if (format === 'json') {
|
|
57
|
-
await writeJsonFile(filePath, data);
|
|
60
|
+
await writeJsonFile(filePath, data, options);
|
|
58
61
|
return;
|
|
59
62
|
}
|
|
60
63
|
if (onProgress && existsSync(filePath)) {
|
|
@@ -63,7 +66,7 @@ export async function writeConfigFile(filePath, data, format, onProgress) {
|
|
|
63
66
|
onProgress(`Warning: rewriting ${filePath} — TOML comments and custom formatting are not preserved`);
|
|
64
67
|
}
|
|
65
68
|
}
|
|
66
|
-
await writeTomlFile(filePath, data);
|
|
69
|
+
await writeTomlFile(filePath, data, options);
|
|
67
70
|
}
|
|
68
71
|
/** Recursively drop null/undefined members from plain objects (arrays are mapped, not filtered). */
|
|
69
72
|
function stripNullish(value) {
|
|
@@ -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,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AAI/C,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"config-file.js","sourceRoot":"","sources":["../../src/lib/config-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { PlacementConfig } from './schemas/adapter.js';
|
|
2
|
+
/**
|
|
3
|
+
* The lock to hold while writing `file` (relative to `root`): the placement's `configLockFile`,
|
|
4
|
+
* under `root`, when `file` is the placement's `configFile`. Otherwise none.
|
|
5
|
+
*/
|
|
6
|
+
export declare function configLockPath(placement: Pick<PlacementConfig, 'configFile' | 'configLockFile'> | undefined, root: string, file: string): string | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* Run `fn` holding a tool's own config lock (a placement's `configLockFile`, such as Claude
|
|
9
|
+
* Code's `.claude.json.lock`), so a read-merge-write of a file the tool rewrites while it runs
|
|
10
|
+
* doesn't interleave with one of its own writes.
|
|
11
|
+
*
|
|
12
|
+
* The lock is a directory made with `mkdir`, the way the tool's `proper-lockfile` takes it.
|
|
13
|
+
* It is best effort: the tool doesn't wait for it either (ATK-324), so a lock still held after
|
|
14
|
+
* `waitMs` is left alone and `fn` runs without it. Only a lock this call made is removed.
|
|
15
|
+
* Without a `lockPath`, `fn` just runs.
|
|
16
|
+
*/
|
|
17
|
+
export declare function withConfigLock<T>(lockPath: string | undefined, fn: () => Promise<T>, { waitMs }?: {
|
|
18
|
+
waitMs?: number;
|
|
19
|
+
}): Promise<T>;
|
|
20
|
+
//# sourceMappingURL=config-lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-lock.d.ts","sourceRoot":"","sources":["../../src/lib/config-lock.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAQ5D;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY,GAAG,gBAAgB,CAAC,GAAG,SAAS,EAC7E,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAOpB;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,EAAE,MAAqB,EAAE,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAClD,OAAO,CAAC,CAAC,CAAC,CAaZ"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { mkdir, rmdir } from 'node:fs/promises';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { setTimeout as sleep } from 'node:timers/promises';
|
|
4
|
+
import { normalizeConfigPath } from './config-entries.js';
|
|
5
|
+
/** How long a held lock is waited for before going ahead without it. */
|
|
6
|
+
const LOCK_WAIT_MS = 1000;
|
|
7
|
+
const LOCK_RETRY_MS = 50;
|
|
8
|
+
/**
|
|
9
|
+
* The lock to hold while writing `file` (relative to `root`): the placement's `configLockFile`,
|
|
10
|
+
* under `root`, when `file` is the placement's `configFile`. Otherwise none.
|
|
11
|
+
*/
|
|
12
|
+
export function configLockPath(placement, root, file) {
|
|
13
|
+
if (!placement?.configLockFile || !placement.configFile) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
return normalizeConfigPath(file) === normalizeConfigPath(placement.configFile)
|
|
17
|
+
? join(root, placement.configLockFile)
|
|
18
|
+
: undefined;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Run `fn` holding a tool's own config lock (a placement's `configLockFile`, such as Claude
|
|
22
|
+
* Code's `.claude.json.lock`), so a read-merge-write of a file the tool rewrites while it runs
|
|
23
|
+
* doesn't interleave with one of its own writes.
|
|
24
|
+
*
|
|
25
|
+
* The lock is a directory made with `mkdir`, the way the tool's `proper-lockfile` takes it.
|
|
26
|
+
* It is best effort: the tool doesn't wait for it either (ATK-324), so a lock still held after
|
|
27
|
+
* `waitMs` is left alone and `fn` runs without it. Only a lock this call made is removed.
|
|
28
|
+
* Without a `lockPath`, `fn` just runs.
|
|
29
|
+
*/
|
|
30
|
+
export async function withConfigLock(lockPath, fn, { waitMs = LOCK_WAIT_MS } = {}) {
|
|
31
|
+
if (lockPath === undefined) {
|
|
32
|
+
return fn();
|
|
33
|
+
}
|
|
34
|
+
const acquired = await tryLock(lockPath, waitMs);
|
|
35
|
+
try {
|
|
36
|
+
return await fn();
|
|
37
|
+
}
|
|
38
|
+
finally {
|
|
39
|
+
if (acquired) {
|
|
40
|
+
await rmdir(lockPath).catch(() => undefined);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/** Make the lock directory, retrying while another process holds it, until `waitMs` has passed. */
|
|
45
|
+
async function tryLock(lockPath, waitMs) {
|
|
46
|
+
const deadline = Date.now() + waitMs;
|
|
47
|
+
for (;;) {
|
|
48
|
+
try {
|
|
49
|
+
await mkdir(lockPath);
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
if (error.code !== 'EEXIST' || Date.now() >= deadline) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
await sleep(LOCK_RETRY_MS);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=config-lock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-lock.js","sourceRoot":"","sources":["../../src/lib/config-lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAI3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,wEAAwE;AACxE,MAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,MAAM,aAAa,GAAG,EAAE,CAAC;AAEzB;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,SAA6E,EAC7E,IAAY,EACZ,IAAY;IAEZ,IAAI,CAAC,SAAS,EAAE,cAAc,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QACxD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC;QAC5E,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,cAAc,CAAC;QACtC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAA4B,EAC5B,EAAoB,EACpB,EAAE,MAAM,GAAG,YAAY,KAA0B,EAAE;IAEnD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC;AAED,mGAAmG;AACnG,KAAK,UAAU,OAAO,CAAC,QAAgB,EAAE,MAAc;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;IACrC,SAAS,CAAC;QACR,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;gBACjF,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { PlacementConfig } from './schemas/adapter.js';
|
|
1
2
|
import type { HookEventBinding } from './schemas/index.js';
|
|
2
3
|
/**
|
|
3
4
|
* Helpers for translating a hook asset's `hookConfig` event bindings into
|
|
@@ -35,6 +36,12 @@ export declare function buildHookGroup(command: string, binding: HookEventBindin
|
|
|
35
36
|
* -> "$CLAUDE_PROJECT_DIR/.claude/hooks/notify-on-stop.sh"
|
|
36
37
|
*/
|
|
37
38
|
export declare function deriveHookCommand(commandPrefix: string | undefined, installedRelPath: string): string;
|
|
39
|
+
/**
|
|
40
|
+
* The command a hook placement registers for an asset: the placement's `configCommand` template
|
|
41
|
+
* when it has one (a command that doesn't name the installed path, such as a user hook's
|
|
42
|
+
* `"${CLAUDE_CONFIG_DIR:-$HOME/.claude}/hooks/x.sh"`), otherwise {@link deriveHookCommand}.
|
|
43
|
+
*/
|
|
44
|
+
export declare function hookCommand(placement: Pick<PlacementConfig, 'configCommand' | 'configCommandPrefix' | 'path'>, assetName: string): string;
|
|
38
45
|
/**
|
|
39
46
|
* Return true if a value looks like a hook matcher-group whose nested command
|
|
40
47
|
* entries include the given command — i.e. the group ATK owns for that asset.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-config.d.ts","sourceRoot":"","sources":["../../src/lib/hook-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;;;;;;;;;GAYG;AAEH,qDAAqD;AACrD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,0EAA0E;AAC1E,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,SAAS,GAAG,SAAS,CAUhG;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAErG;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAS7E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,OAAO,CA2BT"}
|
|
1
|
+
{"version":3,"file":"hook-config.d.ts","sourceRoot":"","sources":["../../src/lib/hook-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;;;;;;;;;GAYG;AAEH,qDAAqD;AACrD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,0EAA0E;AAC1E,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,SAAS,GAAG,SAAS,CAUhG;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAErG;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,eAAe,GAAG,qBAAqB,GAAG,MAAM,CAAC,EAClF,SAAS,EAAE,MAAM,GAChB,MAAM,CAKR;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAS7E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,OAAO,CA2BT"}
|
package/build/lib/hook-config.js
CHANGED
|
@@ -22,6 +22,17 @@ export function buildHookGroup(command, binding) {
|
|
|
22
22
|
export function deriveHookCommand(commandPrefix, installedRelPath) {
|
|
23
23
|
return `${commandPrefix ?? ''}${installedRelPath}`;
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* The command a hook placement registers for an asset: the placement's `configCommand` template
|
|
27
|
+
* when it has one (a command that doesn't name the installed path, such as a user hook's
|
|
28
|
+
* `"${CLAUDE_CONFIG_DIR:-$HOME/.claude}/hooks/x.sh"`), otherwise {@link deriveHookCommand}.
|
|
29
|
+
*/
|
|
30
|
+
export function hookCommand(placement, assetName) {
|
|
31
|
+
if (placement.configCommand !== undefined) {
|
|
32
|
+
return placement.configCommand.replace(/\{name\}/g, assetName);
|
|
33
|
+
}
|
|
34
|
+
return deriveHookCommand(placement.configCommandPrefix, placement.path.replace(/\{name\}/g, assetName));
|
|
35
|
+
}
|
|
25
36
|
/**
|
|
26
37
|
* Return true if a value looks like a hook matcher-group whose nested command
|
|
27
38
|
* entries include the given command — i.e. the group ATK owns for that asset.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-config.js","sourceRoot":"","sources":["../../src/lib/hook-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hook-config.js","sourceRoot":"","sources":["../../src/lib/hook-config.ts"],"names":[],"mappings":"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"}
|
package/build/lib/installer.d.ts
CHANGED
|
@@ -36,7 +36,11 @@ export interface InstallOptions {
|
|
|
36
36
|
pin?: boolean;
|
|
37
37
|
/** Project root directory. */
|
|
38
38
|
projectDir: string;
|
|
39
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* The scope `projectDir` is the root of. The adapter already places for it (`adapterForScope`);
|
|
41
|
+
* at the user scope, an unsupported type is reported as having no user-level placement and
|
|
42
|
+
* no `.gitignore` is written.
|
|
43
|
+
*/
|
|
40
44
|
scope?: Scope;
|
|
41
45
|
/**
|
|
42
46
|
* When true, a plan containing only asset types this tool has no placement for resolves
|
|
@@ -135,7 +139,7 @@ export declare class PlanDownloadError extends InstallPlanError {
|
|
|
135
139
|
export declare function assertInstalledByAnyTool(plan: InstallPlan, toolResults: Array<{
|
|
136
140
|
results: InstallResult[];
|
|
137
141
|
tool: string;
|
|
138
|
-
}
|
|
142
|
+
}>, scope?: Scope): void;
|
|
139
143
|
/**
|
|
140
144
|
* Execute a full install plan — install all assets in order.
|
|
141
145
|
* On partial failure, deletes the files the failing asset wrote where no file was before placing
|
|
@@ -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;AACrF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/lib/installer.ts"],"names":[],"mappings":"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"}
|