@detergent-software/atk 8.9.0 → 8.9.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.
Files changed (291) hide show
  1. package/CHANGELOG.md +390 -0
  2. package/README.md +22 -12
  3. package/build/cli.js +18 -6
  4. package/build/cli.js.map +1 -1
  5. package/build/command-manifest.json +1507 -0
  6. package/build/commands/_app.d.ts.map +1 -1
  7. package/build/commands/_app.js +8 -4
  8. package/build/commands/_app.js.map +1 -1
  9. package/build/commands/audit.d.ts.map +1 -1
  10. package/build/commands/audit.js +1 -1
  11. package/build/commands/audit.js.map +1 -1
  12. package/build/commands/browse.js +2 -2
  13. package/build/commands/browse.js.map +1 -1
  14. package/build/commands/cache.d.ts +1 -1
  15. package/build/commands/cache.d.ts.map +1 -1
  16. package/build/commands/cache.js +1 -16
  17. package/build/commands/cache.js.map +1 -1
  18. package/build/commands/config.d.ts.map +1 -1
  19. package/build/commands/config.js +1 -1
  20. package/build/commands/config.js.map +1 -1
  21. package/build/commands/diff.d.ts.map +1 -1
  22. package/build/commands/diff.js +4 -0
  23. package/build/commands/diff.js.map +1 -1
  24. package/build/commands/drift.d.ts.map +1 -1
  25. package/build/commands/drift.js +4 -0
  26. package/build/commands/drift.js.map +1 -1
  27. package/build/commands/index.d.ts.map +1 -1
  28. package/build/commands/index.js +5 -40
  29. package/build/commands/index.js.map +1 -1
  30. package/build/commands/info.d.ts.map +1 -1
  31. package/build/commands/info.js +50 -33
  32. package/build/commands/info.js.map +1 -1
  33. package/build/commands/init.d.ts.map +1 -1
  34. package/build/commands/init.js +4 -2
  35. package/build/commands/init.js.map +1 -1
  36. package/build/commands/install.d.ts.map +1 -1
  37. package/build/commands/install.js +28 -7
  38. package/build/commands/install.js.map +1 -1
  39. package/build/commands/list.js +2 -2
  40. package/build/commands/list.js.map +1 -1
  41. package/build/commands/login.d.ts.map +1 -1
  42. package/build/commands/login.js +12 -2
  43. package/build/commands/login.js.map +1 -1
  44. package/build/commands/logout.d.ts.map +1 -1
  45. package/build/commands/logout.js +9 -1
  46. package/build/commands/logout.js.map +1 -1
  47. package/build/commands/outdated.js +1 -1
  48. package/build/commands/outdated.js.map +1 -1
  49. package/build/commands/prune.d.ts.map +1 -1
  50. package/build/commands/prune.js +4 -2
  51. package/build/commands/prune.js.map +1 -1
  52. package/build/commands/publish.d.ts +1 -1
  53. package/build/commands/publish.d.ts.map +1 -1
  54. package/build/commands/publish.js +33 -37
  55. package/build/commands/publish.js.map +1 -1
  56. package/build/commands/release-notes.d.ts.map +1 -1
  57. package/build/commands/release-notes.js +4 -0
  58. package/build/commands/release-notes.js.map +1 -1
  59. package/build/commands/schema.d.ts +3 -3
  60. package/build/commands/search.js +1 -1
  61. package/build/commands/search.js.map +1 -1
  62. package/build/commands/sync.d.ts +1 -1
  63. package/build/commands/sync.d.ts.map +1 -1
  64. package/build/commands/sync.js +27 -12
  65. package/build/commands/sync.js.map +1 -1
  66. package/build/commands/update.d.ts.map +1 -1
  67. package/build/commands/update.js +58 -9
  68. package/build/commands/update.js.map +1 -1
  69. package/build/commands/whoami.d.ts.map +1 -1
  70. package/build/commands/whoami.js +16 -4
  71. package/build/commands/whoami.js.map +1 -1
  72. package/build/commands/why.js +3 -4
  73. package/build/commands/why.js.map +1 -1
  74. package/build/components/Header.d.ts +2 -3
  75. package/build/components/Header.d.ts.map +1 -1
  76. package/build/components/Header.js +2 -9
  77. package/build/components/Header.js.map +1 -1
  78. package/build/components/LocalEditsHint.d.ts +16 -0
  79. package/build/components/LocalEditsHint.d.ts.map +1 -0
  80. package/build/components/LocalEditsHint.js +18 -0
  81. package/build/components/LocalEditsHint.js.map +1 -0
  82. package/build/components/SyncAllInSync.d.ts +5 -1
  83. package/build/components/SyncAllInSync.d.ts.map +1 -1
  84. package/build/components/SyncAllInSync.js +2 -2
  85. package/build/components/SyncAllInSync.js.map +1 -1
  86. package/build/components/header-art.d.ts +7 -0
  87. package/build/components/header-art.d.ts.map +1 -0
  88. package/build/components/header-art.js +14 -0
  89. package/build/components/header-art.js.map +1 -0
  90. package/build/components/index.d.ts +1 -0
  91. package/build/components/index.d.ts.map +1 -1
  92. package/build/components/index.js +1 -0
  93. package/build/components/index.js.map +1 -1
  94. package/build/hooks/useListActions.d.ts.map +1 -1
  95. package/build/hooks/useListActions.js +4 -0
  96. package/build/hooks/useListActions.js.map +1 -1
  97. package/build/hooks/usePruneState.d.ts +1 -7
  98. package/build/hooks/usePruneState.d.ts.map +1 -1
  99. package/build/hooks/usePruneState.js +18 -62
  100. package/build/hooks/usePruneState.js.map +1 -1
  101. package/build/hooks/usePublishState.d.ts +38 -207
  102. package/build/hooks/usePublishState.d.ts.map +1 -1
  103. package/build/hooks/usePublishState.js +83 -1501
  104. package/build/hooks/usePublishState.js.map +1 -1
  105. package/build/lib/adapter.d.ts +10 -1
  106. package/build/lib/adapter.d.ts.map +1 -1
  107. package/build/lib/adapter.js +46 -3
  108. package/build/lib/adapter.js.map +1 -1
  109. package/build/lib/api-client.d.ts +9 -5
  110. package/build/lib/api-client.d.ts.map +1 -1
  111. package/build/lib/api-client.js +35 -8
  112. package/build/lib/api-client.js.map +1 -1
  113. package/build/lib/atk-api/errors.d.ts +5 -2
  114. package/build/lib/atk-api/errors.d.ts.map +1 -1
  115. package/build/lib/atk-api/errors.js +1 -0
  116. package/build/lib/atk-api/errors.js.map +1 -1
  117. package/build/lib/atk-api/generated/types.gen.d.ts +12 -12
  118. package/build/lib/atk-api/index.d.ts +2 -2
  119. package/build/lib/atk-api/index.d.ts.map +1 -1
  120. package/build/lib/atk-api/index.js +1 -1
  121. package/build/lib/atk-api/index.js.map +1 -1
  122. package/build/lib/atk-api/web-routes.d.ts +25 -6
  123. package/build/lib/atk-api/web-routes.d.ts.map +1 -1
  124. package/build/lib/atk-api/web-routes.js +27 -8
  125. package/build/lib/atk-api/web-routes.js.map +1 -1
  126. package/build/lib/auth.d.ts +12 -2
  127. package/build/lib/auth.d.ts.map +1 -1
  128. package/build/lib/auth.js +38 -3
  129. package/build/lib/auth.js.map +1 -1
  130. package/build/lib/checksum.d.ts +40 -14
  131. package/build/lib/checksum.d.ts.map +1 -1
  132. package/build/lib/checksum.js +110 -57
  133. package/build/lib/checksum.js.map +1 -1
  134. package/build/lib/config.d.ts +4 -4
  135. package/build/lib/config.d.ts.map +1 -1
  136. package/build/lib/config.js +31 -8
  137. package/build/lib/config.js.map +1 -1
  138. package/build/lib/diagnostics.d.ts.map +1 -1
  139. package/build/lib/diagnostics.js +10 -7
  140. package/build/lib/diagnostics.js.map +1 -1
  141. package/build/lib/diff-command.js +1 -1
  142. package/build/lib/diff-command.js.map +1 -1
  143. package/build/lib/errors.d.ts +4 -1
  144. package/build/lib/errors.d.ts.map +1 -1
  145. package/build/lib/errors.js.map +1 -1
  146. package/build/lib/format-age.d.ts +3 -0
  147. package/build/lib/format-age.d.ts.map +1 -0
  148. package/build/lib/format-age.js +18 -0
  149. package/build/lib/format-age.js.map +1 -0
  150. package/build/lib/installer.d.ts +8 -11
  151. package/build/lib/installer.d.ts.map +1 -1
  152. package/build/lib/installer.js +83 -28
  153. package/build/lib/installer.js.map +1 -1
  154. package/build/lib/local-edits.d.ts +72 -0
  155. package/build/lib/local-edits.d.ts.map +1 -0
  156. package/build/lib/local-edits.js +145 -0
  157. package/build/lib/local-edits.js.map +1 -0
  158. package/build/lib/lockfile.d.ts +12 -8
  159. package/build/lib/lockfile.d.ts.map +1 -1
  160. package/build/lib/lockfile.js +209 -59
  161. package/build/lib/lockfile.js.map +1 -1
  162. package/build/lib/mover.d.ts.map +1 -1
  163. package/build/lib/mover.js +11 -12
  164. package/build/lib/mover.js.map +1 -1
  165. package/build/lib/multi-tool-install.d.ts +4 -2
  166. package/build/lib/multi-tool-install.d.ts.map +1 -1
  167. package/build/lib/multi-tool-install.js +12 -2
  168. package/build/lib/multi-tool-install.js.map +1 -1
  169. package/build/lib/offline.d.ts +19 -0
  170. package/build/lib/offline.d.ts.map +1 -0
  171. package/build/lib/offline.js +26 -0
  172. package/build/lib/offline.js.map +1 -0
  173. package/build/lib/owned-paths.d.ts +7 -4
  174. package/build/lib/owned-paths.d.ts.map +1 -1
  175. package/build/lib/owned-paths.js +23 -8
  176. package/build/lib/owned-paths.js.map +1 -1
  177. package/build/lib/parse-json.d.ts +12 -0
  178. package/build/lib/parse-json.d.ts.map +1 -1
  179. package/build/lib/parse-json.js +15 -2
  180. package/build/lib/parse-json.js.map +1 -1
  181. package/build/lib/pastel/commander-specs.d.ts +7 -0
  182. package/build/lib/pastel/commander-specs.d.ts.map +1 -0
  183. package/build/lib/pastel/commander-specs.js +50 -0
  184. package/build/lib/pastel/commander-specs.js.map +1 -0
  185. package/build/lib/pastel/generate-arguments.d.ts +3 -3
  186. package/build/lib/pastel/generate-arguments.d.ts.map +1 -1
  187. package/build/lib/pastel/generate-arguments.js +25 -22
  188. package/build/lib/pastel/generate-arguments.js.map +1 -1
  189. package/build/lib/pastel/generate-command.d.ts +7 -5
  190. package/build/lib/pastel/generate-command.d.ts.map +1 -1
  191. package/build/lib/pastel/generate-command.js +32 -67
  192. package/build/lib/pastel/generate-command.js.map +1 -1
  193. package/build/lib/pastel/generate-commands.d.ts +3 -5
  194. package/build/lib/pastel/generate-commands.d.ts.map +1 -1
  195. package/build/lib/pastel/generate-commands.js +6 -10
  196. package/build/lib/pastel/generate-commands.js.map +1 -1
  197. package/build/lib/pastel/generate-options.d.ts +3 -3
  198. package/build/lib/pastel/generate-options.d.ts.map +1 -1
  199. package/build/lib/pastel/generate-options.js +16 -13
  200. package/build/lib/pastel/generate-options.js.map +1 -1
  201. package/build/lib/pastel/index.d.ts +26 -4
  202. package/build/lib/pastel/index.d.ts.map +1 -1
  203. package/build/lib/pastel/index.js +104 -18
  204. package/build/lib/pastel/index.js.map +1 -1
  205. package/build/lib/pastel/internal-types.d.ts +39 -8
  206. package/build/lib/pastel/internal-types.d.ts.map +1 -1
  207. package/build/lib/pastel/manifest.d.ts +8 -0
  208. package/build/lib/pastel/manifest.d.ts.map +1 -0
  209. package/build/lib/pastel/manifest.js +7 -0
  210. package/build/lib/pastel/manifest.js.map +1 -0
  211. package/build/lib/pastel/read-commands.d.ts +7 -2
  212. package/build/lib/pastel/read-commands.d.ts.map +1 -1
  213. package/build/lib/pastel/read-commands.js +51 -30
  214. package/build/lib/pastel/read-commands.js.map +1 -1
  215. package/build/lib/pastel/render-command.d.ts +13 -0
  216. package/build/lib/pastel/render-command.d.ts.map +1 -0
  217. package/build/lib/pastel/render-command.js +56 -0
  218. package/build/lib/pastel/render-command.js.map +1 -0
  219. package/build/lib/process-alive.d.ts +11 -0
  220. package/build/lib/process-alive.d.ts.map +1 -0
  221. package/build/lib/process-alive.js +22 -0
  222. package/build/lib/process-alive.js.map +1 -0
  223. package/build/lib/pruner.d.ts +26 -0
  224. package/build/lib/pruner.d.ts.map +1 -0
  225. package/build/lib/pruner.js +42 -0
  226. package/build/lib/pruner.js.map +1 -0
  227. package/build/lib/publish-flow.d.ts +224 -0
  228. package/build/lib/publish-flow.d.ts.map +1 -0
  229. package/build/lib/publish-flow.js +1258 -0
  230. package/build/lib/publish-flow.js.map +1 -0
  231. package/build/lib/publish-run.d.ts +55 -0
  232. package/build/lib/publish-run.d.ts.map +1 -0
  233. package/build/lib/publish-run.js +169 -0
  234. package/build/lib/publish-run.js.map +1 -0
  235. package/build/lib/publisher.d.ts +25 -17
  236. package/build/lib/publisher.d.ts.map +1 -1
  237. package/build/lib/publisher.js +54 -53
  238. package/build/lib/publisher.js.map +1 -1
  239. package/build/lib/registrar.d.ts.map +1 -1
  240. package/build/lib/registrar.js +2 -2
  241. package/build/lib/registrar.js.map +1 -1
  242. package/build/lib/registry.d.ts +18 -7
  243. package/build/lib/registry.d.ts.map +1 -1
  244. package/build/lib/registry.js +113 -32
  245. package/build/lib/registry.js.map +1 -1
  246. package/build/lib/root-path.d.ts +11 -0
  247. package/build/lib/root-path.d.ts.map +1 -1
  248. package/build/lib/root-path.js +15 -1
  249. package/build/lib/root-path.js.map +1 -1
  250. package/build/lib/schemas/config.d.ts +3 -1
  251. package/build/lib/schemas/config.d.ts.map +1 -1
  252. package/build/lib/schemas/config.js +1 -1
  253. package/build/lib/schemas/config.js.map +1 -1
  254. package/build/lib/schemas/lockfile.d.ts +156 -23
  255. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  256. package/build/lib/schemas/lockfile.js +100 -79
  257. package/build/lib/schemas/lockfile.js.map +1 -1
  258. package/build/lib/setup.d.ts.map +1 -1
  259. package/build/lib/setup.js +53 -48
  260. package/build/lib/setup.js.map +1 -1
  261. package/build/lib/staging.d.ts +15 -0
  262. package/build/lib/staging.d.ts.map +1 -0
  263. package/build/lib/staging.js +33 -0
  264. package/build/lib/staging.js.map +1 -0
  265. package/build/lib/sync.d.ts +22 -6
  266. package/build/lib/sync.d.ts.map +1 -1
  267. package/build/lib/sync.js +59 -7
  268. package/build/lib/sync.js.map +1 -1
  269. package/build/lib/uninstaller.d.ts.map +1 -1
  270. package/build/lib/uninstaller.js +8 -5
  271. package/build/lib/uninstaller.js.map +1 -1
  272. package/build/lib/update-check.d.ts +4 -0
  273. package/build/lib/update-check.d.ts.map +1 -1
  274. package/build/lib/update-check.js +55 -56
  275. package/build/lib/update-check.js.map +1 -1
  276. package/build/lib/updater.d.ts +31 -1
  277. package/build/lib/updater.d.ts.map +1 -1
  278. package/build/lib/updater.js +143 -4
  279. package/build/lib/updater.js.map +1 -1
  280. package/build/lib/usage-error.d.ts +20 -0
  281. package/build/lib/usage-error.d.ts.map +1 -0
  282. package/build/lib/usage-error.js +41 -0
  283. package/build/lib/usage-error.js.map +1 -0
  284. package/build/lib/user-setup.d.ts.map +1 -1
  285. package/build/lib/user-setup.js +62 -59
  286. package/build/lib/user-setup.js.map +1 -1
  287. package/build/lib/write-file.d.ts +5 -0
  288. package/build/lib/write-file.d.ts.map +1 -1
  289. package/build/lib/write-file.js +68 -13
  290. package/build/lib/write-file.js.map +1 -1
  291. package/package.json +81 -81
