@detergent-software/atk 0.13.1 → 0.14.0-dev.2

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 (73) hide show
  1. package/build/commands/audit.d.ts.map +1 -1
  2. package/build/commands/audit.js +6 -1
  3. package/build/commands/audit.js.map +1 -1
  4. package/build/commands/freeze.d.ts +22 -0
  5. package/build/commands/freeze.d.ts.map +1 -0
  6. package/build/commands/freeze.js +78 -0
  7. package/build/commands/freeze.js.map +1 -0
  8. package/build/commands/index.d.ts.map +1 -1
  9. package/build/commands/index.js +2 -0
  10. package/build/commands/index.js.map +1 -1
  11. package/build/commands/install.d.ts +2 -1
  12. package/build/commands/install.d.ts.map +1 -1
  13. package/build/commands/install.js +27 -9
  14. package/build/commands/install.js.map +1 -1
  15. package/build/commands/list.d.ts.map +1 -1
  16. package/build/commands/list.js +1 -0
  17. package/build/commands/list.js.map +1 -1
  18. package/build/commands/outdated.d.ts.map +1 -1
  19. package/build/commands/outdated.js +1 -1
  20. package/build/commands/outdated.js.map +1 -1
  21. package/build/commands/publish.d.ts +10 -1
  22. package/build/commands/publish.d.ts.map +1 -1
  23. package/build/commands/publish.js +80 -9
  24. package/build/commands/publish.js.map +1 -1
  25. package/build/commands/sync.d.ts.map +1 -1
  26. package/build/commands/sync.js +23 -12
  27. package/build/commands/sync.js.map +1 -1
  28. package/build/commands/thaw.d.ts +22 -0
  29. package/build/commands/thaw.d.ts.map +1 -0
  30. package/build/commands/thaw.js +78 -0
  31. package/build/commands/thaw.js.map +1 -0
  32. package/build/commands/update.d.ts.map +1 -1
  33. package/build/commands/update.js +15 -10
  34. package/build/commands/update.js.map +1 -1
  35. package/build/components/AssetTable.d.ts +1 -0
  36. package/build/components/AssetTable.d.ts.map +1 -1
  37. package/build/components/AssetTable.js +1 -1
  38. package/build/components/AssetTable.js.map +1 -1
  39. package/build/components/StatusBadge.d.ts +1 -1
  40. package/build/components/StatusBadge.d.ts.map +1 -1
  41. package/build/components/StatusBadge.js +2 -0
  42. package/build/components/StatusBadge.js.map +1 -1
  43. package/build/lib/installer.js +2 -0
  44. package/build/lib/installer.js.map +1 -1
  45. package/build/lib/lockfile.d.ts +19 -0
  46. package/build/lib/lockfile.d.ts.map +1 -1
  47. package/build/lib/lockfile.js +54 -0
  48. package/build/lib/lockfile.js.map +1 -1
  49. package/build/lib/publisher.d.ts +15 -0
  50. package/build/lib/publisher.d.ts.map +1 -1
  51. package/build/lib/publisher.js +70 -1
  52. package/build/lib/publisher.js.map +1 -1
  53. package/build/lib/schemas/lockfile.d.ts +6 -0
  54. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  55. package/build/lib/schemas/lockfile.js +3 -0
  56. package/build/lib/schemas/lockfile.js.map +1 -1
  57. package/build/lib/schemas/manifest.d.ts +13 -0
  58. package/build/lib/schemas/manifest.d.ts.map +1 -1
  59. package/build/lib/schemas/manifest.js +9 -0
  60. package/build/lib/schemas/manifest.js.map +1 -1
  61. package/build/lib/schemas/registry.d.ts +52 -0
  62. package/build/lib/schemas/registry.d.ts.map +1 -1
  63. package/build/lib/schemas/registry.js +5 -0
  64. package/build/lib/schemas/registry.js.map +1 -1
  65. package/build/lib/updater.d.ts +10 -0
  66. package/build/lib/updater.d.ts.map +1 -1
  67. package/build/lib/updater.js +52 -4
  68. package/build/lib/updater.js.map +1 -1
  69. package/build/lib/variant.d.ts +43 -0
  70. package/build/lib/variant.d.ts.map +1 -0
  71. package/build/lib/variant.js +116 -0
  72. package/build/lib/variant.js.map +1 -0
  73. package/package.json +1 -1
@@ -23,9 +23,28 @@ export function checkOutdated(lockfile, registry) {
23
23
  // Asset no longer in registry — skip (could be removed/deprecated)
24
24
  continue;
25
25
  }
