@detergent-software/atk 8.9.0-dev.1 → 8.9.0-dev.11
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 +75 -0
- package/build/cli.js +0 -0
- package/build/commands/audit.d.ts.map +1 -1
- package/build/commands/audit.js +1 -1
- package/build/commands/audit.js.map +1 -1
- package/build/commands/index.js +1 -1
- package/build/commands/index.js.map +1 -1
- package/build/commands/install.d.ts.map +1 -1
- package/build/commands/install.js +1 -1
- package/build/commands/install.js.map +1 -1
- package/build/commands/publish.d.ts.map +1 -1
- package/build/commands/publish.js +19 -23
- package/build/commands/publish.js.map +1 -1
- package/build/commands/sync.d.ts +1 -1
- package/build/commands/sync.d.ts.map +1 -1
- package/build/commands/sync.js +27 -12
- package/build/commands/sync.js.map +1 -1
- package/build/commands/update.d.ts.map +1 -1
- package/build/commands/update.js +58 -9
- package/build/commands/update.js.map +1 -1
- package/build/components/LocalEditsHint.d.ts +16 -0
- package/build/components/LocalEditsHint.d.ts.map +1 -0
- package/build/components/LocalEditsHint.js +18 -0
- package/build/components/LocalEditsHint.js.map +1 -0
- package/build/components/SyncAllInSync.d.ts +5 -1
- package/build/components/SyncAllInSync.d.ts.map +1 -1
- package/build/components/SyncAllInSync.js +2 -2
- package/build/components/SyncAllInSync.js.map +1 -1
- package/build/components/index.d.ts +1 -0
- package/build/components/index.d.ts.map +1 -1
- package/build/components/index.js +1 -0
- package/build/components/index.js.map +1 -1
- package/build/hooks/useListActions.d.ts.map +1 -1
- package/build/hooks/useListActions.js +4 -0
- package/build/hooks/useListActions.js.map +1 -1
- package/build/hooks/usePublishState.d.ts +38 -207
- package/build/hooks/usePublishState.d.ts.map +1 -1
- package/build/hooks/usePublishState.js +83 -1501
- package/build/hooks/usePublishState.js.map +1 -1
- package/build/lib/adapter.js +23 -3
- package/build/lib/adapter.js.map +1 -1
- package/build/lib/atk-api/errors.d.ts +5 -2
- package/build/lib/atk-api/errors.d.ts.map +1 -1
- package/build/lib/atk-api/errors.js +1 -0
- package/build/lib/atk-api/errors.js.map +1 -1
- package/build/lib/atk-api/generated/types.gen.d.ts +12 -12
- package/build/lib/atk-api/index.d.ts +2 -2
- package/build/lib/atk-api/index.d.ts.map +1 -1
- package/build/lib/atk-api/index.js +1 -1
- package/build/lib/atk-api/index.js.map +1 -1
- package/build/lib/atk-api/web-routes.d.ts +25 -6
- package/build/lib/atk-api/web-routes.d.ts.map +1 -1
- package/build/lib/atk-api/web-routes.js +27 -8
- package/build/lib/atk-api/web-routes.js.map +1 -1
- package/build/lib/checksum.d.ts +40 -14
- package/build/lib/checksum.d.ts.map +1 -1
- package/build/lib/checksum.js +110 -57
- package/build/lib/checksum.js.map +1 -1
- package/build/lib/installer.d.ts +2 -7
- package/build/lib/installer.d.ts.map +1 -1
- package/build/lib/installer.js +30 -5
- package/build/lib/installer.js.map +1 -1
- package/build/lib/local-edits.d.ts +72 -0
- package/build/lib/local-edits.d.ts.map +1 -0
- package/build/lib/local-edits.js +145 -0
- package/build/lib/local-edits.js.map +1 -0
- package/build/lib/lockfile.d.ts +10 -6
- package/build/lib/lockfile.d.ts.map +1 -1
- package/build/lib/lockfile.js +191 -50
- package/build/lib/lockfile.js.map +1 -1
- package/build/lib/mover.d.ts.map +1 -1
- package/build/lib/mover.js +8 -12
- package/build/lib/mover.js.map +1 -1
- package/build/lib/owned-paths.d.ts +4 -2
- package/build/lib/owned-paths.d.ts.map +1 -1
- package/build/lib/owned-paths.js +19 -6
- package/build/lib/owned-paths.js.map +1 -1
- package/build/lib/publish-flow.d.ts +227 -0
- package/build/lib/publish-flow.d.ts.map +1 -0
- package/build/lib/publish-flow.js +1316 -0
- package/build/lib/publish-flow.js.map +1 -0
- package/build/lib/publish-run.d.ts +55 -0
- package/build/lib/publish-run.d.ts.map +1 -0
- package/build/lib/publish-run.js +164 -0
- package/build/lib/publish-run.js.map +1 -0
- package/build/lib/publisher.d.ts +2 -1
- package/build/lib/publisher.d.ts.map +1 -1
- package/build/lib/publisher.js +20 -18
- package/build/lib/publisher.js.map +1 -1
- package/build/lib/registry.d.ts +4 -1
- package/build/lib/registry.d.ts.map +1 -1
- package/build/lib/registry.js +3 -2
- package/build/lib/registry.js.map +1 -1
- package/build/lib/root-path.d.ts +11 -0
- package/build/lib/root-path.d.ts.map +1 -1
- package/build/lib/root-path.js +15 -1
- package/build/lib/root-path.js.map +1 -1
- package/build/lib/schemas/lockfile.d.ts +156 -23
- package/build/lib/schemas/lockfile.d.ts.map +1 -1
- package/build/lib/schemas/lockfile.js +100 -79
- package/build/lib/schemas/lockfile.js.map +1 -1
- package/build/lib/staging.d.ts +15 -0
- package/build/lib/staging.d.ts.map +1 -0
- package/build/lib/staging.js +33 -0
- package/build/lib/staging.js.map +1 -0
- package/build/lib/sync.d.ts +22 -6
- package/build/lib/sync.d.ts.map +1 -1
- package/build/lib/sync.js +59 -7
- package/build/lib/sync.js.map +1 -1
- package/build/lib/uninstaller.js +2 -2
- package/build/lib/uninstaller.js.map +1 -1
- package/build/lib/updater.d.ts +31 -1
- package/build/lib/updater.d.ts.map +1 -1
- package/build/lib/updater.js +143 -4
- package/build/lib/updater.js.map +1 -1
- package/build/lib/write-file.d.ts +5 -0
- package/build/lib/write-file.d.ts.map +1 -1
- package/build/lib/write-file.js +10 -7
- package/build/lib/write-file.js.map +1 -1
- package/package.json +81 -81
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
* Shape (static-export compatible: every page is one HTML file, entity
|
|
8
8
|
* identity in the query string; `trailingSlash: true` -> `asset/index.html`):
|
|
9
9
|
*
|
|
10
|
-
* / catalog (assets) ?q=&type=&tag=&org=&tool=&sort= (repeatable keys)
|
|
10
|
+
* / catalog (assets) ?q=&type=&tag=&org=&tool=&sort=&scope= (repeatable keys)
|
|
11
11
|
* /asset/?type=skill&name=x[&org=y][&version=1.2.0][&file=path]
|
|
12
|
-
* /bundles/ bundle list ?q=
|
|
12
|
+
* /bundles/ bundle list ?q=&scope=
|
|
13
13
|
* /bundle/?name=x[&org=y][&version=1.0.0]
|
|
14
14
|
* /publish/asset/ asset wizard
|
|
15
15
|
* /publish/bundle/ bundle wizard
|
|
@@ -33,6 +33,7 @@ import { decodeSearch, defineAppRoute, href, p, safeDecodeSearch } from 'paramou
|
|
|
33
33
|
import { assetRef, bundleRef, exactVersion, parseOrg, } from "./domain.js";
|
|
34
34
|
import { isAtkError } from "./errors.js";
|
|
35
35
|
const CATALOG_SORTS = ['relevance', 'name', 'updated'];
|
|
36
|
+
const CATALOG_SCOPES = ['global', 'all'];
|
|
36
37
|
/** Every getting-started series, in the order the hub lists them. One static page each. */
|
|
37
38
|
export const GETTING_STARTED_SERIES = ['basics', 'manage-assets', 'publish-assets'];
|
|
38
39
|
/**
|
|
@@ -60,6 +61,7 @@ export const catalogRoute = defineAppRoute('/', {
|
|
|
60
61
|
org: p.array(),
|
|
61
62
|
tool: p.array(),
|
|
62
63
|
sort: p.enum(CATALOG_SORTS).default('relevance').catch('relevance'),
|
|
64
|
+
scope: p.enum(CATALOG_SCOPES).default('global').catch('global'),
|
|
63
65
|
},
|
|
64
66
|
trailingSlash: true,
|
|
65
67
|
});
|
|
@@ -75,7 +77,10 @@ export const assetRoute = defineAppRoute('/asset', {
|
|
|
75
77
|
trailingSlash: true,
|
|
76
78
|
});
|
|
77
79
|
export const bundlesRoute = defineAppRoute('/bundles', {
|
|
78
|
-
search: {
|
|
80
|
+
search: {
|
|
81
|
+
q: p.string().optional(),
|
|
82
|
+
scope: p.enum(CATALOG_SCOPES).default('global').catch('global'),
|
|
83
|
+
},
|
|
79
84
|
trailingSlash: true,
|
|
80
85
|
});
|
|
81
86
|
export const bundleRoute = defineAppRoute('/bundle', {
|
|
@@ -111,8 +116,11 @@ export const webRoutes = {
|
|
|
111
116
|
bundle(ref, opts) {
|
|
112
117
|
return href(bundleRoute, { search: { name: ref.name, org: ref.org, version: opts?.version } });
|
|
113
118
|
},
|
|
114
|
-
bundles
|
|
115
|
-
|
|
119
|
+
/** Defaults are omitted, so the canonical bundle list URL is just `/bundles/`. */
|
|
120
|
+
bundles(query) {
|
|
121
|
+
return href(bundlesRoute, {
|
|
122
|
+
search: { q: query?.q || undefined, scope: query?.scope ?? 'global' },
|
|
123
|
+
});
|
|
116
124
|
},
|
|
117
125
|
/** Defaults are omitted, so the canonical catalog URL is just `/`. */
|
|
118
126
|
catalog(query) {
|
|
@@ -120,6 +128,7 @@ export const webRoutes = {
|
|
|
120
128
|
search: {
|
|
121
129
|
org: [...(query?.orgs ?? [])],
|
|
122
130
|
q: query?.q ?? '',
|
|
131
|
+
scope: query?.scope ?? 'global',
|
|
123
132
|
sort: query?.sort ?? 'relevance',
|
|
124
133
|
tag: [...(query?.tags ?? [])],
|
|
125
134
|
tool: [...(query?.tools ?? [])],
|
|
@@ -167,12 +176,21 @@ export function parseBundleQuery(params) {
|
|
|
167
176
|
...(version === undefined ? {} : { version: exactVersion(version) }),
|
|
168
177
|
}));
|
|
169
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* The bundle list's query. Lenient, never fails: an unknown scope reads as
|
|
181
|
+
* `global`, and a key that cannot decode (a repeated `q`) falls back to its default.
|
|
182
|
+
*/
|
|
183
|
+
export function parseBundlesQuery(params) {
|
|
184
|
+
const decoded = safeDecodeSearch(bundlesRoute, params);
|
|
185
|
+
const search = decoded.status === 'success' ? decoded.data : decodeSearch(bundlesRoute, without(params, decoded.error.issues));
|
|
186
|
+
return { q: search.q ?? '', scope: search.scope };
|
|
187
|
+
}
|
|
170
188
|
/**
|
|
171
189
|
* The catalog's filters. Lenient, never fails: unknown asset types are
|
|
172
190
|
* dropped, an org filter loses a leading `@` like the asset and bundle
|
|
173
|
-
* parsers (an invalid org name is dropped), an unknown sort reads as `relevance`,
|
|
174
|
-
* at all (a repeated `q`) falls back to its
|
|
175
|
-
*
|
|
191
|
+
* parsers (an invalid org name is dropped), an unknown sort reads as `relevance`, an unknown
|
|
192
|
+
* scope as `global`, and a key that cannot decode at all (a repeated `q`) falls back to its
|
|
193
|
+
* default. A bad filter just shows the default view.
|
|
176
194
|
*/
|
|
177
195
|
export function parseCatalogQuery(params) {
|
|
178
196
|
const decoded = safeDecodeSearch(catalogRoute, params);
|
|
@@ -181,6 +199,7 @@ export function parseCatalogQuery(params) {
|
|
|
181
199
|
return {
|
|
182
200
|
orgs: search.org.flatMap(validOrg),
|
|
183
201
|
q: search.q,
|
|
202
|
+
scope: search.scope,
|
|
184
203
|
sort: search.sort,
|
|
185
204
|
tags: search.tag,
|
|
186
205
|
tools: search.tool,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-routes.js","sourceRoot":"","sources":["../../../src/lib/atk-api/web-routes.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAc,CAAC,EAAE,gBAAgB,EAAqB,MAAM,UAAU,CAAC;AAElH,OAAO,EAEL,QAAQ,EAGR,SAAS,EACT,YAAY,EAEZ,QAAQ,GACT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"web-routes.js","sourceRoot":"","sources":["../../../src/lib/atk-api/web-routes.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAc,CAAC,EAAE,gBAAgB,EAAqB,MAAM,UAAU,CAAC;AAElH,OAAO,EAEL,QAAQ,EAGR,SAAS,EACT,YAAY,EAEZ,QAAQ,GACT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAqDzC,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAA2C,CAAC;AACjG,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,KAAK,CAA4C,CAAC;AAEpF,2FAA2F;AAC3F,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,eAAe,EAAE,gBAAgB,CAAU,CAAC;AAE7F;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC5B,YAAY,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,EAAE,QAAQ,EAAE;CACjB,CAAC;AACxD,2CAA2C;AAC3C,MAAM,WAAW,GAAG,eAAe,CAAC,OAAsC,CAAC;AAE3E,yHAAyH;AAEzH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,EAAE;IAC9C,MAAM,EAAE;QACN,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE;QACf,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE;QACd,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE;QACd,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE;QACf,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;QACnE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;KAChE;IACD,aAAa,EAAE,IAAI;CACpB,CAAC,CAAC;AAEH,oDAAoD;AACpD,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE;IACjD,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B;IACD,aAAa,EAAE,IAAI;CACpB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,EAAE;IACrD,MAAM,EAAE;QACN,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACxB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;KAChE;IACD,aAAa,EAAE,IAAI;CACpB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,EAAE;IACnD,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B;IACD,aAAa,EAAE,IAAI;CACpB,CAAC,CAAC;AAEH,8CAA8C;AAE9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC,gBAAgB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3F,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC,iBAAiB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAc,CAAC,kBAAkB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/F,2FAA2F;AAC3F,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAC,2BAA2B,EAAE;IACnF,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE;IAClD,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;IAC1C,aAAa,EAAE,IAAI;CACpB,CAAC,CAAC;AACH,yEAAyE;AACzE,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC,gBAAgB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;AAE3F,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,KAAK,CAAC,GAAa,EAAE,IAA4D;QAC/E,OAAO,IAAI,CAAC,UAAU,EAAE;YACtB,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;SACnG,CAAsB,CAAC;IAC1B,CAAC;IACD,yEAAyE;IACzE,YAAY;QACV,OAAO,IAAI,CAAC,iBAAiB,CAAsB,CAAC;IACtD,CAAC;IACD,MAAM,CAAC,GAAc,EAAE,IAAoC;QACzD,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAsB,CAAC;IACtH,CAAC;IACD,kFAAkF;IAClF,OAAO,CAAC,KAA6B;QACnC,OAAO,IAAI,CAAC,YAAY,EAAE;YACxB,MAAM,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,QAAQ,EAAE;SACtE,CAAsB,CAAC;IAC1B,CAAC;IACD,sEAAsE;IACtE,OAAO,CAAC,KAA6B;QACnC,OAAO,IAAI,CAAC,YAAY,EAAE;YACxB,MAAM,EAAE;gBACN,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC7B,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE;gBACjB,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,QAAQ;gBAC/B,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,WAAW;gBAChC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC7B,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC/B,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;aAChC;SACF,CAAsB,CAAC;IAC1B,CAAC;IACD,mEAAmE;IACnE,cAAc;QACZ,OAAO,IAAI,CAAC,mBAAmB,CAAsB,CAAC;IACxD,CAAC;IACD,sFAAsF;IACtF,oBAAoB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAsB;QAC1D,OAAO,IAAI,CAAC,yBAAyB,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,CAAsB,CAAC;IAC3G,CAAC;IACD,YAAY;QACV,OAAO,IAAI,CAAC,iBAAiB,CAAsB,CAAC;IACtD,CAAC;IACD,aAAa;QACX,OAAO,IAAI,CAAC,kBAAkB,CAAsB,CAAC;IACvD,CAAC;CACO,CAAC;AAEX,mFAAmF;AACnF,MAAM,UAAU,eAAe,CAAC,MAAoB;IAClD,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IACrE,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IACxD,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACpB,GAAG,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QAClC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QACpE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;KACxC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,gBAAgB,CAAC,MAAoB;IACnD,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACtD,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IACrE,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAC5C,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACpB,GAAG,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAC7B,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;KACrE,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAoB;IACpD,MAAM,OAAO,GAAG,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAClH,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAoB;IACpD,MAAM,OAAO,GAAG,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAClH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,WAAW,CAAC,CAAC;IAC3C,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;QAClC,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,GAAG;QAChB,KAAK,EAAE,MAAM,CAAC,IAAI;QAClB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAqB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAAwB;IAC9C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,2GAA2G;AAC3G,SAAS,OAAO,CAAI,KAAc;IAChC,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACpD,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,2FAA2F;AAC3F,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,SAAS,OAAO,CAAC,MAAoB,EAAE,MAAwB;IAC7D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,MAAM,KAAK,GACT,MAAM,YAAY,eAAe;QAC/B,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QACb,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAC9C,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAC3G,CAAC;IACR,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC"}
|
package/build/lib/checksum.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ConfigEntry } from './schemas/lockfile.js';
|
|
1
2
|
/** Describes a single config-entry verification failure. */
|
|
2
3
|
export interface ConfigEntryFailure {
|
|
3
4
|
file: string;
|
|
@@ -6,18 +7,30 @@ export interface ConfigEntryFailure {
|
|
|
6
7
|
}
|
|
7
8
|
/** Reason a config-entry verification can fail. */
|
|
8
9
|
export type ConfigEntryFailureReason = 'CONFIG_CHECKSUM_MISMATCH' | 'CONFIG_FILE_NOT_FOUND' | 'CONFIG_KEY_NOT_FOUND';
|
|
10
|
+
/**
|
|
11
|
+
* A recorded config entry, as the lockfile holds it, that {@link verifyConfigEntries} can check. Its
|
|
12
|
+
* `checksumVersion` is {@link CONFIG_CHECKSUM_VERSION} for a deep digest and absent for a legacy one;
|
|
13
|
+
* hook groups ignore it.
|
|
14
|
+
*/
|
|
15
|
+
export type VerifiableConfigEntry = Omit<ConfigEntry, 'tool'>;
|
|
9
16
|
/** Recursively collect all files in a directory. */
|
|
10
17
|
export declare function collectFilesRecursive(dirPath: string, baseDir: string): Promise<Array<{
|
|
11
18
|
absolutePath: string;
|
|
12
19
|
relativePath: string;
|
|
13
20
|
}>>;
|
|
21
|
+
/**
|
|
22
|
+
* The lockfile `checksumVersion` of a digest from {@link computeConfigEntryChecksum}. A config entry
|
|
23
|
+
* without one was recorded by an older CLI with {@link legacyConfigEntryChecksum}.
|
|
24
|
+
*/
|
|
25
|
+
export declare const CONFIG_CHECKSUM_VERSION: 2;
|
|
14
26
|
/**
|
|
15
27
|
* Compute a deterministic SHA-256 checksum for a config entry value.
|
|
16
28
|
*
|
|
17
29
|
* Strips the `_managedBy` metadata key (added by ATK at write time),
|
|
18
|
-
* serializes the
|
|
19
|
-
*
|
|
20
|
-
* helper so the checksum logic stays in
|
|
30
|
+
* serializes the rest with keys sorted at every depth (so nested `env` and
|
|
31
|
+
* `headers` count), and returns the hex digest. Both the installer (write path)
|
|
32
|
+
* and the verifier (read path) use this helper so the checksum logic stays in
|
|
33
|
+
* one place.
|
|
21
34
|
*/
|
|
22
35
|
export declare function computeConfigEntryChecksum(entry: Record<string, unknown>): string;
|
|
23
36
|
/**
|
|
@@ -26,6 +39,16 @@ export declare function computeConfigEntryChecksum(entry: Record<string, unknown
|
|
|
26
39
|
* are part of the digest (so audit detects hand-edits to the group).
|
|
27
40
|
*/
|
|
28
41
|
export declare function computeHookGroupChecksum(group: unknown): string;
|
|
42
|
+
/**
|
|
43
|
+
* The git blob sha of raw bytes: what the API's file listing gives as each file's `sha`, so a placed
|
|
44
|
+
* file can be matched to the registry version it came from.
|
|
45
|
+
*/
|
|
46
|
+
export declare function gitBlobSha(content: Uint8Array): string;
|
|
47
|
+
/**
|
|
48
|
+
* The git blob shas `content` matches in the registry repo: of its bytes and, for text, of the same
|
|
49
|
+
* text with LF or with CRLF line endings, which {@link matchesChecksum} counts as the same content.
|
|
50
|
+
*/
|
|
51
|
+
export declare function gitBlobShas(content: Uint8Array): string[];
|
|
29
52
|
/**
|
|
30
53
|
* Compute a SHA-256 hash of raw bytes.
|
|
31
54
|
* Byte-equivalent to {@link hashString} for valid-UTF-8 text content, so
|
|
@@ -56,12 +79,19 @@ export declare function hashString(content: string): string;
|
|
|
56
79
|
export declare function matchesChecksum(content: Uint8Array, expected: string): boolean;
|
|
57
80
|
/**
|
|
58
81
|
* Deterministically serialize a value with object keys sorted recursively.
|
|
59
|
-
* Arrays keep their order; nested object keys are sorted at every level
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* whose meaningful data (`command`, `timeout`) lives inside `hooks[]`.
|
|
82
|
+
* Arrays keep their order; nested object keys are sorted at every level, so
|
|
83
|
+
* deeply-nested fields count: a hook group's `command` and `timeout` inside
|
|
84
|
+
* `hooks[]`, an MCP server's `env` and `headers`.
|
|
63
85
|
*/
|
|
64
86
|
export declare function stableStringify(value: unknown): string;
|
|
87
|
+
/**
|
|
88
|
+
* Re-record the config entries an older CLI checksummed with {@link legacyConfigEntryChecksum}, which
|
|
89
|
+
* can't see nested keys, as {@link computeConfigEntryChecksum} digests of the value the file holds
|
|
90
|
+
* now. Each entry without a `checksumVersion` whose value matches its legacy digest comes back with
|
|
91
|
+
* the deep digest and the current version; every other entry comes back as the same object. The
|
|
92
|
+
* legacy digest can't tell what the nested fields held when it was recorded, so this trusts them once.
|
|
93
|
+
*/
|
|
94
|
+
export declare function upgradeConfigEntryChecksums<T extends VerifiableConfigEntry>(entries: T[], projectDir: string): Promise<T[]>;
|
|
65
95
|
/**
|
|
66
96
|
* Compare a file's current checksum against an expected value (line-ending
|
|
67
97
|
* tolerant; see {@link matchesChecksum}).
|
|
@@ -87,7 +117,8 @@ export declare function verifyChecksums(files: Array<{
|
|
|
87
117
|
* 2. Splits the dot-path key into section/child and looks up the value →
|
|
88
118
|
* `CONFIG_KEY_NOT_FOUND` if missing.
|
|
89
119
|
* 3. Computes a checksum via `computeConfigEntryChecksum()` and compares →
|
|
90
|
-
* `CONFIG_CHECKSUM_MISMATCH` on divergence.
|
|
120
|
+
* `CONFIG_CHECKSUM_MISMATCH` on divergence. An entry without a
|
|
121
|
+
* `checksumVersion` (recorded by an older CLI) also matches its legacy digest.
|
|
91
122
|
*
|
|
92
123
|
* Returns only the entries that failed (empty array = all OK).
|
|
93
124
|
*
|
|
@@ -96,10 +127,5 @@ export declare function verifyChecksums(files: Array<{
|
|
|
96
127
|
* command rather than by an object key, and checksummed via the deep-stable
|
|
97
128
|
* hook-group digest so co-located foreign groups don't affect the result.
|
|
98
129
|
*/
|
|
99
|
-
export declare function verifyConfigEntries(entries:
|
|
100
|
-
checksum: string;
|
|
101
|
-
command?: string;
|
|
102
|
-
file: string;
|
|
103
|
-
key: string;
|
|
104
|
-
}>, projectDir: string): Promise<ConfigEntryFailure[]>;
|
|
130
|
+
export declare function verifyConfigEntries(entries: VerifiableConfigEntry[], projectDir: string): Promise<ConfigEntryFailure[]>;
|
|
105
131
|
//# sourceMappingURL=checksum.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAOzD,4DAA4D;AAC5D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,wBAAwB,CAAC;CAClC;AAED,mDAAmD;AACnD,MAAM,MAAM,wBAAwB,GAAG,0BAA0B,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;AAErH;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAE9D,oDAAoD;AACpD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAgBhE;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAG,CAAU,CAAC;AAElD;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAEjF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAEtD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,EAAE,CAIzD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAErD;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAcpE;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAK9E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAatD;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAAC,CAAC,SAAS,qBAAqB,EAC/E,OAAO,EAAE,CAAC,EAAE,EACZ,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,EAAE,CAAC,CAkBd;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEjG;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/C,OAAO,CAAC,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAgBpE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,EAAE,EAChC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAkC/B"}
|
package/build/lib/checksum.js
CHANGED
|
@@ -22,19 +22,22 @@ export async function collectFilesRecursive(dirPath, baseDir) {
|
|
|
22
22
|
}
|
|
23
23
|
return results;
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* The lockfile `checksumVersion` of a digest from {@link computeConfigEntryChecksum}. A config entry
|
|
27
|
+
* without one was recorded by an older CLI with {@link legacyConfigEntryChecksum}.
|
|
28
|
+
*/
|
|
29
|
+
export const CONFIG_CHECKSUM_VERSION = 2;
|
|
25
30
|
/**
|
|
26
31
|
* Compute a deterministic SHA-256 checksum for a config entry value.
|
|
27
32
|
*
|
|
28
33
|
* Strips the `_managedBy` metadata key (added by ATK at write time),
|
|
29
|
-
* serializes the
|
|
30
|
-
*
|
|
31
|
-
* helper so the checksum logic stays in
|
|
34
|
+
* serializes the rest with keys sorted at every depth (so nested `env` and
|
|
35
|
+
* `headers` count), and returns the hex digest. Both the installer (write path)
|
|
36
|
+
* and the verifier (read path) use this helper so the checksum logic stays in
|
|
37
|
+
* one place.
|
|
32
38
|
*/
|
|
33
39
|
export function computeConfigEntryChecksum(entry) {
|
|
34
|
-
|
|
35
|
-
delete cleaned['_managedBy'];
|
|
36
|
-
const serialized = JSON.stringify(cleaned, Object.keys(cleaned).sort());
|
|
37
|
-
return hashString(serialized);
|
|
40
|
+
return hashString(stableStringify(withoutManagedBy(entry)));
|
|
38
41
|
}
|
|
39
42
|
/**
|
|
40
43
|
* Compute a deterministic SHA-256 checksum for a hook matcher-group.
|
|
@@ -44,6 +47,23 @@ export function computeConfigEntryChecksum(entry) {
|
|
|
44
47
|
export function computeHookGroupChecksum(group) {
|
|
45
48
|
return hashString(stableStringify(group));
|
|
46
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* The git blob sha of raw bytes: what the API's file listing gives as each file's `sha`, so a placed
|
|
52
|
+
* file can be matched to the registry version it came from.
|
|
53
|
+
*/
|
|
54
|
+
export function gitBlobSha(content) {
|
|
55
|
+
return createHash('sha1').update(`blob ${content.byteLength}\0`).update(content).digest('hex');
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* The git blob shas `content` matches in the registry repo: of its bytes and, for text, of the same
|
|
59
|
+
* text with LF or with CRLF line endings, which {@link matchesChecksum} counts as the same content.
|
|
60
|
+
*/
|
|
61
|
+
export function gitBlobShas(content) {
|
|
62
|
+
if (content.includes(0x00))
|
|
63
|
+
return [gitBlobSha(content)];
|
|
64
|
+
const lf = toLf(content);
|
|
65
|
+
return [...new Set([gitBlobSha(content), gitBlobSha(lf), gitBlobSha(toCrlf(lf))])];
|
|
66
|
+
}
|
|
47
67
|
/**
|
|
48
68
|
* Compute a SHA-256 hash of raw bytes.
|
|
49
69
|
* Byte-equivalent to {@link hashString} for valid-UTF-8 text content, so
|
|
@@ -99,10 +119,9 @@ export function matchesChecksum(content, expected) {
|
|
|
99
119
|
}
|
|
100
120
|
/**
|
|
101
121
|
* Deterministically serialize a value with object keys sorted recursively.
|
|
102
|
-
* Arrays keep their order; nested object keys are sorted at every level
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
* whose meaningful data (`command`, `timeout`) lives inside `hooks[]`.
|
|
122
|
+
* Arrays keep their order; nested object keys are sorted at every level, so
|
|
123
|
+
* deeply-nested fields count: a hook group's `command` and `timeout` inside
|
|
124
|
+
* `hooks[]`, an MCP server's `env` and `headers`.
|
|
106
125
|
*/
|
|
107
126
|
export function stableStringify(value) {
|
|
108
127
|
return JSON.stringify(value, (_key, val) => {
|
|
@@ -118,6 +137,31 @@ export function stableStringify(value) {
|
|
|
118
137
|
return val;
|
|
119
138
|
});
|
|
120
139
|
}
|
|
140
|
+
/**
|
|
141
|
+
* Re-record the config entries an older CLI checksummed with {@link legacyConfigEntryChecksum}, which
|
|
142
|
+
* can't see nested keys, as {@link computeConfigEntryChecksum} digests of the value the file holds
|
|
143
|
+
* now. Each entry without a `checksumVersion` whose value matches its legacy digest comes back with
|
|
144
|
+
* the deep digest and the current version; every other entry comes back as the same object. The
|
|
145
|
+
* legacy digest can't tell what the nested fields held when it was recorded, so this trusts them once.
|
|
146
|
+
*/
|
|
147
|
+
export async function upgradeConfigEntryChecksums(entries, projectDir) {
|
|
148
|
+
const upgraded = [];
|
|
149
|
+
for (const entry of entries) {
|
|
150
|
+
const config = entry.command === undefined && entry.checksumVersion === undefined
|
|
151
|
+
? await readEntryConfig(entry, projectDir)
|
|
152
|
+
: undefined;
|
|
153
|
+
const value = config && lookupEntryValue(config, entry.key);
|
|
154
|
+
if (!value || !matchesLegacyChecksum(entry, value)) {
|
|
155
|
+
upgraded.push(entry);
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
158
|
+
const deep = { checksum: computeConfigEntryChecksum(value), checksumVersion: CONFIG_CHECKSUM_VERSION };
|
|
159
|
+
// Keys in the order an install records them (checksum, checksumVersion, then the rest), so the
|
|
160
|
+
// committed lockfile doesn't reorder when the entry is next installed.
|
|
161
|
+
upgraded.push(Object.assign({ ...deep }, entry, deep));
|
|
162
|
+
}
|
|
163
|
+
return upgraded;
|
|
164
|
+
}
|
|
121
165
|
/**
|
|
122
166
|
* Compare a file's current checksum against an expected value (line-ending
|
|
123
167
|
* tolerant; see {@link matchesChecksum}).
|
|
@@ -153,7 +197,8 @@ export async function verifyChecksums(files) {
|
|
|
153
197
|
* 2. Splits the dot-path key into section/child and looks up the value →
|
|
154
198
|
* `CONFIG_KEY_NOT_FOUND` if missing.
|
|
155
199
|
* 3. Computes a checksum via `computeConfigEntryChecksum()` and compares →
|
|
156
|
-
* `CONFIG_CHECKSUM_MISMATCH` on divergence.
|
|
200
|
+
* `CONFIG_CHECKSUM_MISMATCH` on divergence. An entry without a
|
|
201
|
+
* `checksumVersion` (recorded by an older CLI) also matches its legacy digest.
|
|
157
202
|
*
|
|
158
203
|
* Returns only the entries that failed (empty array = all OK).
|
|
159
204
|
*
|
|
@@ -165,66 +210,28 @@ export async function verifyChecksums(files) {
|
|
|
165
210
|
export async function verifyConfigEntries(entries, projectDir) {
|
|
166
211
|
const failures = [];
|
|
167
212
|
for (const entry of entries) {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
let config;
|
|
172
|
-
try {
|
|
173
|
-
const raw = await readFile(absolutePath, 'utf-8');
|
|
174
|
-
config = parseConfig(raw, detectConfigFormat(entry.file));
|
|
175
|
-
}
|
|
176
|
-
catch {
|
|
213
|
+
// 1. Read and parse the config file
|
|
214
|
+
const config = await readEntryConfig(entry, projectDir);
|
|
215
|
+
if (!config) {
|
|
177
216
|
failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_FILE_NOT_FOUND' });
|
|
178
217
|
continue;
|
|
179
218
|
}
|
|
180
219
|
// Array-element (hook) entry: find the group owned by this asset's command.
|
|
181
220
|
if (entry.command !== undefined) {
|
|
182
|
-
const failure = verifyHookGroupEntry(config, entry);
|
|
221
|
+
const failure = verifyHookGroupEntry(config, { ...entry, command: entry.command });
|
|
183
222
|
if (failure) {
|
|
184
223
|
failures.push(failure);
|
|
185
224
|
}
|
|
186
225
|
continue;
|
|
187
226
|
}
|
|
188
227
|
// 2. Look up the value via dot-path (sectionKey.childKey)
|
|
189
|
-
const
|
|
190
|
-
|
|
191
|
-
const childKey = dotIndex === -1 ? undefined : entry.key.slice(dotIndex + 1);
|
|
192
|
-
const section = config[sectionKey];
|
|
193
|
-
if (childKey === undefined || section === null || section === undefined || typeof section !== 'object') {
|
|
194
|
-
// No child key means the key format is unexpected, or section missing
|
|
195
|
-
if (childKey === undefined) {
|
|
196
|
-
// Single-segment key — look up directly
|
|
197
|
-
if (!(sectionKey in config)) {
|
|
198
|
-
failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_KEY_NOT_FOUND' });
|
|
199
|
-
continue;
|
|
200
|
-
}
|
|
201
|
-
const value = config[sectionKey];
|
|
202
|
-
if (value === null || value === undefined || typeof value !== 'object') {
|
|
203
|
-
failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_KEY_NOT_FOUND' });
|
|
204
|
-
continue;
|
|
205
|
-
}
|
|
206
|
-
const actual = computeConfigEntryChecksum(value);
|
|
207
|
-
if (actual !== entry.checksum) {
|
|
208
|
-
failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_CHECKSUM_MISMATCH' });
|
|
209
|
-
}
|
|
210
|
-
continue;
|
|
211
|
-
}
|
|
212
|
-
failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_KEY_NOT_FOUND' });
|
|
213
|
-
continue;
|
|
214
|
-
}
|
|
215
|
-
const sectionObj = section;
|
|
216
|
-
if (!(childKey in sectionObj)) {
|
|
217
|
-
failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_KEY_NOT_FOUND' });
|
|
218
|
-
continue;
|
|
219
|
-
}
|
|
220
|
-
const value = sectionObj[childKey];
|
|
221
|
-
if (value === null || value === undefined || typeof value !== 'object') {
|
|
228
|
+
const value = lookupEntryValue(config, entry.key);
|
|
229
|
+
if (!value) {
|
|
222
230
|
failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_KEY_NOT_FOUND' });
|
|
223
231
|
continue;
|
|
224
232
|
}
|
|
225
233
|
// 3. Compute checksum and compare
|
|
226
|
-
|
|
227
|
-
if (actual !== entry.checksum) {
|
|
234
|
+
if (computeConfigEntryChecksum(value) !== entry.checksum && !matchesLegacyChecksum(entry, value)) {
|
|
228
235
|
failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_CHECKSUM_MISMATCH' });
|
|
229
236
|
}
|
|
230
237
|
}
|
|
@@ -232,6 +239,46 @@ export async function verifyConfigEntries(entries, projectDir) {
|
|
|
232
239
|
}
|
|
233
240
|
const CR = 0x0d;
|
|
234
241
|
const LF = 0x0a;
|
|
242
|
+
function isObject(value) {
|
|
243
|
+
return value !== null && typeof value === 'object';
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* The digest CLIs recorded before {@link CONFIG_CHECKSUM_VERSION}. Its array replacer is an allow-list
|
|
247
|
+
* of the top-level keys at every depth, so nested objects keep only keys that share a top-level
|
|
248
|
+
* name (`env` serializes as `{}`). Kept byte for byte so lockfiles those CLIs wrote still verify.
|
|
249
|
+
*/
|
|
250
|
+
function legacyConfigEntryChecksum(entry) {
|
|
251
|
+
const cleaned = withoutManagedBy(entry);
|
|
252
|
+
return hashString(JSON.stringify(cleaned, Object.keys(cleaned).sort()));
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* The object a config entry's dot-path key (`section.child`, or a single top-level key) names, or
|
|
256
|
+
* undefined when the key, or the value there, is missing or isn't an object.
|
|
257
|
+
*/
|
|
258
|
+
function lookupEntryValue(config, key) {
|
|
259
|
+
const dotIndex = key.indexOf('.');
|
|
260
|
+
const sectionKey = dotIndex === -1 ? key : key.slice(0, dotIndex);
|
|
261
|
+
const section = config[sectionKey];
|
|
262
|
+
const value = dotIndex === -1 ? section : isObject(section) ? section[key.slice(dotIndex + 1)] : undefined;
|
|
263
|
+
return isObject(value) ? value : undefined;
|
|
264
|
+
}
|
|
265
|
+
/** Whether an entry recorded before {@link CONFIG_CHECKSUM_VERSION} holds `value`, by its legacy digest. */
|
|
266
|
+
function matchesLegacyChecksum(entry, value) {
|
|
267
|
+
return entry.checksumVersion === undefined && legacyConfigEntryChecksum(value) === entry.checksum;
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Read and parse an entry's config file, with the format inferred from its extension (callers only
|
|
271
|
+
* hold lockfile entries, not the adapter placement), or undefined when it can't be read or parsed.
|
|
272
|
+
*/
|
|
273
|
+
async function readEntryConfig(entry, projectDir) {
|
|
274
|
+
try {
|
|
275
|
+
const raw = await readFile(fromRoot(projectDir, entry.file), 'utf-8');
|
|
276
|
+
return parseConfig(raw, detectConfigFormat(entry.file));
|
|
277
|
+
}
|
|
278
|
+
catch {
|
|
279
|
+
return undefined;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
235
282
|
/** Expects LF-only input, so every LF gains exactly one CR. */
|
|
236
283
|
function toCrlf(lf) {
|
|
237
284
|
let lines = 0;
|
|
@@ -284,4 +331,10 @@ function verifyHookGroupEntry(config, entry) {
|
|
|
284
331
|
}
|
|
285
332
|
return null;
|
|
286
333
|
}
|
|
334
|
+
/** A copy of a config entry value without the `_managedBy` marker ATK adds at write time. */
|
|
335
|
+
function withoutManagedBy(entry) {
|
|
336
|
+
const cleaned = { ...entry };
|
|
337
|
+
delete cleaned['_managedBy'];
|
|
338
|
+
return cleaned;
|
|
339
|
+
}
|
|
287
340
|
//# sourceMappingURL=checksum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checksum.js","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checksum.js","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAmB1C,oDAAoD;AACpD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAe,EACf,OAAe;IAEf,MAAM,OAAO,GAA0D,EAAE,CAAC;IAC1E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC5E,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAU,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAA8B;IACvE,OAAO,UAAU,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,OAAO,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,OAAmB;IAC5C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjG,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAmB;IAC7C,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,OAAmB;IAC3C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe;IACjD,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnE,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,gEAAgE;QAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB;IAC7C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,OAAmB,EAAE,QAAgB;IACnE,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO,SAAS,CAAC,EAAE,CAAC,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC;AAC1E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACzC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,GAAG,GAAG,GAA8B,CAAC;YAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;iBACpB,IAAI,EAAE;iBACN,MAAM,CAA0B,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChB,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAAY,EACZ,UAAkB;IAElB,MAAM,QAAQ,GAAQ,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GACV,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS;YAChE,CAAC,CAAC,MAAM,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC;YAC1C,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,KAAK,GAAG,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YACnD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,0BAA0B,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,uBAAuB,EAAE,CAAC;QACvG,+FAA+F;QAC/F,uEAAuE;QACvE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,gBAAwB;IAC7E,OAAO,eAAe,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAgD;IAEhD,MAAM,QAAQ,GAA8D,EAAE,CAAC;IAE/E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,mBAAmB,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAgC,EAChC,UAAkB;IAElB,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAE1C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,oCAAoC;QACpC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;YACrF,SAAS;QACX,CAAC;QAED,4EAA4E;QAC5E,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACnF,IAAI,OAAO,EAAE,CAAC;gBACZ,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;YACD,SAAS;QACX,CAAC;QAED,0DAA0D;QAC1D,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;YACpF,SAAS;QACX,CAAC;QAED,kCAAkC;QAClC,IAAI,0BAA0B,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,QAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YACjG,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,EAAE,GAAG,IAAI,CAAC;AAChB,MAAM,EAAE,GAAG,IAAI,CAAC;AAEhB,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,SAAS,yBAAyB,CAAC,KAA8B;IAC/D,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,MAA+B,EAAE,GAAW;IACpE,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3G,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7C,CAAC;AAED,4GAA4G;AAC5G,SAAS,qBAAqB,CAAC,KAA4B,EAAE,KAA8B;IACzF,OAAO,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,yBAAyB,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC;AACpG,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,eAAe,CAC5B,KAA4B,EAC5B,UAAkB;IAElB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACtE,OAAO,WAAW,CAAC,GAAG,EAAE,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,SAAS,MAAM,CAAC,EAAc;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,EAAE;QAAE,IAAI,IAAI,KAAK,EAAE;YAAE,KAAK,EAAE,CAAC;IAChD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;IAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;QACtB,IAAI,IAAI,KAAK,EAAE;YAAE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;QACpC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,IAAI,CAAC,OAAmB;IAC/B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACzB,IAAI,IAAI,KAAK,EAAE,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE;YAAE,SAAS;QACnD,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;IACvB,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAC3B,MAA+B,EAC/B,KAAuE;IAEvE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAE1E,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC3E,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAC9E,CAAC;IAED,MAAM,UAAU,GAAI,OAAmC,CAAC,KAAK,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAC9E,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAC9E,CAAC;IAED,IAAI,wBAAwB,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC;IAClF,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,6FAA6F;AAC7F,SAAS,gBAAgB,CAAC,KAA8B;IACtD,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/build/lib/installer.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { InstallPlan, InstallPlanEntry } from './resolver.js';
|
|
2
2
|
import type { Adapter } from './schemas/adapter.js';
|
|
3
3
|
import type { RegistryAsset } from './schemas/index.js';
|
|
4
|
-
import type { Lockfile } from './schemas/lockfile.js';
|
|
4
|
+
import type { ConfigEntry, Lockfile } from './schemas/lockfile.js';
|
|
5
5
|
import { ApiCodeError } from './errors.js';
|
|
6
6
|
import { type AssetIdentity } from './lockfile.js';
|
|
7
7
|
import { type Scope } from './scope.js';
|
|
@@ -65,12 +65,7 @@ export interface InstallResult {
|
|
|
65
65
|
org?: string;
|
|
66
66
|
version: string;
|
|
67
67
|
};
|
|
68
|
-
configEntriesCreated: Array<
|
|
69
|
-
checksum: string;
|
|
70
|
-
command?: string;
|
|
71
|
-
file: string;
|
|
72
|
-
key: string;
|
|
73
|
-
}>;
|
|
68
|
+
configEntriesCreated: Array<Omit<ConfigEntry, 'tool'>>;
|
|
74
69
|
/** The config files the install created, relative like `configEntriesCreated[].file`; a rollback deletes them once empty. */
|
|
75
70
|
configFilesCreated?: string[];
|
|
76
71
|
/** The names the install added to its placement's enabled list (e.g. `enabledMcpjsonServers`). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/lib/installer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,sBAAsB,CAAC;AAErE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAiC,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/lib/installer.ts"],"names":[],"mappings":"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"}
|