@detergent-software/atk 8.7.0-dev.3 → 8.7.0-dev.4

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 (40) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/build/commands/browse.d.ts.map +1 -1
  3. package/build/commands/browse.js +21 -13
  4. package/build/commands/browse.js.map +1 -1
  5. package/build/commands/list.d.ts +2 -1
  6. package/build/commands/list.d.ts.map +1 -1
  7. package/build/commands/list.js +82 -66
  8. package/build/commands/list.js.map +1 -1
  9. package/build/commands/outdated.d.ts +2 -1
  10. package/build/commands/outdated.d.ts.map +1 -1
  11. package/build/commands/outdated.js +67 -24
  12. package/build/commands/outdated.js.map +1 -1
  13. package/build/components/InstallConfirmBar.d.ts.map +1 -1
  14. package/build/components/InstallConfirmBar.js +1 -3
  15. package/build/components/InstallConfirmBar.js.map +1 -1
  16. package/build/components/ListActionBar.d.ts +4 -2
  17. package/build/components/ListActionBar.d.ts.map +1 -1
  18. package/build/components/ListActionBar.js +5 -4
  19. package/build/components/ListActionBar.js.map +1 -1
  20. package/build/components/ListBrowseList.d.ts +7 -6
  21. package/build/components/ListBrowseList.d.ts.map +1 -1
  22. package/build/components/ListBrowseList.js +10 -6
  23. package/build/components/ListBrowseList.js.map +1 -1
  24. package/build/hooks/useListActions.d.ts +19 -6
  25. package/build/hooks/useListActions.d.ts.map +1 -1
  26. package/build/hooks/useListActions.js +36 -33
  27. package/build/hooks/useListActions.js.map +1 -1
  28. package/build/hooks/useListState.d.ts +29 -12
  29. package/build/hooks/useListState.d.ts.map +1 -1
  30. package/build/hooks/useListState.js +22 -6
  31. package/build/hooks/useListState.js.map +1 -1
  32. package/build/lib/diagnostics.d.ts +2 -2
  33. package/build/lib/diagnostics.d.ts.map +1 -1
  34. package/build/lib/diagnostics.js +112 -5
  35. package/build/lib/diagnostics.js.map +1 -1
  36. package/build/lib/read-scopes.d.ts +32 -0
  37. package/build/lib/read-scopes.d.ts.map +1 -0
  38. package/build/lib/read-scopes.js +55 -0
  39. package/build/lib/read-scopes.js.map +1 -0
  40. package/package.json +1 -1
@@ -6,12 +6,13 @@ import { z } from 'zod';
6
6
  import { ErrorView, Spinner } from '../components/index.js';
7
7
  import { useCommand } from '../hooks/useCommand.js';
8
8
  import { getBreakpoint } from '../lib/breakpoints.js';
9
- import { readLockfile } from '../lib/lockfile.js';
9
+ import { identityKey } from '../lib/lockfile.js';
10
10
  import { formatOrgName } from '../lib/org.js';
11
11
  import { renderJson, useNonInteractive } from '../lib/output.js';
12
+ import { resolveReadScopes } from '../lib/read-scopes.js';
12
13
  import { fetchRegistry } from '../lib/registry.js';
13
14
  import { AssetType } from '../lib/schemas/index.js';
14
- import { loadScopeConfig, resolveScope, scopedCommand } from '../lib/scope.js';
15
+ import { scopedCommand } from '../lib/scope.js';
15
16
  import { resolveToolNames } from '../lib/tool-resolver.js';
16
17
  import { checkOutdated, checkPinMismatches } from '../lib/updater.js';
17
18
  export const description = 'Show available updates for installed assets';
@@ -23,6 +24,12 @@ export const options = z.object({
23
24
  alias: 'j',
24
25
  description: 'Output raw JSON (for scripting and CI)',
25
26
  })),
27
+ project: z
28
+ .boolean()
29
+ .optional()
30
+ .describe(option({
31
+ description: 'Check only the project, without the user scope',
32
+ })),
26
33
  projectRoot: z
27
34
  .string()
28
35
  .optional()
@@ -60,7 +67,9 @@ const COLUMN_WIDTHS = {
60
67
  narrow: { installed: 12, latest: 12, name: 20, type: 0 },
61
68
  wide: { installed: 12, latest: 12, name: 24, org: 20, type: 18 },
62
69
  };
