@detergent-software/atk 6.1.0 → 7.0.0-dev.1

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.
@@ -21,7 +21,7 @@ const commands = [
21
21
  ['prune', 'Remove orphaned dependencies'],
22
22
  ['publish', 'Publish an asset or bundle to the registry'],
23
23
  ['register', 'Drop a manifest.json into an existing local directory'],
24
- ['release-notes', 'Show release notes for ATK versions newer than the one you have installed'],
24
+ ['release-notes', 'Show ATK release notes recent history or a specific version'],
25
25
  ['schema', 'Show the schema for an asset type, bundle, adapter, lockfile, config, or registry'],
26
26
  ['search', 'Search for assets in the registry'],
27
27
  ['setup', 'Initialize ATK in a project — select tools and create config files'],
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,MAAM,CAAC,MAAM,WAAW,GAAG,sDAAsD,CAAC;AAElF,MAAM,QAAQ,GAAG;IACf,CAAC,OAAO,EAAE,gDAAgD,CAAC;IAC3D,CAAC,QAAQ,EAAE,yCAAyC,CAAC;IACrD,CAAC,OAAO,EAAE,2BAA2B,CAAC;IACtC,CAAC,UAAU,EAAE,mDAAmD,CAAC;IACjE,CAAC,QAAQ,EAAE,+CAA+C,CAAC;IAC3D,CAAC,MAAM,EAAE,mDAAmD,CAAC;IAC7D,CAAC,QAAQ,EAAE,8CAA8C,CAAC;IAC1D,CAAC,OAAO,EAAE,sEAAsE,CAAC;IACjF,CAAC,QAAQ,EAAE,0EAA0E,CAAC;IACtF,CAAC,MAAM,EAAE,6BAA6B,CAAC;IACvC,CAAC,MAAM,EAAE,gCAAgC,CAAC;IAC1C,CAAC,SAAS,EAAE,0DAA0D,CAAC;IACvE,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACjC,CAAC,UAAU,EAAE,6CAA6C,CAAC;IAC3D,CAAC,KAAK,EAAE,8CAA8C,CAAC;IACvD,CAAC,SAAS,EAAE,+DAA+D,CAAC;IAC5E,CAAC,OAAO,EAAE,8BAA8B,CAAC;IACzC,CAAC,SAAS,EAAE,4CAA4C,CAAC;IACzD,CAAC,UAAU,EAAE,uDAAuD,CAAC;IACrE,CAAC,eAAe,EAAE,2EAA2E,CAAC;IAC9F,CAAC,QAAQ,EAAE,mFAAmF,CAAC;IAC/F,CAAC,QAAQ,EAAE,mCAAmC,CAAC;IAC/C,CAAC,OAAO,EAAE,oEAAoE,CAAC;IAC/E,CAAC,MAAM,EAAE,2DAA2D,CAAC;IACrE,CAAC,MAAM,EAAE,oEAAoE,CAAC;IAC9E,CAAC,WAAW,EAAE,8BAA8B,CAAC;IAC7C,CAAC,OAAO,EAAE,8CAA8C,CAAC;IACzD,CAAC,WAAW,EAAE,gDAAgD,CAAC;IAC/D,CAAC,QAAQ,EAAE,yBAAyB,CAAC;IACrC,CAAC,KAAK,EAAE,mCAAmC,CAAC;CACpC,CAAC;AAEX,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAEtE,MAAM,CAAC,OAAO,UAAU,KAAK;IAC3B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,MAAC,IAAI,0DACoC,KAAC,IAAI,IAAC,IAAI,iCAAkB,mCAC9D,EACP,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,QAAQ,gCAAiB,EAC9B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAC9B,MAAC,IAAI,eACF,IAAI,EACL,KAAC,IAAI,IAAC,IAAI,kBAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAQ,OAAE,IAAI,KAFxC,IAAI,CAGR,CACR,CAAC,IACE,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,MAAM,CAAC,MAAM,WAAW,GAAG,sDAAsD,CAAC;AAElF,MAAM,QAAQ,GAAG;IACf,CAAC,OAAO,EAAE,gDAAgD,CAAC;IAC3D,CAAC,QAAQ,EAAE,yCAAyC,CAAC;IACrD,CAAC,OAAO,EAAE,2BAA2B,CAAC;IACtC,CAAC,UAAU,EAAE,mDAAmD,CAAC;IACjE,CAAC,QAAQ,EAAE,+CAA+C,CAAC;IAC3D,CAAC,MAAM,EAAE,mDAAmD,CAAC;IAC7D,CAAC,QAAQ,EAAE,8CAA8C,CAAC;IAC1D,CAAC,OAAO,EAAE,sEAAsE,CAAC;IACjF,CAAC,QAAQ,EAAE,0EAA0E,CAAC;IACtF,CAAC,MAAM,EAAE,6BAA6B,CAAC;IACvC,CAAC,MAAM,EAAE,gCAAgC,CAAC;IAC1C,CAAC,SAAS,EAAE,0DAA0D,CAAC;IACvE,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACjC,CAAC,UAAU,EAAE,6CAA6C,CAAC;IAC3D,CAAC,KAAK,EAAE,8CAA8C,CAAC;IACvD,CAAC,SAAS,EAAE,+DAA+D,CAAC;IAC5E,CAAC,OAAO,EAAE,8BAA8B,CAAC;IACzC,CAAC,SAAS,EAAE,4CAA4C,CAAC;IACzD,CAAC,UAAU,EAAE,uDAAuD,CAAC;IACrE,CAAC,eAAe,EAAE,+DAA+D,CAAC;IAClF,CAAC,QAAQ,EAAE,mFAAmF,CAAC;IAC/F,CAAC,QAAQ,EAAE,mCAAmC,CAAC;IAC/C,CAAC,OAAO,EAAE,oEAAoE,CAAC;IAC/E,CAAC,MAAM,EAAE,2DAA2D,CAAC;IACrE,CAAC,MAAM,EAAE,oEAAoE,CAAC;IAC9E,CAAC,WAAW,EAAE,8BAA8B,CAAC;IAC7C,CAAC,OAAO,EAAE,8CAA8C,CAAC;IACzD,CAAC,WAAW,EAAE,gDAAgD,CAAC;IAC/D,CAAC,QAAQ,EAAE,yBAAyB,CAAC;IACrC,CAAC,KAAK,EAAE,mCAAmC,CAAC;CACpC,CAAC;AAEX,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAEtE,MAAM,CAAC,OAAO,UAAU,KAAK;IAC3B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,MAAC,IAAI,0DACoC,KAAC,IAAI,IAAC,IAAI,iCAAkB,mCAC9D,EACP,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,QAAQ,gCAAiB,EAC9B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAC9B,MAAC,IAAI,eACF,IAAI,EACL,KAAC,IAAI,IAAC,IAAI,kBAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAQ,OAAE,IAAI,KAFxC,IAAI,CAGR,CACR,CAAC,IACE,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -1,11 +1,15 @@
1
1
  import { z } from 'zod';
2
- export declare const description = "Show release notes for ATK versions newer than the one you have installed";
2
+ export declare const description = "Show ATK release notes \u2014 recent history or a specific version";
3
3
  export declare const options: z.ZodObject<{
4
+ all: z.ZodDefault<z.ZodBoolean>;
4
5
  json: z.ZodDefault<z.ZodBoolean>;
6
+ prerelease: z.ZodDefault<z.ZodBoolean>;
5
7
  }, z.core.$strip>;
8
+ export declare const args: z.ZodTuple<[z.ZodOptional<z.ZodString>], null>;
6
9
  type Props = {
10
+ args: z.infer<typeof args>;
7
11
  options: z.infer<typeof options>;
8
12
  };
9
- export default function ReleaseNotes({ options: { json } }: Props): import("react/jsx-runtime").JSX.Element;
13
+ export default function ReleaseNotes({ args: [version], options: { all, json, prerelease } }: Props): import("react/jsx-runtime").JSX.Element;
10
14
  export {};
11
15
  //# sourceMappingURL=release-notes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"release-notes.d.ts","sourceRoot":"","sources":["../../src/commands/release-notes.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,WAAW,8EAA8E,CAAC;AAEvG,eAAO,MAAM,OAAO;;iBAKlB,CAAC;AAEH,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CAuDhE"}
1
+ {"version":3,"file":"release-notes.d.ts","sourceRoot":"","sources":["../../src/commands/release-notes.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,WAAW,uEAAkE,CAAC;AAE3F,eAAO,MAAM,OAAO;;;;iBAalB,CAAC;AAEH,eAAO,MAAM,IAAI,gDAEf,CAAC;AAEH,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,2CAwElG"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Box, Text, useStdout } from 'ink';
3
3
  import { option } from 'pastel';
4
4
  import { z } from 'zod';
@@ -8,18 +8,29 @@ import { getBreakpoint } from '../lib/breakpoints.js';
8
8
  import { renderMarkdown } from '../lib/markdown.js';
9
9
  import { renderJson, useNonInteractive } from '../lib/output.js';
10
10
  import { getReleaseNotes } from '../lib/release-notes.js';
11
- export const description = 'Show release notes for ATK versions newer than the one you have installed';
11
+ export const description = 'Show ATK release notes recent history or a specific version';
12
12
  export const options = z.object({
13
+ all: z
14
+ .boolean()
15
+ .default(false)
16
+ .describe(option({ alias: 'a', description: 'Show the full release history instead of just the most recent' })),
13
17
  json: z
14
18
  .boolean()
15
19
  .default(false)
16
20
  .describe(option({ alias: 'j', description: 'Output raw JSON (for scripting and CI)' })),
21
+ prerelease: z
22
+ .boolean()
23
+ .default(false)
24
+ .describe(option({ alias: 'p', description: 'Include pre-releases (-dev.N, betas) in the listing' })),
17
25
  });
18
- export default function ReleaseNotes({ options: { json } }) {
26
+ export const args = z.tuple([
27
+ z.string().optional().describe('A specific version to show notes for (e.g. 1.3.0)'),
28
+ ]);
29
+ export default function ReleaseNotes({ args: [version], options: { all, json, prerelease } }) {
19
30
  const { json: effectiveJson } = useNonInteractive(json);
20
31
  const { stdout } = useStdout();
21
32
  const bp = getBreakpoint(stdout?.columns ?? 120);
22
- const state = useCommand(async (progress) => getReleaseNotes(progress), [], 'Fetching release notes...');
33
+ const state = useCommand(async (progress) => getReleaseNotes({ all, includePrerelease: prerelease || undefined, version }, progress), [all, prerelease, version], 'Fetching release notes...');
23
34
  if (state.status === 'loading') {
24
35
  return _jsx(Spinner, { message: state.message });
25
36
  }
@@ -39,12 +50,19 @@ export default function ReleaseNotes({ options: { json } }) {
39
50
  if (effectiveJson) {
40
51
  return renderJson(data);
41
52
  }
42
- if (data.outcome === 'up-to-date') {
43
- return (_jsxs(Text, { color: 'green', children: ["\u2713 You're on the latest version (v", data.currentVersion, ")."] }));
53
+ if (data.outcome === 'empty') {
54
+ return _jsx(Text, { dimColor: true, children: "No releases found." });
55
+ }
56
+ if (data.outcome === 'not-found') {
57
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'yellow', children: ["No release found for v", data.requestedVersion, "."] }), _jsx(Text, { dimColor: true, children: "Run atk release-notes to list available versions." })] }));
58
+ }
59
+ if (data.outcome === 'single') {
60
+ return _jsx(ReleaseEntry, { narrow: bp === 'narrow', release: data.release, showSpacer: false });
44
61
  }
