@detergent-software/atk 9.2.0-dev.1 → 9.2.0-dev.10

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 (136) hide show
  1. package/CHANGELOG.md +112 -0
  2. package/README.md +32 -15
  3. package/build/command-manifest.json +81 -5
  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/diff.d.ts +4 -2
  8. package/build/commands/diff.d.ts.map +1 -1
  9. package/build/commands/diff.js +86 -13
  10. package/build/commands/diff.js.map +1 -1
  11. package/build/commands/drift.d.ts +2 -1
  12. package/build/commands/drift.d.ts.map +1 -1
  13. package/build/commands/drift.js +8 -3
  14. package/build/commands/drift.js.map +1 -1
  15. package/build/commands/freeze.d.ts +2 -2
  16. package/build/commands/freeze.d.ts.map +1 -1
  17. package/build/commands/freeze.js +45 -22
  18. package/build/commands/freeze.js.map +1 -1
  19. package/build/commands/info.d.ts.map +1 -1
  20. package/build/commands/info.js +18 -2
  21. package/build/commands/info.js.map +1 -1
  22. package/build/commands/install.d.ts +2 -2
  23. package/build/commands/install.d.ts.map +1 -1
  24. package/build/commands/install.js +285 -58
  25. package/build/commands/install.js.map +1 -1
  26. package/build/commands/outdated.d.ts +2 -1
  27. package/build/commands/outdated.d.ts.map +1 -1
  28. package/build/commands/outdated.js +11 -1
  29. package/build/commands/outdated.js.map +1 -1
  30. package/build/commands/pin.d.ts +2 -2
  31. package/build/commands/pin.d.ts.map +1 -1
  32. package/build/commands/pin.js +77 -46
  33. package/build/commands/pin.js.map +1 -1
  34. package/build/commands/schema.d.ts +1 -1
  35. package/build/commands/sync.d.ts +14 -2
  36. package/build/commands/sync.d.ts.map +1 -1
  37. package/build/commands/sync.js +86 -17
  38. package/build/commands/sync.js.map +1 -1
  39. package/build/commands/thaw.d.ts +2 -2
  40. package/build/commands/thaw.d.ts.map +1 -1
  41. package/build/commands/thaw.js +44 -21
  42. package/build/commands/thaw.js.map +1 -1
  43. package/build/commands/uninstall.d.ts +2 -2
  44. package/build/commands/uninstall.d.ts.map +1 -1
  45. package/build/commands/uninstall.js +35 -11
  46. package/build/commands/uninstall.js.map +1 -1
  47. package/build/commands/unpin.d.ts +2 -2
  48. package/build/commands/unpin.d.ts.map +1 -1
  49. package/build/commands/unpin.js +54 -25
  50. package/build/commands/unpin.js.map +1 -1
  51. package/build/commands/update.d.ts +3 -2
  52. package/build/commands/update.d.ts.map +1 -1
  53. package/build/commands/update.js +270 -74
  54. package/build/commands/update.js.map +1 -1
  55. package/build/components/BrowseList.d.ts +3 -1
  56. package/build/components/BrowseList.d.ts.map +1 -1
  57. package/build/components/BrowseList.js +12 -6
  58. package/build/components/BrowseList.js.map +1 -1
  59. package/build/components/BundleDetail.d.ts +3 -1
  60. package/build/components/BundleDetail.d.ts.map +1 -1
  61. package/build/components/BundleDetail.js +4 -2
  62. package/build/components/BundleDetail.js.map +1 -1
  63. package/build/components/DiffView.d.ts +34 -5
  64. package/build/components/DiffView.d.ts.map +1 -1
  65. package/build/components/DiffView.js +47 -8
  66. package/build/components/DiffView.js.map +1 -1
  67. package/build/components/Field.js +1 -1
  68. package/build/components/Field.js.map +1 -1
  69. package/build/components/HelpBar.d.ts +5 -1
  70. package/build/components/HelpBar.d.ts.map +1 -1
  71. package/build/components/HelpBar.js +18 -4
  72. package/build/components/HelpBar.js.map +1 -1
  73. package/build/components/InstallConfirmBar.d.ts +4 -2
  74. package/build/components/InstallConfirmBar.d.ts.map +1 -1
  75. package/build/components/InstallConfirmBar.js +15 -2
  76. package/build/components/InstallConfirmBar.js.map +1 -1
  77. package/build/components/index.d.ts +1 -1
  78. package/build/components/index.d.ts.map +1 -1
  79. package/build/components/index.js +1 -1
  80. package/build/components/index.js.map +1 -1
  81. package/build/hooks/useBrowseState.d.ts +31 -1
  82. package/build/hooks/useBrowseState.d.ts.map +1 -1
  83. package/build/hooks/useBrowseState.js +99 -15
  84. package/build/hooks/useBrowseState.js.map +1 -1
  85. package/build/hooks/useUninstallState.d.ts +22 -2
  86. package/build/hooks/useUninstallState.d.ts.map +1 -1
  87. package/build/hooks/useUninstallState.js +161 -16
  88. package/build/hooks/useUninstallState.js.map +1 -1
  89. package/build/lib/atk-api/generated/types.gen.d.ts +8 -8
  90. package/build/lib/atk-schemas/claude-plugin.d.ts +56 -0
  91. package/build/lib/atk-schemas/claude-plugin.d.ts.map +1 -0
  92. package/build/lib/atk-schemas/claude-plugin.js +199 -0
  93. package/build/lib/atk-schemas/claude-plugin.js.map +1 -0
  94. package/build/lib/atk-schemas/index.d.ts +3 -0
  95. package/build/lib/atk-schemas/index.d.ts.map +1 -1
  96. package/build/lib/atk-schemas/index.js +3 -0
  97. package/build/lib/atk-schemas/index.js.map +1 -1
  98. package/build/lib/config.d.ts +18 -0
  99. package/build/lib/config.d.ts.map +1 -1
  100. package/build/lib/config.js +32 -9
  101. package/build/lib/config.js.map +1 -1
  102. package/build/lib/diff-command.d.ts +43 -3
  103. package/build/lib/diff-command.d.ts.map +1 -1
  104. package/build/lib/diff-command.js +93 -15
  105. package/build/lib/diff-command.js.map +1 -1
  106. package/build/lib/format.d.ts +5 -0
  107. package/build/lib/format.d.ts.map +1 -1
  108. package/build/lib/format.js +7 -0
  109. package/build/lib/format.js.map +1 -1
  110. package/build/lib/install-targets.d.ts +90 -0
  111. package/build/lib/install-targets.d.ts.map +1 -0
  112. package/build/lib/install-targets.js +146 -0
  113. package/build/lib/install-targets.js.map +1 -0
  114. package/build/lib/installer.js +3 -2
  115. package/build/lib/installer.js.map +1 -1
  116. package/build/lib/named-entry.d.ts +24 -0
  117. package/build/lib/named-entry.d.ts.map +1 -0
  118. package/build/lib/named-entry.js +33 -0
  119. package/build/lib/named-entry.js.map +1 -0
  120. package/build/lib/resolver.d.ts +35 -0
  121. package/build/lib/resolver.d.ts.map +1 -1
  122. package/build/lib/resolver.js +65 -21
  123. package/build/lib/resolver.js.map +1 -1
  124. package/build/lib/sync.d.ts +9 -0
  125. package/build/lib/sync.d.ts.map +1 -1
  126. package/build/lib/sync.js +13 -8
  127. package/build/lib/sync.js.map +1 -1
  128. package/build/lib/uninstaller.d.ts +51 -3
  129. package/build/lib/uninstaller.d.ts.map +1 -1
  130. package/build/lib/uninstaller.js +134 -39
  131. package/build/lib/uninstaller.js.map +1 -1
  132. package/build/lib/updater.d.ts +6 -7
  133. package/build/lib/updater.d.ts.map +1 -1
  134. package/build/lib/updater.js +23 -33
  135. package/build/lib/updater.js.map +1 -1
  136. package/package.json +1 -1
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Box, Text } from 'ink';
2
+ import { Box, Text, useApp } from 'ink';
3
+ import { useCallback, useEffect, useMemo, useState } from 'react';
3
4
  import { z } from 'zod';