26
+ // For variant installations, compare the base version against the latest stable
27
+ if (installed.projectVariant && installed.baseVersion) {
28
+ if (isNewer(resolved.version, installed.baseVersion)) {
29
+ outdated.push({
30
+ baseLatestVersion: resolved.version,
31
+ baseVersion: installed.baseVersion,
32
+ frozen: installed.frozen ? true : undefined,
33
+ installedVersion: installed.version,
34
+ latestVersion: resolved.version,
35
+ name: installed.name,
36
+ pinned: installed.pinnedVersion ? true : undefined,
37
+ trustLevel: resolved.versionData.trustLevel ?? 'experimental',
38
+ type: installed.type,
39
+ variantStatus: 'base-updated',
40
+ });
41
+ }
42
+ continue;
43
+ }
26
44
  // resolved.version is the latest version (findAsset defaults to latest)
27
45
  if (isNewer(resolved.version, installed.version)) {
28
46
  outdated.push({
47
+ frozen: installed.frozen ? true : undefined,
29
48
  installedVersion: installed.version,
30
49
  latestVersion: resolved.version,
31
50
  name: installed.name,
@@ -43,6 +62,10 @@ export function checkOutdated(lockfile, registry) {
43
62
  */
44
63
  export async function updateAsset(assetName, installed, registry, options) {
45
64
  const { adapter, onProgress, projectDir, targetVersion, tool } = options;
65
+ // Variants cannot be auto-updated — they must be rebased manually
66
+ if (installed.projectVariant) {
67
+ throw new UpdaterError(`Asset "${assetName}" is a project variant (${installed.projectVariant}). Variants cannot be auto-updated — rebase manually with "atk publish --variant".`);
68
+ }
46
69
  // Resolve the target version — defaults to latest when targetVersion is undefined
47
70
  const resolved = findAsset(registry, assetName, installed.type, targetVersion);
48
71
  if (!resolved) {
@@ -142,6 +165,10 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
142
165
  if (!installed) {
143
166
  throw new UpdaterError(`Asset "${name}" is not installed.`);
144
167
  }
168
+ // Check frozen state for explicitly targeted asset
169
+ if (installed.frozen) {
170
+ throw new UpdaterError(`Asset "${name}" is frozen. Use "atk thaw ${name}" to unfreeze it before updating.`);
171
+ }
145
172
  // Check pin state for explicitly targeted asset
146
173
  if (installed.pinnedVersion && !options.force) {
147
174
  throw new UpdaterError(`Asset "${name}" is pinned to version "${installed.pinnedVersion}". Use --force to override the pin.`);
@@ -155,6 +182,7 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
155
182
  }
156
183
  const outdated = checkOutdated(lockfile, registry);
157
184
  let toUpdate;
185
+ const frozenSkipped = [];
158
186
  const skipped = [];
159
187
  if (assetNames && assetNames.length > 0) {
160
188
  toUpdate = outdated.filter((o) => assetNames.includes(o.name));
@@ -168,6 +196,12 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
168
196
  throw new UpdaterError(`Asset "${name}" is already at the latest version (v${installed.version}).`);
169
197
  }
170
198
  }
199
+ // For explicitly targeted frozen assets, throw
200
+ for (const asset of toUpdate) {
201
+ if (asset.frozen) {
202
+ throw new UpdaterError(`Asset "${asset.name}" is frozen. Use "atk thaw ${asset.name}" to unfreeze it before updating.`);
203
+ }
204
+ }
171
205
  // For explicitly targeted pinned assets, throw unless force is true
172
206
  for (const asset of toUpdate) {
173
207
  if (asset.pinned && !options.force) {
@@ -176,10 +210,14 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
176
210
  }
177
211
  }
178
212
  else {
179
- // Bulk update: skip pinned assets without error
213
+ // Bulk update: skip pinned and frozen assets without error
180
214
  toUpdate = [];
181
215
  for (const asset of outdated) {
182
- if (asset.pinned) {
216
+ if (asset.frozen) {
217
+ frozenSkipped.push(asset);
218
+ options.onProgress?.(`Skipping frozen asset ${asset.name} (frozen, use "atk thaw ${asset.name}" to unfreeze)`);
219
+ }
220
+ else if (asset.pinned) {
183
221
  skipped.push(asset);
184
222
  options.onProgress?.(`Skipping pinned asset ${asset.name} (pinned, use --force to override)`);
185
223
  }
@@ -189,7 +227,12 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
189
227
  }
190
228
  }
191
229
  if (toUpdate.length === 0) {
192
- return { failures: [], results: [], skipped: skipped.length > 0 ? skipped : undefined };
230
+ return {
231
+ failures: [],
232
+ frozenSkipped: frozenSkipped.length > 0 ? frozenSkipped : undefined,
233
+ results: [],
234
+ skipped: skipped.length > 0 ? skipped : undefined,
235
+ };
193
236
  }
194
237
  const results = [];
195
238
  const failures = [];
@@ -214,7 +257,12 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
214
257
  failures.push({ error: message, name: asset.name, type: asset.type });
215
258
  }
216
259
  }
217
- return { failures, results, skipped: skipped.length > 0 ? skipped : undefined };
260
+ return {
261
+ failures,
262
+ frozenSkipped: frozenSkipped.length > 0 ? frozenSkipped : undefined,
263
+ results,
264
+ skipped: skipped.length > 0 ? skipped : undefined,
265
+ };
218
266
  }
219
267
  /**
220
268
  * Check if the registry version is newer than the installed version.
@@ -1 +1 @@
1
- {"version":3,"file":"updater.js","sourceRoot":"","sources":["../../src/lib/updater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updater.js","sourceRoot":"","sources":["../../src/lib/updater.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { AssetType, Manifest } from './schemas/manifest.js';
2
+ import type { Registry, RegistryAssetVersion } from './schemas/registry.js';
3
+ export interface ParsedVariantVersion {
4
+ baseVersion: string;
5
+ projectId: string;
6
+ revision: number;
7
+ }
8
+ /**
9
+ * Build a variant manifest from an installed asset's data, the project ID,
10
+ * the computed next variant version, and the original manifest metadata
11
+ * from the registry.
12
+ */
13
+ export declare function buildVariantManifest(originalVersionData: RegistryAssetVersion, name: string, type: AssetType, projectId: string, nextVersion: string, baseVersion: string, entrypoint: string, files?: string[]): Manifest;
14
+ /**
15
+ * Construct a variant version string from parts.
16
+ * E.g., buildVariantVersion('1.0.0', 'acme-web', 1) => '1.0.0-acme-web.1'
17
+ */
18
+ export declare function buildVariantVersion(baseVersion: string, projectId: string, revision: number): string;
19
+ /**
20
+ * Compute the next variant version by finding the highest existing revision
21
+ * for the given project ID and incrementing by 1.
22
+ * Starts at 1 if no existing variants are found.
23
+ */
24
+ export declare function computeNextVariantVersion(baseVersion: string, projectId: string, registry: Registry, assetName: string, assetType: AssetType | undefined): string;
25
+ /**
26
+ * Search the registry for the highest matching variant version for a given
27
+ * asset name, type, and project ID.
28
+ *
29
+ * Returns the full version string if found, undefined otherwise.
30
+ */
31
+ export declare function findLatestVariant(registry: Registry, assetName: string, assetType: AssetType | undefined, projectId: string): string | undefined;
32
+ /**
33
+ * Check whether a version string is a pre-release (variant) version.
34
+ */
35
+ export declare function isVariantVersion(version: string): boolean;
36
+ /**
37
+ * Parse a variant version string like `1.0.0-acme-web.1` into structured parts.
38
+ * Returns undefined if the version is not a valid variant.
39
+ *
40
+ * semver.prerelease('1.0.0-acme-web.1') returns ["acme-web", 1]
41
+ */
42
+ export declare function parseVariantVersion(version: string): ParsedVariantVersion | undefined;
43
+ //# sourceMappingURL=variant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variant.d.ts","sourceRoot":"","sources":["../../src/lib/variant.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAI5E,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,mBAAmB,EAAE,oBAAoB,EACzC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,QAAQ,CAwBV;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpG;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,GAAG,SAAS,GAC/B,MAAM,CAgBR;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAmBpB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAgBrF"}
@@ -0,0 +1,116 @@
1
+ import { prerelease, valid as semverValid } from 'semver';
2
+ import { findAsset } from './registry.js';
3
+ /**
4
+ * Build a variant manifest from an installed asset's data, the project ID,
5
+ * the computed next variant version, and the original manifest metadata
6
+ * from the registry.
7
+ */
8
+ export function buildVariantManifest(originalVersionData, name, type, projectId, nextVersion, baseVersion, entrypoint, files) {
9
+ return {
10
+ author: originalVersionData.author,
11
+ baseAsset: {
12
+ name,
13
+ type,
14
+ version: baseVersion,
15
+ },
16
+ dependencies: originalVersionData.dependencies?.map((d) => ({
17
+ name: d.name,
18
+ type: d.type,
19
+ ...(d.version ? { version: d.version } : {}),
20
+ })),
21
+ description: originalVersionData.description,
22
+ entrypoint,
23
+ files,
24
+ name,
25
+ projectVariant: projectId,
26
+ tags: [],
27
+ tools: (originalVersionData.tools ?? []).map((t) => ({ tool: t })),
28
+ trustLevel: originalVersionData.trustLevel,
29
+ type,
30
+ version: nextVersion,
31
+ };
32
+ }
33
+ /**
34
+ * Construct a variant version string from parts.
35
+ * E.g., buildVariantVersion('1.0.0', 'acme-web', 1) => '1.0.0-acme-web.1'
36
+ */
37
+ export function buildVariantVersion(baseVersion, projectId, revision) {
38
+ return `${baseVersion}-${projectId}.${revision}`;
39
+ }
40
+ /**
41
+ * Compute the next variant version by finding the highest existing revision
42
+ * for the given project ID and incrementing by 1.
43
+ * Starts at 1 if no existing variants are found.
44
+ */
45
+ export function computeNextVariantVersion(baseVersion, projectId, registry, assetName, assetType) {
46
+ const resolved = findAsset(registry, assetName, assetType);
47
+ let highestRevision = 0;
48
+ if (resolved) {
49
+ for (const ver of Object.keys(resolved.asset.versions)) {
50
+ const parsed = parseVariantVersion(ver);
51
+ if (parsed && parsed.projectId === projectId && parsed.baseVersion === baseVersion) {
52
+ if (parsed.revision > highestRevision) {
53
+ highestRevision = parsed.revision;
54
+ }
55
+ }
56
+ }
57
+ }
58
+ return buildVariantVersion(baseVersion, projectId, highestRevision + 1);
59
+ }
60
+ /**
61
+ * Search the registry for the highest matching variant version for a given
62
+ * asset name, type, and project ID.
63
+ *
64
+ * Returns the full version string if found, undefined otherwise.
65
+ */
66
+ export function findLatestVariant(registry, assetName, assetType, projectId) {
67
+ const resolved = findAsset(registry, assetName, assetType);
68
+ if (!resolved)
69
+ return undefined;
70
+ const versions = Object.keys(resolved.asset.versions);
71
+ let latestVariant;
72
+ let highestRevision = -1;
73
+ for (const ver of versions) {
74
+ const parsed = parseVariantVersion(ver);
75
+ if (parsed && parsed.projectId === projectId) {
76
+ if (parsed.revision > highestRevision) {
77
+ highestRevision = parsed.revision;
78
+ latestVariant = ver;
79
+ }
80
+ }
81
+ }
82
+ return latestVariant;
83
+ }
84
+ /**
85
+ * Check whether a version string is a pre-release (variant) version.
86
+ */
87
+ export function isVariantVersion(version) {
88
+ if (!semverValid(version))
89
+ return false;
90
+ const pre = prerelease(version);
91
+ return pre !== null && pre.length > 0;
92
+ }
93
+ /**
94
+ * Parse a variant version string like `1.0.0-acme-web.1` into structured parts.
95
+ * Returns undefined if the version is not a valid variant.
96
+ *
97
+ * semver.prerelease('1.0.0-acme-web.1') returns ["acme-web", 1]
98
+ */
99
+ export function parseVariantVersion(version) {
100
+ if (!semverValid(version))
101
+ return undefined;
102
+ const pre = prerelease(version);
103
+ if (!pre || pre.length < 2)
104
+ return undefined;
105
+ const projectId = String(pre[0]);
106
+ const revision = typeof pre[1] === 'number' ? pre[1] : Number.parseInt(String(pre[1]), 10);
107
+ if (Number.isNaN(revision))
108
+ return undefined;
109
+ // Extract base version (everything before the first hyphen in the pre-release)
110
+ const hyphenIndex = version.indexOf('-');
111
+ if (hyphenIndex === -1)
112
+ return undefined;
113
+ const baseVersion = version.slice(0, hyphenIndex);
114
+ return { baseVersion, projectId, revision };
115
+ }
116
+ //# sourceMappingURL=variant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variant.js","sourceRoot":"","sources":["../../src/lib/variant.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": "0.13.1",
3
+ "version": "0.14.0-dev.2",
4
4
  "description": "Agentic Tool Kit — CLI for managing AI coding tool assets.",
5
5
  "type": "module",
6
6
  "bin": {