@detergent-software/atk 9.2.0-dev.6 → 9.2.0-dev.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +1 -1
  3. package/build/command-manifest.json +20 -2
  4. package/build/commands/browse.d.ts.map +1 -1
  5. package/build/commands/browse.js +119 -16
  6. package/build/commands/browse.js.map +1 -1
  7. package/build/commands/install.d.ts.map +1 -1
  8. package/build/commands/install.js +26 -143
  9. package/build/commands/install.js.map +1 -1
  10. package/build/commands/sync.d.ts +13 -2
  11. package/build/commands/sync.d.ts.map +1 -1
  12. package/build/commands/sync.js +50 -13
  13. package/build/commands/sync.js.map +1 -1
  14. package/build/components/BrowseList.d.ts +3 -1
  15. package/build/components/BrowseList.d.ts.map +1 -1
  16. package/build/components/BrowseList.js +12 -6
  17. package/build/components/BrowseList.js.map +1 -1
  18. package/build/components/HelpBar.d.ts +5 -1
  19. package/build/components/HelpBar.d.ts.map +1 -1
  20. package/build/components/HelpBar.js +18 -4
  21. package/build/components/HelpBar.js.map +1 -1
  22. package/build/components/InstallConfirmBar.d.ts +4 -2
  23. package/build/components/InstallConfirmBar.d.ts.map +1 -1
  24. package/build/components/InstallConfirmBar.js +15 -2
  25. package/build/components/InstallConfirmBar.js.map +1 -1
  26. package/build/hooks/useBrowseState.d.ts +31 -1
  27. package/build/hooks/useBrowseState.d.ts.map +1 -1
  28. package/build/hooks/useBrowseState.js +99 -15
  29. package/build/hooks/useBrowseState.js.map +1 -1
  30. package/build/lib/format.d.ts +5 -0
  31. package/build/lib/format.d.ts.map +1 -1
  32. package/build/lib/format.js +7 -0
  33. package/build/lib/format.js.map +1 -1
  34. package/build/lib/install-targets.d.ts +90 -0
  35. package/build/lib/install-targets.d.ts.map +1 -0
  36. package/build/lib/install-targets.js +146 -0
  37. package/build/lib/install-targets.js.map +1 -0
  38. package/build/lib/named-entry.d.ts +24 -0
  39. package/build/lib/named-entry.d.ts.map +1 -0
  40. package/build/lib/named-entry.js +33 -0
  41. package/build/lib/named-entry.js.map +1 -0
  42. package/build/lib/sync.d.ts +9 -0
  43. package/build/lib/sync.d.ts.map +1 -1
  44. package/build/lib/sync.js +13 -8
  45. package/build/lib/sync.js.map +1 -1
  46. package/build/lib/updater.d.ts +3 -5
  47. package/build/lib/updater.d.ts.map +1 -1
  48. package/build/lib/updater.js +7 -30
  49. package/build/lib/updater.js.map +1 -1
  50. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,3 +1,29 @@
1
+ ## [9.2.0-dev.8](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.2.0-dev.7&targetVersion=GTv9.2.0-dev.8) (2026-10-24)
2
+
3
+ ### Features
4
+
5
+ * **cli:** sync only the named assets with atk sync <names> ([4e076f6](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/4e076f6d881734e064ddb3ee3e2dbc98619307d7))
6
+
7
+ ### Bug Fixes
8
+
9
+ * **cli:** review fixes for atk sync <names> ([4a9b69b](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/4a9b69b1b7e0167a887ddc6f509a43bb6a0066cb))
10
+ * **cli:** tighten atk sync <names> after code review ([2a1005b](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/2a1005b8c6542af77c7e90defb450efd56f54691))
11
+
12
+ ## [9.2.0-dev.7](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.2.0-dev.6&targetVersion=GTv9.2.0-dev.7) (2026-10-24)
13
+
14
+ ### Features
15
+
16
+ * **cli:** mark rows in atk browse and install them as one plan ([1b871cb](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/1b871cb9cd368de426f8d3afaa518c67109ea6c8))
17
+
18
+ ### Bug Fixes
19
+
20
+ * **cli:** give browse's list the rows a wrapped bar takes ([0d8f1b2](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/0d8f1b2bb1854ee531408327e7f3bcd1648f9889))
21
+ * **cli:** review fixes for marking rows in atk browse ([e42131d](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/e42131d10a0130507a7eefe122f03277a33b865a))
22
+
23
+ ### Refactoring
24
+
25
+ * **cli:** share the several-targets install path in lib ([c5866c8](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/c5866c8667e5aa5c7ad258f12735003c519e3e1e))
26
+
1
27
  ## [9.2.0-dev.6](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.2.0-dev.5&targetVersion=GTv9.2.0-dev.6) (2026-10-23)
2
28
 
3
29
  ### Features
package/README.md CHANGED
@@ -94,7 +94,7 @@ atk update
94
94
  | `atk register <dir>` | Drop a manifest.json into an existing local directory |
95
95
  | `atk release-notes` | Show CLI release notes, recent history or a specific version |
96
96
  | `atk search [query]` | Search by keyword (every word must match), type, tag or tool |
97
- | `atk sync` | Re-apply all installed assets from the lockfile |
97
+ | `atk sync [names...]` | Re-apply the lockfile's assets, all of them or only those named |
98
98
  | `atk uninstall <asset>` | Remove an asset and clean up placed files |
99
99
  | `atk unpin <asset>` | Remove a version pin |
100
100
  | `atk unpublish <name>` | Remove an asset, bundle or one version from the registry via PR |