4
- import { assetCount, AssetVersionLine, DryRunBanner, ErrorView, LocalEditsHint, RunStoppedHint, SkippedAssetSection, Spinner, UndeclaredRemovedHint, } from '../components/index.js';
5
+ import { assetCount, AssetVersionLine, DryRunBanner, ErrorView, LocalEditsHint, MultiSelectList, RunStoppedHint, SkippedAssetSection, Spinner, UndeclaredRemovedHint, } from '../components/index.js';
5
6
  import { useCommand } from '../hooks/useCommand.js';
6
7
  import { useResolvedScope } from '../hooks/useResolvedScope.js';
7
8
  import { findLocalEdits, isDependedOn } from '../lib/local-edits.js';
@@ -13,7 +14,7 @@ import { fetchRegistry } from '../lib/registry.js';
13
14
  import { AssetType } from '../lib/schemas/index.js';
14
15
  import { loadScopeConfig, scopedCommand, scopeLabel } from '../lib/scope.js';
15
16
  import { resolvePlacingTools, resolveTools } from '../lib/tool-resolver.js';
16
- import { checkOutdated, findUpdateTarget, removeUndeclaredAfterUpdate, updateAssets, withDependencyEdits, } from '../lib/updater.js';
17
+ import { checkOutdated, findUpdateTarget, removeUndeclaredAfterUpdate, updateAssets, UpdaterError, withDependencyEdits, } from '../lib/updater.js';
17
18
  import { parseNameVersion } from '../lib/version.js';
18
19
  export const description = 'Update installed assets';
19
20
  export const options = z.object({
@@ -31,6 +32,14 @@ export const options = z.object({
31
32
  alias: 'f',
32
33
  description: 'Override version pins on targeted assets, and overwrite local edits',
33
34
  })),
35
+ interactive: z
36
+ .boolean()
37
+ .optional()
38
+ .describe(option({
39
+ // Not -i, which is --from-installed: a letter means one long flag on every command (ATK-596).
40
+ alias: 'I',
41
+ description: 'Pick the outdated assets to update from a list (needs an interactive terminal)',
42
+ })),
34
43
  json: z
35
44
  .boolean()
36
45
  .default(false)
@@ -70,53 +79,246 @@ export const options = z.object({
70
79
  description: 'Use the user scope (the user root, ~ by default) instead of the project',
71
80
  })),
72
81
  });