63
- export default function Outdated({ options: { json, projectRoot, tool, type, user } }) {
70
+ /** Width of the Scope column, wide enough for "project". */
71
+ const SCOPE_WIDTH = 9;
72
+ export default function Outdated({ options: { json, project, projectRoot, tool, type, user } }) {
64
73
  const { json: effectiveJson } = useNonInteractive(json);
65
74
  const { stdout } = useStdout();
66
75
  const terminalWidth = stdout?.columns ?? 120;
@@ -70,22 +79,42 @@ export default function Outdated({ options: { json, projectRoot, tool, type, use
70
79
  const cols = COLUMN_WIDTHS[bp];
71
80
  const orgWidth = 'org' in cols ? cols.org : 0;
72
81
  const state = useCommand(async (progress) => {
73
- const { root: projectDir, scope } = await resolveScope({ projectRoot, user });
74
- const toolNames = await resolveToolNames(tool, projectDir);
75
- const toolLabel = toolNames.join(', ');
82
+ const { scopes, warning } = await resolveReadScopes({ project, projectRoot, user });
83
+ // The command's own scope must have tools, as before. The label adds the user scope's tools
84
+ // when its rows are shown (best-effort: a user scope with no tools adds none), unless --tool
85
+ // names the tool to show.
86
+ const toolNames = await resolveToolNames(tool, scopes[0].root);
87
+ if (!tool) {
88
+ for (const s of scopes.slice(1)) {
89
+ toolNames.push(...(await resolveToolNames(undefined, s.root).catch(() => [])));
90
+ }
91
+ }
92
+ const toolLabel = [...new Set(toolNames)].join(', ');
76
93
  progress('Fetching registry...');
77
94
  const registry = await fetchRegistry({ force: true });
78
95
  progress('Checking versions...');
79
- const lockfile = await readLockfile(projectDir);
80
- const projectConfig = await loadScopeConfig(projectDir);
81
- const frozenNames = new Set((projectConfig?.frozenAssets ?? []).map((entry) => `${entry.type}:${entry.org ?? ''}:${entry.name}`));
82
- const allOutdated = checkOutdated(lockfile, registry, frozenNames);
83
- const outdated = type ? allOutdated.filter((a) => a.type === type) : allOutdated;
84
- const pinMismatches = checkPinMismatches(lockfile, scope).filter((a) => !type || a.type === type);
85
- const assets = lockfile.assets ?? [];
86
- const totalInstalled = type ? assets.filter((a) => a.type === type).length : assets.length;
87
- return { outdated, pinMismatches, scope, toolLabel, totalInstalled };
88
- }, [projectRoot, tool, type, user]);
96
+ const ofType = (items) => type ? items.filter((a) => a.type === type) : items;
97
+ const outdated = [];
98
+ const pinMismatches = [];
99
+ let totalInstalled = 0;
100
+ for (const { config, lockfile, scope } of scopes) {
101
+ const frozenNames = new Set((config?.frozenAssets ?? []).map((entry) => identityKey(entry)));
102
+ for (const asset of ofType(checkOutdated(lockfile, registry, frozenNames))) {
103
+ const command = scopedCommand(`atk update ${formatOrgName(asset.org, asset.name)}`, scope);
104
+ outdated.push({ ...asset, command, scope });
105
+ }
106
+ pinMismatches.push(...ofType(checkPinMismatches(lockfile, scope)).map((m) => ({ ...m, scope })));
107
+ totalInstalled += ofType(lockfile.assets ?? []).length;
108
+ }
109
+ return {
110
+ outdated,
111
+ pinMismatches,
112
+ scopes: [scopes[0].scope, ...scopes.slice(1).map((s) => s.scope)],
113
+ toolLabel,
114
+ totalInstalled,
115
+ warning,
116
+ };
117
+ }, [project, projectRoot, tool, type, user]);
89
118
  if (state.status === 'loading') {
90
119
  return _jsx(Spinner, { message: state.message });
91
120
  }
@@ -101,17 +130,24 @@ export default function Outdated({ options: { json, projectRoot, tool, type, use
101
130
  }
102
131
  return _jsx(ErrorView, { command: state.command, hint: state.hint, message: state.message });
103
132
  }
104
- const { outdated, pinMismatches, scope, toolLabel, totalInstalled } = state.data;
133
+ const { outdated, pinMismatches, scopes, toolLabel, totalInstalled, warning } = state.data;
134
+ const showScope = scopes.length > 1;
135
+ // At the medium breakpoint the Scope column takes its width from Name, so rows still fit 80 columns
136
+ const nameWidth = showScope && bp === 'medium' ? cols.name - SCOPE_WIDTH : cols.name;
105
137
  if (effectiveJson) {
106
138
  return renderJson(buildJsonOutput(state.data));
107
139
  }
108
140
  if (totalInstalled === 0) {
109
- return (_jsxs(Text, { dimColor: true, children: ["No assets installed", type ? ` (type: ${type})` : '', " for ", toolLabel, "."] }));
141
+ return (_jsx(WithWarning, { warning: warning, children: _jsxs(Text, { dimColor: true, children: ["No assets installed", type ? ` (type: ${type})` : '', " for ", toolLabel, "."] }) }));
110
142
  }
111
143
  if (outdated.length === 0) {
112
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'green', children: ["\u2713 All ", totalInstalled, " installed asset", totalInstalled !== 1 ? 's' : '', type ? ` (type: ${type})` : '', " ", totalInstalled !== 1 ? 'are' : 'is', " up to date."] }), _jsx(PinMismatchWarning, { mismatches: pinMismatches, scope: scope })] }));
144
+ return (_jsx(WithWarning, { warning: warning, children: _jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'green', children: ["\u2713 All ", totalInstalled, " installed asset", totalInstalled !== 1 ? 's' : '', type ? ` (type: ${type})` : '', " ", totalInstalled !== 1 ? 'are' : 'is', " up to date."] }), _jsx(PinMismatchWarning, { mismatches: pinMismatches })] }) }));
113
145
  }