@@ -5,7 +5,10 @@ import { maxSatisfying, compare as semverCompare, valid as semverValid, validRan
5
5
  import { ApiRequestError, callApi } from './api-client.js';
6
6
  import { isAtkError, } from './atk-api/index.js';
7
7
  import { getCacheDir, loadConfig } from './config.js';
8
- import { ApiCodeError, errorGuidance, errorMessage } from './errors.js';
8
+ import { ApiCodeError, asSentence, errorGuidance, errorMessage } from './errors.js';
9
+ import { formatAge } from './format-age.js';
10
+ import { addNotice } from './notices.js';
11
+ import { isOffline } from './offline.js';
9
12
  import { parseAndValidate, safeParseJson } from './parse-json.js';
10
13
  import { sanitizeRegistryData, sanitizeString } from './sanitize.js';
11
14
  import { ManifestSchema, withoutNullOptionals } from './schemas/index.js';
@@ -53,25 +56,23 @@ export async function fetchAssetFileBytes(ref, version, relativePath) {
53
56
  return Buffer.from(bytes);
54
57
  }
55
58
  /**
56
- * Fetch the manifest (or bundle.json) and optional README.md for an asset
57
- * or bundle at a specific version.
59
+ * Fetch the manifest (or bundle.json) for an asset or bundle at a specific
60
+ * version. The README is {@link fetchAssetReadme}'s.
58
61
  *
59
62
  * The API client returns the manifest parsed with its schema (keys in the
60
63
  * file's order); it is re-serialised here as pretty JSON so callers that
61
64
  * compare or stage file contents get stable text. A field the schema does not
62
- * know is dropped, so `publish --update` re-publishes without it.
63
- * A missing README (204, or 404 from an older API) yields `readmeContent: undefined`.
65
+ * know is dropped; `fetchAssetFileBytes(ref, version, 'manifest.json')` gives
66
+ * the file as written.
64
67
  */
65
68
  export async function fetchAssetManifest(ref, version) {
66
69
  const label = `${describeRef(ref)}@${version}`;
67
70
  if (ref.type === 'bundle') {
68
71
  const manifest = await callApi(`Bundle ${label} manifest`, (atk) => atk.bundles.manifest(bundleVersionRef(ref, version)));
69
- const readmeContent = await fetchAssetReadme(ref, version);
70
- return { manifestContent: serializeManifest(manifest), manifestFileName: 'bundle.json', readmeContent };
72
+ return { manifestContent: serializeManifest(manifest), manifestFileName: 'bundle.json' };
71
73
  }
72
74
  const manifest = await callApi(`Asset ${label} manifest`, (atk) => atk.assets.manifest(assetVersionRef(ref, version)));
73
- const readmeContent = await fetchAssetReadme(ref, version);
74
- return { manifestContent: serializeManifest(manifest), manifestFileName: 'manifest.json', readmeContent };
75
+ return { manifestContent: serializeManifest(manifest), manifestFileName: 'manifest.json' };
75
76
  }
76
77
  /**
77
78
  * Fetch the README.md text for an asset or bundle at a specific version.
@@ -181,20 +182,55 @@ export async function fetchBundleVersions(ref) {
181
182
  * no-cache`), so a just-merged publish is seen. `install <name|@org>`,
182
183
  * `update` and `outdated` always force; `--refresh` forces elsewhere,
183
184
  * including `install` with no name (a lockfile sync).
185
+ *
186
+ * `stale` is for read commands (`search`, `info`, `list`, `outdated`, `diff`,
187
+ * `browse`): when the API can't be read (a network failure, 5xx, 429, or a
188
+ * sign-in problem), the cached copy of any age is returned instead, with a
189
+ * `stale-registry` notice giving its age. Commands that install or publish
190
+ * leave it off, so they never resolve versions from an old copy.
191
+ *
192
+ * Offline (`--offline`), the API is never called: a `stale` read returns the
193
+ * cached copy of any age (one past its TTL adds the same notice), and any other
194
+ * read fails at once with `offline`.
184
195
  */
185
196
  export async function fetchRegistry(options) {
186
197
  const config = await loadConfig();
187
198
  const cacheDir = getCacheDir(config);
188
199
  const cachePath = join(cacheDir, REGISTRY_CACHE_FILE);
200
+ const ttlMinutes = config.cacheTtlMinutes;
201
+ if (isOffline()) {
202
+ if (!options?.stale) {
203
+ throw new RegistryError("This command needs the ATK API's current registry, and --offline is set.", {
204
+ code: 'offline',
205
+ hint: 'Run the command again without --offline.',
206
+ });
207
+ }
208
+ return readOfflineRegistry(cachePath, ttlMinutes);
209
+ }
189
210
  // Check cache unless force refresh
190
211
  if (!options?.force && existsSync(cachePath)) {
191
- const cached = await readCachedRegistry(cachePath, config.cacheTtlMinutes ?? 60);
212
+ const cached = await readCachedRegistry(cachePath, ttlMinutes);
192
213
  if (cached) {
193
214
  return cached;
194
215
  }
195
216
  }
196
217
  // Fetch fresh from the ATK API (conditional on the cached ETag, even when forced)
197
- return fetchRegistryFromApi(cachePath, cacheDir, options?.force === true);
218
+ try {
219
+ return await fetchRegistryFromApi(cachePath, cacheDir, options?.force === true);
220
+ }
221
+ catch (err) {
222
+ const stale = options?.stale && isUnreachable(err) ? await readStaleRegistry(cachePath) : null;
223
+ if (!stale) {
224
+ throw toRegistryError(err);
225
+ }
226
+ addNotice({
227
+ // A sign-in failure names its own fix: `atk login`, but not for a refused ATK_TOKEN.
228
+ command: (isAuthFailure(err) ? errorGuidance(err).command : undefined) ?? 'atk doctor',
229
+ kind: 'stale-registry',
230
+ text: `Using the cached registry from ${formatAge(stale.ageMs)} ago. ${asSentence(errorMessage(err))}`,
231
+ });
232
+ return stale.registry;
233
+ }
198
234
  }
199
235
  /**
200
236
  * Return the merged/shadowed asset list for a given org context.
@@ -343,7 +379,7 @@ export async function getCacheStatus() {
343
379
  }
344
380
  const cacheDir = getCacheDir(config);
345
381
  const cachePath = join(cacheDir, REGISTRY_CACHE_FILE);
346
- const ttlMinutes = config.cacheTtlMinutes ?? 60;
382
+ const ttlMinutes = config.cacheTtlMinutes;
347
383
  if (!existsSync(cachePath)) {
348
384
  return { ageMs: 0, exists: false, expired: false, path: cachePath, sizeBytes: 0, ttlMinutes };
349
385
  }
@@ -405,7 +441,7 @@ export async function listAssetFiles(ref, version) {
405
441
  const files = await callApi(`Asset ${describeRef(ref)}@${version} file list`, (atk) => atk.assets.files(assetVersionRef(ref, version))).catch(rethrowAsRegistryError);
406
442
  return files
407
443
  .filter((file) => !EXCLUDED_FILES.has(file.path))
408
- .map((file) => ({ relativePath: file.path, size: file.size }));
444
+ .map((file) => ({ relativePath: file.path, sha: file.sha, size: file.size }));
409
445
  }
410
446
  /**
411
447
  * Resolve a version against an asset's versions map.
@@ -516,6 +552,27 @@ async function fetchRegistryFromApi(cachePath, cacheDir, fresh) {
516
552
  }
517
553
  return registry;
518
554
  }
555
+ /**
556
+ * The sign-in failed: an AuthError from the credential chain (no `atk login`, an expired session), or a 401 from
557
+ * the API. The AuthError is matched by name, as `errorGuidance` reads any error's guidance.
558
+ */
559
+ function isAuthFailure(err) {
560
+ if (err instanceof Error && err.name === 'AuthError') {
561
+ return true;
562
+ }
563
+ return err instanceof ApiRequestError && err.status === 401;
564
+ }
565
+ /**
566
+ * A failure a stale registry copy can stand in for: the API unreachable (network, 5xx, 429) or the sign-in
567
+ * failing. Not a 403 (the API refused this account, such as a guest), a 426 (an old CLI stays old), a 404,
568
+ * invalid registry data or a client-side `invalid_input`.
569
+ */
570
+ function isUnreachable(err) {
571
+ if (isAuthFailure(err)) {
572
+ return true;
573
+ }
574
+ return err instanceof ApiRequestError && (err.code === 'network_error' || err.status === 429 || err.status >= 500);
575
+ }
519
576
  /**
520
577
  * Read the cached registry file if it exists and is not expired.
521
578
  */
@@ -560,24 +617,49 @@ async function readEtag(etagPath) {
560
617
  return undefined;
561
618
  }
562
619
  }