73
- export const args = z.tuple([
82
+ export const args = z
83
+ .tuple([
74
84
  z
75
85
  .string()
76
86
  .optional()
77
87
  .describe(argument({ description: 'Asset name (updates all if omitted, supports name@version syntax)', name: 'name' })),
78
- ]);
79
- export default function Update({ args: [rawName], options: { dryRun, force, json, projectRoot, tool, type, user }, }) {
80
- const parsed = rawName ? parseNameVersion(rawName) : undefined;
88
+ ])
89
+ .rest(z.string().describe(argument({ description: 'More assets to update to their latest versions', name: 'names' })));
90
+ export default function Update({ args: [rawName, ...more], options }) {
91
+ const specs = rawName ? [rawName, ...more] : more;
92
+ if (options.interactive)
93
+ return _jsx(UpdatePicker, { options: options, specs: specs });
94
+ return _jsx(UpdateRun, { options: options, specs: specs });
95
+ }
96
+ /** The outdated assets a run that names them all would leave alone, apart from those it updates. */
97
+ function byUpdatability(outdated, localEdits, { force, named }) {
98
+ const skippedEdited = [];
99
+ const skippedFrozen = [];
100
+ const skippedPinned = [];
101
+ const updatable = [];
102
+ for (const o of outdated) {
103
+ const edits = localEdits.get(identityKey(o));
104
+ if (o.frozen) {
105
+ skippedFrozen.push(o);
106
+ }
107
+ else if (o.pinned && !(force && named)) {
108
+ skippedPinned.push(o);
109
+ }
110
+ else if (edits) {
111
+ const { dependencies, files, unchecked } = edits;
112
+ skippedEdited.push({
113
+ ...o,
114
+ ...(dependencies ? { dependencies } : {}),
115
+ files,
116
+ ...(unchecked ? { unchecked } : {}),
117
+ });
118
+ }
119
+ else {
120
+ updatable.push(o);
121
+ }
122
+ }
123
+ return { skippedEdited, skippedFrozen, skippedPinned, updatable };
124
+ }
125
+ /** The outdated assets an update would leave alone because their files were edited. */
126
+ function EditedSkipped({ dryRun = false, items, scope, showSpacer, }) {
127
+ if (items.length === 0)
128
+ return null;
129
+ const force = scopedCommand('atk update <name> --force', scope);
130
+ return (_jsx(Box, { marginTop: showSpacer ? 1 : 0, children: _jsx(LocalEditsHint, { assets: items, heading: `${dryRun ? 'Would keep' : 'Kept'} local edits in ${assetCount(items.length)}, not updated (run ${force} to overwrite them):` }) }));
131
+ }
132
+ /**
133
+ * What every update run reads first, in this order: the scope, its frozen assets, the tools and
134
+ * the registry. `localEditsOf` finds the edits an update of `outdated` would overwrite.
135
+ */
136
+ async function loadUpdateContext(progress, { resolve, targetVersion, tool }) {
137
+ const { root: projectDir, scope } = await resolve();
138
+ // Load the scope's config to get frozen assets
139
+ const projectConfig = await loadScopeConfig(projectDir);
140
+ const frozenNames = new Set((projectConfig?.frozenAssets ?? []).map((a) => `${a.type}:${a.org ?? ''}:${a.name}`));
141
+ const tools = await resolvePlacingTools(tool, projectDir);
142
+ const toolNames = tools.map((t) => t.tool);
143
+ progress('Fetching registry...');
144
+ const registry = await fetchRegistry({ force: true });
145
+ // Found once, before any tool updates (each tool's update rewrites its files), and the same
146
+ // way for the dry run: the assets with edits, and those whose update would overwrite an
147
+ // edited dependency.
148
+ const localEditsOf = async (lockfile, outdated) => {
149
+ progress('Checking for local edits...');
150
+ const adapters = tools.map((t) => t.adapter);
151
+ // Only what the run can overwrite: the outdated assets it updates and the installed assets
152
+ // something depends on (a plan moves or drops those), never a frozen one.
153
+ const updating = new Set(outdated.filter((o) => !o.frozen).map(identityKey));
154
+ const own = await findLocalEdits(lockfile, adapters, projectDir, registry, (asset) => updating.has(identityKey(asset)) || isDependedOn(lockfile, asset));
155
+ return withDependencyEdits(outdated, lockfile, registry, own, {
156
+ adapters,
157
+ projectDir,
158
+ scope,
159
+ targetVersion,
160
+ });
161
+ };
162
+ return { frozenNames, localEditsOf, projectDir, registry, scope, toolNames, tools };
163
+ }
164
+ /** The installed assets several names (or the picker's choice) name, each once. */
165
+ function namedTargets(lockfile, targets, { root, scope }) {
166
+ const found = new Map();
167
+ for (const target of targets) {
168
+ if (typeof target === 'string') {
169
+ const installed = findUpdateTarget(lockfile, target, { root, scope });
170
+ found.set(identityKey(installed), installed);
171
+ continue;
172
+ }
173
+ const installed = (lockfile.assets ?? []).find((a) => identityKey(a) === identityKey(target));
174
+ if (!installed)
175
+ throw new UpdaterError(`Asset "${formatOrgName(target.org, target.name)}" is not installed.`);
176
+ found.set(identityKey(installed), installed);
177
+ }
178
+ return [...found.values()];
179
+ }
180
+ /** `atk update -i`: the outdated assets as a multi-select, then the update of the chosen ones. */
181
+ function UpdatePicker({ options, specs }) {
182
+ const { exit } = useApp();
183
+ const { dryRun, force, json, projectRoot, tool, type, user } = options;
184
+ const { isTTY, json: effectiveJson } = useNonInteractive(json);
185
+ const { fields, resolve, resolved } = useResolvedScope({ projectRoot, user });
186
+ const [chosen, setChosen] = useState();
187
+ const [cancelled, setCancelled] = useState(false);
188
+ const [cursorIndex, setCursorIndex] = useState(0);
189
+ const [selected, setSelected] = useState();
190
+ const state = useCommand(async (progress) => {
191
+ if (specs.length > 0) {
192
+ throw new UpdaterError('--interactive picks from the outdated assets, so it takes no names. Name the assets without -I, or run it alone.', { code: 'interactive_with_names', command: 'atk update -I' });
193
+ }
194
+ if (effectiveJson) {
195
+ throw new UpdaterError('Picking assets with --interactive needs an interactive terminal, without --json. Name the assets to update instead.', { code: 'interactive_requires_tty', command: 'atk update <name> <name>' });
196
+ }
197
+ const { frozenNames, localEditsOf, projectDir, registry, scope, toolNames } = await loadUpdateContext(progress, {
198
+ resolve,
199
+ tool,
200
+ });
201
+ progress('Reading lockfile...');
202
+ const lockfile = await readLockfile(projectDir);
203
+ // --type narrows the list to that type, which the update's commands then name.
204
+ const outdated = checkOutdated(lockfile, registry, frozenNames).filter((o) => !type || o.type === type);
205
+ if (outdated.length === 0)
206
+ return { outcome: 'up-to-date', tools: toolNames };
207
+ const localEdits = force ? new Map() : await localEditsOf(lockfile, outdated);
208
+ // Picking an asset names it, so --force lists pinned assets as a named update would take them.
209
+ const { updatable } = byUpdatability(outdated, localEdits, { force, named: true });
210
+ if (updatable.length === 0)
211
+ return { outcome: 'up-to-date', tools: toolNames };
212
+ return {
213
+ outcome: 'picking',
214
+ scope,
215
+ skipped: outdated.length - updatable.length,
216
+ tools: toolNames,
217
+ updatable,
218
+ };
219
+ }, [force, projectRoot, specs.join(' '), tool, type, user]);
220
+ useEffect(() => {
221
+ if (!cancelled)
222
+ return undefined;
223
+ const timer = setTimeout(() => {
224
+ exit();
225
+ }, 50);
226
+ return () => {
227
+ clearTimeout(timer);
228
+ };
229
+ }, [cancelled, exit]);
230
+ const picking = state.status === 'done' && state.data.outcome === 'picking' ? state.data : undefined;
231
+ // Every outdated asset starts selected, as the `@org` install picker's do.
232
+ const selectedKeys = useMemo(() => selected ?? picking?.updatable.map(identityKey) ?? [], [picking, selected]);
233
+ const handleConfirm = useCallback(() => {
234
+ if (!picking)
235
+ return;
236
+ const keys = new Set(selectedKeys);
237
+ const picked = picking.updatable.filter((o) => keys.has(identityKey(o)));
238
+ if (picked.length === 0)
239
+ return;
240
+ setChosen(picked.map(({ name, org, type }) => ({ name, ...(org ? { org } : {}), type })));
241
+ }, [picking, selectedKeys]);
242
+ const handleToggle = useCallback((key) => {
243
+ const next = new Set(selectedKeys);
244
+ if (next.has(key)) {
245
+ next.delete(key);
246
+ }
247
+ else {
248
+ next.add(key);
249
+ }
250
+ setSelected([...next]);
251
+ }, [selectedKeys]);
252
+ if (chosen)
253
+ return _jsx(UpdateRun, { options: options, picked: chosen, specs: [] });
254
+ if (state.status === 'loading') {
255
+ return _jsx(Spinner, { message: state.message });
256
+ }
257
+ if (state.status === 'error') {
258
+ if (effectiveJson) {
259
+ return renderJson({
260
+ ...(state.code ? { code: state.code } : {}),
261
+ ...(state.command ? { command: state.command } : {}),
262
+ ...(state.hint ? { hint: state.hint } : {}),
263
+ message: state.message,
264
+ outcome: 'error',
265
+ ...fields,
266
+ });
267
+ }
268
+ return _jsx(ErrorView, { command: state.command, hint: state.hint, message: state.message });
269
+ }
270
+ const where = resolved ? ` in ${scopeLabel(resolved)}` : '';
271
+ if (cancelled)
272
+ return _jsx(Text, { dimColor: true, children: "Update cancelled." });
273
+ if (!picking) {
274
+ return (_jsxs(Text, { color: 'green', children: ["\u2713 All assets are up to date for ", state.data.tools.join(', '), where, "."] }));
275
+ }
276
+ const items = picking.updatable.map((o) => ({
277
+ hint: `(${o.type}) v${o.installedVersion} → v${o.latestVersion}`,
278
+ key: identityKey(o),
279
+ label: formatOrgName(o.org, o.name),
280
+ }));
281
+ return (_jsx(MultiSelectList, { cursorIndex: cursorIndex, emptySelectionHint: 'Select at least one asset to continue', footer: picking.skipped > 0 ? (_jsxs(Text, { dimColor: true, children: ["Not listed: ", assetCount(picking.skipped), " frozen, pinned or with local edits (", scopedCommand('atk update --dry-run', picking.scope), " lists them)."] })) : undefined, isActive: isTTY, items: items, onCancel: () => {
282
+ setCancelled(true);
283
+ }, onConfirm: handleConfirm, onCursorChange: setCursorIndex, onToggle: handleToggle, selectedKeys: selectedKeys, title: _jsxs(Text, { children: [_jsxs(Text, { bold: true, children: [dryRun ? 'Select assets for the dry run' : 'Select assets to update', where] }), _jsxs(Text, { dimColor: true, children: [" (space to toggle, enter to ", dryRun ? 'check' : 'update', ", esc to cancel)"] })] }) }));
284
+ }
285
+ /**
286
+ * The update itself: every outdated asset (no `specs`), one named asset as before, or several
287
+ * (`specs`, or the assets `picked`), which update to their latest versions.
288
+ */
289
+ function UpdateRun({ options: { dryRun, force, json, projectRoot, tool, type, user }, picked, specs, }) {
290
+ const parsed = specs.length === 1 ? parseNameVersion(specs[0]) : undefined;
81
291
  const name = parsed?.name;
82
292
  const requestedVersion = parsed?.version;
293
+ const several = picked ?? (specs.length > 1 ? specs : undefined);
83
294
  const { json: effectiveJson } = useNonInteractive(json);
84
295
  const { fields, resolve, resolved } = useResolvedScope({ projectRoot, user });
85
296
  const state = useCommand(async (progress) => {
86
- const { root: projectDir, scope } = await resolve();
87
- // Load the scope's config to get frozen assets
88
- const projectConfig = await loadScopeConfig(projectDir);
89
- const frozenNames = new Set((projectConfig?.frozenAssets ?? []).map((a) => `${a.type}:${a.org ?? ''}:${a.name}`));
90
- const tools = await resolvePlacingTools(tool, projectDir);
91
- const toolNames = tools.map((t) => t.tool);
92
- progress('Fetching registry...');
93
- const registry = await fetchRegistry({ force: true });
94
- // Found once, before any tool updates (each tool's update rewrites its files), and the same
95
- // way for the dry run: the assets with edits, and those whose update would overwrite an
96
- // edited dependency.
97
- const localEditsOf = async (lockfile, outdated) => {
98
- progress('Checking for local edits...');
99
- const adapters = tools.map((t) => t.adapter);
100
- // Only what the run can overwrite: the outdated assets it updates and the installed assets
101
- // something depends on (a plan moves or drops those), never a frozen one.
102
- const updating = new Set(outdated.filter((o) => !o.frozen).map(identityKey));
103
- const own = await findLocalEdits(lockfile, adapters, projectDir, registry, (asset) => updating.has(identityKey(asset)) || isDependedOn(lockfile, asset));
104
- return withDependencyEdits(outdated, lockfile, registry, own, {
105
- adapters,
106
- projectDir,
107
- scope,
108
- targetVersion: requestedVersion,
109
- });
110
- };
297
+ if (specs.length > 1) {
298
+ const versioned = specs.find((spec) => parseNameVersion(spec).version);
299
+ if (versioned) {
300
+ throw new UpdaterError(`Several assets update to their latest versions, so "${versioned}" can't name a version. Update it to that version on its own.`, { command: `atk update ${versioned}` });
301
+ }
302
+ if (type) {
303
+ throw new UpdaterError('--type picks the type of one name, so it works with one asset only. Update that asset on its own.');
304
+ }
305
+ }
306
+ const { frozenNames, localEditsOf, projectDir, registry, scope, toolNames, tools } = await loadUpdateContext(progress, { resolve, targetVersion: requestedVersion, tool });
111
307
  // Pre-check: validate the asset is installed (read-only, no lock needed)
112
308
  progress('Reading lockfile...');
113
309
  const preCheckLockfile = await readLockfile(projectDir);
114
310
  const target = name
115
311
  ? findUpdateTarget(preCheckLockfile, name, { root: projectDir, scope, type, version: requestedVersion })
116
312
  : undefined;
313
+ const targets = several ? namedTargets(preCheckLockfile, several, { root: projectDir, scope }) : undefined;
117
314
  if ((preCheckLockfile.assets ?? []).length === 0) {
118
315
  return { outcome: 'up-to-date', tools: toolNames };
119
316
  }
317
+ // The named assets already at their latest version, which several names report, not refuse.
318
+ const upToDateOf = (outdated) => {
319
+ const current = (targets ?? []).filter((t) => !outdated.some((o) => identityKey(o) === identityKey(t)));
320
+ return current.length > 0 ? { upToDate: current.map(upToDateAsset) } : {};
321
+ };
120
322
  // Dry-run: check outdated, return plan
121
323
  if (dryRun) {
122
324
  const lockfile = preCheckLockfile;
@@ -124,41 +326,24 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
124
326
  if (target) {
125
327
  outdated = outdated.filter((o) => o.name === target.name && o.type === target.type && o.org === target.org);
126
328
  }
329
+ if (targets) {
330
+ outdated = outdated.filter((o) => targets.some((t) => identityKey(t) === identityKey(o)));
331
+ }
332
+ const upToDate = upToDateOf(outdated);
127
333
  if (outdated.length === 0) {
128
- return { outcome: 'up-to-date', tools: toolNames };
334
+ return { outcome: 'up-to-date', tools: toolNames, ...upToDate };
129
335
  }
130
336
  // Separate frozen, pinned and edited assets from updatable ones
131
337
  const localEdits = force ? new Map() : await localEditsOf(lockfile, outdated);
132
- const skippedEdited = [];
133
- const skippedFrozen = [];
134
- const skippedPinned = [];
135
- const updatable = [];
136
- for (const o of outdated) {
137
- const edits = localEdits.get(identityKey(o));
138
- if (o.frozen) {
139
- skippedFrozen.push(o);
140
- }
141
- else if (o.pinned && !(force && name)) {
142
- skippedPinned.push(o);
143
- }
144
- else if (edits) {
145
- const { dependencies, files, unchecked } = edits;
146
- skippedEdited.push({
147
- ...o,
148
- ...(dependencies ? { dependencies } : {}),
149
- files,
150
- ...(unchecked ? { unchecked } : {}),
151
- });
152
- }
153
- else {
154
- updatable.push(o);
155
- }
156
- }
338
+ const { skippedEdited, skippedFrozen, skippedPinned, updatable } = byUpdatability(outdated, localEdits, {
339
+ force,
340
+ named: !!name || !!targets,
341
+ });
157
342
  if (updatable.length === 0 &&
158
343
  skippedPinned.length === 0 &&
159
344
  skippedFrozen.length === 0 &&
160
345
  skippedEdited.length === 0) {
161
- return { outcome: 'up-to-date', tools: toolNames };
346
+ return { outcome: 'up-to-date', tools: toolNames, ...upToDate };
162
347
  }
163
348
  return {
164
349
  outcome: 'dry-run',
@@ -168,15 +353,19 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
168
353
  skippedFrozen,
169
354
  skippedPinned,
170
355
  tools: toolNames,
356
+ ...upToDate,
171
357
  };
172
358
  }
173
359
  return await withLockfileErrorHandling(projectDir, async () => {
174
360
  progress('Reading lockfile...');
175
361
  const lockfile = await readLockfile(projectDir);
176
362
  const outdated = checkOutdated(lockfile, registry, frozenNames);
177
- const targetNames = name ? [name] : undefined;
178
- if (!name && outdated.length === 0) {
179
- return { outcome: 'up-to-date', tools: toolNames };
363
+ // Several names update only the outdated ones; the others are reported as up to date.
364
+ const outdatedTargets = targets?.filter((t) => outdated.some((o) => identityKey(o) === identityKey(t)));
365
+ const upToDate = upToDateOf(outdated);
366
+ const targetNames = outdatedTargets ?? (name ? [name] : undefined);
367
+ if (!name && (outdatedTargets ?? outdated).length === 0) {
368
+ return { outcome: 'up-to-date', tools: toolNames, ...upToDate };
180
369
  }
181
370
  // Every configured tool, also under --tool: a dropped dependency keeps its lockfile
182
371
  // entry while a tool that was not updated still has it.
@@ -192,7 +381,11 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
192
381
  // one (unless another asset's plan moved it there after all). Once a tool has the new version the lockfile records it, so the later tools
193
382
  // carry on and the failed tool's error names its sync command.
194
383
  const failedFor = new Map();
195
- const candidates = target ? outdated.filter((o) => identityKey(o) === identityKey(target)) : outdated;
384
+ const candidates = target
385
+ ? outdated.filter((o) => identityKey(o) === identityKey(target))
386
+ : outdatedTargets
387
+ ? outdated.filter((o) => outdatedTargets.some((t) => identityKey(t) === identityKey(o)))
388
+ : outdated;
196
389
  const localEdits = force ? undefined : await localEditsOf(lockfile, candidates);
197
390
  const updatedFor = new Set();
198
391
  const toolResults = [];
@@ -263,7 +456,7 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
263
456
  !tr.removedUndeclared?.length &&
264
457
  !tr.removeFailures?.length);
265
458
  if (allEmpty) {
266
- return { outcome: 'up-to-date', tools: toolNames };
459
+ return { outcome: 'up-to-date', tools: toolNames, ...upToDate };
267
460
  }
268
461
  if (toolResults.some((tr) => tr.failures.length > 0 || (tr.removeFailures?.length ?? 0) > 0)) {
269
462
  const anyUpdated = toolResults.some((tr) => tr.results.length > 0);
@@ -272,11 +465,12 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
272
465
  outcome: anyUpdated ? 'partial' : 'failed',
273
466
  scope,
274
467
  toolResults,
468
+ ...upToDate,
275
469
  };
276
470
  }
277
- return { outcome: 'success', scope, toolResults };
471
+ return { outcome: 'success', scope, toolResults, ...upToDate };
278
472
  });
279
- }, [dryRun, force, name, projectRoot, requestedVersion, tool, type, user]);
473
+ }, [dryRun, force, name, projectRoot, requestedVersion, specs.join(' '), tool, type, user]);
280
474
  if (state.status === 'loading') {
281
475
  return _jsx(Spinner, { message: state.message });
282
476
  }