45
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsx(Text, { bold: true, children: data.releases.length }), " newer", ' ', data.releases.length === 1 ? 'release' : 'releases', " since", ' ', _jsxs(Text, { dimColor: true, children: ["v", data.currentVersion] }), " \u2192 latest ", _jsxs(Text, { bold: true, children: ["v", data.latestVersion] })] }), _jsx(Box, { height: 1 }), data.releases.map((release, index) => (_jsx(ReleaseEntry, { narrow: bp === 'narrow', release: release, showSpacer: index > 0 }, release.version)))] }));
62
+ const hidden = data.total - data.releases.length;
63
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsx(Text, { bold: true, children: data.releases.length }), " of ", _jsx(Text, { bold: true, children: data.total }), ' ', data.total === 1 ? 'release' : 'releases', " \u00B7 installed ", _jsxs(Text, { dimColor: true, children: ["v", data.currentVersion] }), " \u00B7 latest", ' ', _jsxs(Text, { bold: true, children: ["v", data.latestVersion] })] }), _jsx(Box, { height: 1 }), data.releases.map((release, index) => (_jsx(ReleaseEntry, { narrow: bp === 'narrow', release: release, showSpacer: index > 0 }, release.version))), hidden > 0 ? (_jsxs(_Fragment, { children: [_jsx(Box, { height: 1 }), _jsxs(Text, { dimColor: true, children: [hidden, " older not shown. Use --all to see everything."] })] })) : null] }));
46
64
  }