563
- /** `GET /registry`, conditional on `etag` when given; every failure becomes a RegistryError. */
620
+ /** The cached registry of any age, for `--offline`; one past its TTL adds the `stale-registry` notice. */
621
+ async function readOfflineRegistry(cachePath, ttlMinutes) {
622
+ const stale = await readStaleRegistry(cachePath);
623
+ if (!stale) {
624
+ throw new RegistryError('There is no cached registry to read offline.', {
625
+ code: 'offline_no_cache',
626
+ hint: 'Run the command once without --offline to cache the registry.',
627
+ });
628
+ }
629
+ if (stale.ageMs > ttlMinutes * 60 * 1000) {
630
+ addNotice({
631
+ command: 'atk cache status',
632
+ kind: 'stale-registry',
633
+ text: `Offline: using the cached registry from ${formatAge(stale.ageMs)} ago.`,
634
+ });
635
+ }
636
+ return stale.registry;
637
+ }
638
+ /** `GET /registry`, conditional on `etag` when given. Invalid registry data is a RegistryError; other failures propagate. */
564
639
  async function readRegistry(etag, fresh) {
565
- try {
566
- return await callApi('the registry', async (atk) => {
567
- try {
568
- return await atk.registry({ ...(etag ? { etag } : {}), ...(fresh ? { fresh } : {}) });
569
- }
570
- catch (err) {
571
- if (isAtkError(err, 'unexpected_response')) {
572
- throw new RegistryError(`Invalid registry data: ${err.problem.message}`);
573
- }
574
- throw err;
640
+ return callApi('the registry', async (atk) => {
641
+ try {
642
+ return await atk.registry({ ...(etag ? { etag } : {}), ...(fresh ? { fresh } : {}) });
643
+ }
644
+ catch (err) {
645
+ if (isAtkError(err, 'unexpected_response')) {
646
+ throw new RegistryError(`Invalid registry data: ${err.problem.message}`);
575
647
  }
576
- });
648
+ throw err;
649
+ }
650
+ });
651
+ }
652
+ /** The cached registry and its age, whatever the age; null when it is missing, unreadable or invalid. */
653
+ async function readStaleRegistry(cachePath) {
654
+ let ageMs;
655
+ try {
656
+ ageMs = Date.now() - (await stat(cachePath)).mtimeMs;
577
657
  }
578
- catch (err) {
579
- throw toRegistryError(err);
658
+ catch {
659
+ return null;
580
660
  }
661
+ const registry = await readCachedRegistryFile(cachePath);
662
+ return registry ? { ageMs, registry } : null;
581
663
  }
582
664
  /** A `.catch` handler giving a file listing or download the same recovery guidance as a registry read. */
583
665
  function rethrowAsRegistryError(err) {
@@ -589,6 +671,9 @@ function serializeManifest(manifest) {
589
671
  /**
590
672
  * Convert an API failure into a RegistryError, keeping the API error code,
591
673
  * hint and command so commands can show the same recovery guidance as before.
674
+ * Only a 404 suggests `atk cache clear` (a cached registry naming something the
675
+ * API no longer has); a network or 5xx failure keeps its own hint, since
676
+ * clearing would delete the only copy of the registry.
592
677
  */
593
678
  function toRegistryError(err) {
594
679
  if (err instanceof RegistryError) {
@@ -602,11 +687,7 @@ function toRegistryError(err) {
602
687
  hint: 'The registry may be stale or unreachable. Clear the cache and retry.',
603
688
  });
604
689
  }
605
- return new RegistryError(err.message, {
606
- code: err.code,
607
- command: err.command ?? (err.status >= 500 || err.status === 0 ? 'atk cache clear' : undefined),
608
- hint: err.hint,
609
- });
690
+ return new RegistryError(err.message, { code: err.code, command: err.command, hint: err.hint });
610
691
  }
611
692
  // Anything else (e.g. an AuthError from the token resolver): keep whatever
612
693
  // recovery guidance it carries.
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/lib/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/lib/registry.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,18 @@
1
+ /**
2
+ * A path inside an asset's directory, as the lockfile records a file's `sourcePath` and the API
3
+ * lists an asset's files: relative on every platform (no leading `/` or `\`, no drive letter),
4
+ * with no `..` segment, and naming a file (not only dots and separators, such as `.` or ``), so
5
+ * joining it onto a directory gives a file below that directory.
6
+ */
7
+ export declare const ASSET_FILE_PATH: RegExp;
8
+ /** One path segment, as an asset name fills a placement's `{name}`: no `/` or `\`, not `.` or `..`. */
9
+ export declare const PATH_SEGMENT: RegExp;
1
10
  /**
2
11
  * Where a path the lockfile or an adapter records is on disk: joined onto `root` when it is
3
12
  * relative, as it is when it is absolute. A user placement is recorded as an absolute path when
4
13
  * its tool's config directory is on another drive than the user root (see `adapterForScope`).
5
14
  */
6
15
  export declare function fromRoot(root: string, path: string): string;
16
+ /** Whether `path` is below `dir` on disk (not `dir` itself), compared as resolved paths. */
17
+ export declare function isPathInside(dir: string, path: string): boolean;
7
18
  //# sourceMappingURL=root-path.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"root-path.d.ts","sourceRoot":"","sources":["../../src/lib/root-path.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D"}
1
+ {"version":3,"file":"root-path.d.ts","sourceRoot":"","sources":["../../src/lib/root-path.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,eAAe,QAA4E,CAAC;AAEzG,uGAAuG;AACvG,eAAO,MAAM,YAAY,QAAwB,CAAC;AAElD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,4FAA4F;AAC5F,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAG/D"}
@@ -1,4 +1,13 @@
1
- import { isAbsolute, join } from 'node:path';
1
+ import { isAbsolute, join, relative, sep } from 'node:path';
2
+ /**
3
+ * A path inside an asset's directory, as the lockfile records a file's `sourcePath` and the API
4
+ * lists an asset's files: relative on every platform (no leading `/` or `\`, no drive letter),
5
+ * with no `..` segment, and naming a file (not only dots and separators, such as `.` or ``), so
6
+ * joining it onto a directory gives a file below that directory.
7
+ */
8
+ export const ASSET_FILE_PATH = /^(?![.\\/]*$)(?![\\/])(?![a-zA-Z]:)(?!(?:[\s\S]*[\\/])?\.\.(?:[\\/]|$))/;
9
+ /** One path segment, as an asset name fills a placement's `{name}`: no `/` or `\`, not `.` or `..`. */
10
+ export const PATH_SEGMENT = /^(?!\.\.?$)[^\\/]+$/;
2
11
  /**
3
12
  * Where a path the lockfile or an adapter records is on disk: joined onto `root` when it is
4
13
  * relative, as it is when it is absolute. A user placement is recorded as an absolute path when
@@ -7,4 +16,9 @@ import { isAbsolute, join } from 'node:path';
7
16
  export function fromRoot(root, path) {
8
17
  return isAbsolute(path) ? join(path) : join(root, path);
9
18
  }
19
+ /** Whether `path` is below `dir` on disk (not `dir` itself), compared as resolved paths. */
20
+ export function isPathInside(dir, path) {
21
+ const rel = relative(dir, path);
22
+ return rel !== '' && !isAbsolute(rel) && rel.split(sep)[0] !== '..';
23
+ }
10
24
  //# sourceMappingURL=root-path.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"root-path.js","sourceRoot":"","sources":["../../src/lib/root-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE7C;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,IAAY;IACjD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"root-path.js","sourceRoot":"","sources":["../../src/lib/root-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,yEAAyE,CAAC;AAEzG,uGAAuG;AACvG,MAAM,CAAC,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAElD;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,IAAY;IACjD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,IAAY;IACpD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAChC,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AACtE,CAAC"}
@@ -8,7 +8,9 @@ export declare const ConfigSchema: z.ZodObject<{
8
8
  userRoot: z.ZodOptional<z.ZodString>;
9
9
  }, z.core.$strip>;
10
10
  export type Config = z.infer<typeof ConfigSchema>;
11
- export declare const DEFAULT_CONFIG: Config;
11
+ /** A config with the defaults merged in, as `loadConfig` returns it, so `cacheTtlMinutes` is always set. */
12
+ export type ResolvedConfig = Config & Required<Pick<Config, 'cacheTtlMinutes'>>;
13
+ export declare const DEFAULT_CONFIG: ResolvedConfig;
12
14
  export declare const ProjectConfigBase: z.ZodObject<{
13
15
  frozenAssets: z.ZodOptional<z.ZodArray<z.ZodObject<{
14
16
  name: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;;;;;iBAUvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,cAAc,EAAE,MAG5B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;iBAY5B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;kBAYX,CAAC;AACtB,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/lib/schemas/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;;;;;iBAUvB,CAAC;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD,4GAA4G;AAC5G,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAEhF,eAAO,MAAM,cAAc,EAAE,cAG5B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;iBAY5B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;kBAYX,CAAC;AACtB,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -3,7 +3,7 @@ import { AssetTypeSchema as AssetType } from '../atk-schemas/index.js';
3
3
  export const ConfigSchema = z.object({
4
4
  apiUrl: z.url().optional().describe('ATK API base URL (defaults to production; ATK_API_URL env var overrides)'),
5
5
  cacheDir: z.string().optional().describe('Override cache directory (defaults to ~/.atk/cache/)'),
6
- cacheTtlMinutes: z.number().optional().describe('Cache TTL in minutes for registry data'),
6
+ cacheTtlMinutes: z.number().int().positive().optional().describe('Cache TTL in minutes for registry data'),
7
7
  checkUpdates: z.boolean().optional().describe('Show banner when a newer ATK version is available'),
8
8
  org: z.string().optional().describe('Default organization scope for asset resolution'),
9
9
  userRoot: z
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/schemas/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,IAAI,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEvE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0EAA0E,CAAC;IAC/G,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAChG,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACzF,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAClG,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACtF,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oGAAoG,CAAC;CAClH,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAW;IACpC,eAAe,EAAE,CAAC;IAClB,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,YAAY,EAAE,CAAC;SACZ,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACvC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACvE,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;KACvC,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,+EAA+E,CAAC;IAC5F,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CACnF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;IACtD,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,GAA8B,CAAC;QAE3C,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;YAE9B,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/schemas/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,IAAI,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEvE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0EAA0E,CAAC;IAC/G,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAChG,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAC1G,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAClG,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACtF,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oGAAoG,CAAC;CAClH,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,eAAe,EAAE,CAAC;IAClB,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,YAAY,EAAE,CAAC;SACZ,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACvC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACvE,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;KACvC,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,+EAA+E,CAAC;IAC5F,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CACnF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE;IACtD,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,GAA8B,CAAC;QAE3C,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;YAE9B,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,iBAAiB,CAAC,CAAC"}