@@ -302,11 +496,13 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
302
496
  return renderJson({ ...data, ...fields });
303
497
  }
304
498
  if (data.outcome === 'up-to-date') {
499
+ if (data.upToDate)
500
+ return _jsx(UpToDateLine, { assets: data.upToDate, where: where });
305
501
  return (_jsxs(Text, { color: 'green', children: ["\u2713 All assets are up to date for ", data.tools.join(', '), where, "."] }));
306
502
  }
307
503
  if (data.outcome === 'dry-run') {
308
504
  const hasUpdatable = data.outdated.length > 0;
309
- return (_jsxs(Box, { flexDirection: 'column', children: [hasUpdatable && (_jsxs(_Fragment, { children: [_jsx(DryRunBanner, { action: 'update', count: data.outdated.length, tools: data.tools, where: resolved && scopeLabel(resolved) }), _jsx(Box, { flexDirection: 'column', marginTop: 1, children: data.outdated.map((o) => (_jsx(AssetVersionLine, { installedVersion: o.installedVersion, latestVersion: o.latestVersion, name: o.name, type: o.type }, `${o.type}/${o.org ?? ''}/${o.name}`))) })] })), _jsx(SkippedAssetSection, { badgeText: 'frozen', color: 'cyan', hint: `use ${scopedCommand('atk thaw', data.scope)} to unfreeze`, icon: '\u2744', items: data.skippedFrozen, label: 'frozen', showSpacer: hasUpdatable }), _jsx(SkippedAssetSection, { badgeText: 'pinned', color: 'yellow', hint: 'update by name with --force to override', icon: '\u2298', items: data.skippedPinned, label: 'pinned', showSpacer: hasUpdatable || data.skippedFrozen.length > 0 }), _jsx(EditedSkipped, { dryRun: true, items: data.skippedEdited, scope: data.scope, showSpacer: hasUpdatable || data.skippedFrozen.length > 0 || data.skippedPinned.length > 0 })] }));
505
+ return (_jsxs(Box, { flexDirection: 'column', children: [hasUpdatable && (_jsxs(_Fragment, { children: [_jsx(DryRunBanner, { action: 'update', count: data.outdated.length, tools: data.tools, where: resolved && scopeLabel(resolved) }), _jsx(Box, { flexDirection: 'column', marginTop: 1, children: data.outdated.map((o) => (_jsx(AssetVersionLine, { installedVersion: o.installedVersion, latestVersion: o.latestVersion, name: o.name, type: o.type }, `${o.type}/${o.org ?? ''}/${o.name}`))) })] })), _jsx(SkippedAssetSection, { badgeText: 'frozen', color: 'cyan', hint: `use ${scopedCommand('atk thaw', data.scope)} to unfreeze`, icon: '\u2744', items: data.skippedFrozen, label: 'frozen', showSpacer: hasUpdatable }), _jsx(SkippedAssetSection, { badgeText: 'pinned', color: 'yellow', hint: 'update by name with --force to override', icon: '\u2298', items: data.skippedPinned, label: 'pinned', showSpacer: hasUpdatable || data.skippedFrozen.length > 0 }), _jsx(EditedSkipped, { dryRun: true, items: data.skippedEdited, scope: data.scope, showSpacer: hasUpdatable || data.skippedFrozen.length > 0 || data.skippedPinned.length > 0 }), data.upToDate && (_jsx(Box, { marginTop: 1, children: _jsx(UpToDateLine, { assets: data.upToDate, where: where }) }))] }));
310
506
  }