47
65
  function ReleaseEntry({ narrow, release, showSpacer }) {
48
- return (_jsxs(Box, { flexDirection: 'column', children: [showSpacer ? _jsx(Box, { height: 1 }) : null, _jsxs(Text, { children: [_jsxs(Text, { bold: true, color: '#FF8800', children: ["v", release.version] }), release.channel === 'dev' ? _jsx(Text, { dimColor: true, children: " (dev)" }) : null, release.publishedAt ? _jsxs(Text, { dimColor: true, children: [" \u00B7 ", release.publishedAt.slice(0, 10)] }) : null] }), _jsx(Box, { marginTop: narrow ? 0 : 1, children: _jsx(Text, { children: renderMarkdown(release.body.trim() || '_No release notes._') }) })] }));
66
+ return (_jsxs(Box, { flexDirection: 'column', children: [showSpacer ? _jsx(Box, { height: 1 }) : null, _jsxs(Text, { children: [_jsxs(Text, { bold: true, color: '#FF8800', children: ["v", release.version] }), release.channel === 'dev' ? _jsx(Text, { dimColor: true, children: " (dev)" }) : null, release.publishedAt ? _jsxs(Text, { dimColor: true, children: [" \u00B7 ", release.publishedAt.slice(0, 10)] }) : null, release.installed ? _jsx(Text, { color: 'cyan', children: " \u2190 installed" }) : null, release.newer ? _jsx(Text, { color: 'green', children: " \u2726 newer" }) : null] }), _jsx(Box, { marginTop: narrow ? 0 : 1, children: _jsx(Text, { children: renderMarkdown(release.body.trim() || '_No release notes._') }) })] }));
49
67
  }