@@ -1239,7 +1239,13 @@
1239
1239
  {
1240
1240
  "isDefault": false,
1241
1241
  "name": "sync",
1242
- "description": "Re-apply drifted installed assets, keeping local edits (use --force to re-apply all)",
1242
+ "args": [
1243
+ {
1244
+ "description": "Installed assets to sync, as @org/name or name (all of them when omitted)",
1245
+ "name": "[names...]"
1246
+ }
1247
+ ],
1248
+ "description": "Re-apply drifted installed assets, or only the named ones, keeping local edits (use --force to re-apply them all)",
1243
1249
  "file": "sync.js",
1244
1250
  "options": [
1245
1251
  {
@@ -1254,7 +1260,7 @@
1254
1260
  },
1255
1261
  {
1256
1262
  "flags": "-f, --force",
1257
- "description": "Force re-sync all assets, not just drifted ones, overwriting local edits",
1263
+ "description": "Force re-sync all assets (or the named ones), not just drifted ones, overwriting local edits",
1258
1264
  "defaultValue": false
1259
1265
  },
1260
1266
  {
@@ -1275,6 +1281,18 @@
1275
1281
  "flags": "-T, --tool [tool]",
1276
1282
  "description": "Target tool (e.g., claude-code)"
1277
1283
  },
1284
+ {
1285
+ "flags": "-t, --type [type]",
1286
+ "description": "Type of a named asset, when the name is installed as more than one type",
1287
+ "choices": [
1288
+ "skill",
1289
+ "agent",
1290
+ "rule",
1291
+ "hook",
1292
+ "memory-template",
1293
+ "mcp-config"
1294
+ ]
1295
+ },
1278
1296
  {
1279
1297
  "flags": "--user",
1280
1298
  "description": "Use the user scope (the user root, ~ by default) instead of the project",
@@ -1 +1 @@
1
- {"version":3,"file":"browse.d.ts","sourceRoot":"","sources":["../../src/commands/browse.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgDxB,eAAO,MAAM,WAAW,4CAA4C,CAAC;AASrE,eAAO,MAAM,OAAO;;;;;;;iBAsDlB,CAAC;AAEH,eAAO,MAAM,IAAI,gDAKf,CAAC;AAiBH,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,IAAI,EAAE,CAAC,SAAS,CAAC,EACjB,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAC1E,EAAE,KAAK,+BA0BP"}
1
+ {"version":3,"file":"browse.d.ts","sourceRoot":"","sources":["../../src/commands/browse.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmDxB,eAAO,MAAM,WAAW,4CAA4C,CAAC;AASrE,eAAO,MAAM,OAAO;;;;;;;iBAsDlB,CAAC;AAEH,eAAO,MAAM,IAAI,gDAKf,CAAC;AAiBH,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,IAAI,EAAE,CAAC,SAAS,CAAC,EACjB,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAC1E,EAAE,KAAK,+BA0BP"}
@@ -4,14 +4,16 @@ import { useEffect, useRef } from 'react';
4
4
  import { z } from 'zod';
5
5
  import BrowseList from '../components/BrowseList.js';
6
6
  import FilterBar from '../components/FilterBar.js';
7
- import HelpBar from '../components/HelpBar.js';
7
+ import HelpBar, { helpBarText } from '../components/HelpBar.js';
8
8
  import { errorGuidanceRows, ErrorView, Spinner } from '../components/index.js';
9
- import InstallConfirmBar from '../components/InstallConfirmBar.js';
9
+ import InstallConfirmBar, { resultLine } from '../components/InstallConfirmBar.js';
10
10
  import { TYPE_TAB_LABELS, TYPE_TABS, useBrowseInput, useBrowseState, } from '../hooks/useBrowseState.js';
11
11
  import { useCommand } from '../hooks/useCommand.js';
12
12
  import { useResolvedScope } from '../hooks/useResolvedScope.js';
13
13
  import { loadConfig } from '../lib/config.js';
14
14
  import { errorGuidance, errorMessage } from '../lib/errors.js';
15
+ import { wrappedExtraRows } from '../lib/format.js';
16
+ import { installPlannedTargets, planTargetsInstall } from '../lib/install-targets.js';
15
17
  import { LOCKFILE_LOCKED_MESSAGE, LockfileLockedError, readLockfile, withLockfileLock } from '../lib/lockfile.js';
16
18
  import { executeInstallPlanForTools } from '../lib/multi-tool-install.js';
17
19
  import { formatOrgName, resolveActiveOrg } from '../lib/org.js';
@@ -98,17 +100,20 @@ function BrowseInteractive({ cliOrg, filterArg, projectRoot, refresh, typeOpt, u
98
100
  const [state, dispatch, dispatchLoad] = useBrowseState(initialFilter, initialType);
99
101
  const { exit } = useApp();
100
102
  const { stdout } = useStdout();
101
- const isInstalling = state.status === 'ready' && state.mode.kind === 'installing';
103
+ const isInstalling = state.status === 'ready' && (state.mode.kind === 'installing' || state.mode.kind === 'installing-set');
102
104
  const stateRef = useRef(state);
103
105
  stateRef.current = state;
104
106
  const resolvedToolsRef = useRef(UNRESOLVED_TOOLS);
105
107
  const scopeRef = useRef(undefined);
106
108
  const terminalWidth = stdout?.columns ?? 120;
109
+ // The rows the help bar wraps to past its first. The cursor moves only while it shows, so the
110
+ // reducer scrolls by the list it leaves.
111
+ const helpRows = state.status === 'ready' ? wrappedExtraRows(helpBarText(helpBarPropsOf(state)), terminalWidth) : 0;
107
112
  // Track viewport height
108
113
  useEffect(() => {
109
114
  const height = stdout?.rows ?? 24;
110
- dispatch({ height: Math.max(5, height - CHROME_LINES), type: 'SET_VIEWPORT_HEIGHT' });
111
- }, [stdout?.rows, dispatch]);
115
+ dispatch({ height: Math.max(5, height - CHROME_LINES - helpRows), type: 'SET_VIEWPORT_HEIGHT' });
116
+ }, [stdout?.rows, helpRows, dispatch]);
112
117
  // Load data
113
118
  useEffect(() => {
114
119
  let cancelled = false;
@@ -170,25 +175,30 @@ function BrowseInteractive({ cliOrg, filterArg, projectRoot, refresh, typeOpt, u
170
175
  if (stateRef.current.status !== 'ready')
171
176
  return;
172
177
  const currentState = stateRef.current;
173
- if (currentState.mode.kind !== 'installing')
174
- return;
175
178
  const installingMode = currentState.mode;
179
+ if (installingMode.kind !== 'installing' && installingMode.kind !== 'installing-set')
180
+ return;
176
181
  let cancelled = false;
177
182
  (async () => {
178
183
  try {
179
184
  const resolved = scopeRef.current;
180
185
  if (!resolved)
181
186
  throw new Error('The install scope has not resolved yet.');
182
- await executeInstallFromBrowse({
183
- assetName: installingMode.assetName,
184
- assetOrg: installingMode.assetOrg,
187
+ const shared = {
185
188
  dispatch,
186
189
  isCancelled: () => cancelled,
187
- itemKind: installingMode.itemKind,
188
190
  registry: currentState.registry,
189
191
  resolved,
190
192
  tools: resolvedToolsRef.current,
191
- });
193
+ };
194
+ await (installingMode.kind === 'installing-set'
195
+ ? executeSetInstallFromBrowse({ ...shared, items: installingMode.items })
196
+ : executeInstallFromBrowse({
197
+ ...shared,
198
+ assetName: installingMode.assetName,
199
+ assetOrg: installingMode.assetOrg,
200
+ itemKind: installingMode.itemKind,
201
+ }));
192
202
  }
193
203
  catch (err) {
194
204
  if (!cancelled) {
@@ -229,7 +239,6 @@ function BrowseInteractive({ cliOrg, filterArg, projectRoot, refresh, typeOpt, u
229
239
  : state.typeFilter === 'all'
230
240
  ? state.allAssets.length + state.allBundles.length
231
241
  : state.allAssets.filter((a) => a.type === state.typeFilter).length;
232
- const canInstall = state.filteredItems.length > 0;
233
242
  const sortArrow = state.sortDirection === 'asc' ? '\u2191' : '\u2193';
234
243
  const sortIndicator = `Sort: ${BROWSE_SORT_FIELD_LABELS[state.sortField]} ${sortArrow}`;
235
244
  const expandedItem = state.expandedIndex !== null ? state.filteredItems[state.expandedIndex] : null;
@@ -238,9 +247,15 @@ function BrowseInteractive({ cliOrg, filterArg, projectRoot, refresh, typeOpt, u
238
247
  : expandedItem?.kind === 'bundle'
239
248
  ? buildBundleWebUrl(expandedItem.data.name, expandedItem.data.org)
240
249
  : null;
241
- // A failed install's hint and command make the install bar taller: the list gives up those rows
242
- const guidanceRows = mode.kind === 'install-result' && !mode.success ? errorGuidanceRows(mode) : 0;
243
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(FilterBar, { filterText: state.filterText, inputMode: inputMode, org: state.org, orgOnly: state.orgOnly, resultCount: state.filteredItems.length, sortIndicator: sortIndicator, terminalWidth: terminalWidth, totalCount: totalCount, typeFilter: state.typeFilter, typeTabLabels: TYPE_TAB_LABELS, typeTabs: TYPE_TABS }), state.toolWarning && (_jsxs(Text, { color: 'yellow', children: ['\u26A0', " Tool resolution failed: ", state.toolWarning, ". Install will not be available."] })), _jsx(BrowseList, { cursorIndex: state.cursorIndex, expandedIndex: state.expandedIndex, hasOrg: !!state.org, items: state.filteredItems, lockfile: state.lockfile, registryAssets: state.allAssets, scrollOffset: state.scrollOffset, terminalWidth: terminalWidth, typeFilter: state.typeFilter, viewportHeight: Math.max(1, state.viewportHeight - guidanceRows), webUrl: webUrl }), browsing ? (_jsx(HelpBar, { canInstall: canInstall, expanded: state.expandedIndex !== null, hasOrg: !!state.org, inputMode: inputMode })) : (_jsx(InstallConfirmBar, { mode: mode }))] }));
250
+ // The viewport already leaves the help bar's extra rows. Another bar taller than one row (a failed
251
+ // install's hint and command, a long set result) takes its extra rows from the list instead.
252
+ const finished = mode.kind === 'install-result' || mode.kind === 'install-set-result' ? mode : null;
253
+ const barRows = finished
254
+ ? (finished.success ? 0 : errorGuidanceRows(finished)) + wrappedExtraRows(resultLine(finished), terminalWidth)
255
+ : browsing
256
+ ? helpRows
257
+ : 0;
258
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(FilterBar, { filterText: state.filterText, inputMode: inputMode, org: state.org, orgOnly: state.orgOnly, resultCount: state.filteredItems.length, sortIndicator: sortIndicator, terminalWidth: terminalWidth, totalCount: totalCount, typeFilter: state.typeFilter, typeTabLabels: TYPE_TAB_LABELS, typeTabs: TYPE_TABS }), state.toolWarning && (_jsxs(Text, { color: 'yellow', children: ['\u26A0', " Tool resolution failed: ", state.toolWarning, ". Install will not be available."] })), _jsx(BrowseList, { cursorIndex: state.cursorIndex, expandedIndex: state.expandedIndex, hasOrg: !!state.org, items: state.filteredItems, lockfile: state.lockfile, marked: state.marked, registryAssets: state.allAssets, scrollOffset: state.scrollOffset, terminalWidth: terminalWidth, typeFilter: state.typeFilter, viewportHeight: Math.max(1, state.viewportHeight + helpRows - barRows), webUrl: webUrl }), browsing ? _jsx(HelpBar, { ...helpBarPropsOf(state) }) : _jsx(InstallConfirmBar, { mode: mode })] }));
244
259
  }
245
260
  /**
246
261
  * JSON / non-TTY render branch.
@@ -381,4 +396,92 @@ async function executeInstallFromBrowse({ assetName, assetOrg, dispatch, isCance
381
396
  }
382
397
  });
383
398
  }
399
+ /**
400
+ * Install the marked rows through `atk install a b my-bundle`'s plan and install steps: resolved
401
+ * together into one plan, one install across tools with its rollback, a marked asset already in
402
+ * place left out (one in place only as a dependency made direct), and a bundle in place whole left
403
+ * out. As for one row, browse has no deprecation refusal, cross-scope notice or bundle report.
404
+ */
405
+ async function executeSetInstallFromBrowse({ dispatch, isCancelled, items, registry, resolved, tools, }) {
406
+ const { root: projectDir, scope } = resolved;
407
+ if ('error' in tools) {
408
+ throw tools.error;
409
+ }
410
+ await withLockfileLock(projectDir, async () => {
411
+ if (!isCancelled()) {
412
+ dispatch({ message: `Resolving dependencies for ${items.length} marked...`, type: 'INSTALL_PROGRESS' });
413
+ }
414
+ // Read under the lock: the lockfile may have moved on since browse loaded it.
415
+ const lockfile = await readLockfile(projectDir);
416
+ const targets = items.map((item) => item.kind === 'bundle'
417
+ ? { bundle: item.data, kind: 'bundle' }
418
+ : {
419
+ kind: 'asset',
420
+ name: item.data.name,
421
+ ...(item.data.org ? { org: item.data.org } : {}),
422
+ type: item.data.type,
423
+ });
424
+ const planned = planTargetsInstall(registry, targets, lockfile, tools, { force: false, projectDir });
425
+ await installPlannedTargets(planned, tools, {
426
+ onProgress: (message) => {
427
+ if (!isCancelled())
428
+ dispatch({ message, type: 'INSTALL_PROGRESS' });
429
+ },
430
+ onTool: (toolName) => {
431
+ if (!isCancelled())
432
+ dispatch({ message: `Installing for ${toolName}...`, type: 'INSTALL_PROGRESS' });
433
+ },
434
+ projectDir,
435
+ scope,
436
+ });
437
+ const newLockfile = await readLockfile(projectDir);
438
+ if (!isCancelled()) {
439
+ dispatch({
440
+ message: setInstallMessage(planned, {
441
+ tools: tools.map((t) => t.tool).join(', '),
442
+ where: scopeLabel(resolved),
443
+ }),
444
+ newLockfile,
445
+ success: true,
446
+ type: 'INSTALL_COMPLETE',
447
+ });
448
+ }
449
+ });
450
+ }
451
+ /** The help bar for the browsing view: what it can do now, and how many rows are marked. */
452
+ function helpBarPropsOf(state) {
453
+ return {
454
+ canInstall: state.filteredItems.length > 0 || state.marked.size > 0,
455
+ expanded: state.expandedIndex !== null,
456
+ hasOrg: !!state.org,
457
+ inputMode: state.mode.kind === 'browsing' ? state.mode.inputMode : 'navigate',
458
+ markedCount: state.marked.size,
459
+ };
460
+ }
461
+ /**
462
+ * What a set install did with each marked row, in one line: what it installed and for which tools,
463
+ * what was already in place, and what became a direct install; the scope once, after the first part.
464
+ */
465
+ function setInstallMessage({ assets, bundlesInPlace, toInstall }, { tools, where }) {
466
+ const assetsWith = (outcome) => assets.filter((a) => a.outcome === outcome).map((a) => formatOrgName(a.org, a.name));
467
+ const bundleLabel = ({ bundle }) => `bundle ${formatOrgName(bundle.org, bundle.name)} (${bundle.assetCount} assets)`;
468
+ const installed = [
469
+ ...assetsWith('installed'),
470
+ ...toInstall.flatMap((target) => (target.kind === 'bundle' ? [bundleLabel(target)] : [])),
471
+ ];
472
+ const inPlace = [...assetsWith('already-installed'), ...bundlesInPlace.map(bundleLabel)];
473
+ const direct = assetsWith('upgraded-to-direct');
474
+ const are = (names) => (names.length === 1 ? 'is' : 'are');
475
+ const parts = [
476
+ ...(installed.length > 0 ? [`Installed ${installed.join(', ')} for ${tools}`] : []),
477
+ ...(inPlace.length > 0 ? [`${inPlace.join(', ')} ${are(inPlace)} already installed`] : []),
478
+ ...(direct.length > 0
479
+ ? [`${direct.join(', ')} ${are(direct)} now ${direct.length === 1 ? 'a direct install' : 'direct installs'}`]
480
+ : []),
481
+ ];
482
+ const [first, ...rest] = parts;
483
+ if (!first)
484
+ return `Nothing to install in ${where}`;
485
+ return [`${first} in ${where}`, ...rest].join('; ');
486
+ }
384
487
  //# sourceMappingURL=browse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browse.js","sourceRoot":"","sources":["../../src/commands/browse.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browse.js","sourceRoot":"","sources":["../../src/commands/browse.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,UAAU,MAAM,6BAA6B,CAAC;AACrD,OAAO,SAAS,MAAM,4BAA4B,CAAC;AACnD,OAAO,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,iBAAiB,EAAE,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAML,eAAe,EACf,SAAS,EACT,cAAc,EACd,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAClH,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC1G,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAsB,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAKxE,kFAAkF;AAClF,MAAM,gBAAgB,GAAgB,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,kCAAkC,CAAC,EAAE,CAAC;AAE/F,MAAM,wBAAwB,GAAoC;IAChE,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,yCAAyC,CAAC;AAErE;;;;GAIG;AACH,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,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,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,qCAAqC;KACnD,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,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,gDAAgD;KAC9D,CAAC,CACH;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,yDAAyD;KACvE,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;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1B,CAAC;SACE,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;CACnF,CAAC,CAAC;AAsBH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,IAAI,EAAE,CAAC,SAAS,CAAC,EACjB,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GACnE;IACN,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAExD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CACL,KAAC,UAAU,IACT,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,GACV,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,iBAAiB,IAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,GACV,CACH,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAqB;IACtG,MAAM,WAAW,GACf,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,OAA0B,CAAC,CAAC,CAAC,CAAE,OAA2B,CAAC,CAAC,CAAC,KAAK,CAAC;IACnG,MAAM,aAAa,GAAG,SAAS,IAAI,EAAE,CAAC;IAEtC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,GAAG,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACnF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAE/B,MAAM,YAAY,GAChB,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;IACzG,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;IAEzB,MAAM,gBAAgB,GAAG,MAAM,CAAc,gBAAgB,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,MAAM,CAAgB,SAAS,CAAC,CAAC;IAElD,MAAM,aAAa,GAAG,MAAM,EAAE,OAAO,IAAI,GAAG,CAAC;IAC7C,8FAA8F;IAC9F,yCAAyC;IACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpH,wBAAwB;IACxB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QAClC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;IACnG,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvC,YAAY;IACZ,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,QAAQ,CAAC;oBACP,OAAO,EAAE,kEAAkE;oBAC3E,IAAI,EAAE,qBAAqB;iBAC5B,CAAC,CAAC;YACL,CAAC;QACH,CAAC,EAAE,MAAM,CAAC,CAAC;QAEX,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3D,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACjC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;gBAClC,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC;gBAE5B,IAAI,WAA+B,CAAC;gBACpC,IAAI,CAAC;oBACH,gBAAgB,CAAC,OAAO,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBACvE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,gFAAgF;oBAChF,gBAAgB,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,CAAC;oBACrC,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpC,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;gBAChD,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC5B,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,YAAY,CAAC,aAAa,CAAC,CAAC;oBAC5B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACrB,QAAQ,CAAC;wBACP,GAAG,aAAa,CAAC,GAAG,CAAC;wBACrB,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC;wBAC1B,IAAI,EAAE,YAAY;qBACnB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;YACjB,YAAY,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAEjE,6BAA6B;IAC7B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,2EAA2E;QAC3E,uEAAuE;QACvE,0EAA0E;QAC1E,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO;YAAE,OAAO;QAChD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAqB,CAAC;QACpD,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC;QACzC,IAAI,cAAc,CAAC,IAAI,KAAK,YAAY,IAAI,cAAc,CAAC,IAAI,KAAK,gBAAgB;YAAE,OAAO;QAE7F,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAClC,IAAI,CAAC,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC1E,MAAM,MAAM,GAAG;oBACb,QAAQ;oBACR,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS;oBAC5B,QAAQ,EAAE,YAAY,CAAC,QAAQ;oBAC/B,QAAQ;oBACR,KAAK,EAAE,gBAAgB,CAAC,OAAO;iBAChC,CAAC;gBACF,MAAM,CAAC,cAAc,CAAC,IAAI,KAAK,gBAAgB;oBAC7C,CAAC,CAAC,2BAA2B,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC;oBACzE,CAAC,CAAC,wBAAwB,CAAC;wBACvB,GAAG,MAAM;wBACT,SAAS,EAAE,cAAc,CAAC,SAAS;wBACnC,QAAQ,EAAE,cAAc,CAAC,QAAQ;wBACjC,QAAQ,EAAE,cAAc,CAAC,QAAQ;qBAClC,CAAC,CAAC,CAAC;YACV,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,QAAQ,CAAC;wBACP,GAAG,CAAC,GAAG,YAAY,mBAAmB;4BACpC,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE;4BACtC,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC1D,OAAO,EAAE,KAAK;wBACd,IAAI,EAAE,kBAAkB;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;QACF,0EAA0E;QAC1E,4EAA4E;QAC5E,uEAAuE;QACvE,wEAAwE;QACxE,iFAAiF;IACnF,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE7B,iBAAiB;IACjB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAE9C,SAAS;IACT,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,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,IAAI,EAAE,GAAG,KAAK,CAAC;IACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;IAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IAEzD,sCAAsC;IACtC,MAAM,UAAU,GACd,KAAK,CAAC,UAAU,KAAK,QAAQ;QAC3B,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM;QACzB,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,KAAK;YAC1B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM;YAClD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;IAE1E,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtE,MAAM,aAAa,GAAG,SAAS,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,CAAC;IAExF,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpG,MAAM,MAAM,GACV,YAAY,EAAE,IAAI,KAAK,OAAO;QAC5B,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/D,CAAC,CAAC,YAAY,EAAE,IAAI,KAAK,QAAQ;YAC/B,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;YAClE,CAAC,CAAC,IAAI,CAAC;IAEb,mGAAmG;IACnG,6FAA6F;IAC7F,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACpG,MAAM,OAAO,GAAG,QAAQ;QACtB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;QAC9G,CAAC,CAAC,QAAQ;YACR,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,CAAC,CAAC;IAER,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,SAAS,IACR,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,EACvC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,aAAa,EAAE,eAAe,EAC9B,QAAQ,EAAE,SAAS,GACnB,EACD,KAAK,CAAC,WAAW,IAAI,CACpB,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,aACjB,QAAQ,+BAA2B,KAAK,CAAC,WAAW,wCAChD,CACR,EACD,KAAC,UAAU,IACT,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EACnB,KAAK,EAAE,KAAK,CAAC,aAAa,EAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,cAAc,EAAE,KAAK,CAAC,SAAS,EAC/B,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,GAAG,QAAQ,GAAG,OAAO,CAAC,EACtE,MAAM,EAAE,MAAM,GACd,EACD,QAAQ,CAAC,CAAC,CAAC,KAAC,OAAO,OAAK,cAAc,CAAC,KAAK,CAAC,GAAI,CAAC,CAAC,CAAC,KAAC,iBAAiB,IAAC,IAAI,EAAE,IAAI,GAAI,IAClF,CACP,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAqB;IAC/F,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,UAAU,CACtB,KAAK,EAAE,QAAQ,EAAE,EAAE;QACjB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC;QAE7C,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAElC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAE/D,kFAAkF;QAClF,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAEvD,2EAA2E;QAC3E,sEAAsE;QACtE,IAAI,MAAuB,CAAC;QAC5B,IAAI,OAAyB,CAAC;QAC9B,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,MAAM,GAAG,EAAE,CAAC;YACZ,OAAO,GAAG,UAAU,CAAC;QACvB,CAAC;aAAM,IAAI,OAAO,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YACxC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YACzD,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,aAAa,CAAC;YACvB,OAAO,GAAG,UAAU,CAAC;QACvB,CAAC;QAED,8EAA8E;QAC9E,yEAAyE;QACzE,6EAA6E;QAC7E,MAAM,KAAK,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM,WAAW,GAAG,MAAM,EAAE,WAAW,IAAI,EAAE,CAAC;gBAC9C,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3F,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,OAAO,CAAC,MAAM,CACtB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC3F,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAClC,CAAC,EACD,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CACzD,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,OAAO,UAAU,CAAC;YAChB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,OAAO;YAChB,GAAG,MAAM;SACV,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;QAChB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;QACzB,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO;QAC3B,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG;QACnB,OAAO,EAAE,QAAQ;QACjB,GAAG,MAAM;KACV,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,wBAAwB,CAAC,EACtC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,KAAK,GAUN;IACC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;IAC7C,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QACrB,MAAM,KAAK,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,MAAM,gBAAgB,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QAC5C,6FAA6F;QAC7F,4FAA4F;QAC5F,IAAI,MAAqC,CAAC;QAC1C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,WAAW,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,yBAAyB,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnB,QAAQ,CAAC;gBACP,OAAO,EACL,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,SAAS,KAAK,CAAC,CAAC,CAAC,8BAA8B,SAAS,KAAK;gBAC3G,IAAI,EAAE,kBAAkB;aACzB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GACR,QAAQ,KAAK,QAAQ;YACnB,CAAC,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAO,CAAC;YAC7C,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE9E,MAAM,0BAA0B,CAAC,IAAI,EAAE,KAAK,EAAE;YAC5C,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM;gBACjC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE;gBAC9G,CAAC,CAAC,EAAE,CAAC;YACP,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;gBACtB,IAAI,CAAC,WAAW,EAAE;oBAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACnB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;oBACnB,QAAQ,CAAC;wBACP,OAAO,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,yBAAyB,QAAQ,KAAK,CAAC,CAAC,CAAC,kBAAkB,QAAQ,KAAK;wBACzG,IAAI,EAAE,kBAAkB;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,UAAU;YACV,KAAK;SACN,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YACnC,QAAQ,CAAC;gBACP,OAAO,EACL,QAAQ,KAAK,QAAQ,IAAI,MAAM;oBAC7B,CAAC,CAAC,oBAAoB,IAAI,KAAK,MAAM,CAAC,UAAU,gBAAgB,SAAS,OAAO,KAAK,EAAE;oBACvF,CAAC,CAAC,aAAa,IAAI,QAAQ,SAAS,OAAO,KAAK,EAAE;gBACtD,WAAW;gBACX,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,kBAAkB;aACzB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,2BAA2B,CAAC,EACzC,QAAQ,EACR,WAAW,EACX,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,GAQN;IACC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC;IAC7C,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QACrB,MAAM,KAAK,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,MAAM,gBAAgB,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QAC5C,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnB,QAAQ,CAAC,EAAE,OAAO,EAAE,8BAA8B,KAAK,CAAC,MAAM,YAAY,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC1G,CAAC;QACD,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAA8B,EAAE,CAC7D,IAAI,CAAC,IAAI,KAAK,QAAQ;YACpB,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;YACvC,CAAC,CAAC;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gBACpB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;aACrB,CACN,CAAC;QACF,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAErG,MAAM,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE;YAC1C,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;gBACtB,IAAI,CAAC,WAAW,EAAE;oBAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACnB,IAAI,CAAC,WAAW,EAAE;oBAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,kBAAkB,QAAQ,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACvG,CAAC;YACD,UAAU;YACV,KAAK;SACN,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACnB,QAAQ,CAAC;gBACP,OAAO,EAAE,iBAAiB,CAAC,OAAO,EAAE;oBAClC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC1C,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC;iBAC5B,CAAC;gBACF,WAAW;gBACX,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,kBAAkB;aACzB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,4FAA4F;AAC5F,SAAS,cAAc,CAAC,KAAiB;IACvC,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;QACnE,QAAQ,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI;QACtC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG;QACnB,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;QAC7E,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;KAC/B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CACxB,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAkB,EACrD,EAAE,KAAK,EAAE,KAAK,EAAoC;IAElD,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE,CACrC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACvF,MAAM,WAAW,GAAG,CAAC,EAAE,MAAM,EAAgB,EAAE,EAAE,CAC/C,UAAU,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,UAAU,UAAU,CAAC;IACnF,MAAM,SAAS,GAAG;QAChB,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1B,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAC1F,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,mBAAmB,CAAC,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACnB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;YAC7G,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,OAAO,yBAAyB,KAAK,EAAE,CAAC;IACpD,OAAO,CAAC,GAAG,KAAK,OAAO,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqExB,eAAO,MAAM,WAAW,6DAA6D,CAAC;AAEtF,eAAO,MAAM,OAAO;;;;;;;;;;;;;iBA8GlB,CAAC;AAEH,eAAO,MAAM,IAAI,uDAoBd,CAAC;AAqIJ,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAQF,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EACxB,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAC9F,EAAE,KAAK,+BAwDP"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8DxB,eAAO,MAAM,WAAW,6DAA6D,CAAC;AAEtF,eAAO,MAAM,OAAO;;;;;;;;;;;;;iBA8GlB,CAAC;AAEH,eAAO,MAAM,IAAI,uDAoBd,CAAC;AA6GJ,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAQF,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EACxB,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAC9F,EAAE,KAAK,+BAwDP"}
@@ -10,6 +10,7 @@ import { resolveBundleVersion } from '../lib/bundle-version.js';
10
10
  import { loadConfig } from '../lib/config.js';
11
11
  import { crossScopeNotice, findCrossScopeInstalls } from '../lib/cross-scope.js';
12
12
  import { errorGuidance, errorMessage } from '../lib/errors.js';
13
+ import { bundleMembers, installPlannedTargets, isBundleInPlace, planTargetsInstall } from '../lib/install-targets.js';
13
14
  import { isInstalledForTool } from '../lib/installed-for-tool.js';
14
15
  import { InstallerError } from '../lib/installer.js';
15
16
  import { addAssetToLockfile, findInstalledAsset, identityKey, readLockfile, upgradeToDirectInstall, withLockfileErrorHandling, writeLockfile, } from '../lib/lockfile.js';
@@ -18,8 +19,8 @@ import { addNotice } from '../lib/notices.js';
18
19
  import { formatOrgName, isBareOrgScope, parseBundleSpec, resolveActiveOrg } from '../lib/org.js';
19
20
  import { renderJson, useNonInteractive } from '../lib/output.js';
20
21
  import { argument, option } from '../lib/pastel/index.js';
21
- import { fetchRegistry, findAsset, findAssetsByName, findBundle, findBundleMember, getAssetsByOrg, isDeprecated, isLatestAlias, } from '../lib/registry.js';
22
- import { resolveBundleInstallPlan, resolveInstallPlan, resolveMultipleInstallPlans, ResolverError, resolveTargetsInstallPlan, } from '../lib/resolver.js';
22
+ import { fetchRegistry, findAsset, findAssetsByName, findBundle, getAssetsByOrg, isDeprecated, isLatestAlias, } from '../lib/registry.js';
23
+ import { resolveBundleInstallPlan, resolveInstallPlan, resolveMultipleInstallPlans, ResolverError, } from '../lib/resolver.js';
23
24
  import { scopeLabel } from '../lib/scope.js';
24
25
  import { resolvePlacingTools } from '../lib/tool-resolver.js';
25
26
  import { parseNameVersion } from '../lib/version.js';
@@ -150,20 +151,6 @@ async function bundleAtRequestedVersion(entry, requested, progress) {
150
151
  }
151
152
  return resolution.bundle;
152
153
  }
153
- /**
154
- * The bundle's members that one of `tools` places, as the registry has them. A member none of them
155
- * places is left out, since this run can't adopt it, and so is a ref the registry can't find, which
156
- * the install reports.
157
- */
158
- function bundleMembers(registry, bundle, tools) {
159
- return (bundle.assets ?? []).flatMap((ref) => {
160
- const found = findBundleMember(registry, bundle, ref);
161
- if (!found || !tools.some((t) => placesAsset(t.adapter, found.asset.type, found.versionData.tools)))
162
- return [];
163
- const { name, org, type } = found.asset;
164
- return [{ name, ...(org ? { org } : {}), type }];
165
- });
166
- }
167
154
  /**
168
155
  * What a bundle install says about its members outside the bundle (`kept`) and the members it
169
156
  * `adopted`. A member with no origin can be adopted; another bundle's member stays with that bundle.
@@ -593,10 +580,6 @@ function InstallAssets({ adopt, all, dryRun, force, json, org: cliOrg, pin, proj
593
580
  });
594
581
  }
595
582
  // A name every targeted tool already has in place is left out of the plan, as it is for one name.
596
- const assets = [];
597
- const bundles = [];
598
- const upgrades = [];
599
- const toInstall = [];
600
583
  const adoptCommandFor = ({ bundle, version }) => installCommandFor(formatOrgName(bundle.org, bundle.name) + (version ? `@${version}` : ''), {
601
584
  adopt: true,
602
585
  force: false,
@@ -605,83 +588,22 @@ function InstallAssets({ adopt, all, dryRun, force, json, org: cliOrg, pin, proj
605
588
  tool,
606
589
  user,
607
590
  });
608
- for (const request of targets) {
609
- if (request.kind === 'bundle') {
610
- const { bundle, version } = request;
611
- const members = bundleMembers(registry, bundle, tools);
612
- const requiredBundleVersion = version && !isLatestAlias(version) ? bundle.version : undefined;
613
- if (force ||
614
- !isBundleInPlace(registry, bundle, currentLockfile, { members, projectDir, requiredBundleVersion, tools })) {
615
- toInstall.push(request);
616
- continue;
617
- }
618
- bundles.push({
619
- name: bundle.name,
620
- ...(bundle.org ? { org: bundle.org } : {}),
621
- outcome: 'already-installed',
622
- version: bundle.version,
623
- ...bundleReport(membersOutsideBundle(currentLockfile, members, bundle), [], {
624
- adoptCommand: adoptCommandFor(request),
625
- bundle,
626
- }),
627
- });
628
- continue;
629
- }
630
- const match = findAsset(registry, request.name, request.type, request.version, request.org);
631
- const existing = match
632
- ? findInstalledAsset(currentLockfile, request.name, match.asset.type, match.asset.org)
633
- : undefined;
634
- const supportingTools = existing && match ? tools.filter((t) => placesAsset(t.adapter, existing.type, match.versionData.tools)) : [];
635
- const inPlace = !force &&
636
- existing !== undefined &&
637
- supportingTools.length > 0 &&
638
- supportingTools.every((t) => isInstalledForTool(existing, t.adapter, projectDir)) &&
639
- (!request.version || request.version === existing.version);
640
- if (!inPlace) {
641
- toInstall.push(request);
642
- continue;
643
- }
644
- if (assets.some((a) => identityKey(a) === identityKey(existing)))
645
- continue;
646
- const dependency = (existing.installReason ?? 'direct') === 'dependency';
647
- if (dependency)
648
- upgrades.push(existing);
649
- assets.push({
650
- name: existing.name,
651
- ...(existing.org ? { org: existing.org } : {}),
652
- outcome: dependency ? 'upgraded-to-direct' : 'already-installed',
653
- type: existing.type,
654
- version: existing.version,
655
- });
656
- }
657
591
  progress('Resolving dependencies...');
658
- const plan = resolveTargetsInstallPlan(registry, toInstall.map((request) => request.kind === 'bundle'
659
- ? { bundle: request.bundle, kind: 'bundle' }
660
- : {
661
- ...(request.fromOrg ? { fromOrg: true } : {}),
662
- kind: 'asset',
663
- name: request.name,
664
- ...(request.org ? { org: request.org } : {}),
665
- ...(request.type ? { type: request.type } : {}),
666
- ...(request.version ? { version: request.version } : {}),
667
- }));
668
- // The named and the org's assets the plan installs, in plan order.
669
- const requested = new Set(toInstall.flatMap((request) => {
670
- if (request.kind === 'bundle')
671
- return [];
672
- const match = findAsset(registry, request.name, request.type, request.version, request.org);
673
- return match ? [identityKey(match.asset)] : [];
674
- }));
675
- const installed = plan.entries
676
- .filter((entry) => entry.reason === 'direct' && requested.has(identityKey(entry.asset)))
677
- .map((entry) => ({
678
- name: entry.asset.name,
679
- ...(entry.asset.org ? { org: entry.asset.org } : {}),
680
- outcome: 'installed',
681
- type: entry.asset.type,
682
- version: entry.version,
683
- }));
684
- const report = [...installed, ...assets];
592
+ const targetsPlan = planTargetsInstall(registry, targets, currentLockfile, tools, { force, projectDir });
593
+ const { assets: report, plan, toInstall } = targetsPlan;
594
+ const bundles = targetsPlan.bundlesInPlace.map((request) => {
595
+ const { bundle } = request;
596
+ return {
597
+ name: bundle.name,
598
+ ...(bundle.org ? { org: bundle.org } : {}),
599
+ outcome: 'already-installed',
600
+ version: bundle.version,
601
+ ...bundleReport(membersOutsideBundle(currentLockfile, bundleMembers(registry, bundle, tools), bundle), [], {
602
+ adoptCommand: adoptCommandFor(request),
603
+ bundle,
604
+ }),
605
+ };
606
+ });
685
607
  const crossScope = (resolvedPlan, installedAt) => crossScopeOf(resolvedPlan, { installedAt, json: effectiveJson, scope: installScope, tools: toolNames });
686
608
  // Each bundle in the plan, in the order named, then the ones left out; and the orgs.
687
609
  const targetsField = (lockfile, planned) => {
@@ -724,23 +646,14 @@ function InstallAssets({ adopt, all, dryRun, force, json, org: cliOrg, pin, proj
724
646
  };
725
647
  }
726
648
  return await withLockfileErrorHandling(projectDir, async () => {
727
- const toolResults = plan.entries.length > 0
728
- ? await executeInstallPlanForTools(plan, tools, {
729
- force,
730
- onProgress: progress,
731
- onTool: (toolName) => progress(`Installing for ${toolName}...`),
732
- pin,
733
- projectDir,
734
- scope: installScope,
735
- })
736
- : [];
737
- // After the install, so a failed one leaves even the install reasons as they were.
738
- if (upgrades.length > 0) {
739
- let lockfile = await readLockfile(projectDir);
740
- for (const { name, org, type } of upgrades)
741
- lockfile = upgradeToDirectInstall(lockfile, name, type, org);
742
- await writeLockfile(projectDir, lockfile);
743
- }
649
+ const toolResults = await installPlannedTargets(targetsPlan, tools, {
650
+ force,
651
+ onProgress: progress,
652
+ onTool: (toolName) => progress(`Installing for ${toolName}...`),
653
+ pin,
654
+ projectDir,
655
+ scope: installScope,
656
+ });
744
657
  if (plan.entries.length === 0) {
745
658
  return { assets: report, ...targetsField(currentLockfile, false), outcome: 'already-installed' };
746
659
  }
@@ -1042,36 +955,6 @@ function InstallOrg({ cliOrg, dryRun, force, json, orgName, pin, projectRoot, sk
1042
955
  }
1043
956
  return null;
1044
957
  }
1045
- /**
1046
- * Whether every member of the bundle is in place for every tool that takes it (with
1047
- * `requiredBundleVersion`, recorded as this bundle at that version). False when no tool takes any
1048
- * member, so the installer says why.
1049
- */
1050
- function isBundleInPlace(registry, bundle, lockfile, { members, projectDir, requiredBundleVersion, tools, }) {
1051
- const bundleAssets = bundle.assets ?? [];
1052
- return tools.every(({ adapter: toolAdapter }) => members.length > 0 &&
1053
- bundleAssets.every((ref) => {
1054
- const found = findBundleMember(registry, bundle, ref);
1055
- if (!found)
1056
- return false;
1057
- // A tool that doesn't take this member (its type, or a hook for other tools) has
1058
- // nothing to check.
1059
- if (!placesAsset(toolAdapter, found.asset.type, found.versionData.tools))
1060
- return true;
1061
- const installed = findInstalledAsset(lockfile, ref.name, ref.type, found.asset.org);
1062
- if (!installed)
1063
- return false;
1064
- if (requiredBundleVersion && !isFromBundleVersion(installed, bundle, requiredBundleVersion)) {
1065
- return false;
1066
- }
1067
- return isInstalledForTool(installed, toolAdapter, projectDir);
1068
- }));
1069
- }
1070
- /** Whether a lockfile asset was installed as part of this bundle (name, org) at this version. */
1071
- function isFromBundleVersion(installed, bundle, version) {
1072
- const origin = installed.bundleOrigin;
1073
- return origin?.name === bundle.name && origin.org === bundle.org && origin.version === version;
1074
- }
1075
958
  /** A member as a report names it: its spec and type. */
1076
959
  function memberLabel({ name, org, type }) {
1077
960
  return `${formatOrgName(org, name)} (${type})`;