311
507
  const stoppedAt = data.toolResults.find((tr) => tr.notAttempted);
312
508
  return (_jsxs(Box, { flexDirection: 'column', children: [data.toolResults.map(({ editedSkipped, excludedSkipped, failures, frozenSkipped, removedUndeclared, removeFailures, results, skipped, tool: resolvedTool, }) => (_jsxs(Box, { flexDirection: 'column', children: [results.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(Text, { color: 'green', children: ["\u2713 Updated ", results.length, " asset", results.length !== 1 ? 's' : '', " for ", resolvedTool, where] }), _jsx(Box, { flexDirection: 'column', marginTop: 1, children: results.map((r) => (_jsxs(Box, { flexDirection: 'column', children: [_jsx(AssetVersionLine, { installedVersion: r.fromVersion, latestVersion: r.toVersion, name: r.name, type: r.type }), r.installResult.filesPlaced.map((f) => (_jsxs(Text, { dimColor: true, wrap: 'truncate', children: [' ', "\u2192 ", f.destination] }, f.destination))), (r.warnings ?? []).map((w, i) => (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'yellow', children: [' ', "\u26A0 ", w.message] }), _jsxs(Text, { dimColor: true, children: [' ', w.command] })] }, i)))] }, `${r.type}/${r.org ?? ''}/${r.name}`))) })] })), failures.length > 0 && (_jsxs(Box, { flexDirection: 'column', marginTop: results.length > 0 ? 1 : 0, children: [_jsxs(Text, { color: 'red', children: ["\u2717 Failed to update ", failures.length, " asset", failures.length !== 1 ? 's' : ''] }), _jsx(Box, { flexDirection: 'column', paddingLeft: 2, children: failures.map((f) => (_jsx(ErrorView, { command: f.command, hint: f.hint, message: f.error }, `${f.type}/${f.org ?? ''}/${f.name}`))) })] })), _jsx(SkippedAssetSection, { badgeText: 'frozen', color: 'cyan', hint: `use ${scopedCommand('atk thaw', data.scope)} to unfreeze`, icon: '\u2744', items: frozenSkipped ?? [], label: 'frozen', showSpacer: results.length > 0 || failures.length > 0 }), _jsx(SkippedAssetSection, { badgeText: 'pinned', color: 'yellow', hint: 'update by name with --force to override', icon: '\u2298', items: skipped ?? [], label: 'pinned', showSpacer: results.length > 0 || failures.length > 0 || (frozenSkipped ?? []).length > 0 }), _jsx(EditedSkipped, { items: editedSkipped ?? [], scope: data.scope, showSpacer: results.length > 0 ||
@@ -314,13 +510,13 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
314
510
  (frozenSkipped ?? []).length > 0 ||
315
511
  (skipped ?? []).length > 0 }), (excludedSkipped ?? []).length > 0 && (_jsxs(Text, { dimColor: true, children: ["Skipped for ", resolvedTool, " (uninstalled for this tool):", ' ', (excludedSkipped ?? []).map((a) => a.name).join(', ')] })), _jsx(UndeclaredRemovedHint, { assets: removedUndeclared ?? [], tool: resolvedTool }), (removeFailures ?? []).map((f) => (_jsx(ErrorView, { command: f.command, hint: f.hint, message: f.error }, `remove/${f.type}/${f.org ?? ''}/${f.name}`)))] }, resolvedTool))), data.toolResults.flatMap(({ failedSkipped, tool: resolvedTool }) => (failedSkipped ?? []).map((a) => (_jsxs(Text, { dimColor: true, children: ["Not updated for ", resolvedTool, " (", a.dependency
316
512
  ? `its dependency ${formatOrgName(a.dependency.org, a.dependency.name)} failed to update`
317
- : 'update failed', ' ', "for ", a.failedFor, "): ", a.name] }, `failed/${resolvedTool}/${a.type}/${a.org ?? ''}/${a.name}`)))), stoppedAt?.notAttempted && (_jsx(RunStoppedHint, { notAttempted: stoppedAt.notAttempted, notRunTools: data.notRunTools ?? [] }))] }));
513
+ : 'update failed', ' ', "for ", a.failedFor, "): ", a.name] }, `failed/${resolvedTool}/${a.type}/${a.org ?? ''}/${a.name}`)))), stoppedAt?.notAttempted && (_jsx(RunStoppedHint, { notAttempted: stoppedAt.notAttempted, notRunTools: data.notRunTools ?? [] })), data.upToDate && (_jsx(Box, { marginTop: 1, children: _jsx(UpToDateLine, { assets: data.upToDate, where: where }) }))] }));
318
514
  }