114
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: outdated.length }), " outdated asset", outdated.length !== 1 ? 's' : '', " for ", _jsx(Text, { color: 'cyan', children: toolLabel }), ":"] }), _jsx(Box, { height: 1 }), _jsx(ColumnLayout, { cols: cols, installed: _jsx(Text, { bold: true, underline: true, wrap: 'truncate', children: "Installed" }), latest: _jsx(Text, { bold: true, underline: true, wrap: 'truncate', children: "Latest" }), name: _jsx(Text, { bold: true, underline: true, wrap: 'truncate', children: "Name" }), org: _jsx(Text, { bold: true, underline: true, wrap: 'truncate', children: "Org" }), orgWidth: orgWidth, showOrg: showOrg, showType: showType, status: _jsx(Text, { bold: true, underline: true, wrap: 'truncate', children: ' ' }), type: _jsx(Text, { bold: true, underline: true, wrap: 'truncate', children: "Type" }) }), outdated.map((asset) => (_jsx(ColumnLayout, { cols: cols, installed: _jsx(Text, { color: 'red', wrap: 'truncate', children: asset.installedVersion }), latest: _jsx(Text, { color: 'green', wrap: 'truncate', children: asset.latestVersion }), name: _jsx(Text, { color: 'cyan', wrap: 'truncate', children: asset.name }), org: _jsx(Text, { dimColor: true, wrap: 'truncate', children: asset.org ? `@${asset.org}` : '' }), orgWidth: orgWidth, showOrg: showOrg, showType: showType, status: asset.pinned ? (_jsx(Text, { color: 'yellow', children: "Pinned" })) : asset.frozen ? (_jsx(Text, { color: 'cyan', children: "Frozen" })) : (_jsx(Text, {})), type: _jsx(Text, { wrap: 'truncate', children: asset.type }) }, `${asset.type}/${asset.org ?? ''}/${asset.name}`))), _jsx(Box, { height: 1 }), _jsxs(Text, { dimColor: true, children: ["Run ", _jsx(Text, { bold: true, children: scopedCommand('atk update', scope) }), " to update all, or", ' ', _jsx(Text, { bold: true, children: scopedCommand('atk update <name>', scope) }), " for a specific asset."] }), _jsx(PinMismatchWarning, { mismatches: pinMismatches, scope: scope })] }));
146
+ return (_jsxs(Box, { flexDirection: 'column', children: [warning && _jsxs(Text, { color: 'yellow', children: ["! ", warning] }), _jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: outdated.length }), " outdated asset", outdated.length !== 1 ? 's' : '', " for ", _jsx(Text, { color: 'cyan', children: toolLabel }), ":"] }), _jsx(Box, { height: 1 }), _jsx(ColumnLayout, { cols: cols, installed: _jsx(Text, { bold: true, underline: true, wrap: 'truncate', children: "Installed" }), latest: _jsx(Text, { bold: true, underline: true, wrap: 'truncate', children: "Latest" }), name: _jsx(Text, { bold: true, underline: true, wrap: 'truncate', children: "Name" }), nameWidth: nameWidth, org: _jsx(Text, { bold: true, underline: true, wrap: 'truncate', children: "Org" }), orgWidth: orgWidth, scope: _jsx(Text, { bold: true, underline: true, wrap: 'truncate', children: "Scope" }), showOrg: showOrg, showScope: showScope, showType: showType, status: _jsx(Text, { bold: true, underline: true, wrap: 'truncate', children: ' ' }), type: _jsx(Text, { bold: true, underline: true, wrap: 'truncate', children: "Type" }) }), outdated.map((asset) => (_jsx(ColumnLayout, { cols: cols, installed: _jsx(Text, { color: 'red', wrap: 'truncate', children: asset.installedVersion }), latest: _jsx(Text, { color: 'green', wrap: 'truncate', children: asset.latestVersion }), name: _jsx(Text, { color: 'cyan', wrap: 'truncate', children: asset.name }), nameWidth: nameWidth, org: _jsx(Text, { dimColor: true, wrap: 'truncate', children: asset.org ? `@${asset.org}` : '' }), orgWidth: orgWidth, scope: _jsx(Text, { dimColor: asset.scope === 'project', wrap: 'truncate', children: asset.scope }), showOrg: showOrg, showScope: showScope, showType: showType, status: asset.pinned ? (_jsx(Text, { color: 'yellow', children: "Pinned" })) : asset.frozen ? (_jsx(Text, { color: 'cyan', children: "Frozen" })) : (_jsx(Text, {})), type: _jsx(Text, { wrap: 'truncate', children: asset.type }) }, `${asset.scope}/${asset.type}/${asset.org ?? ''}/${asset.name}`))), _jsx(Box, { height: 1 }), showScope ? (
147
+ // One line for each scope with updates: an update never crosses scopes
148
+ scopes
149
+ .filter((scope) => outdated.some((a) => a.scope === scope))
150
+ .map((scope) => (_jsxs(Text, { dimColor: true, children: ["Run ", _jsx(Text, { bold: true, children: scopedCommand('atk update', scope) }), " to update all ", scope, " assets, or", ' ', _jsx(Text, { bold: true, children: scopedCommand('atk update <name>', scope) }), " for a specific one."] }, scope)))) : (_jsxs(Text, { dimColor: true, children: ["Run ", _jsx(Text, { bold: true, children: scopedCommand('atk update', scopes[0]) }), " to update all, or", ' ', _jsx(Text, { bold: true, children: scopedCommand('atk update <name>', scopes[0]) }), " for a specific asset."] })), _jsx(PinMismatchWarning, { mismatches: pinMismatches })] }));
115
151
  }
116
152
  function buildJsonOutput(data) {
117
153
  let outcome;
@@ -130,18 +166,25 @@ function buildJsonOutput(data) {
130
166
  ...(data.pinMismatches.length > 0 ? { pinMismatches: data.pinMismatches } : {}),
131
167
  toolLabel: data.toolLabel,
132
168
  totalInstalled: data.totalInstalled,
169
+ ...(data.warning ? { warnings: [data.warning] } : {}),
133
170
  };
134
171
  }
135
- function ColumnLayout({ cols, installed, latest, name, org, orgWidth, showOrg, showType, status, type, }) {
136
- return (_jsxs(Box, { children: [_jsx(Box, { flexShrink: 0, width: cols.name, children: name }), showOrg && (_jsx(Box, { flexShrink: 0, width: orgWidth, children: org })), showType && (_jsx(Box, { flexShrink: 0, width: cols.type, children: type })), _jsx(Box, { flexShrink: 0, width: cols.installed, children: installed }), _jsx(Box, { flexShrink: 0, width: cols.latest, children: latest }), _jsx(Box, { flexGrow: 1, overflow: 'hidden', children: status })] }));
172
+ function ColumnLayout({ cols, installed, latest, name, nameWidth, org, orgWidth, scope, showOrg, showScope, showType, status, type, }) {
173
+ return (_jsxs(Box, { children: [_jsx(Box, { flexShrink: 0, width: nameWidth, children: name }), showOrg && (_jsx(Box, { flexShrink: 0, width: orgWidth, children: org })), showType && (_jsx(Box, { flexShrink: 0, width: cols.type, children: type })), showScope && (_jsx(Box, { flexShrink: 0, width: SCOPE_WIDTH, children: scope })), _jsx(Box, { flexShrink: 0, width: cols.installed, children: installed }), _jsx(Box, { flexShrink: 0, width: cols.latest, children: latest }), _jsx(Box, { flexGrow: 1, overflow: 'hidden', children: status })] }));
137
174
  }
138
175
  /** Lockfile pins that name a version other than the installed one, with both ways to line them up. */
139
- function PinMismatchWarning({ mismatches, scope }) {
176
+ function PinMismatchWarning({ mismatches }) {
140
177
  if (mismatches.length === 0)
141
178
  return null;
142
179
  return (_jsx(Box, { flexDirection: 'column', marginTop: 1, children: mismatches.map((m) => {
143
180
  const spec = formatOrgName(m.org, m.name);
144
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: spec }), " is pinned to v", m.pinnedVersion, " but v", m.installedVersion, " is installed."] }), _jsxs(Text, { dimColor: true, children: [' ', "Run ", _jsx(Text, { bold: true, children: m.command }), " to install the pinned version, or", ' ', _jsx(Text, { bold: true, children: scopedCommand(`atk pin ${spec}`, scope) }), " to pin v", m.installedVersion, "."] })] }, `${m.type}/${m.org ?? ''}/${m.name}`));
181
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: spec }), " is pinned to v", m.pinnedVersion, " but v", m.installedVersion, " is installed."] }), _jsxs(Text, { dimColor: true, children: [' ', "Run ", _jsx(Text, { bold: true, children: m.command }), " to install the pinned version, or", ' ', _jsx(Text, { bold: true, children: scopedCommand(`atk pin ${spec}`, m.scope) }), " to pin v", m.installedVersion, "."] })] }, `${m.scope}/${m.type}/${m.org ?? ''}/${m.name}`));
145
182
  }) }));