50
68
  //# sourceMappingURL=release-notes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"release-notes.js","sourceRoot":"","sources":["../../src/commands/release-notes.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"release-notes.js","sourceRoot":"","sources":["../../src/commands/release-notes.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,6 @@ export declare const description = "Explain why an asset is installed";
3
3
  export declare const options: z.ZodObject<{
4
4
  json: z.ZodDefault<z.ZodBoolean>;
5
5
  projectRoot: z.ZodOptional<z.ZodString>;
6
- tool: z.ZodOptional<z.ZodString>;
7
6
  type: z.ZodOptional<z.ZodEnum<{
8
7
  skill: "skill";
9
8
  agent: "agent";
@@ -18,6 +17,6 @@ type Props = {
18
17
  args: z.infer<typeof args>;
19
18
  options: z.infer<typeof options>;
20
19
  };
21
- export default function Why({ args: [rawName], options: { json, projectRoot, tool, type } }: Props): import("react/jsx-runtime").JSX.Element;
20
+ export default function Why({ args: [rawName], options: { json, projectRoot, type } }: Props): import("react/jsx-runtime").JSX.Element;
22
21
  export {};
23
22
  //# sourceMappingURL=why.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"why.d.ts","sourceRoot":"","sources":["../../src/commands/why.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,WAAW,sCAAsC,CAAC;AAE/D,eAAO,MAAM,OAAO;;;;;;;;;;;;iBAkClB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAA+C,CAAC;AAEjE,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CAgGjG"}
1
+ {"version":3,"file":"why.d.ts","sourceRoot":"","sources":["../../src/commands/why.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,WAAW,sCAAsC,CAAC;AAE/D,eAAO,MAAM,OAAO;;;;;;;;;;;iBAyBlB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAA+C,CAAC;AAEjE,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CA8F3F"}
@@ -9,7 +9,6 @@ import { parseOrgFromName } from '../lib/org.js';
9
9
  import { renderJson, useNonInteractive } from '../lib/output.js';
10
10
  import { findProjectRoot } from '../lib/paths.js';
11
11
  import { AssetType } from '../lib/schemas/manifest.js';
12
- import { resolveToolNames } from '../lib/tool-resolver.js';
13
12
  export const description = 'Explain why an asset is installed';
14
13
  export const options = z.object({
15
14
  json: z
@@ -26,30 +25,22 @@ export const options = z.object({
26
25
  alias: 'P',
27
26
  description: 'Override project root directory',
28
27
  })),
29
- tool: z
30
- .string()
31
- .optional()
32
- .describe(option({
33
- alias: 'T',
34
- description: 'Target tool (e.g., claude-code)',
35
- })),
36
28
  type: AssetType.optional().describe(option({
37
29
  alias: 't',
38
30
  description: 'Filter by asset type (skill, agent, rule, hook, memory-template, mcp-config)',
39
31
  })),
40
32
  });
41
33
  export const args = z.tuple([z.string().describe('Asset name')]);
42
- export default function Why({ args: [rawName], options: { json, projectRoot, tool, type } }) {
34
+ export default function Why({ args: [rawName], options: { json, projectRoot, type } }) {
43
35
  const { name, org } = parseOrgFromName(rawName);
44
36
  const { json: effectiveJson } = useNonInteractive(json);
45
37
  const state = useCommand(async (progress) => {
46
38
  const projectDir = findProjectRoot(projectRoot);
47
- await resolveToolNames(tool, projectDir);
48
39
  progress('Reading lockfile...');
49
40
  const lockfile = await readLockfile(projectDir);
50
41
  progress('Tracing dependency chain...');
51
42
  return traceDependencyChain(lockfile, name, type, org);
52
- }, [rawName, projectRoot, tool, type], 'Reading lockfile...');
43
+ }, [rawName, projectRoot, type], 'Reading lockfile...');
53
44
  if (state.status === 'loading') {
54
45
  return _jsx(Spinner, { message: state.message });
55
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"why.js","sourceRoot":"","sources":["../../src/commands/why.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"why.js","sourceRoot":"","sources":["../../src/commands/why.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +1,17 @@
1
+ /** Default number of releases shown in list mode before `--all` is needed. */
2
+ export declare const DEFAULT_RELEASE_LIMIT = 15;
1
3
  /** Release channel. `latest` = stable; `dev` = pre-release (`-dev.N`, betas, etc.). */
2
4
  export type ReleaseChannel = 'dev' | 'latest';
3
- /** A single published release, newer than the installed CLI version. */
5
+ /** A single published release. */
4
6
  export interface ReleaseNote {
5
7
  /** Raw markdown body of the GitHub release (changelog). */
6
8
  body: string;
7
9
  /** Resolved channel for this release. */
8
10
  channel: ReleaseChannel;
11
+ /** True when this is the version currently installed. */
12
+ installed: boolean;
13
+ /** True when this version is newer than the installed CLI version. */
14
+ newer: boolean;
9
15
  /** GitHub's `prerelease` flag for the release. */
10
16
  prerelease: boolean;
11
17
  /** ISO timestamp the release was published, or null if unknown. */
@@ -13,15 +19,35 @@ export interface ReleaseNote {
13
19
  /** Semver version parsed from the release tag (leading `v` stripped). */
14
20
  version: string;
15
21
  }
16
- /** Result of gathering release notes for versions newer than the installed CLI. */
22
+ /** Options controlling which release notes are returned. */
23
+ export interface ReleaseNotesOptions {
24
+ /** Ignore the limit and return the full (channel-filtered) history. */
25
+ all?: boolean;
26
+ /** Include pre-releases. Defaults to the channel implied by the installed build. */
27
+ includePrerelease?: boolean;
28
+ /** Max releases to return in list mode (defaults to `DEFAULT_RELEASE_LIMIT`). */
29
+ limit?: number;
30
+ /** Look up a single release by version (tag normalized; ignores channel filter). */
31
+ version?: string;
32
+ }
33
+ /** Result of gathering release notes. */
17
34
  export type ReleaseNotesOutcome = {
18
35
  currentVersion: string;
19
36
  latestVersion: string;
20
- outcome: 'notes';
37
+ outcome: 'list';
21
38
  releases: ReleaseNote[];
39
+ total: number;
40
+ } | {
41
+ currentVersion: string;
42
+ outcome: 'empty';
22
43
  } | {
23
44
  currentVersion: string;
24
- outcome: 'up-to-date';
45
+ outcome: 'not-found';
46
+ requestedVersion: string;
47
+ } | {
48
+ currentVersion: string;
49
+ outcome: 'single';
50
+ release: ReleaseNote;
25
51
  };
26
52
  /** Shape of a GitHub Releases API list entry (only the fields we use). */
27
53
  interface GitHubRelease {
@@ -31,29 +57,34 @@ interface GitHubRelease {
31
57
  tag_name?: string;
32
58
  }
33
59
  /**
34
- * Fetch GitHub Releases for the CLI repo and return the subset newer than the
35
- * installed `CLI_VERSION`, up to and including the latest — the full gap between
36
- * the installed version and the latest, ordered newest-first.
60
+ * Fetch GitHub Releases for the CLI repo and return release notes for browsing.
61
+ *
62
+ * Without a `version`, returns the release history (newest-first), channel-filtered
63
+ * and capped at a limit, with each entry flagged for whether it is the installed
64
+ * version or newer than it. With a `version`, returns that single release's notes
65
+ * (pre-releases included, regardless of channel).
37
66
  *
38
- * Channel selection mirrors the update banner: pre-release builds track the
39
- * `dev` channel (including `-dev.N` pre-releases), stable builds track `latest`.
67
+ * Channel selection mirrors the update banner: pre-release builds include `-dev.N`
68
+ * pre-releases by default, stable builds show stable releases only — overridable
69
+ * via `includePrerelease`.
40
70
  *
41
71
  * Unlike the silent update banner, auth and network failures propagate so the
42
72
  * command can surface them via `ErrorView`.
43
73
  */
44
- export declare function getReleaseNotes(progress?: (message: string) => void): Promise<ReleaseNotesOutcome>;
74
+ export declare function getReleaseNotes(options?: ReleaseNotesOptions, progress?: (message: string) => void): Promise<ReleaseNotesOutcome>;
45
75
  /**
46
- * Pure selection logic: from raw GitHub releases, keep those that match the
47
- * requested channel and whose semver is greater than `currentVersion`, ordered
48
- * newest-first. Exported separately so channel filtering, gap selection, and
49
- * version comparison are unit-testable without any network access.
76
+ * Pure selection logic: from raw GitHub releases, return valid releases ordered
77
+ * newest-first, optionally including pre-releases, with each entry flagged for
78
+ * whether it is the installed version or newer than it. Exported separately so
79
+ * channel filtering, version comparison, and flagging are unit-testable without
80
+ * any network access.
50
81
  *
51
82
  * - Tags are normalized by stripping a leading `v`; entries that aren't valid
52
83
  * semver are skipped.
53
84
  * - A release's channel is `dev` when GitHub's `prerelease` flag is set OR the
54
85
  * version carries a semver pre-release component; otherwise `latest`.
55
- * - The `latest` channel keeps only stable releases; the `dev` channel keeps all.
86
+ * - When `includePrerelease` is false, `dev` releases are dropped.
56
87
  */
57
- export declare function selectReleaseNotes(raw: GitHubRelease[], currentVersion: string, channel: ReleaseChannel): ReleaseNote[];
88
+ export declare function selectReleaseNotes(raw: GitHubRelease[], currentVersion: string, includePrerelease: boolean): ReleaseNote[];
58
89
  export {};
59
90
  //# sourceMappingURL=release-notes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"release-notes.d.ts","sourceRoot":"","sources":["../../src/lib/release-notes.ts"],"names":[],"mappings":"AAOA,uFAAuF;AACvF,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE9C,wEAAwE;AACxE,MAAM,WAAW,WAAW;IAC1B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,EAAE,cAAc,CAAC;IACxB,kDAAkD;IAClD,UAAU,EAAE,OAAO,CAAC;IACpB,mEAAmE;IACnE,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC;IAC3B,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,mFAAmF;AACnF,MAAM,MAAM,mBAAmB,GAC3B;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,WAAW,EAAE,CAAA;CAAE,GAC5F;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC;AAEtD,0EAA0E;AAC1E,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAwBxG;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,EAAE,EACpB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,cAAc,GACtB,WAAW,EAAE,CAgCf"}
1
+ {"version":3,"file":"release-notes.d.ts","sourceRoot":"","sources":["../../src/lib/release-notes.ts"],"names":[],"mappings":"AAaA,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,uFAAuF;AACvF,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE9C,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC1B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,OAAO,EAAE,cAAc,CAAC;IACxB,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,KAAK,EAAE,OAAO,CAAC;IACf,kDAAkD;IAClD,UAAU,EAAE,OAAO,CAAC;IACpB,mEAAmE;IACnE,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC;IAC3B,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,4DAA4D;AAC5D,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,yCAAyC;AACzC,MAAM,MAAM,mBAAmB,GAC3B;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1G;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC5C;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,GAC1E;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC;AAExE,0EAA0E;AAC1E,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CACnC,OAAO,GAAE,mBAAwB,EACjC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACnC,OAAO,CAAC,mBAAmB,CAAC,CAqC9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,EAAE,EACpB,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,OAAO,GACzB,WAAW,EAAE,CA6Bf"}
@@ -1,21 +1,27 @@
1
- import { gt as semverGt, prerelease as semverPrerelease, rcompare as semverRcompare, valid as semverValid } from 'semver';
1
+ import { eq as semverEq, gt as semverGt, prerelease as semverPrerelease, rcompare as semverRcompare, valid as semverValid, } from 'semver';
2
2
  import { getGitHubToken } from './auth.js';
3
3
  import { fetchWithRetry } from './fetch-retry.js';
4
4
  import { buildGitHubHeaders, DEFAULT_CLI_REPO, httpErrorMessage } from './github.js';
5
5
  import { CLI_VERSION, isPreRelease } from './version.js';
6
+ /** Default number of releases shown in list mode before `--all` is needed. */
7
+ export const DEFAULT_RELEASE_LIMIT = 15;
6
8
  const RELEASES_URL = `https://api.github.com/repos/${DEFAULT_CLI_REPO}/releases?per_page=100`;
7
9
  /**
8
- * Fetch GitHub Releases for the CLI repo and return the subset newer than the
9
- * installed `CLI_VERSION`, up to and including the latest — the full gap between
10
- * the installed version and the latest, ordered newest-first.
10
+ * Fetch GitHub Releases for the CLI repo and return release notes for browsing.
11
11
  *
12
- * Channel selection mirrors the update banner: pre-release builds track the
13
- * `dev` channel (including `-dev.N` pre-releases), stable builds track `latest`.
12
+ * Without a `version`, returns the release history (newest-first), channel-filtered
13
+ * and capped at a limit, with each entry flagged for whether it is the installed
14
+ * version or newer than it. With a `version`, returns that single release's notes
15
+ * (pre-releases included, regardless of channel).
16
+ *
17
+ * Channel selection mirrors the update banner: pre-release builds include `-dev.N`
18
+ * pre-releases by default, stable builds show stable releases only — overridable
19
+ * via `includePrerelease`.
14
20
  *
15
21
  * Unlike the silent update banner, auth and network failures propagate so the
16
22
  * command can surface them via `ErrorView`.
17
23
  */
18
- export async function getReleaseNotes(progress) {
24
+ export async function getReleaseNotes(options = {}, progress) {
19
25
  progress?.('Authenticating...');
20
26
  const token = await getGitHubToken();
21
27
  progress?.('Fetching releases...');
@@ -24,31 +30,43 @@ export async function getReleaseNotes(progress) {
24
30
  throw new Error(httpErrorMessage(response.status, 'CLI releases'));
25
31
  }
26
32
  const raw = (await response.json());
27
- const channel = isPreRelease() ? 'dev' : 'latest';
28
- const releases = selectReleaseNotes(raw, CLI_VERSION, channel);
29
- if (releases.length === 0) {
30
- return { currentVersion: CLI_VERSION, outcome: 'up-to-date' };
33
+ // A specific version lookup ignores the channel filter so you can always read
34
+ // the notes for any published version (including pre-releases).
35
+ if (options.version) {
36
+ const requested = normalizeTag(options.version) ?? options.version;
37
+ const release = selectReleaseNotes(raw, CLI_VERSION, true).find((r) => semverEq(r.version, requested));
38
+ return release
39
+ ? { currentVersion: CLI_VERSION, outcome: 'single', release }
40
+ : { currentVersion: CLI_VERSION, outcome: 'not-found', requestedVersion: requested };
41
+ }
42
+ const includePrerelease = options.includePrerelease ?? isPreRelease();
43
+ const all = selectReleaseNotes(raw, CLI_VERSION, includePrerelease);
44
+ if (all.length === 0) {
45
+ return { currentVersion: CLI_VERSION, outcome: 'empty' };
31
46
  }
47
+ const limit = options.all ? all.length : (options.limit ?? DEFAULT_RELEASE_LIMIT);
32
48
  return {
33
49
  currentVersion: CLI_VERSION,
34
- latestVersion: releases[0].version,
35
- outcome: 'notes',
36
- releases,
50
+ latestVersion: all[0].version,
51
+ outcome: 'list',
52
+ releases: all.slice(0, limit),
53
+ total: all.length,
37
54
  };
38
55
  }
39
56
  /**
40
- * Pure selection logic: from raw GitHub releases, keep those that match the
41
- * requested channel and whose semver is greater than `currentVersion`, ordered
42
- * newest-first. Exported separately so channel filtering, gap selection, and
43
- * version comparison are unit-testable without any network access.
57
+ * Pure selection logic: from raw GitHub releases, return valid releases ordered
58
+ * newest-first, optionally including pre-releases, with each entry flagged for
59
+ * whether it is the installed version or newer than it. Exported separately so
60
+ * channel filtering, version comparison, and flagging are unit-testable without
61
+ * any network access.
44
62
  *
45
63
  * - Tags are normalized by stripping a leading `v`; entries that aren't valid
46
64
  * semver are skipped.
47
65
  * - A release's channel is `dev` when GitHub's `prerelease` flag is set OR the
48
66
  * version carries a semver pre-release component; otherwise `latest`.
49
- * - The `latest` channel keeps only stable releases; the `dev` channel keeps all.
67
+ * - When `includePrerelease` is false, `dev` releases are dropped.
50
68
  */
51
- export function selectReleaseNotes(raw, currentVersion, channel) {
69
+ export function selectReleaseNotes(raw, currentVersion, includePrerelease) {
52
70
  const notes = [];
53
71
  for (const entry of raw) {
54
72
  const version = normalizeTag(entry.tag_name);
@@ -56,17 +74,15 @@ export function selectReleaseNotes(raw, currentVersion, channel) {
56
74
  continue;
57
75
  }
58
76
  const prerelease = entry.prerelease === true;
59
- const releaseChannel = prerelease || semverPrerelease(version) !== null ? 'dev' : 'latest';
60
- // On the stable channel, ignore pre-releases entirely.
61
- if (channel === 'latest' && releaseChannel === 'dev') {
62
- continue;
63
- }
64
- if (!semverGt(version, currentVersion)) {
77
+ const channel = prerelease || semverPrerelease(version) !== null ? 'dev' : 'latest';
78
+ if (!includePrerelease && channel === 'dev') {
65
79
  continue;
66
80
  }
67
81
  notes.push({
68
82
  body: entry.body ?? '',
69
- channel: releaseChannel,
83
+ channel,
84
+ installed: semverValid(currentVersion) ? semverEq(version, currentVersion) : false,
85
+ newer: semverValid(currentVersion) ? semverGt(version, currentVersion) : false,
70
86
  prerelease,
71
87
  publishedAt: entry.published_at ?? null,
72
88
  version,
@@ -1 +1 @@
1
- {"version":3,"file":"release-notes.js","sourceRoot":"","sources":["../../src/lib/release-notes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"release-notes.js","sourceRoot":"","sources":["../../src/lib/release-notes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@detergent-software/atk",
3
- "version": "6.1.0",
3
+ "version": "7.0.0-dev.1",
4
4
  "description": "Agentic Tool Kit — CLI for managing AI coding tool assets.",
5
5
  "type": "module",
6
6
  "bin": {