319
- /** The outdated assets an update left alone (or, in a dry run, would) because their files were edited. */
320
- function EditedSkipped({ dryRun = false, items, scope, showSpacer, }) {
321
- if (items.length === 0)
322
- return null;
323
- const force = scopedCommand('atk update <name> --force', scope);
324
- return (_jsx(Box, { marginTop: showSpacer ? 1 : 0, children: _jsx(LocalEditsHint, { assets: items, heading: `${dryRun ? 'Would keep' : 'Kept'} local edits in ${assetCount(items.length)}, not updated (run ${force} to overwrite them):` }) }));
515
+ function upToDateAsset({ name, org, type, version }) {
516
+ return { name, ...(org ? { org } : {}), type, version };
517
+ }
518
+ /** The named assets already at their latest version. */
519
+ function UpToDateLine({ assets, where }) {
520
+ return (_jsxs(Text, { color: 'green', children: ["\u2713 Already at the latest version", where, ":", ' ', assets.map((a) => `${formatOrgName(a.org, a.name)} (v${a.version})`).join(', ')] }));
325
521
  }
326
522
  //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,OAAO,EACP,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAmB,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAc,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EACL,aAAa,EACb,gBAAgB,EAEhB,2BAA2B,EAE3B,YAAY,EAIZ,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,WAAW,GAAG,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,MAAM,EAAE,CAAC;SACN,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,mDAAmD;KACjE,CAAC,CACH;IACH,KAAK,EAAE,CAAC;SACL,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,qEAAqE;KACnF,CAAC,CACH;IACH,IAAI,EAAE,CAAC;SACJ,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,wCAAwC;KACtD,CAAC,CACH;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,iCAAiC;KAC/C,CAAC,CACH;IACH,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,4EAA4E;KAC1F,CAAC,CACH;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,iCAAiC;KAC/C,CAAC,CACH;IACH,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACjC,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,+EAA+E;KAC7F,CAAC,CACH;IACD,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,CACP,QAAQ,CAAC,EAAE,WAAW,EAAE,mEAAmE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAC7G;CACJ,CAAC,CAAC;AAoDH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,IAAI,EAAE,CAAC,OAAO,CAAC,EACf,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GACzD;IACN,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC;IAC1B,MAAM,gBAAgB,GAAG,MAAM,EAAE,OAAO,CAAC;IACzC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAE9E,MAAM,KAAK,GAAG,UAAU,CACtB,KAAK,EAAE,QAAQ,EAAE,EAAE;QACjB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC;QAEpD,+CAA+C;QAC/C,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,CAAC,aAAa,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CACrF,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE3C,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtD,4FAA4F;QAC5F,wFAAwF;QACxF,qBAAqB;QACrB,MAAM,YAAY,GAAG,KAAK,EAAE,QAAkB,EAAE,QAAyB,EAAE,EAAE;YAC3E,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC7C,2FAA2F;YAC3F,0EAA0E;YAC1E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;YAC7E,MAAM,GAAG,GAAG,MAAM,cAAc,CAC9B,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAC7E,CAAC;YACF,OAAO,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE;gBAC5D,QAAQ;gBACR,UAAU;gBACV,KAAK;gBACL,aAAa,EAAE,gBAAgB;aAChC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,yEAAyE;QACzE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAChC,MAAM,gBAAgB,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,IAAI;YACjB,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;YACxG,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAW,CAAC;QAC9D,CAAC;QAED,uCAAuC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAElC,IAAI,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAE9D,IAAI,MAAM,EAAE,CAAC;gBACX,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9G,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAW,CAAC;YAC9D,CAAC;YAED,gEAAgE;YAChE,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAsB,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAClG,MAAM,aAAa,GAAqB,EAAE,CAAC;YAC3C,MAAM,aAAa,GAAoB,EAAE,CAAC;YAC1C,MAAM,aAAa,GAAoB,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAoB,EAAE,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oBACb,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxB,CAAC;qBAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;oBACxC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACxB,CAAC;qBAAM,IAAI,KAAK,EAAE,CAAC;oBACjB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;oBACjD,aAAa,CAAC,IAAI,CAAC;wBACjB,GAAG,CAAC;wBACJ,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzC,KAAK;wBACL,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACpC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,IACE,SAAS,CAAC,MAAM,KAAK,CAAC;gBACtB,aAAa,CAAC,MAAM,KAAK,CAAC;gBAC1B,aAAa,CAAC,MAAM,KAAK,CAAC;gBAC1B,aAAa,CAAC,MAAM,KAAK,CAAC,EAC1B,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAW,CAAC;YAC9D,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,SAAS;gBACnB,KAAK;gBACL,aAAa;gBACb,aAAa;gBACb,aAAa;gBACb,KAAK,EAAE,SAAS;aACR,CAAC;QACb,CAAC;QAED,OAAO,MAAM,yBAAyB,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;YAC5D,QAAQ,CAAC,qBAAqB,CAAC,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;YAEhD,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAChE,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE9C,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAW,CAAC;YAC9D,CAAC;YAED,oFAAoF;YACpF,wDAAwD;YACxD,MAAM,kBAAkB,GAAG,IAAI;gBAC7B,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACnF,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAEhC,8EAA8E;YAC9E,gFAAgF;YAChF,+EAA+E;YAC/E,8EAA8E;YAC9E,uFAAuF;YACvF,qFAAqF;YACrF,0IAA0I;YAC1I,+DAA+D;YAC/D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtG,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAChF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;YACrC,MAAM,WAAW,GAAwB,EAAE,CAAC;YAC5C,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4B,CAAC;YAC1D,6FAA6F;YAC7F,gEAAgE;YAChE,MAAM,UAAU,GAA0B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACnF,KAAK,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC;gBAC7D,QAAQ,CAAC,uBAAuB,QAAQ,KAAK,CAAC,CAAC;gBAC/C,MAAM,EACJ,aAAa,EACb,eAAe,EACf,aAAa,EACb,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,OAAO,EACP,OAAO,EACP,UAAU,GACX,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE;oBACtD,OAAO,EAAE,WAAW;oBACpB,kBAAkB;oBAClB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrC,SAAS;oBACT,KAAK;oBACL,YAAY,EAAE,WAAW;oBACzB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrC,UAAU,EAAE,QAAQ;oBACpB,UAAU;oBACV,KAAK;oBACL,aAAa,EAAE,gBAAgB;oBAC/B,IAAI;iBACL,CAAC,CAAC;gBACH,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvD,CAAC;gBACD,iGAAiG;gBACjG,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACzB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;oBACjD,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACtE,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC;oBACf,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/C,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,QAAQ;oBACR,aAAa;oBACb,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzC,OAAO;oBACP,OAAO;oBACP,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAC;gBACH,IAAI,UAAU;oBAAE,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACxD,yFAAyF;gBACzF,IAAI,YAAY;oBAAE,MAAM;YAC1B,CAAC;YACD,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAExD,0FAA0F;YAC1F,mFAAmF;YACnF,KAAK,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;gBACpD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,2BAA2B,CAC7D,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EACxC,QAAQ,EACR,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,CACzF,CAAC;gBACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;oBAAE,UAAU,CAAC,cAAc,GAAG,QAAQ,CAAC;gBAC9D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;oBAAE,UAAU,CAAC,iBAAiB,GAAG,OAAO,CAAC;YACjE,CAAC;YAED,0CAA0C;YAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAChC,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBACvB,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBACxB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM;gBACnB,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM;gBACzB,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM;gBACzB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM;gBAC3B,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM;gBACzB,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM;gBAC7B,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,CAC7B,CAAC;YACF,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAW,CAAC;YAC9D,CAAC;YAED,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC7F,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACnE,OAAO;oBACL,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClD,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;oBAC1C,KAAK;oBACL,WAAW;iBACH,CAAC;YACb,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAW,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CACvE,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAC,OAAO,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC;IAC7C,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC7B,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,UAAU,CAAC;gBAChB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,OAAO;gBAChB,GAAG,MAAM;aACV,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAC,SAAS,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC;IACzF,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5D,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;QAClC,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,sDACgB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EACrD,KAAK,SACD,CACR,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAE9C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACxB,YAAY,IAAI,CACf,8BACE,KAAC,YAAY,IACX,MAAM,EAAC,QAAQ,EACf,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAE,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,GACvC,EACF,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACxB,KAAC,gBAAgB,IACf,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,EAEpC,aAAa,EAAE,CAAC,CAAC,aAAa,EAC9B,IAAI,EAAE,CAAC,CAAC,IAAI,EACZ,IAAI,EAAE,CAAC,CAAC,IAAI,IAHP,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAIzC,CACH,CAAC,GACE,IACL,CACJ,EACD,KAAC,mBAAmB,IAClB,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAC,MAAM,EACZ,IAAI,EAAE,OAAO,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAChE,IAAI,EAAC,QAAG,EACR,KAAK,EAAE,IAAI,CAAC,aAAa,EACzB,KAAK,EAAC,QAAQ,EACd,UAAU,EAAE,YAAY,GACxB,EACF,KAAC,mBAAmB,IAClB,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAC,QAAQ,EACd,IAAI,EAAC,yCAAyC,EAC9C,IAAI,EAAC,QAAG,EACR,KAAK,EAAE,IAAI,CAAC,aAAa,EACzB,KAAK,EAAC,QAAQ,EACd,UAAU,EAAE,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,GACzD,EACF,KAAC,aAAa,IACZ,MAAM,QACN,KAAK,EAAE,IAAI,CAAC,aAAa,EACzB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,UAAU,EAAE,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,GAC1F,IACE,CACP,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IAEjE,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACxB,IAAI,CAAC,WAAW,CAAC,GAAG,CACnB,CAAC,EACC,aAAa,EACb,eAAe,EACf,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,OAAO,EACP,IAAI,EAAE,YAAY,GACnB,EAAE,EAAE,CAAC,CACJ,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACxB,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACrB,8BACE,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,gCACN,OAAO,CAAC,MAAM,YAAQ,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAO,YAAY,EAClF,KAAK,IACD,EACP,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACrC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAClB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,gBAAgB,IACf,gBAAgB,EAAE,CAAC,CAAC,WAAW,EAC/B,aAAa,EAAE,CAAC,CAAC,SAAS,EAC1B,IAAI,EAAE,CAAC,CAAC,IAAI,EACZ,IAAI,EAAE,CAAC,CAAC,IAAI,GACZ,EACD,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACtC,MAAC,IAAI,IAAC,QAAQ,QAAqB,IAAI,EAAC,UAAU,aAC/C,IAAI,aAAI,CAAC,CAAC,WAAW,KADJ,CAAC,CAAC,WAAW,CAE1B,CACR,CAAC,EACD,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAChC,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,aACjB,IAAI,aAAI,CAAC,CAAC,OAAO,IACb,EACP,MAAC,IAAI,IAAC,QAAQ,mBACX,MAAM,EACN,CAAC,CAAC,OAAO,IACL,KAPwB,CAAC,CAQ5B,CACP,CAAC,KAtB6B,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAuB/D,CACP,CAAC,GACE,IACL,CACJ,EACA,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACtB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAC/D,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,yCACK,QAAQ,CAAC,MAAM,YAAQ,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IACtE,EACP,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,YACvC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACnB,KAAC,SAAS,IACR,OAAO,EAAE,CAAC,CAAC,OAAO,EAClB,IAAI,EAAE,CAAC,CAAC,IAAI,EAEZ,OAAO,EAAE,CAAC,CAAC,KAAK,IADX,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAEzC,CACH,CAAC,GACE,IACF,CACP,EACD,KAAC,mBAAmB,IAClB,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAC,MAAM,EACZ,IAAI,EAAE,OAAO,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAChE,IAAI,EAAC,QAAG,EACR,KAAK,EAAE,aAAa,IAAI,EAAE,EAC1B,KAAK,EAAC,QAAQ,EACd,UAAU,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,GACrD,EACF,KAAC,mBAAmB,IAClB,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAC,QAAQ,EACd,IAAI,EAAC,yCAAyC,EAC9C,IAAI,EAAC,QAAG,EACR,KAAK,EAAE,OAAO,IAAI,EAAE,EACpB,KAAK,EAAC,QAAQ,EACd,UAAU,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,GACzF,EACF,KAAC,aAAa,IACZ,KAAK,EAAE,aAAa,IAAI,EAAE,EAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,UAAU,EACR,OAAO,CAAC,MAAM,GAAG,CAAC;4BAClB,QAAQ,CAAC,MAAM,GAAG,CAAC;4BACnB,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;4BAChC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,GAE5B,EACD,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CACrC,MAAC,IAAI,IAAC,QAAQ,mCACC,YAAY,mCAA+B,GAAG,EAC1D,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IACjD,CACR,EACD,KAAC,qBAAqB,IAAC,MAAM,EAAE,iBAAiB,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,GAAI,EAC7E,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACjC,KAAC,SAAS,IACR,OAAO,EAAE,CAAC,CAAC,OAAO,EAClB,IAAI,EAAE,CAAC,CAAC,IAAI,EAEZ,OAAO,EAAE,CAAC,CAAC,KAAK,IADX,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAEhD,CACH,CAAC,KAhG6B,YAAY,CAiGvC,CACP,CACF,EACA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAClE,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC/B,MAAC,IAAI,IAAC,QAAQ,uCACK,YAAY,QAC5B,CAAC,CAAC,UAAU;wBACX,CAAC,CAAC,kBAAkB,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB;wBACzF,CAAC,CAAC,eAAe,EAAE,GAAG,UACnB,CAAC,CAAC,SAAS,SAAK,CAAC,CAAC,IAAI,KALT,UAAU,YAAY,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAMxE,CACR,CAAC,CACH,EACA,SAAS,EAAE,YAAY,IAAI,CAC1B,KAAC,cAAc,IAAC,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,GAAI,CAC9F,IACG,CACP,CAAC;AACJ,CAAC;AAED,0GAA0G;AAC1G,SAAS,aAAa,CAAC,EACrB,MAAM,GAAG,KAAK,EACd,KAAK,EACL,KAAK,EACL,UAAU,GAMX;IACC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,KAAK,GAAG,aAAa,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;IAChE,OAAO,CACL,KAAC,GAAG,IAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAChC,KAAC,cAAc,IACb,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,mBAAmB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,KAAK,sBAAsB,GACtI,GACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.tsx"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ interface BrowseListProps {
12
12
  items: BrowseItem[];
13
13
  /** Current lockfile for installed badges */
14
14
  lockfile: Lockfile;
15
+ /** The marked rows' keys ({@link browseItemKey}) */
16
+ marked?: ReadonlySet<string>;
15
17
  /** All registry assets for resolving transitive dependencies */
16
18
  registryAssets: RegistryAsset[];
17
19
  /** First visible item index */
@@ -25,6 +27,6 @@ interface BrowseListProps {
25
27
  /** ATK web app URL for the expanded item's page, or null */
26
28
  webUrl: null | string;
27
29
  }
28
- export default function BrowseList({ cursorIndex, expandedIndex, hasOrg, items, lockfile, registryAssets, scrollOffset, terminalWidth, typeFilter, viewportHeight, webUrl, }: BrowseListProps): import("react").JSX.Element;
30
+ export default function BrowseList({ cursorIndex, expandedIndex, hasOrg, items, lockfile, marked, registryAssets, scrollOffset, terminalWidth, typeFilter, viewportHeight, webUrl, }: BrowseListProps): import("react").JSX.Element;
29
31
  export {};
30
32
  //# sourceMappingURL=BrowseList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowseList.d.ts","sourceRoot":"","sources":["../../src/components/BrowseList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE9E,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AA2D3D,UAAU,eAAe;IACvB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,aAAa,EAAE,IAAI,GAAG,MAAM,CAAC;IAC7B,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,gCAAgC;IAChC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,4CAA4C;IAC5C,QAAQ,EAAE,QAAQ,CAAC;IACnB,gEAAgE;IAChE,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,UAAU,EAAE,eAAe,CAAC;IAC5B,iDAAiD;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC;CACvB;AAaD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,WAAW,EACX,aAAa,EACb,MAAM,EACN,KAAK,EACL,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,aAAa,EACb,UAAU,EACV,cAAc,EACd,MAAM,GACP,EAAE,eAAe,+BAkHjB"}
1
+ {"version":3,"file":"BrowseList.d.ts","sourceRoot":"","sources":["../../src/components/BrowseList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE9E,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AA8D3D,UAAU,eAAe;IACvB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,aAAa,EAAE,IAAI,GAAG,MAAM,CAAC;IAC7B,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAC;IAChB,gCAAgC;IAChC,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,4CAA4C;IAC5C,QAAQ,EAAE,QAAQ,CAAC;IACnB,oDAAoD;IACpD,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,gEAAgE;IAChE,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,UAAU,EAAE,eAAe,CAAC;IAC5B,iDAAiD;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC;CACvB;AAaD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,WAAW,EACX,aAAa,EACb,MAAM,EACN,KAAK,EACL,QAAQ,EACR,MAAkB,EAClB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,UAAU,EACV,cAAc,EACd,MAAM,GACP,EAAE,eAAe,+BAqHjB"}