@detergent-software/atk 3.0.0-dev.21 → 3.0.0-dev.22

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 (43) hide show
  1. package/build/commands/audit.js +1 -1
  2. package/build/commands/audit.js.map +1 -1
  3. package/build/commands/browse.js +1 -1
  4. package/build/commands/browse.js.map +1 -1
  5. package/build/commands/install.d.ts.map +1 -1
  6. package/build/commands/install.js +68 -76
  7. package/build/commands/install.js.map +1 -1
  8. package/build/commands/publish.d.ts +2 -1
  9. package/build/commands/publish.d.ts.map +1 -1
  10. package/build/commands/publish.js +24 -6
  11. package/build/commands/publish.js.map +1 -1
  12. package/build/commands/sync.js +1 -1
  13. package/build/commands/sync.js.map +1 -1
  14. package/build/commands/update.d.ts.map +1 -1
  15. package/build/commands/update.js +25 -34
  16. package/build/commands/update.js.map +1 -1
  17. package/build/components/AssetVersionLine.d.ts +27 -0
  18. package/build/components/AssetVersionLine.d.ts.map +1 -0
  19. package/build/components/AssetVersionLine.js +10 -0
  20. package/build/components/AssetVersionLine.js.map +1 -0
  21. package/build/components/SkippedAssetSection.d.ts +35 -0
  22. package/build/components/SkippedAssetSection.d.ts.map +1 -0
  23. package/build/components/SkippedAssetSection.js +15 -0
  24. package/build/components/SkippedAssetSection.js.map +1 -0
  25. package/build/components/index.d.ts +2 -0
  26. package/build/components/index.d.ts.map +1 -1
  27. package/build/components/index.js +2 -0
  28. package/build/components/index.js.map +1 -1
  29. package/build/hooks/usePublishState.d.ts +5 -1
  30. package/build/hooks/usePublishState.d.ts.map +1 -1
  31. package/build/hooks/usePublishState.js +94 -4
  32. package/build/hooks/usePublishState.js.map +1 -1
  33. package/build/lib/github.d.ts +23 -0
  34. package/build/lib/github.d.ts.map +1 -1
  35. package/build/lib/github.js +29 -0
  36. package/build/lib/github.js.map +1 -1
  37. package/build/lib/publisher.d.ts.map +1 -1
  38. package/build/lib/publisher.js +2 -1
  39. package/build/lib/publisher.js.map +1 -1
  40. package/build/lib/updater.d.ts.map +1 -1
  41. package/build/lib/updater.js +1 -2
  42. package/build/lib/updater.js.map +1 -1
  43. package/package.json +1 -1
@@ -2,10 +2,10 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import { Box, Text } from 'ink';
3
3
  import { option } from 'pastel';
4
4
  import { z } from 'zod';
5
- import { DryRunBanner, Spinner } from '../components/index.js';
5
+ import { AssetVersionLine, DryRunBanner, SkippedAssetSection, Spinner } from '../components/index.js';
6
6
  import { useCommand } from '../hooks/useCommand.js';
7
7
  import { loadProjectConfig } from '../lib/config.js';
8
- import { LockfileLockedError, readLockfile, withLockfileLock } from '../lib/lockfile.js';
8
+ import { readLockfile, withLockfileErrorHandling } from '../lib/lockfile.js';
9
9
  import { findProjectRoot } from '../lib/paths.js';
10
10
  import { fetchRegistry } from '../lib/registry.js';
11
11
  import { resolveTools } from '../lib/tool-resolver.js';