146
183
  }
184
+ /** `children` under the warning line, or alone (unchanged) when there is no warning. */
185
+ function WithWarning({ children, warning }) {
186
+ if (!warning)
187
+ return children;
188
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'yellow', children: ["! ", warning] }), children] }));
189
+ }
147
190
  //# sourceMappingURL=outdated.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"outdated.js","sourceRoot":"","sources":["../../src/commands/outdated.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outdated.js","sourceRoot":"","sources":["../../src/commands/outdated.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InstallConfirmBar.d.ts","sourceRoot":"","sources":["../../src/components/InstallConfirmBar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAK3G,KAAK,cAAc,GAAG,qBAAqB,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAEjF,UAAU,sBAAsB;IAC9B,mCAAmC;IACnC,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,sBAAsB,2CAwCzE"}
1
+ {"version":3,"file":"InstallConfirmBar.d.ts","sourceRoot":"","sources":["../../src/components/InstallConfirmBar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAK3G,KAAK,cAAc,GAAG,qBAAqB,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAEjF,UAAU,sBAAsB;IAC9B,mCAAmC;IACnC,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,sBAAsB,2CAoCzE"}
@@ -12,9 +12,7 @@ export default function InstallConfirmBar({ mode }) {
12
12
  }
13
13
  case 'install-result':
14
14
  if (mode.success) {
15
- return (_jsx(Box, { borderColor: 'gray', borderStyle: 'round', children: _jsx(Text, { color: 'green', children: mode.itemKind === 'bundle'
16
- ? `✓ Installed bundle ${mode.bundleName}. Press any key to continue.`
17
- : `✓ Installed ${mode.assetName}. Press any key to continue.` }) }));
15
+ return (_jsx(Box, { borderColor: 'gray', borderStyle: 'round', children: _jsxs(Text, { color: 'green', children: ["\u2713 ", asSentence(mode.message), " Press any key to continue."] }) }));
18
16
  }
19
17
  return (_jsx(Box, { borderColor: 'gray', borderStyle: 'round', children: _jsxs(Text, { color: 'red', children: ["\u2715 Failed: ", asSentence(mode.message), " Press any key to continue."] }) }));
20
18
  case 'installing':
@@ -1 +1 @@
1
- {"version":3,"file":"InstallConfirmBar.js","sourceRoot":"","sources":["../../src/components/InstallConfirmBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAIhC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,OAAO,MAAM,cAAc,CAAC;AASnC,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAA0B;IACxE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/D,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,YACzC,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YACjB,IAAI,CAAC,QAAQ,KAAK,QAAQ;wBACzB,CAAC,CAAC,GAAG,MAAM,WAAW,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB;wBACxF,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,YAAY,SAAS,GACzD,GACH,CACP,CAAC;QACJ,CAAC;QAED,KAAK,gBAAgB;YACnB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,YACzC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAChB,IAAI,CAAC,QAAQ,KAAK,QAAQ;4BACzB,CAAC,CAAC,sBAAsB,IAAI,CAAC,UAAU,8BAA8B;4BACrE,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,8BAA8B,GAC1D,GACH,CACP,CAAC;YACJ,CAAC;YACD,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,YACzC,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,gCAAY,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAmC,GACpF,CACP,CAAC;QAEJ,KAAK,YAAY;YACf,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,YACzC,KAAC,OAAO,IAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAI,GAC9B,CACP,CAAC;IACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"InstallConfirmBar.js","sourceRoot":"","sources":["../../src/components/InstallConfirmBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAIhC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,OAAO,MAAM,cAAc,CAAC;AASnC,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAA0B;IACxE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/D,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,YACzC,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YACjB,IAAI,CAAC,QAAQ,KAAK,QAAQ;wBACzB,CAAC,CAAC,GAAG,MAAM,WAAW,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB;wBACxF,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,YAAY,SAAS,GACzD,GACH,CACP,CAAC;QACJ,CAAC;QAED,KAAK,gBAAgB;YACnB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,YACzC,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,wBAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAmC,GAC9E,CACP,CAAC;YACJ,CAAC;YACD,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,YACzC,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,gCAAY,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAmC,GACpF,CACP,CAAC;QAEJ,KAAK,YAAY;YACf,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,YACzC,KAAC,OAAO,IAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAI,GAC9B,CACP,CAAC;IACN,CAAC;AACH,CAAC"}
@@ -1,11 +1,13 @@
1
1
  import type { ActionResultMode, ConfirmingActionMode, ExecutingActionMode } from '../hooks/useListState.js';
2
2
  type ListActionBarMode = ActionResultMode | ConfirmingActionMode | ExecutingActionMode;
3
3
  interface ListActionBarProps {
4
- /** Whether the current asset is frozen (from project config) */
4
+ /** Whether the current asset is frozen (from its scope's config) */
5
5
  isFrozen?: boolean;
6
6
  /** Current action-related mode */
7
7
  mode: ListActionBarMode;
8
+ /** Name the asset's scope in the confirmation: the list shows more than one scope */
9
+ showScope?: boolean;
8
10
  }
9
- export default function ListActionBar({ isFrozen, mode }: ListActionBarProps): import("react/jsx-runtime").JSX.Element;
11
+ export default function ListActionBar({ isFrozen, mode, showScope }: ListActionBarProps): import("react/jsx-runtime").JSX.Element;
10
12
  export {};
11
13
  //# sourceMappingURL=ListActionBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListActionBar.d.ts","sourceRoot":"","sources":["../../src/components/ListActionBar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAK5G,KAAK,iBAAiB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,mBAAmB,CAAC;AAEvF,UAAU,kBAAkB;IAC1B,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kCAAkC;IAClC,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,kBAAkB,2CA8B3E"}
1
+ {"version":3,"file":"ListActionBar.d.ts","sourceRoot":"","sources":["../../src/components/ListActionBar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAK5G,KAAK,iBAAiB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,mBAAmB,CAAC;AAEvF,UAAU,kBAAkB;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kCAAkC;IAClC,IAAI,EAAE,iBAAiB,CAAC;IACxB,qFAAqF;IACrF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAiB,EAAE,EAAE,kBAAkB,2CA8B9F"}
@@ -2,7 +2,7 @@ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Box, Text } from 'ink';
3
3
  import { asSentence } from '../lib/errors.js';
4
4
  import Spinner from './Spinner.js';
5
- export default function ListActionBar({ isFrozen, mode }) {
5
+ export default function ListActionBar({ isFrozen, mode, showScope = false }) {
6
6
  switch (mode.kind) {
7
7
  case 'action-result':
8
8
  if (mode.success) {
@@ -10,13 +10,14 @@ export default function ListActionBar({ isFrozen, mode }) {
10
10
  }
11
11
  return (_jsx(Box, { borderColor: 'gray', borderStyle: 'round', children: _jsxs(Text, { color: 'red', children: ["\u2715 ", asSentence(mode.message), " Press any key to continue."] }) }));
12
12
  case 'confirming-action':
13
- return (_jsx(Box, { borderColor: 'gray', borderStyle: 'round', children: _jsx(Text, { color: 'yellow', children: getConfirmationText(mode, isFrozen) }) }));
13
+ return (_jsx(Box, { borderColor: 'gray', borderStyle: 'round', children: _jsx(Text, { color: 'yellow', children: getConfirmationText(mode, isFrozen, showScope) }) }));
14
14
  case 'executing-action':
15
15
  return (_jsx(Box, { borderColor: 'gray', borderStyle: 'round', children: _jsx(Spinner, { message: mode.message }) }));
16
16
  }
17
17
  }
18
- function getConfirmationText(mode, isFrozen) {
19
- const { name } = mode.asset;
18
+ function getConfirmationText(mode, isFrozen, showScope) {
19
+ // With both scopes shown, one asset can be two rows: say which copy the action changes
20
+ const name = showScope ? `${mode.asset.name} (${mode.asset.scope})` : mode.asset.name;
20
21
  switch (mode.actionKind) {
21
22
  case 'freeze-toggle':
22
23
  return isFrozen ? `Thaw ${name}? [Y/N]` : `Freeze ${name}? [Y/N]`;
@@ -1 +1 @@
1
- {"version":3,"file":"ListActionBar.js","sourceRoot":"","sources":["../../src/components/ListActionBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAIhC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,OAAO,MAAM,cAAc,CAAC;AAWnC,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAsB;IAC1E,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,eAAe;YAClB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,YACzC,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,wBAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAmC,GAC9E,CACP,CAAC;YACJ,CAAC;YACD,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,YACzC,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,wBAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAmC,GAC5E,CACP,CAAC;QAEJ,KAAK,mBAAmB;YACtB,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,YACzC,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAQ,GAC7D,CACP,CAAC;QAEJ,KAAK,kBAAkB;YACrB,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,YACzC,KAAC,OAAO,IAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAI,GAC9B,CACP,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAA0B,EAAE,QAAkB;IACzE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;IAE5B,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,KAAK,eAAe;YAClB,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC;QACpE,KAAK,YAAY;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC;QAClF,KAAK,WAAW;YACd,OAAO,aAAa,IAAI,SAAS,CAAC;QACpC,KAAK,QAAQ;YACX,OAAO,UAAU,IAAI,SAAS,CAAC;IACnC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"ListActionBar.js","sourceRoot":"","sources":["../../src/components/ListActionBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAIhC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,OAAO,MAAM,cAAc,CAAC;AAanC,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,GAAG,KAAK,EAAsB;IAC7F,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,eAAe;YAClB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,YACzC,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,wBAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAmC,GAC9E,CACP,CAAC;YACJ,CAAC;YACD,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,YACzC,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,wBAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAmC,GAC5E,CACP,CAAC;QAEJ,KAAK,mBAAmB;YACtB,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,YACzC,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAQ,GACxE,CACP,CAAC;QAEJ,KAAK,kBAAkB;YACrB,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,YACzC,KAAC,OAAO,IAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAI,GAC9B,CACP,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAA0B,EAAE,QAA6B,EAAE,SAAkB;IACxG,uFAAuF;IACvF,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAEtF,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,KAAK,eAAe;YAClB,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC;QACpE,KAAK,YAAY;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC;QAClF,KAAK,WAAW;YACd,OAAO,aAAa,IAAI,SAAS,CAAC;QACpC,KAAK,QAAQ;YACX,OAAO,UAAU,IAAI,SAAS,CAAC;IACnC,CAAC;AACH,CAAC"}
@@ -1,18 +1,19 @@
1
- import type { ListTypeFilter } from '../hooks/useListState.js';
2
- import type { InstalledAsset } from '../lib/schemas/lockfile.js';
1
+ import { type ListRow, type ListTypeFilter } from '../hooks/useListState.js';
3
2
  interface ListBrowseListProps {
4
3
  /** Index of the cursor in the items array */
5
4
  cursorIndex: number;
6
5
  /** Index of expanded item, or null */
7
6
  expandedIndex: null | number;
8
- /** Set of composite keys (type:org:name) for frozen assets */
7
+ /** Row keys (`listRowKey`) of frozen assets */
9
8
  frozenSet?: Set<string>;
10
9
  /** Filtered and sorted items to display */
11
- items: InstalledAsset[];
12
- /** Map of asset key (type/name) to latest available version */
10
+ items: ListRow[];
11
+ /** Map of row key (`listRowKey`) to latest available version */
13
12
  outdatedMap: Map<string, string>;
14
13
  /** First visible item index */
15
14
  scrollOffset: number;
15
+ /** Show the Scope column: the list holds more than one scope's rows */
16
+ showScope?: boolean;
16
17
  /** Terminal width for responsive layout */
17
18
  terminalWidth: number;
18
19
  /** Active type filter tab */
@@ -22,6 +23,6 @@ interface ListBrowseListProps {
22
23
  /** ATK web app URL for the expanded asset's page, or null */
23
24
  webUrl: null | string;
24
25
  }
25
- export default function ListBrowseList({ cursorIndex, expandedIndex, frozenSet, items, outdatedMap, scrollOffset, terminalWidth, typeFilter, viewportHeight, webUrl, }: ListBrowseListProps): import("react/jsx-runtime").JSX.Element;
26
+ export default function ListBrowseList({ cursorIndex, expandedIndex, frozenSet, items, outdatedMap, scrollOffset, showScope, terminalWidth, typeFilter, viewportHeight, webUrl, }: ListBrowseListProps): import("react/jsx-runtime").JSX.Element;
26
27
  export {};
27
28
  //# sourceMappingURL=ListBrowseList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListBrowseList.d.ts","sourceRoot":"","sources":["../../src/components/ListBrowseList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAajE,UAAU,mBAAmB;IAC3B,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,aAAa,EAAE,IAAI,GAAG,MAAM,CAAC;IAC7B,8DAA8D;IAC9D,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,2CAA2C;IAC3C,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,+DAA+D;IAC/D,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,UAAU,EAAE,cAAc,CAAC;IAC3B,iDAAiD;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,WAAW,EACX,aAAa,EACb,SAAS,EACT,KAAK,EACL,WAAW,EACX,YAAY,EACZ,aAAa,EACb,UAAU,EACV,cAAc,EACd,MAAM,GACP,EAAE,mBAAmB,2CAyJrB"}
1
+ {"version":3,"file":"ListBrowseList.d.ts","sourceRoot":"","sources":["../../src/components/ListBrowseList.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAczF,UAAU,mBAAmB;IAC3B,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,aAAa,EAAE,IAAI,GAAG,MAAM,CAAC;IAC7B,+CAA+C;IAC/C,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,2CAA2C;IAC3C,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,gEAAgE;IAChE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,UAAU,EAAE,cAAc,CAAC;IAC3B,iDAAiD;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,WAAW,EACX,aAAa,EACb,SAAS,EACT,KAAK,EACL,WAAW,EACX,YAAY,EACZ,SAAiB,EACjB,aAAa,EACb,UAAU,EACV,cAAc,EACd,MAAM,GACP,EAAE,mBAAmB,2CAwKrB"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Box, Text } from 'ink';
3
+ import { listRowKey } from '../hooks/useListState.js';
3
4
  import { getBreakpoint } from '../lib/breakpoints.js';
4
- import { identityKey } from '../lib/lockfile.js';
5
5
  import { formatOrgName } from '../lib/org.js';
6
6
  import ListExpandedRow, { computeExpandedLines } from './ListExpandedRow.js';
7
7
  const COLUMN_WIDTHS = {
@@ -9,7 +9,9 @@ const COLUMN_WIDTHS = {
9
9
  narrow: { cursor: 3, name: 30, status: 8, version: 18 },
10
10
  wide: { cursor: 3, name: 40, org: 20, status: 8, type: 18, version: 22 },
11
11
  };
12
- export default function ListBrowseList({ cursorIndex, expandedIndex, frozenSet, items, outdatedMap, scrollOffset, terminalWidth, typeFilter, viewportHeight, webUrl, }) {
12
+ /** Width of the Scope column, wide enough for "project". */
13
+ const SCOPE_WIDTH = 9;
14
+ export default function ListBrowseList({ cursorIndex, expandedIndex, frozenSet, items, outdatedMap, scrollOffset, showScope = false, terminalWidth, typeFilter, viewportHeight, webUrl, }) {
13
15
  if (items.length === 0) {
14
16
  const label = typeFilter === 'all' ? 'installed assets' : `installed ${typeFilter} assets`;
15
17
  return (_jsx(Box, { borderColor: 'gray', borderStyle: 'round', flexDirection: 'column', children: _jsx(Box, { paddingY: 1, children: _jsxs(Text, { dimColor: true, children: ["No ", label, " match your filters."] }) }) }));
@@ -20,9 +22,11 @@ export default function ListBrowseList({ cursorIndex, expandedIndex, frozenSet,
20
22
  const cols = COLUMN_WIDTHS[bp];
21
23
  const orgWidth = 'org' in cols ? cols.org : 0;
22
24
  const typeWidth = 'type' in cols ? cols.type : 0;
25
+ // The Scope column takes its width from Name, so a row is as wide as with one scope
26
+ const nameWidth = cols.name - (showScope ? SCOPE_WIDTH : 0);
23
27
  const aboveCount = scrollOffset;
24
28
  // Helper to check if an asset is frozen via the frozenSet
25
- const isItemFrozen = (item) => frozenSet?.has(`${item.type}:${item.org ?? ''}:${item.name}`) ?? false;
29
+ const isItemFrozen = (item) => frozenSet?.has(listRowKey(item)) ?? false;
26
30
  // Compute expanded row line height for the expanded item (if any)
27
31
  const expandedAsset = expandedIndex !== null ? items[expandedIndex] : null;
28
32
  const visibleItems = [];
@@ -46,13 +50,13 @@ export default function ListBrowseList({ cursorIndex, expandedIndex, frozenSet,
46
50
  }
47
51
  const lastVisibleIndex = visibleItems.length > 0 ? visibleItems[visibleItems.length - 1].index : scrollOffset;
48
52
  const belowCount = items.length - lastVisibleIndex - 1;
49
- return (_jsxs(Box, { borderColor: 'gray', borderStyle: 'round', flexDirection: 'column', children: [_jsxs(Box, { children: [_jsx(Box, { flexShrink: 0, width: cols.cursor, children: _jsx(Text, { children: " " }) }), _jsx(Box, { flexShrink: 0, marginRight: 1, width: cols.name, children: _jsx(Text, { bold: true, dimColor: true, children: "Name" }) }), showOrg && (_jsx(Box, { flexShrink: 0, width: orgWidth, children: _jsx(Text, { bold: true, dimColor: true, children: "Org" }) })), showType && (_jsx(Box, { flexShrink: 0, width: typeWidth, children: _jsx(Text, { bold: true, dimColor: true, children: "Type" }) })), _jsx(Box, { flexShrink: 0, width: cols.version, children: _jsx(Text, { bold: true, dimColor: true, children: "Version" }) }), _jsx(Box, { flexShrink: 0, width: cols.status, children: _jsx(Text, { bold: true, dimColor: true, children: "Status" }) })] }), aboveCount > 0 && _jsxs(Text, { dimColor: true, children: [" \u25B2 ", aboveCount, " more above"] }), visibleItems.map(({ index, item }) => {
53
+ return (_jsxs(Box, { borderColor: 'gray', borderStyle: 'round', flexDirection: 'column', children: [_jsxs(Box, { children: [_jsx(Box, { flexShrink: 0, width: cols.cursor, children: _jsx(Text, { children: " " }) }), _jsx(Box, { flexShrink: 0, marginRight: 1, width: nameWidth, children: _jsx(Text, { bold: true, dimColor: true, children: "Name" }) }), showOrg && (_jsx(Box, { flexShrink: 0, width: orgWidth, children: _jsx(Text, { bold: true, dimColor: true, children: "Org" }) })), showType && (_jsx(Box, { flexShrink: 0, width: typeWidth, children: _jsx(Text, { bold: true, dimColor: true, children: "Type" }) })), showScope && (_jsx(Box, { flexShrink: 0, width: SCOPE_WIDTH, children: _jsx(Text, { bold: true, dimColor: true, children: "Scope" }) })), _jsx(Box, { flexShrink: 0, width: cols.version, children: _jsx(Text, { bold: true, dimColor: true, children: "Version" }) }), _jsx(Box, { flexShrink: 0, width: cols.status, children: _jsx(Text, { bold: true, dimColor: true, children: "Status" }) })] }), aboveCount > 0 && _jsxs(Text, { dimColor: true, children: [" \u25B2 ", aboveCount, " more above"] }), visibleItems.map(({ index, item }) => {
50
54
  const isCursor = index === cursorIndex;
51
55
  const isExpanded = index === expandedIndex;
52
- const assetKey = identityKey(item);
56
+ const assetKey = listRowKey(item);
53
57
  const latestVersion = outdatedMap.get(assetKey);
54
58
  const isOutdated = latestVersion !== undefined;
55
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Box, { children: [_jsx(Box, { flexShrink: 0, width: cols.cursor, children: _jsx(Text, { color: 'cyan', children: isCursor ? ' ▸' : ' ' }) }), _jsx(Box, { flexShrink: 0, marginRight: 1, width: cols.name, children: _jsx(Text, { bold: isCursor, color: 'cyan', wrap: 'truncate', children: showOrg ? item.name : formatOrgName(item.org, item.name) }) }), showOrg && (_jsx(Box, { flexShrink: 0, width: orgWidth, children: _jsx(Text, { dimColor: true, wrap: 'truncate', children: item.org ? `@${item.org}` : '' }) })), showType && (_jsx(Box, { flexShrink: 0, width: typeWidth, children: _jsx(Text, { wrap: 'truncate', children: item.type }) })), _jsx(Box, { flexShrink: 0, width: cols.version, children: isOutdated ? (_jsxs(Text, { wrap: 'truncate', children: [item.version, ' ', _jsxs(Text, { color: 'yellow', children: ['→', " ", latestVersion] })] })) : (_jsx(Text, { wrap: 'truncate', children: item.version })) }), _jsx(Box, { flexShrink: 0, width: cols.status, children: _jsxs(Text, { wrap: 'truncate', children: [item.pinnedVersion ? '📌' : '', isItemFrozen(item) ? '🧊' : ''] }) })] }), isExpanded && (_jsx(ListExpandedRow, { asset: item, frozen: isItemFrozen(item), latestVersion: latestVersion, terminalWidth: terminalWidth, webUrl: webUrl }))] }, assetKey));
59
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Box, { children: [_jsx(Box, { flexShrink: 0, width: cols.cursor, children: _jsx(Text, { color: 'cyan', children: isCursor ? ' ▸' : ' ' }) }), _jsx(Box, { flexShrink: 0, marginRight: 1, width: nameWidth, children: _jsx(Text, { bold: isCursor, color: 'cyan', wrap: 'truncate', children: showOrg ? item.name : formatOrgName(item.org, item.name) }) }), showOrg && (_jsx(Box, { flexShrink: 0, width: orgWidth, children: _jsx(Text, { dimColor: true, wrap: 'truncate', children: item.org ? `@${item.org}` : '' }) })), showType && (_jsx(Box, { flexShrink: 0, width: typeWidth, children: _jsx(Text, { wrap: 'truncate', children: item.type }) })), showScope && (_jsx(Box, { flexShrink: 0, width: SCOPE_WIDTH, children: _jsx(Text, { dimColor: item.scope === 'project', wrap: 'truncate', children: item.scope }) })), _jsx(Box, { flexShrink: 0, width: cols.version, children: isOutdated ? (_jsxs(Text, { wrap: 'truncate', children: [item.version, ' ', _jsxs(Text, { color: 'yellow', children: ['→', " ", latestVersion] })] })) : (_jsx(Text, { wrap: 'truncate', children: item.version })) }), _jsx(Box, { flexShrink: 0, width: cols.status, children: _jsxs(Text, { wrap: 'truncate', children: [item.pinnedVersion ? '📌' : '', isItemFrozen(item) ? '🧊' : ''] }) })] }), isExpanded && (_jsx(ListExpandedRow, { asset: item, frozen: isItemFrozen(item), latestVersion: latestVersion, terminalWidth: terminalWidth, webUrl: webUrl }))] }, assetKey));
56
60
  }), belowCount > 0 && _jsxs(Text, { dimColor: true, children: [" \u25BC ", belowCount, " more below"] })] }));
57
61
  }
58
62
  //# sourceMappingURL=ListBrowseList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListBrowseList.js","sourceRoot":"","sources":["../../src/components/ListBrowseList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAKhC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,eAAe,EAAE,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE7E,MAAM,aAAa,GAAG;IACpB,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IAC1E,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACvD,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;CAChE,CAAC;AAyBX,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,WAAW,EACX,aAAa,EACb,SAAS,EACT,KAAK,EACL,WAAW,EACX,YAAY,EACZ,aAAa,EACb,UAAU,EACV,cAAc,EACd,MAAM,GACc;IACpB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,UAAU,SAAS,CAAC;QAC3F,OAAO,CACL,KAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,EAAC,aAAa,EAAC,QAAQ,YAChE,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACd,MAAC,IAAI,IAAC,QAAQ,0BAAK,KAAK,4BAA4B,GAChD,GACF,CACP,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,EAAE,KAAK,QAAQ,CAAC;IACjC,MAAM,OAAO,GAAG,EAAE,KAAK,QAAQ,CAAC;IAChC,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjD,MAAM,UAAU,GAAG,YAAY,CAAC;IAEhC,0DAA0D;IAC1D,MAAM,YAAY,GAAG,CAAC,IAAoB,EAAW,EAAE,CACrD,SAAS,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC;IAEzE,kEAAkE;IAClE,MAAM,aAAa,GAAG,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE3E,MAAM,YAAY,GAAmD,EAAE,CAAC;IACxE,mDAAmD;IACnD,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,gEAAgE;IAChE,IAAI,YAAY,GAAG,CAAC;QAAE,SAAS,IAAI,CAAC,CAAC;IAErC,KAAK,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,aAAa,IAAI,aAAa,EAAE,CAAC;YACzC,aAAa,GAAG,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;QAC1G,CAAC;QACD,MAAM,WAAW,GAAG,CAAC,GAAG,aAAa,CAAC;QACtC,2FAA2F;QAC3F,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QACzE,IAAI,SAAS,GAAG,WAAW,GAAG,KAAK;YAAE,MAAM;QAC3C,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC;QACjD,SAAS,IAAI,WAAW,CAAC;IAC3B,CAAC;IAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;IAC/G,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,gBAAgB,GAAG,CAAC,CAAC;IAEvD,OAAO,CACL,MAAC,GAAG,IAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,OAAO,EAAC,aAAa,EAAC,QAAQ,aAEhE,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,YACpC,KAAC,IAAI,oBAAS,GACV,EACN,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,YAClD,KAAC,IAAI,IAAC,IAAI,QAAC,QAAQ,2BAEZ,GACH,EACL,OAAO,IAAI,CACV,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,YACjC,KAAC,IAAI,IAAC,IAAI,QAAC,QAAQ,0BAEZ,GACH,CACP,EACA,QAAQ,IAAI,CACX,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,YAClC,KAAC,IAAI,IAAC,IAAI,QAAC,QAAQ,2BAEZ,GACH,CACP,EACD,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,YACrC,KAAC,IAAI,IAAC,IAAI,QAAC,QAAQ,8BAEZ,GACH,EACN,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,YACpC,KAAC,IAAI,IAAC,IAAI,QAAC,QAAQ,6BAEZ,GACH,IACF,EACL,UAAU,GAAG,CAAC,IAAI,MAAC,IAAI,IAAC,QAAQ,+BAAK,UAAU,mBAAmB,EAClE,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;gBACpC,MAAM,QAAQ,GAAG,KAAK,KAAK,WAAW,CAAC;gBACvC,MAAM,UAAU,GAAG,KAAK,KAAK,aAAa,CAAC;gBAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAChD,MAAM,UAAU,GAAG,aAAa,KAAK,SAAS,CAAC;gBAE/C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,YACpC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAQ,GAC9C,EACN,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,YAClD,KAAC,IAAI,IAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,UAAU,YAC/C,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GACpD,GACH,EACL,OAAO,IAAI,CACV,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,YACjC,KAAC,IAAI,IAAC,QAAQ,QAAC,IAAI,EAAC,UAAU,YAC3B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAC1B,GACH,CACP,EACA,QAAQ,IAAI,CACX,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,YAClC,KAAC,IAAI,IAAC,IAAI,EAAC,UAAU,YAAE,IAAI,CAAC,IAAI,GAAQ,GACpC,CACP,EACD,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,YACpC,UAAU,CAAC,CAAC,CAAC,CACZ,MAAC,IAAI,IAAC,IAAI,EAAC,UAAU,aAClB,IAAI,CAAC,OAAO,EAAE,GAAG,EAClB,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,aACjB,GAAG,OAAG,aAAa,IACf,IACF,CACR,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,IAAI,EAAC,UAAU,YAAE,IAAI,CAAC,OAAO,GAAQ,CAC5C,GACG,EACN,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,YACpC,MAAC,IAAI,IAAC,IAAI,EAAC,UAAU,aAClB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAC9B,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAC1B,GACH,IACF,EACL,UAAU,IAAI,CACb,KAAC,eAAe,IACd,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAC1B,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,GACd,CACH,KAjD8B,QAAQ,CAkDnC,CACP,CAAC;YACJ,CAAC,CAAC,EACD,UAAU,GAAG,CAAC,IAAI,MAAC,IAAI,IAAC,QAAQ,+BAAK,UAAU,mBAAmB,IAC/D,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ListBrowseList.js","sourceRoot":"","sources":["../../src/components/ListBrowseList.tsx"],"names":[],"mappings":"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"}
@@ -1,16 +1,29 @@
1
1
  import { type RefObject } from 'react';
2
2
  import type { Adapter } from '../lib/schemas/adapter.js';
3
3
  import type { ProjectConfig } from '../lib/schemas/config.js';
4
+ import type { Scope } from '../lib/scope.js';
4
5
  import type { ListAction, ListState } from './useListState.js';
6
+ /** The tool a list action places with, and the scope's other configured tools. */
7
+ export interface ListActionTool {
8
+ adapter: Adapter;
9
+ additionalAdapters?: Adapter[];
10
+ tool: string;
11
+ }
12
+ /** What an action on a row needs from the row's scope. */
13
+ export interface ListScopeContext {
14
+ /** The scope's config (tools and frozen assets), refreshed after a freeze or thaw. */
15
+ config: null | ProjectConfig;
16
+ root: string;
17
+ /** Null when no tool resolves for the scope: update and uninstall then fail with the setup error. */
18
+ tool: ListActionTool | null;
19
+ }
20
+ /** The list's scopes, each with what its rows' actions need. */
21
+ export type ListScopes = Partial<Record<Scope, ListScopeContext>>;
5
22
  /**
6
23
  * Encapsulates the action execution side-effect for the list command.
7
24
  *
8
25
  * Handles freeze-toggle, pin-toggle, uninstall, and update actions,
9
- * each following a lock-read-act-write-dispatch pattern.
26
+ * each following a lock-read-act-write-dispatch pattern, at the scope of the row acted on.
10
27
  */
11
- export declare function useListActions(state: ListState, dispatch: React.Dispatch<ListAction>, projectDirRef: RefObject<string>, resolvedToolRef: RefObject<null | {
12
- adapter: Adapter;
13
- additionalAdapters?: Adapter[];
14
- tool: string;
15
- }>, projectConfigRef?: RefObject<null | ProjectConfig>): void;
28
+ export declare function useListActions(state: ListState, dispatch: React.Dispatch<ListAction>, scopesRef: RefObject<ListScopes>): void;
16
29
  //# sourceMappingURL=useListActions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useListActions.d.ts","sourceRoot":"","sources":["../../src/hooks/useListActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,OAAO,CAAC;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAyB/D;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EACpC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,EAChC,eAAe,EAAE,SAAS,CAAC,IAAI,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACrG,gBAAgB,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC,GACjD,IAAI,CA+NN"}
1
+ {"version":3,"file":"useListActions.d.ts","sourceRoot":"","sources":["../../src/hooks/useListActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,OAAO,CAAC;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAyB/D,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,sFAAsF;IACtF,MAAM,EAAE,IAAI,GAAG,aAAa,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,qGAAqG;IACrG,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;CAC7B;AAED,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAElE;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EACpC,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,GAC/B,IAAI,CAmON"}