@@ -61,20 +61,22 @@ export default function Update({ args: [rawName], options: { dryRun, force, proj
61
61
  // Load project config to get frozen assets
62
62
  const projectConfig = await loadProjectConfig(projectDir);
63
63
  const frozenNames = new Set((projectConfig?.frozenAssets ?? []).map((a) => `${a.type}:${a.org ?? ''}:${a.name}`));
64
- const tools = await resolveTools(tool);
64
+ const tools = await resolveTools(tool, projectDir);
65
65
  const toolNames = tools.map((t) => t.tool);
66
66
  progress('Fetching registry...');
67
67
  const registry = await fetchRegistry({ force: refresh });
68
- // Dry-run: read lockfile directly (skip lock), check outdated, return plan
68
+ // Pre-check: validate the asset is installed (read-only, no lock needed)
69
+ progress('Reading lockfile...');
70
+ const preCheckLockfile = await readLockfile(projectDir);
71
+ if (name && !(preCheckLockfile.assets ?? []).find((a) => a.name === name)) {
72
+ throw new UpdaterError(`Asset "${name}" is not installed.`);
73
+ }
74
+ if ((preCheckLockfile.assets ?? []).length === 0) {
75
+ return { outcome: 'up-to-date', tools: toolNames };
76
+ }
77
+ // Dry-run: check outdated, return plan
69
78
  if (dryRun) {
70
- progress('Reading lockfile...');
71
- const lockfile = await readLockfile(projectDir);
72
- if (name && !(lockfile.assets ?? []).find((a) => a.name === name)) {
73
- throw new UpdaterError(`Asset "${name}" is not installed.`);
74
- }
75
- if ((lockfile.assets ?? []).length === 0) {
76
- return { outcome: 'up-to-date', tools: toolNames };
77
- }
79
+ const lockfile = preCheckLockfile;
78
80
  let outdated = checkOutdated(lockfile, registry, frozenNames);
79
81
  if (name) {
80
82
  outdated = outdated.filter((o) => o.name === name);
@@ -102,16 +104,10 @@ export default function Update({ args: [rawName], options: { dryRun, force, proj
102
104
  }
103
105
  return { outcome: 'dry-run', outdated: updatable, skippedFrozen, skippedPinned, tools: toolNames };
104
106
  }
105
- try {
106
- return await withLockfileLock(projectDir, async () => {
107
+ return await withLockfileErrorHandling(projectDir, async () => {
108
+ try {
107
109
  progress('Reading lockfile...');
108
110
  const lockfile = await readLockfile(projectDir);
109
- if (name && !(lockfile.assets ?? []).find((a) => a.name === name)) {
110
- throw new UpdaterError(`Asset "${name}" is not installed.`);
111
- }
112
- if ((lockfile.assets ?? []).length === 0) {
113
- return { outcome: 'up-to-date', tools: toolNames };
114
- }
115
111
  const outdated = checkOutdated(lockfile, registry, frozenNames);
116
112
  const targetNames = name ? [name] : undefined;
117
113
  if (!name && outdated.length === 0) {
@@ -137,18 +133,15 @@ export default function Update({ args: [rawName], options: { dryRun, force, proj
137
133
  return { outcome: 'up-to-date', tools: toolNames };
138
134
  }
139
135
  return { outcome: 'success', toolResults };
140
- });
141
- }
142
- catch (error) {
143
- if (error instanceof LockfileLockedError) {
144
- throw new Error('Another ATK process is currently modifying this project. Please wait and try again.');
145
136
  }
146
- if (error instanceof UpdaterError) {
147
- throw new Error(error.message);
137
+ catch (error) {
138
+ if (error instanceof UpdaterError) {
139
+ throw new Error(error.message);
140
+ }
141
+ throw error;
148
142
  }
149
- throw error;
150
- }
151
- }, [dryRun, force, name, refresh, requestedVersion, tool]);
143
+ });
144
+ }, [dryRun, force, name, projectRoot, refresh, requestedVersion, tool]);
152
145
  if (state.status === 'loading') {
153
146
  return _jsx(Spinner, { message: state.message });
154
147
  }
@@ -161,10 +154,8 @@ export default function Update({ args: [rawName], options: { dryRun, force, proj
161
154
  }
162
155
  if (data.outcome === 'dry-run') {
163
156
  const hasUpdatable = data.outdated.length > 0;
164
- const hasFrozen = data.skippedFrozen.length > 0;
165
- const hasPinned = data.skippedPinned.length > 0;
166
- return (_jsxs(Box, { flexDirection: 'column', children: [hasUpdatable && (_jsxs(_Fragment, { children: [_jsx(DryRunBanner, { action: 'update', count: data.outdated.length, tools: data.tools }), _jsx(Text, { children: " " }), data.outdated.map((o) => (_jsxs(Text, { children: [' ', _jsx(Text, { bold: true, children: o.name }), _jsxs(Text, { dimColor: true, children: [" (", o.type, ")"] }), " ", _jsxs(Text, { color: 'red', children: ["v", o.installedVersion] }), ' → ', _jsxs(Text, { color: 'green', children: ["v", o.latestVersion] })] }, `${o.type}/${o.name}`)))] })), hasFrozen && (_jsxs(_Fragment, { children: [hasUpdatable && _jsx(Text, { children: " " }), _jsxs(Text, { color: 'cyan', children: ["\u2744 ", data.skippedFrozen.length, " frozen asset", data.skippedFrozen.length !== 1 ? 's' : '', " skipped (use atk thaw to unfreeze):"] }), data.skippedFrozen.map((o) => (_jsxs(Text, { children: [' ', _jsx(Text, { bold: true, children: o.name }), _jsxs(Text, { dimColor: true, children: [" (", o.type, ")"] }), " ", _jsxs(Text, { dimColor: true, children: ["v", o.installedVersion] }), _jsxs(Text, { dimColor: true, children: [" \u2192 v", o.latestVersion] }), _jsx(Text, { color: 'cyan', children: " [frozen]" })] }, `${o.type}/${o.name}`)))] })), hasPinned && (_jsxs(_Fragment, { children: [(hasUpdatable || hasFrozen) && _jsx(Text, { children: " " }), _jsxs(Text, { color: 'yellow', children: ["\u2298 ", data.skippedPinned.length, " pinned asset", data.skippedPinned.length !== 1 ? 's' : '', " skipped (use --force to override):"] }), data.skippedPinned.map((o) => (_jsxs(Text, { children: [' ', _jsx(Text, { bold: true, children: o.name }), _jsxs(Text, { dimColor: true, children: [" (", o.type, ")"] }), " ", _jsxs(Text, { dimColor: true, children: ["v", o.installedVersion] }), _jsxs(Text, { dimColor: true, children: [" \u2192 v", o.latestVersion] }), _jsx(Text, { color: 'yellow', children: " [pinned]" })] }, `${o.type}/${o.name}`)))] })), !hasUpdatable && !hasPinned && !hasFrozen && (_jsxs(Text, { color: 'green', children: ["\u2713 All assets are up to date for ", data.tools.join(', '), "."] }))] }));
157
+ return (_jsxs(Box, { flexDirection: 'column', children: [hasUpdatable && (_jsxs(_Fragment, { children: [_jsx(DryRunBanner, { action: 'update', count: data.outdated.length, tools: data.tools }), _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.name}`))) })] })), _jsx(SkippedAssetSection, { badgeText: 'frozen', color: 'cyan', hint: 'use atk thaw to unfreeze', icon: '\u2744', items: data.skippedFrozen, label: 'frozen', showSpacer: hasUpdatable }), _jsx(SkippedAssetSection, { badgeText: 'pinned', color: 'yellow', hint: 'use --force to override', icon: '\u2298', items: data.skippedPinned, label: 'pinned', showSpacer: hasUpdatable || data.skippedFrozen.length > 0 })] }));
167
158
  }
168
- return (_jsx(Box, { flexDirection: 'column', children: data.toolResults.map(({ failures, frozenSkipped, 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] }), _jsx(Text, { children: " " }), results.map((r) => (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsx(Text, { bold: true, children: r.name }), _jsxs(Text, { dimColor: true, children: [" (", r.type, ")"] }), " ", _jsxs(Text, { color: 'red', children: ["v", r.fromVersion] }), ' → ', _jsxs(Text, { color: 'green', children: ["v", r.toVersion] })] }), r.installResult.filesPlaced.map((f) => (_jsxs(Text, { dimColor: true, wrap: 'truncate', children: [' ', "\u2192 ", f.destination] }, f.destination)))] }, `${r.type}/${r.name}`)))] })), failures.length > 0 && (_jsxs(_Fragment, { children: [results.length > 0 && _jsx(Text, { children: " " }), _jsxs(Text, { color: 'red', children: ["\u2717 Failed to update ", failures.length, " asset", failures.length !== 1 ? 's' : ''] }), failures.map((f) => (_jsxs(Text, { color: 'red', wrap: 'truncate', children: [f.name, ": ", f.error] }, `${f.type}/${f.name}`)))] })), frozenSkipped && frozenSkipped.length > 0 && (_jsxs(_Fragment, { children: [(results.length > 0 || failures.length > 0) && _jsx(Text, { children: " " }), _jsxs(Text, { color: 'cyan', children: ["\u2744 ", frozenSkipped.length, " frozen asset", frozenSkipped.length !== 1 ? 's' : '', " skipped (use atk thaw to unfreeze):"] }), frozenSkipped.map((s) => (_jsxs(Text, { children: [' ', _jsx(Text, { bold: true, children: s.name }), _jsxs(Text, { dimColor: true, children: [" (", s.type, ")"] }), " ", _jsxs(Text, { dimColor: true, children: ["v", s.installedVersion] }), _jsxs(Text, { dimColor: true, children: [" \u2192 v", s.latestVersion] }), _jsx(Text, { color: 'cyan', children: " [frozen]" })] }, `${s.type}/${s.name}`)))] })), skipped && skipped.length > 0 && (_jsxs(_Fragment, { children: [(results.length > 0 || failures.length > 0 || (frozenSkipped && frozenSkipped.length > 0)) && (_jsx(Text, { children: " " })), _jsxs(Text, { color: 'yellow', children: ["\u2298 ", skipped.length, " pinned asset", skipped.length !== 1 ? 's' : '', " skipped (use --force to override):"] }), skipped.map((s) => (_jsxs(Text, { children: [' ', _jsx(Text, { bold: true, children: s.name }), _jsxs(Text, { dimColor: true, children: [" (", s.type, ")"] }), " ", _jsxs(Text, { dimColor: true, children: ["v", s.installedVersion] }), _jsxs(Text, { dimColor: true, children: [" \u2192 v", s.latestVersion] }), _jsx(Text, { color: 'yellow', children: " [pinned]" })] }, `${s.type}/${s.name}`)))] }))] }, resolvedTool))) }));
159
+ return (_jsx(Box, { flexDirection: 'column', children: data.toolResults.map(({ failures, frozenSkipped, 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] }), _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.type}/${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' : ''] }), failures.map((f) => (_jsxs(Text, { color: 'red', wrap: 'truncate', children: [f.name, ": ", f.error] }, `${f.type}/${f.name}`)))] })), _jsx(SkippedAssetSection, { badgeText: 'frozen', color: 'cyan', hint: 'use atk thaw to unfreeze', icon: '\u2744', items: frozenSkipped ?? [], label: 'frozen', showSpacer: results.length > 0 || failures.length > 0 }), _jsx(SkippedAssetSection, { badgeText: 'pinned', color: 'yellow', hint: 'use --force to override', icon: '\u2298', items: skipped ?? [], label: 'pinned', showSpacer: results.length > 0 || failures.length > 0 || (frozenSkipped ?? []).length > 0 })] }, resolvedTool))) }));
169
160
  }
170
161
  //# sourceMappingURL=update.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ interface AssetVersionLineBadge {
2
+ /** Ink color for the badge */
3
+ color: string;
4
+ /** Badge label text (e.g., "frozen", "pinned") */
5
+ text: string;
6
+ }
7
+ interface AssetVersionLineProps {
8
+ /** Optional badge rendered after the version transition */
9
+ badge?: AssetVersionLineBadge;
10
+ /** When true, both version numbers render with dimColor instead of red/green */
11
+ dimVersions?: boolean;
12
+ /** Currently installed version */
13
+ installedVersion: string;
14
+ /** Target/latest version */
15
+ latestVersion: string;
16
+ /** Asset name */
17
+ name: string;
18
+ /** Asset type (e.g., "skill", "rule") */
19
+ type: string;
20
+ }
21
+ /**
22
+ * Renders a single asset version transition line:
23
+ * name (type) vOld → vNew [badge]
24
+ */
25
+ export default function AssetVersionLine({ badge, dimVersions, installedVersion, latestVersion, name, type, }: AssetVersionLineProps): import("react/jsx-runtime").JSX.Element;
26
+ export {};
27
+ //# sourceMappingURL=AssetVersionLine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetVersionLine.d.ts","sourceRoot":"","sources":["../../src/components/AssetVersionLine.tsx"],"names":[],"mappings":"AAEA,UAAU,qBAAqB;IAC7B,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,qBAAqB;IAC7B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,gFAAgF;IAChF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,4BAA4B;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,KAAK,EACL,WAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,IAAI,EACJ,IAAI,GACL,EAAE,qBAAqB,2CAsBvB"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Text } from 'ink';
3
+ /**
4
+ * Renders a single asset version transition line:
5
+ * name (type) vOld → vNew [badge]
6
+ */
7
+ export default function AssetVersionLine({ badge, dimVersions = false, installedVersion, latestVersion, name, type, }) {
8
+ return (_jsxs(Text, { children: [' ', _jsx(Text, { bold: true, children: name }), _jsxs(Text, { dimColor: true, children: [" (", type, ")"] }), ' ', dimVersions ? (_jsxs(Text, { dimColor: true, children: ["v", installedVersion] })) : (_jsxs(Text, { color: 'red', children: ["v", installedVersion] })), dimVersions ? (_jsxs(Text, { dimColor: true, children: [" \u2192 v", latestVersion] })) : (_jsxs(_Fragment, { children: [' → ', _jsxs(Text, { color: 'green', children: ["v", latestVersion] })] })), badge && _jsxs(Text, { color: badge.color, children: [" [", badge.text, "]"] })] }));
9
+ }
10
+ //# sourceMappingURL=AssetVersionLine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetVersionLine.js","sourceRoot":"","sources":["../../src/components/AssetVersionLine.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAwB3B;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,KAAK,EACL,WAAW,GAAG,KAAK,EACnB,gBAAgB,EAChB,aAAa,EACb,IAAI,EACJ,IAAI,GACkB;IACtB,OAAO,CACL,MAAC,IAAI,eACF,IAAI,EACL,KAAC,IAAI,IAAC,IAAI,kBAAE,IAAI,GAAQ,EACxB,MAAC,IAAI,IAAC,QAAQ,yBAAI,IAAI,SAAS,EAAC,GAAG,EAClC,WAAW,CAAC,CAAC,CAAC,CACb,MAAC,IAAI,IAAC,QAAQ,wBAAG,gBAAgB,IAAQ,CAC1C,CAAC,CAAC,CAAC,CACF,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,kBAAG,gBAAgB,IAAQ,CAC7C,EACA,WAAW,CAAC,CAAC,CAAC,CACb,MAAC,IAAI,IAAC,QAAQ,gCAAM,aAAa,IAAQ,CAC1C,CAAC,CAAC,CAAC,CACF,8BACG,KAAK,EACN,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,kBAAG,aAAa,IAAQ,IAC1C,CACJ,EACA,KAAK,IAAI,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,mBAAK,KAAK,CAAC,IAAI,SAAS,IACrD,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,35 @@
1
+ interface SkippedAssetItem {
2
+ /** Currently installed version */
3
+ installedVersion: string;
4
+ /** Latest available version */
5
+ latestVersion: string;
6
+ /** Asset name */
7
+ name: string;
8
+ /** Asset type (e.g., "skill", "rule") */
9
+ type: string;
10
+ }
11
+ interface SkippedAssetSectionProps {
12
+ /** Badge text for each item (e.g., "frozen", "pinned") */
13
+ badgeText: string;
14
+ /** Ink color for the section header and badge */
15
+ color: string;
16
+ /** Hint message shown in parentheses after the count (e.g., "use atk thaw to unfreeze") */
17
+ hint: string;
18
+ /** Icon for the section header (e.g., "❄", "⊘") */
19
+ icon: string;
20
+ /** The skipped assets to render */
21
+ items: SkippedAssetItem[];
22
+ /** Label text in the section header (e.g., "frozen", "pinned") */
23
+ label: string;
24
+ /** When true, render a top margin spacer via marginTop */
25
+ showSpacer?: boolean;
26
+ }
27
+ /**
28
+ * Renders a section of skipped assets with a colored header showing count and hint,
29
+ * followed by dimmed version lines with a badge for each item.
30
+ *
31
+ * Used for frozen and pinned asset sections in the update command output.
32
+ */
33
+ export default function SkippedAssetSection({ badgeText, color, hint, icon, items, label, showSpacer, }: SkippedAssetSectionProps): import("react/jsx-runtime").JSX.Element | null;
34
+ export {};
35
+ //# sourceMappingURL=SkippedAssetSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkippedAssetSection.d.ts","sourceRoot":"","sources":["../../src/components/SkippedAssetSection.tsx"],"names":[],"mappings":"AAIA,UAAU,gBAAgB;IACxB,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,wBAAwB;IAChC,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,2FAA2F;IAC3F,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,SAAS,EACT,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,UAAkB,GACnB,EAAE,wBAAwB,kDAqB1B"}
@@ -0,0 +1,15 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import AssetVersionLine from './AssetVersionLine.js';
4
+ /**
5
+ * Renders a section of skipped assets with a colored header showing count and hint,
6
+ * followed by dimmed version lines with a badge for each item.
7
+ *
8
+ * Used for frozen and pinned asset sections in the update command output.
9
+ */
10
+ export default function SkippedAssetSection({ badgeText, color, hint, icon, items, label, showSpacer = false, }) {
11
+ if (items.length === 0)
12
+ return null;
13
+ return (_jsxs(Box, { flexDirection: 'column', marginTop: showSpacer ? 1 : 0, children: [_jsxs(Text, { color: color, children: [icon, " ", items.length, " ", label, " asset", items.length !== 1 ? 's' : '', " skipped (", hint, "):"] }), items.map((item) => (_jsx(AssetVersionLine, { badge: { color, text: badgeText }, dimVersions: true, installedVersion: item.installedVersion, latestVersion: item.latestVersion, name: item.name, type: item.type }, `${item.type}/${item.name}`)))] }));
14
+ }
15
+ //# sourceMappingURL=SkippedAssetSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkippedAssetSection.js","sourceRoot":"","sources":["../../src/components/SkippedAssetSection.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AA8BrD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,SAAS,EACT,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,UAAU,GAAG,KAAK,GACO;IACzB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aACvD,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,aACf,IAAI,OAAG,KAAK,CAAC,MAAM,OAAG,KAAK,YAAQ,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAY,IAAI,UAC5E,EACN,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,KAAC,gBAAgB,IACf,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,WAAW,QACX,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAEvC,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,IAHV,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAIhC,CACH,CAAC,IACE,CACP,CAAC;AACJ,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export { default as AssetDetail } from './AssetDetail.js';
2
2
  export { default as AssetTable } from './AssetTable.js';
3
+ export { default as AssetVersionLine } from './AssetVersionLine.js';
3
4
  export { default as BrowseExpandedBundle, type BundleDeps, bundleExpandedLines, resolveBundleDependencies, } from './BrowseExpandedBundle.js';
4
5
  export { default as BrowseExpandedRow, computeBrowseExpandedLines } from './BrowseExpandedRow.js';
5
6
  export { default as BrowseList } from './BrowseList.js';
@@ -24,6 +25,7 @@ export { default as ListHelpBar } from './ListHelpBar.js';
24
25
  export { default as OrphanListItem } from './OrphanListItem.js';
25
26
  export { default as PromptField } from './PromptField.js';
26
27
  export { default as SectionDivider } from './SectionDivider.js';
28
+ export { default as SkippedAssetSection } from './SkippedAssetSection.js';
27
29
  export { default as Spinner } from './Spinner.js';
28
30
  export { CheckIcon, FileStatusIcon } from './StatusBadge.js';
29
31
  export { default as SyncAllInSync } from './SyncAllInSync.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,OAAO,IAAI,oBAAoB,EAC/B,KAAK,UAAU,EACf,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,KAAK,eAAe,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,KAAK,oBAAoB,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EACL,OAAO,IAAI,oBAAoB,EAC/B,KAAK,UAAU,EACf,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,KAAK,eAAe,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,KAAK,oBAAoB,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export { default as AssetDetail } from './AssetDetail.js';
2
2
  export { default as AssetTable } from './AssetTable.js';
3
+ export { default as AssetVersionLine } from './AssetVersionLine.js';
3
4
  export { default as BrowseExpandedBundle, bundleExpandedLines, resolveBundleDependencies, } from './BrowseExpandedBundle.js';
4
5
  export { default as BrowseExpandedRow, computeBrowseExpandedLines } from './BrowseExpandedRow.js';
5
6
  export { default as BrowseList } from './BrowseList.js';
@@ -24,6 +25,7 @@ export { default as ListHelpBar } from './ListHelpBar.js';
24
25
  export { default as OrphanListItem } from './OrphanListItem.js';
25
26
  export { default as PromptField } from './PromptField.js';
26
27
  export { default as SectionDivider } from './SectionDivider.js';
28
+ export { default as SkippedAssetSection } from './SkippedAssetSection.js';
27
29
  export { default as Spinner } from './Spinner.js';
28
30
  export { CheckIcon, FileStatusIcon } from './StatusBadge.js';
29
31
  export { default as SyncAllInSync } from './SyncAllInSync.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,OAAO,IAAI,oBAAoB,EAE/B,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAwB,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAsB,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAA6B,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EACL,OAAO,IAAI,oBAAoB,EAE/B,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAwB,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAsB,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAA6B,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -35,6 +35,9 @@ export type PublishAction = {
35
35
  } | {
36
36
  resolvedPath: string;
37
37
  type: 'RESOLVED_INSTALLED';
38
+ } | {
39
+ resolvedPath: string;
40
+ type: 'RESOLVED_UPDATE';
38
41
  } | {
39
42
  result: PublishResult;
40
43
  type: 'PUBLISH_DONE';
@@ -80,8 +83,9 @@ export interface PublishFlags {
80
83
  refresh?: boolean;
81
84
  tagsFlag?: string;
82
85
  tool?: string;
86
+ update: boolean;
83
87
  }
84
- export type PublishPhase = 'building-plan' | 'bump-prompt' | 'checking-registry' | 'confirm-update' | 'detecting' | 'done' | 'dry-run-result' | 'error' | 'gathering-metadata' | 'installing' | 'publishing' | 'resolving-installed' | 'validating';
88
+ export type PublishPhase = 'building-plan' | 'bump-prompt' | 'checking-registry' | 'confirm-update' | 'detecting' | 'done' | 'dry-run-result' | 'error' | 'gathering-metadata' | 'installing' | 'publishing' | 'resolving-installed' | 'resolving-update' | 'validating';
85
89
  export interface PublishState {
86
90
  authorValue: string;
87
91
  bumpSelection: string;
@@ -1 +1 @@
1
- {"version":3,"file":"usePublishState.d.ts","sourceRoot":"","sources":["../../src/hooks/usePublishState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usePublishState.d.ts","sourceRoot":"","sources":["../../src/hooks/usePublishState.ts"],"names":[],"mappings":"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"}
@@ -5,12 +5,13 @@ import { useEffect, useReducer, useRef } from 'react';
5
5
  import { resolveInstalledPaths } from '../lib/adapter.js';
6
6
  import { getGitHubToken } from '../lib/auth.js';
7
7
  import { hashFile } from '../lib/checksum.js';
8
+ import { fetchAssetFiles } from '../lib/github.js';
8
9
  import { detectCompatibleTools, getGitUserName } from '../lib/init.js';
9
10
  import { addAssetToLockfile, findInstalledAsset, readLockfile, withLockfileLock, writeLockfile, } from '../lib/lockfile.js';
10
11
  import { parseOrgFromName } from '../lib/org.js';
11
12
  import { findProjectRoot } from '../lib/paths.js';
12
13
  import { buildPublishPlan, buildStagingArea, bumpVersion, checkRegistryVersion, detectAssetFromPath, detectPublishType, executeDirectPublish, executePublish, isOrgAsset, mapPublishError, updateManifestVersion, validatePublishTarget, } from '../lib/publisher.js';
13
- import { clearCache, fetchRegistry } from '../lib/registry.js';
14
+ import { clearCache, fetchRegistry, findAsset, findBundle } from '../lib/registry.js';
14
15
  import { resolveTools } from '../lib/tool-resolver.js';
15
16
  // ---------------------------------------------------------------------------
16
17
  // Initial state factory
@@ -27,12 +28,12 @@ export function createInitialState(flags) {
27
28
  isUpdate: false,
28
29
  metadataSubPhase: 'description',
29
30
  orgValue: '',
30
- phase: flags.fromInstalled ? 'resolving-installed' : 'detecting',
31
+ phase: flags.update ? 'resolving-update' : flags.fromInstalled ? 'resolving-installed' : 'detecting',
31
32
  plan: undefined,
32
33
  progressMessage: '',
33
34
  publishResult: undefined,
34
35
  rawDetection: null,
35
- resolvedPath: flags.fromInstalled ? '' : resolve(flags.rawPath),
36
+ resolvedPath: flags.update ? '' : flags.fromInstalled ? '' : resolve(flags.rawPath),
36
37
  resolvedVersion: '',
37
38
  tagsValue: '',
38
39
  target: undefined,
@@ -129,6 +130,12 @@ export function publishReducer(state, action) {
129
130
  phase: 'detecting',
130
131
  resolvedPath: action.resolvedPath,
131
132
  };
133
+ case 'RESOLVED_UPDATE':
134
+ return {
135
+ ...state,
136
+ phase: 'detecting',
137
+ resolvedPath: action.resolvedPath,
138
+ };
132
139
  case 'SET_BUMP_SELECTION':
133
140
  return { ...state, bumpSelection: action.value };
134
141
  case 'SET_CONFIRM_VALUE':
@@ -293,6 +300,89 @@ export function usePublishState(flags) {
293
300
  // Phase-gated effect: only runs when entering 'resolving-installed'
294
301
  // eslint-disable-next-line react-hooks/exhaustive-deps
295
302
  }, [state.phase]);
303
+ // --- Phase: resolving-update ---
304
+ useEffect(() => {
305
+ if (state.phase !== 'resolving-update')
306
+ return;
307
+ let cancelled = false;
308
+ const resolveUpdate = async () => {
309
+ const assetName = state.flags.rawPath;
310
+ const { name, org } = parseOrgFromName(assetName);
311
+ const projectRoot = findProjectRoot(state.flags.projectRoot);
312
+ const tools = await resolveTools(state.flags.tool);
313
+ const adapter = tools[0].adapter;
314
+ const lockfile = await readLockfile(projectRoot);
315
+ const installed = findInstalledAsset(lockfile, name, undefined, org);
316
+ if (!installed) {
317
+ if (!cancelled) {
318
+ dispatch({ message: `Asset '${assetName}' is not installed.`, type: 'ERROR' });
319
+ }
320
+ return;
321
+ }
322
+ // Get a GitHub token and fetch the registry to find the latest version
323
+ const token = await getGitHubToken();
324
+ if (cancelled)
325
+ return;
326
+ const registry = await fetchRegistry({ force: state.flags.refresh });
327
+ if (cancelled)
328
+ return;
329
+ // Look up the asset in the registry: try findAsset first, then findBundle
330
+ const resolvedAsset = findAsset(registry, installed.name, installed.type, undefined, installed.org ?? org);
331
+ const resolvedBundle = resolvedAsset ? undefined : findBundle(registry, installed.name);
332
+ if (!resolvedAsset && !resolvedBundle) {
333
+ if (!cancelled) {
334
+ dispatch({ message: `Asset '${assetName}' not found in the registry.`, type: 'ERROR' });
335
+ }
336
+ return;
337
+ }
338
+ const latestVersion = resolvedAsset ? resolvedAsset.version : resolvedBundle.version;
339
+ const assetType = resolvedAsset ? resolvedAsset.asset.type : 'bundle';
340
+ // Fetch the authoritative manifest (and optional README) from the registry
341
+ const fetched = await fetchAssetFiles(token, { name: installed.name, org: installed.org ?? org, type: assetType }, latestVersion);
342
+ if (cancelled)
343
+ return;
344
+ // Create temp staging directory
345
+ const tempDir = await mkdir(join(tmpdir(), 'atk-publish-'), { recursive: true })
346
+ .then(() => join(tmpdir(), `atk-publish-${Date.now()}-${Math.random().toString(36).slice(2)}`))
347
+ .then(async (dir) => {
348
+ await mkdir(dir, { recursive: true });
349
+ return dir;
350
+ });
351
+ if (cancelled) {
352
+ await rm(tempDir, { force: true, recursive: true });
353
+ return;
354
+ }
355
+ tempDirRef.current = tempDir;
356
+ // Resolve installed paths and copy the user's locally modified files into staging
357
+ const resolved = resolveInstalledPaths(installed, adapter, projectRoot);
358
+ for (const file of resolved.files) {
359
+ const sourceAbsolute = join(projectRoot, file.installedPath);
360
+ const destPath = join(tempDir, file.sourcePath);
361
+ const destDir = dirname(destPath);
362
+ await mkdir(destDir, { recursive: true });
363
+ await cp(sourceAbsolute, destPath);
364
+ }
365
+ // Write the fetched manifest into the staging directory
366
+ await writeFile(join(tempDir, fetched.manifestFileName), fetched.manifestContent, 'utf-8');
367
+ // Write README if present
368
+ if (fetched.readmeContent) {
369
+ await writeFile(join(tempDir, 'README.md'), fetched.readmeContent, 'utf-8');
370
+ }
371
+ if (!cancelled) {
372
+ dispatch({ resolvedPath: tempDir, type: 'RESOLVED_UPDATE' });
373
+ }
374
+ };
375
+ resolveUpdate().catch((err) => {
376
+ if (!cancelled) {
377
+ dispatch({ message: err instanceof Error ? err.message : String(err), type: 'ERROR' });
378
+ }
379
+ });
380
+ return () => {
381
+ cancelled = true;
382
+ };
383
+ // Phase-gated effect: only runs when entering 'resolving-update'
384
+ // eslint-disable-next-line react-hooks/exhaustive-deps
385
+ }, [state.phase]);
296
386
  // --- Phase: detecting ---
297
387
  useEffect(() => {
298
388
  if (state.phase !== 'detecting')
@@ -561,7 +651,7 @@ export function usePublishState(flags) {
561
651
  // Best-effort — don't fail publish over cache
562
652
  }
563
653
  // Update lockfile in-place when publishing from an installed asset
564
- if (state.flags.fromInstalled) {
654
+ if (state.flags.fromInstalled || state.flags.update) {
565
655
  try {
566
656
  const projectRoot = findProjectRoot(state.flags.projectRoot);
567
657
  const pubTools = await resolveTools(state.flags.tool);