@detergent-software/atk 8.9.0-dev.3 → 8.9.0-dev.30

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 (271) hide show
  1. package/CHANGELOG.md +204 -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 +31 -36
  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 +43 -8
  102. package/build/hooks/usePublishState.d.ts.map +1 -1
  103. package/build/hooks/usePublishState.js +82 -565
  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/generated/types.gen.d.ts +4 -4
  114. package/build/lib/auth.d.ts +12 -2
  115. package/build/lib/auth.d.ts.map +1 -1
  116. package/build/lib/auth.js +38 -3
  117. package/build/lib/auth.js.map +1 -1
  118. package/build/lib/checksum.d.ts +40 -14
  119. package/build/lib/checksum.d.ts.map +1 -1
  120. package/build/lib/checksum.js +110 -57
  121. package/build/lib/checksum.js.map +1 -1
  122. package/build/lib/config.d.ts +4 -4
  123. package/build/lib/config.d.ts.map +1 -1
  124. package/build/lib/config.js +31 -8
  125. package/build/lib/config.js.map +1 -1
  126. package/build/lib/diagnostics.d.ts.map +1 -1
  127. package/build/lib/diagnostics.js +10 -7
  128. package/build/lib/diagnostics.js.map +1 -1
  129. package/build/lib/diff-command.js +1 -1
  130. package/build/lib/diff-command.js.map +1 -1
  131. package/build/lib/errors.d.ts +4 -1
  132. package/build/lib/errors.d.ts.map +1 -1
  133. package/build/lib/errors.js.map +1 -1
  134. package/build/lib/format-age.d.ts +3 -0
  135. package/build/lib/format-age.d.ts.map +1 -0
  136. package/build/lib/format-age.js +18 -0
  137. package/build/lib/format-age.js.map +1 -0
  138. package/build/lib/installer.d.ts +8 -11
  139. package/build/lib/installer.d.ts.map +1 -1
  140. package/build/lib/installer.js +83 -28
  141. package/build/lib/installer.js.map +1 -1
  142. package/build/lib/local-edits.d.ts +72 -0
  143. package/build/lib/local-edits.d.ts.map +1 -0
  144. package/build/lib/local-edits.js +145 -0
  145. package/build/lib/local-edits.js.map +1 -0
  146. package/build/lib/lockfile.d.ts +12 -8
  147. package/build/lib/lockfile.d.ts.map +1 -1
  148. package/build/lib/lockfile.js +217 -54
  149. package/build/lib/lockfile.js.map +1 -1
  150. package/build/lib/mover.d.ts.map +1 -1
  151. package/build/lib/mover.js +11 -12
  152. package/build/lib/mover.js.map +1 -1
  153. package/build/lib/multi-tool-install.d.ts +4 -2
  154. package/build/lib/multi-tool-install.d.ts.map +1 -1
  155. package/build/lib/multi-tool-install.js +12 -2
  156. package/build/lib/multi-tool-install.js.map +1 -1
  157. package/build/lib/offline.d.ts +19 -0
  158. package/build/lib/offline.d.ts.map +1 -0
  159. package/build/lib/offline.js +26 -0
  160. package/build/lib/offline.js.map +1 -0
  161. package/build/lib/owned-paths.d.ts +7 -4
  162. package/build/lib/owned-paths.d.ts.map +1 -1
  163. package/build/lib/owned-paths.js +23 -8
  164. package/build/lib/owned-paths.js.map +1 -1
  165. package/build/lib/parse-json.d.ts +12 -0
  166. package/build/lib/parse-json.d.ts.map +1 -1
  167. package/build/lib/parse-json.js +15 -2
  168. package/build/lib/parse-json.js.map +1 -1
  169. package/build/lib/pastel/commander-specs.d.ts +7 -0
  170. package/build/lib/pastel/commander-specs.d.ts.map +1 -0
  171. package/build/lib/pastel/commander-specs.js +50 -0
  172. package/build/lib/pastel/commander-specs.js.map +1 -0
  173. package/build/lib/pastel/generate-arguments.d.ts +3 -3
  174. package/build/lib/pastel/generate-arguments.d.ts.map +1 -1
  175. package/build/lib/pastel/generate-arguments.js +25 -22
  176. package/build/lib/pastel/generate-arguments.js.map +1 -1
  177. package/build/lib/pastel/generate-command.d.ts +7 -5
  178. package/build/lib/pastel/generate-command.d.ts.map +1 -1
  179. package/build/lib/pastel/generate-command.js +32 -67
  180. package/build/lib/pastel/generate-command.js.map +1 -1
  181. package/build/lib/pastel/generate-commands.d.ts +3 -5
  182. package/build/lib/pastel/generate-commands.d.ts.map +1 -1
  183. package/build/lib/pastel/generate-commands.js +6 -10
  184. package/build/lib/pastel/generate-commands.js.map +1 -1
  185. package/build/lib/pastel/generate-options.d.ts +3 -3
  186. package/build/lib/pastel/generate-options.d.ts.map +1 -1
  187. package/build/lib/pastel/generate-options.js +16 -13
  188. package/build/lib/pastel/generate-options.js.map +1 -1
  189. package/build/lib/pastel/index.d.ts +26 -4
  190. package/build/lib/pastel/index.d.ts.map +1 -1
  191. package/build/lib/pastel/index.js +104 -18
  192. package/build/lib/pastel/index.js.map +1 -1
  193. package/build/lib/pastel/internal-types.d.ts +39 -8
  194. package/build/lib/pastel/internal-types.d.ts.map +1 -1
  195. package/build/lib/pastel/manifest.d.ts +8 -0
  196. package/build/lib/pastel/manifest.d.ts.map +1 -0
  197. package/build/lib/pastel/manifest.js +7 -0
  198. package/build/lib/pastel/manifest.js.map +1 -0
  199. package/build/lib/pastel/read-commands.d.ts +7 -2
  200. package/build/lib/pastel/read-commands.d.ts.map +1 -1
  201. package/build/lib/pastel/read-commands.js +51 -30
  202. package/build/lib/pastel/read-commands.js.map +1 -1
  203. package/build/lib/pastel/render-command.d.ts +13 -0
  204. package/build/lib/pastel/render-command.d.ts.map +1 -0
  205. package/build/lib/pastel/render-command.js +56 -0
  206. package/build/lib/pastel/render-command.js.map +1 -0
  207. package/build/lib/pruner.d.ts +26 -0
  208. package/build/lib/pruner.d.ts.map +1 -0
  209. package/build/lib/pruner.js +42 -0
  210. package/build/lib/pruner.js.map +1 -0
  211. package/build/lib/publish-flow.d.ts +7 -15
  212. package/build/lib/publish-flow.d.ts.map +1 -1
  213. package/build/lib/publish-flow.js +634 -178
  214. package/build/lib/publish-flow.js.map +1 -1
  215. package/build/lib/publish-run.d.ts +55 -0
  216. package/build/lib/publish-run.d.ts.map +1 -0
  217. package/build/lib/publish-run.js +169 -0
  218. package/build/lib/publish-run.js.map +1 -0
  219. package/build/lib/publisher.d.ts +23 -16
  220. package/build/lib/publisher.d.ts.map +1 -1
  221. package/build/lib/publisher.js +34 -35
  222. package/build/lib/publisher.js.map +1 -1
  223. package/build/lib/registrar.d.ts.map +1 -1
  224. package/build/lib/registrar.js +2 -2
  225. package/build/lib/registrar.js.map +1 -1
  226. package/build/lib/registry.d.ts +18 -7
  227. package/build/lib/registry.d.ts.map +1 -1
  228. package/build/lib/registry.js +113 -32
  229. package/build/lib/registry.js.map +1 -1
  230. package/build/lib/root-path.d.ts +11 -0
  231. package/build/lib/root-path.d.ts.map +1 -1
  232. package/build/lib/root-path.js +15 -1
  233. package/build/lib/root-path.js.map +1 -1
  234. package/build/lib/schemas/config.d.ts +3 -1
  235. package/build/lib/schemas/config.d.ts.map +1 -1
  236. package/build/lib/schemas/config.js +1 -1
  237. package/build/lib/schemas/config.js.map +1 -1
  238. package/build/lib/schemas/lockfile.d.ts +156 -23
  239. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  240. package/build/lib/schemas/lockfile.js +100 -79
  241. package/build/lib/schemas/lockfile.js.map +1 -1
  242. package/build/lib/setup.d.ts.map +1 -1
  243. package/build/lib/setup.js +53 -48
  244. package/build/lib/setup.js.map +1 -1
  245. package/build/lib/sync.d.ts +22 -6
  246. package/build/lib/sync.d.ts.map +1 -1
  247. package/build/lib/sync.js +59 -7
  248. package/build/lib/sync.js.map +1 -1
  249. package/build/lib/uninstaller.d.ts.map +1 -1
  250. package/build/lib/uninstaller.js +8 -5
  251. package/build/lib/uninstaller.js.map +1 -1
  252. package/build/lib/update-check.d.ts +4 -0
  253. package/build/lib/update-check.d.ts.map +1 -1
  254. package/build/lib/update-check.js +55 -56
  255. package/build/lib/update-check.js.map +1 -1
  256. package/build/lib/updater.d.ts +31 -1
  257. package/build/lib/updater.d.ts.map +1 -1
  258. package/build/lib/updater.js +143 -4
  259. package/build/lib/updater.js.map +1 -1
  260. package/build/lib/usage-error.d.ts +20 -0
  261. package/build/lib/usage-error.d.ts.map +1 -0
  262. package/build/lib/usage-error.js +41 -0
  263. package/build/lib/usage-error.js.map +1 -0
  264. package/build/lib/user-setup.d.ts.map +1 -1
  265. package/build/lib/user-setup.js +62 -59
  266. package/build/lib/user-setup.js.map +1 -1
  267. package/build/lib/write-file.d.ts +5 -0
  268. package/build/lib/write-file.d.ts.map +1 -1
  269. package/build/lib/write-file.js +10 -7
  270. package/build/lib/write-file.js.map +1 -1
  271. package/package.json +81 -81
@@ -1,3 +1,4 @@
1
+ import type { ConfigEntry } from './schemas/lockfile.js';
1
2
  /** Describes a single config-entry verification failure. */
2
3
  export interface ConfigEntryFailure {
3
4
  file: string;
@@ -6,18 +7,30 @@ export interface ConfigEntryFailure {
6
7
  }
7
8
  /** Reason a config-entry verification can fail. */
8
9
  export type ConfigEntryFailureReason = 'CONFIG_CHECKSUM_MISMATCH' | 'CONFIG_FILE_NOT_FOUND' | 'CONFIG_KEY_NOT_FOUND';
10
+ /**
11
+ * A recorded config entry, as the lockfile holds it, that {@link verifyConfigEntries} can check. Its
12
+ * `checksumVersion` is {@link CONFIG_CHECKSUM_VERSION} for a deep digest and absent for a legacy one;
13
+ * hook groups ignore it.
14
+ */
15
+ export type VerifiableConfigEntry = Omit<ConfigEntry, 'tool'>;
9
16
  /** Recursively collect all files in a directory. */
10
17
  export declare function collectFilesRecursive(dirPath: string, baseDir: string): Promise<Array<{
11
18
  absolutePath: string;
12
19
  relativePath: string;
13
20
  }>>;
21
+ /**
22
+ * The lockfile `checksumVersion` of a digest from {@link computeConfigEntryChecksum}. A config entry
23
+ * without one was recorded by an older CLI with {@link legacyConfigEntryChecksum}.
24
+ */
25
+ export declare const CONFIG_CHECKSUM_VERSION: 2;
14
26
  /**
15
27
  * Compute a deterministic SHA-256 checksum for a config entry value.
16
28
  *
17
29
  * Strips the `_managedBy` metadata key (added by ATK at write time),
18
- * serializes the remaining keys in sorted order, and returns the hex digest.
19
- * Both the installer (write path) and the verifier (read path) use this
20
- * helper so the checksum logic stays in one place.
30
+ * serializes the rest with keys sorted at every depth (so nested `env` and
31
+ * `headers` count), and returns the hex digest. Both the installer (write path)
32
+ * and the verifier (read path) use this helper so the checksum logic stays in
33
+ * one place.
21
34
  */
22
35
  export declare function computeConfigEntryChecksum(entry: Record<string, unknown>): string;
23
36
  /**
@@ -26,6 +39,16 @@ export declare function computeConfigEntryChecksum(entry: Record<string, unknown
26
39
  * are part of the digest (so audit detects hand-edits to the group).
27
40
  */
28
41
  export declare function computeHookGroupChecksum(group: unknown): string;
42
+ /**
43
+ * The git blob sha of raw bytes: what the API's file listing gives as each file's `sha`, so a placed
44
+ * file can be matched to the registry version it came from.
45
+ */
46
+ export declare function gitBlobSha(content: Uint8Array): string;
47
+ /**
48
+ * The git blob shas `content` matches in the registry repo: of its bytes and, for text, of the same
49
+ * text with LF or with CRLF line endings, which {@link matchesChecksum} counts as the same content.
50
+ */
51
+ export declare function gitBlobShas(content: Uint8Array): string[];
29
52
  /**
30
53
  * Compute a SHA-256 hash of raw bytes.
31
54
  * Byte-equivalent to {@link hashString} for valid-UTF-8 text content, so
@@ -56,12 +79,19 @@ export declare function hashString(content: string): string;
56
79
  export declare function matchesChecksum(content: Uint8Array, expected: string): boolean;
57
80
  /**
58
81
  * Deterministically serialize a value with object keys sorted recursively.
59
- * Arrays keep their order; nested object keys are sorted at every level. Unlike
60
- * the array-replacer used by `computeConfigEntryChecksum` (which only allow-lists
61
- * top-level keys), this captures deeply-nested fields — required for hook groups
62
- * whose meaningful data (`command`, `timeout`) lives inside `hooks[]`.
82
+ * Arrays keep their order; nested object keys are sorted at every level, so
83
+ * deeply-nested fields count: a hook group's `command` and `timeout` inside
84
+ * `hooks[]`, an MCP server's `env` and `headers`.
63
85
  */
64
86
  export declare function stableStringify(value: unknown): string;
87
+ /**
88
+ * Re-record the config entries an older CLI checksummed with {@link legacyConfigEntryChecksum}, which
89
+ * can't see nested keys, as {@link computeConfigEntryChecksum} digests of the value the file holds
90
+ * now. Each entry without a `checksumVersion` whose value matches its legacy digest comes back with
91
+ * the deep digest and the current version; every other entry comes back as the same object. The
92
+ * legacy digest can't tell what the nested fields held when it was recorded, so this trusts them once.
93
+ */
94
+ export declare function upgradeConfigEntryChecksums<T extends VerifiableConfigEntry>(entries: T[], projectDir: string): Promise<T[]>;
65
95
  /**
66
96
  * Compare a file's current checksum against an expected value (line-ending
67
97
  * tolerant; see {@link matchesChecksum}).
@@ -87,7 +117,8 @@ export declare function verifyChecksums(files: Array<{
87
117
  * 2. Splits the dot-path key into section/child and looks up the value →
88
118
  * `CONFIG_KEY_NOT_FOUND` if missing.
89
119
  * 3. Computes a checksum via `computeConfigEntryChecksum()` and compares →
90
- * `CONFIG_CHECKSUM_MISMATCH` on divergence.
120
+ * `CONFIG_CHECKSUM_MISMATCH` on divergence. An entry without a
121
+ * `checksumVersion` (recorded by an older CLI) also matches its legacy digest.
91
122
  *
92
123
  * Returns only the entries that failed (empty array = all OK).
93
124
  *
@@ -96,10 +127,5 @@ export declare function verifyChecksums(files: Array<{
96
127
  * command rather than by an object key, and checksummed via the deep-stable
97
128
  * hook-group digest so co-located foreign groups don't affect the result.
98
129
  */
99
- export declare function verifyConfigEntries(entries: Array<{
100
- checksum: string;
101
- command?: string;
102
- file: string;
103
- key: string;
104
- }>, projectDir: string): Promise<ConfigEntryFailure[]>;
130
+ export declare function verifyConfigEntries(entries: VerifiableConfigEntry[], projectDir: string): Promise<ConfigEntryFailure[]>;
105
131
  //# sourceMappingURL=checksum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"AASA,4DAA4D;AAC5D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,wBAAwB,CAAC;CAClC;AAED,mDAAmD;AACnD,MAAM,MAAM,wBAAwB,GAAG,0BAA0B,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;AAErH,oDAAoD;AACpD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAgBhE;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAMjF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAErD;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAcpE;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAK9E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAatD;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEjG;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/C,OAAO,CAAC,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAgBpE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,EACjF,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA8E/B"}
1
+ {"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAOzD,4DAA4D;AAC5D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,wBAAwB,CAAC;CAClC;AAED,mDAAmD;AACnD,MAAM,MAAM,wBAAwB,GAAG,0BAA0B,GAAG,uBAAuB,GAAG,sBAAsB,CAAC;AAErH;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAE9D,oDAAoD;AACpD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAgBhE;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAG,CAAU,CAAC;AAElD;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAEjF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAEtD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,EAAE,CAIzD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAErD;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAcpE;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGhE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAK9E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAatD;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAAC,CAAC,SAAS,qBAAqB,EAC/E,OAAO,EAAE,CAAC,EAAE,EACZ,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,EAAE,CAAC,CAkBd;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAEjG;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/C,OAAO,CAAC,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAgBpE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,EAAE,EAChC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAkC/B"}
@@ -22,19 +22,22 @@ export async function collectFilesRecursive(dirPath, baseDir) {
22
22
  }
23
23
  return results;
24
24
  }
25
+ /**
26
+ * The lockfile `checksumVersion` of a digest from {@link computeConfigEntryChecksum}. A config entry
27
+ * without one was recorded by an older CLI with {@link legacyConfigEntryChecksum}.
28
+ */
29
+ export const CONFIG_CHECKSUM_VERSION = 2;
25
30
  /**
26
31
  * Compute a deterministic SHA-256 checksum for a config entry value.
27
32
  *
28
33
  * Strips the `_managedBy` metadata key (added by ATK at write time),
29
- * serializes the remaining keys in sorted order, and returns the hex digest.
30
- * Both the installer (write path) and the verifier (read path) use this
31
- * helper so the checksum logic stays in one place.
34
+ * serializes the rest with keys sorted at every depth (so nested `env` and
35
+ * `headers` count), and returns the hex digest. Both the installer (write path)
36
+ * and the verifier (read path) use this helper so the checksum logic stays in
37
+ * one place.
32
38
  */
33
39
  export function computeConfigEntryChecksum(entry) {
34
- const cleaned = { ...entry };
35
- delete cleaned['_managedBy'];
36
- const serialized = JSON.stringify(cleaned, Object.keys(cleaned).sort());
37
- return hashString(serialized);
40
+ return hashString(stableStringify(withoutManagedBy(entry)));
38
41
  }
39
42
  /**
40
43
  * Compute a deterministic SHA-256 checksum for a hook matcher-group.
@@ -44,6 +47,23 @@ export function computeConfigEntryChecksum(entry) {
44
47
  export function computeHookGroupChecksum(group) {
45
48
  return hashString(stableStringify(group));
46
49
  }
50
+ /**
51
+ * The git blob sha of raw bytes: what the API's file listing gives as each file's `sha`, so a placed
52
+ * file can be matched to the registry version it came from.
53
+ */
54
+ export function gitBlobSha(content) {
55
+ return createHash('sha1').update(`blob ${content.byteLength}\0`).update(content).digest('hex');
56
+ }
57
+ /**
58
+ * The git blob shas `content` matches in the registry repo: of its bytes and, for text, of the same
59
+ * text with LF or with CRLF line endings, which {@link matchesChecksum} counts as the same content.
60
+ */
61
+ export function gitBlobShas(content) {
62
+ if (content.includes(0x00))
63
+ return [gitBlobSha(content)];
64
+ const lf = toLf(content);
65
+ return [...new Set([gitBlobSha(content), gitBlobSha(lf), gitBlobSha(toCrlf(lf))])];
66
+ }
47
67
  /**
48
68
  * Compute a SHA-256 hash of raw bytes.
49
69
  * Byte-equivalent to {@link hashString} for valid-UTF-8 text content, so
@@ -99,10 +119,9 @@ export function matchesChecksum(content, expected) {
99
119
  }
100
120
  /**
101
121
  * Deterministically serialize a value with object keys sorted recursively.
102
- * Arrays keep their order; nested object keys are sorted at every level. Unlike
103
- * the array-replacer used by `computeConfigEntryChecksum` (which only allow-lists
104
- * top-level keys), this captures deeply-nested fields — required for hook groups
105
- * whose meaningful data (`command`, `timeout`) lives inside `hooks[]`.
122
+ * Arrays keep their order; nested object keys are sorted at every level, so
123
+ * deeply-nested fields count: a hook group's `command` and `timeout` inside
124
+ * `hooks[]`, an MCP server's `env` and `headers`.
106
125
  */
107
126
  export function stableStringify(value) {
108
127
  return JSON.stringify(value, (_key, val) => {
@@ -118,6 +137,31 @@ export function stableStringify(value) {
118
137
  return val;
119
138
  });
120
139
  }
140
+ /**
141
+ * Re-record the config entries an older CLI checksummed with {@link legacyConfigEntryChecksum}, which
142
+ * can't see nested keys, as {@link computeConfigEntryChecksum} digests of the value the file holds
143
+ * now. Each entry without a `checksumVersion` whose value matches its legacy digest comes back with
144
+ * the deep digest and the current version; every other entry comes back as the same object. The
145
+ * legacy digest can't tell what the nested fields held when it was recorded, so this trusts them once.
146
+ */
147
+ export async function upgradeConfigEntryChecksums(entries, projectDir) {
148
+ const upgraded = [];
149
+ for (const entry of entries) {
150
+ const config = entry.command === undefined && entry.checksumVersion === undefined
151
+ ? await readEntryConfig(entry, projectDir)
152
+ : undefined;
153
+ const value = config && lookupEntryValue(config, entry.key);
154
+ if (!value || !matchesLegacyChecksum(entry, value)) {
155
+ upgraded.push(entry);
156
+ continue;
157
+ }
158
+ const deep = { checksum: computeConfigEntryChecksum(value), checksumVersion: CONFIG_CHECKSUM_VERSION };
159
+ // Keys in the order an install records them (checksum, checksumVersion, then the rest), so the
160
+ // committed lockfile doesn't reorder when the entry is next installed.
161
+ upgraded.push(Object.assign({ ...deep }, entry, deep));
162
+ }
163
+ return upgraded;
164
+ }
121
165
  /**
122
166
  * Compare a file's current checksum against an expected value (line-ending
123
167
  * tolerant; see {@link matchesChecksum}).
@@ -153,7 +197,8 @@ export async function verifyChecksums(files) {
153
197
  * 2. Splits the dot-path key into section/child and looks up the value →
154
198
  * `CONFIG_KEY_NOT_FOUND` if missing.
155
199
  * 3. Computes a checksum via `computeConfigEntryChecksum()` and compares →
156
- * `CONFIG_CHECKSUM_MISMATCH` on divergence.
200
+ * `CONFIG_CHECKSUM_MISMATCH` on divergence. An entry without a
201
+ * `checksumVersion` (recorded by an older CLI) also matches its legacy digest.
157
202
  *
158
203
  * Returns only the entries that failed (empty array = all OK).
159
204
  *
@@ -165,66 +210,28 @@ export async function verifyChecksums(files) {
165
210
  export async function verifyConfigEntries(entries, projectDir) {
166
211
  const failures = [];
167
212
  for (const entry of entries) {
168
- const absolutePath = fromRoot(projectDir, entry.file);
169
- // 1. Read and parse the config file (format inferred from the extension —
170
- // callers only hold lockfile entries, not the adapter placement)
171
- let config;
172
- try {
173
- const raw = await readFile(absolutePath, 'utf-8');
174
- config = parseConfig(raw, detectConfigFormat(entry.file));
175
- }
176
- catch {
213
+ // 1. Read and parse the config file
214
+ const config = await readEntryConfig(entry, projectDir);
215
+ if (!config) {
177
216
  failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_FILE_NOT_FOUND' });
178
217
  continue;
179
218
  }
180
219
  // Array-element (hook) entry: find the group owned by this asset's command.
181
220
  if (entry.command !== undefined) {
182
- const failure = verifyHookGroupEntry(config, entry);
221
+ const failure = verifyHookGroupEntry(config, { ...entry, command: entry.command });
183
222
  if (failure) {
184
223
  failures.push(failure);
185
224
  }
186
225
  continue;
187
226
  }
188
227
  // 2. Look up the value via dot-path (sectionKey.childKey)
189
- const dotIndex = entry.key.indexOf('.');
190
- const sectionKey = dotIndex === -1 ? entry.key : entry.key.slice(0, dotIndex);
191
- const childKey = dotIndex === -1 ? undefined : entry.key.slice(dotIndex + 1);
192
- const section = config[sectionKey];
193
- if (childKey === undefined || section === null || section === undefined || typeof section !== 'object') {
194
- // No child key means the key format is unexpected, or section missing
195
- if (childKey === undefined) {
196
- // Single-segment key — look up directly
197
- if (!(sectionKey in config)) {
198
- failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_KEY_NOT_FOUND' });
199
- continue;
200
- }
201
- const value = config[sectionKey];
202
- if (value === null || value === undefined || typeof value !== 'object') {
203
- failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_KEY_NOT_FOUND' });
204
- continue;
205
- }
206
- const actual = computeConfigEntryChecksum(value);
207
- if (actual !== entry.checksum) {
208
- failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_CHECKSUM_MISMATCH' });
209
- }
210
- continue;
211
- }
212
- failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_KEY_NOT_FOUND' });
213
- continue;
214
- }
215
- const sectionObj = section;
216
- if (!(childKey in sectionObj)) {
217
- failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_KEY_NOT_FOUND' });
218
- continue;
219
- }
220
- const value = sectionObj[childKey];
221
- if (value === null || value === undefined || typeof value !== 'object') {
228
+ const value = lookupEntryValue(config, entry.key);
229
+ if (!value) {
222
230
  failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_KEY_NOT_FOUND' });
223
231
  continue;
224
232
  }
225
233
  // 3. Compute checksum and compare
226
- const actual = computeConfigEntryChecksum(value);
227
- if (actual !== entry.checksum) {
234
+ if (computeConfigEntryChecksum(value) !== entry.checksum && !matchesLegacyChecksum(entry, value)) {
228
235
  failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_CHECKSUM_MISMATCH' });
229
236
  }
230
237
  }
@@ -232,6 +239,46 @@ export async function verifyConfigEntries(entries, projectDir) {
232
239
  }
233
240
  const CR = 0x0d;
234
241
  const LF = 0x0a;
242
+ function isObject(value) {
243
+ return value !== null && typeof value === 'object';
244
+ }
245
+ /**
246
+ * The digest CLIs recorded before {@link CONFIG_CHECKSUM_VERSION}. Its array replacer is an allow-list
247
+ * of the top-level keys at every depth, so nested objects keep only keys that share a top-level
248
+ * name (`env` serializes as `{}`). Kept byte for byte so lockfiles those CLIs wrote still verify.
249
+ */
250
+ function legacyConfigEntryChecksum(entry) {
251
+ const cleaned = withoutManagedBy(entry);
252
+ return hashString(JSON.stringify(cleaned, Object.keys(cleaned).sort()));
253
+ }
254
+ /**
255
+ * The object a config entry's dot-path key (`section.child`, or a single top-level key) names, or
256
+ * undefined when the key, or the value there, is missing or isn't an object.
257
+ */
258
+ function lookupEntryValue(config, key) {
259
+ const dotIndex = key.indexOf('.');
260
+ const sectionKey = dotIndex === -1 ? key : key.slice(0, dotIndex);
261
+ const section = config[sectionKey];
262
+ const value = dotIndex === -1 ? section : isObject(section) ? section[key.slice(dotIndex + 1)] : undefined;
263
+ return isObject(value) ? value : undefined;
264
+ }
265
+ /** Whether an entry recorded before {@link CONFIG_CHECKSUM_VERSION} holds `value`, by its legacy digest. */
266
+ function matchesLegacyChecksum(entry, value) {
267
+ return entry.checksumVersion === undefined && legacyConfigEntryChecksum(value) === entry.checksum;
268
+ }
269
+ /**
270
+ * Read and parse an entry's config file, with the format inferred from its extension (callers only
271
+ * hold lockfile entries, not the adapter placement), or undefined when it can't be read or parsed.
272
+ */
273
+ async function readEntryConfig(entry, projectDir) {
274
+ try {
275
+ const raw = await readFile(fromRoot(projectDir, entry.file), 'utf-8');
276
+ return parseConfig(raw, detectConfigFormat(entry.file));
277
+ }
278
+ catch {
279
+ return undefined;
280
+ }
281
+ }
235
282
  /** Expects LF-only input, so every LF gains exactly one CR. */
236
283
  function toCrlf(lf) {
237
284
  let lines = 0;
@@ -284,4 +331,10 @@ function verifyHookGroupEntry(config, entry) {
284
331
  }
285
332
  return null;
286
333
  }
334
+ /** A copy of a config entry value without the `_managedBy` marker ATK adds at write time. */
335
+ function withoutManagedBy(entry) {
336
+ const cleaned = { ...entry };
337
+ delete cleaned['_managedBy'];
338
+ return cleaned;
339
+ }
287
340
  //# sourceMappingURL=checksum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checksum.js","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checksum.js","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { AssetType } from './schemas/index.js';
2
- import { type Config, type ProjectConfig } from './schemas/config.js';
2
+ import { type Config, type ProjectConfig, type ResolvedConfig } from './schemas/config.js';
3
3
  /**
4
4
  * Freeze an asset by adding it to the `frozenAssets` of the scope at `projectDir` (the project's
5
5
  * .atkrc.json, or the user scope's config when `projectDir` is the user root).
@@ -55,7 +55,7 @@ export declare function listConfigEntries(config: Config): Array<{
55
55
  * Returns DEFAULT_CONFIG merged with any saved values.
56
56
  * Creates no file if none exists — defaults are used.
57
57
  */
58
- export declare function loadConfig(): Promise<Config>;
58
+ export declare function loadConfig(): Promise<ResolvedConfig>;
59
59
  /**
60
60
  * Load the project-level config from .atkrc.json in the project directory.
61
61
  * Returns null if no project config exists, including a file without `tools` (or legacy `tool`):
@@ -73,7 +73,7 @@ export declare function loadUserScopeConfig(userRoot: string): Promise<null | Pr
73
73
  * Reset a config key back to its default value.
74
74
  * Returns the updated config.
75
75
  */
76
- export declare function resetConfigValue(config: Config, key: string): Config;
76
+ export declare function resetConfigValue(config: ResolvedConfig, key: string): ResolvedConfig;
77
77
  /**
78
78
  * Save the full config object to ~/.atkrc.json.
79
79
  */
@@ -93,7 +93,7 @@ export declare function saveUserScopeConfig(userRoot: string, config: ProjectCon
93
93
  * Set a single config value by key.
94
94
  * Returns the updated config. Validates the result against the schema.
95
95
  */
96
- export declare function setConfigValue(config: Config, key: string, value: string): Config;
96
+ export declare function setConfigValue(config: ResolvedConfig, key: string, value: string): ResolvedConfig;
97
97
  /**
98
98
  * Thaw an asset by removing it from the `frozenAssets` of the scope at `projectDir`.
99
99
  * Removes all entries matching the given name, and optionally type and org.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { homedir } from 'node:os';
4
4
  import { join, resolve } from 'node:path';
5
5
  import { z } from 'zod';
6
6
  import { SetupRequiredError } from './errors.js';
7
- import { parseAndValidate } from './parse-json.js';
7
+ import { formatZodIssues, parseAndValidate } from './parse-json.js';
8
8
  import { isSamePath } from './same-path.js';
9
9
  import { ConfigSchema, DEFAULT_CONFIG, ProjectConfigBase, ProjectConfigSchema, } from './schemas/config.js';
10
10
  import { loadScopeConfig, saveScopeConfig, setupGuidance } from './scope.js';
@@ -113,7 +113,7 @@ export function listConfigEntries(config) {
113
113
  return allKeys.map((key) => ({
114
114
  isDefault: config[key] === undefined || config[key] === DEFAULT_CONFIG[key],
115
115
  key,
116
- value: config[key] ?? '(not set)',
116
+ value: config[key] ?? null,
117
117
  }));
118
118
  }
119
119
  /**
@@ -226,24 +226,29 @@ export function setConfigValue(config, key, value) {
226
226
  if (!(key in ConfigSchema.shape)) {
227
227
  throw new Error(`Unknown config key: ${key}`);
228
228
  }
229
- // Schema-driven type coercion: detect number fields from the Zod schema
230
- // and coerce string CLI input to numbers automatically.
229
+ // Schema-driven type coercion: detect number and boolean fields from the Zod schema
230
+ // and coerce string CLI input to them automatically.
231
231
  let coerced = value;
232
232
  const fieldSchema = ConfigSchema.shape[key];
233
233
  const jsonSchema = z.toJSONSchema(fieldSchema);
234
- if ('type' in jsonSchema && jsonSchema.type === 'number') {
235
- const num = Number(value);
234
+ const type = 'type' in jsonSchema ? jsonSchema.type : undefined;
235
+ if (type === 'number' || type === 'integer') {
236
+ // Number('') and Number(' ') are 0, so an empty value would pass as a number.
237
+ const num = value.trim() === '' ? Number.NaN : Number(value);
236
238
  if (Number.isNaN(num)) {
237
239
  throw new Error(`Invalid value for ${key}: expected a number`);
238
240
  }
239
241
  coerced = num;
240
242
  }
243
+ else if (type === 'boolean') {
244
+ coerced = parseBoolean(key, value);
245
+ }
241
246
  const updated = { ...config, [key]: coerced };
242
247
  const result = ConfigSchema.safeParse(updated);
243
248
  if (!result.success) {
244
- throw new Error(`Invalid config value: ${result.error.issues.map((i) => i.message).join(', ')}`);
249
+ throw new Error(`Invalid config value: ${formatZodIssues(result.error.issues)}`);
245
250
  }
246
- return result.data;
251
+ return { ...DEFAULT_CONFIG, ...result.data };
247
252
  }
248
253
  /**
249
254
  * Thaw an asset by removing it from the `frozenAssets` of the scope at `projectDir`.
@@ -297,6 +302,24 @@ async function noScopeConfigError(root) {
297
302
  const missing = user ? `No user scope config found in ${getConfigPath()}` : `No project config found in ${root}`;
298
303
  return new SetupRequiredError(`${missing}. Run \`${command}\` first.`, { command, hint });
299
304
  }
305
+ /**
306
+ * Parse a boolean config value from CLI input: `true`/`false`/`1`/`0`, ignoring case.
307
+ */
308
+ function parseBoolean(key, value) {
309
+ switch (value.trim().toLowerCase()) {
310
+ case '0':
311
+ case 'false': {
312
+ return false;
313
+ }
314
+ case '1':
315
+ case 'true': {
316
+ return true;
317
+ }
318
+ default: {
319
+ throw new Error(`Invalid value for ${key}: expected true, false, 1 or 0`);
320
+ }
321
+ }
322
+ }
300
323
  /**
301
324
  * Parse JSON text that should hold an object. Returns null when it doesn't parse or isn't an object.
302
325
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAgB5D,OAAO,EAAkD,KAAK,KAAK,EAAiB,MAAM,YAAY,CAAC;AAEvG;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE;IAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,EACtD,IAAI,EAAE;IAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAChE,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAyBtC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,cAAc,EAAE,EACxB,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,KAAK,CAAC,EAAE,KAAK,GACZ,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CA0CtC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,cAAc,EAAE,EACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,CAAC,EAAE,KAAK,GACZ,eAAe,GAAG,SAAS,CAmB7B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAqBjE;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACnC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GACnE,OAAO,CAAC,eAAe,EAAE,CAAC,CAsM5B"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAiB5D,OAAO,EAAkD,KAAK,KAAK,EAAiB,MAAM,YAAY,CAAC;AAEvG;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE;IAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,EACtD,IAAI,EAAE;IAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAChE,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAyBtC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,cAAc,EAAE,EACxB,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,KAAK,CAAC,EAAE,KAAK,GACZ,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CA0CtC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,cAAc,EAAE,EACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,CAAC,EAAE,KAAK,GACZ,eAAe,GAAG,SAAS,CAmB7B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAqBjE;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACnC,EAAE,WAAW,EAAE,IAAI,EAAE,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GACnE,OAAO,CAAC,eAAe,EAAE,CAAC,CA0M5B"}
@@ -10,6 +10,7 @@ import { getEntraCachePath } from './entra.js';
10
10
  import { errorMessage } from './errors.js';
11
11
  import { hookScriptPath, lacksExecBit } from './hook-script.js';
12
12
  import { identityKey, lockfileExists, readLockfile } from './lockfile.js';
13
+ import { isOffline } from './offline.js';
13
14
  import { formatOrgName } from './org.js';
14
15
  import { fetchRegistry, versionTools } from './registry.js';
15
16
  import { fromRoot } from './root-path.js';
@@ -192,9 +193,11 @@ export async function runDiagnostics(progress, { projectRoot, user } = {}) {
192
193
  name: 'ATK API',
193
194
  status: 'pass',
194
195
  });
195
- // Check authentication against the ATK API
196
+ // Check authentication against the ATK API (not offline: validating the credential is an API call)
196
197
  progress('Checking authentication...');
197
- checks.push(await checkAuthentication());
198
+ checks.push(isOffline()
199
+ ? { message: 'Not checked with --offline', name: 'Authentication', status: 'warn' }
200
+ : await checkAuthentication());
198
201
  // Check registry access
199
202
  progress('Checking registry access...');
200
203
  let registry;
@@ -501,11 +504,11 @@ function staleEntraSessionNote() {
501
504
  if (!session || session.ok) {
502
505
  return undefined;
503
506
  }
504
- const why = session.reason === 'expired'
505
- ? 'the session has expired'
506
- : session.reason === 'none'
507
- ? 'it holds no account'
508
- : `it could not be read: ${session.detail ?? 'unknown error'}`;
507
+ if (session.reason === 'error') {
508
+ // The chain's AuthError already carries MSAL's detail.
509
+ return `An Emergent session file exists at ${getEntraCachePath()}. If refreshing it keeps failing, run \`atk login --force\` to replace it or \`atk logout\` to remove it.`;
510
+ }
511
+ const why = session.reason === 'expired' ? 'the session has expired' : 'it holds no account';
509
512
  return `An Emergent session file exists at ${getEntraCachePath()} but ${why}. Run \`atk login\` to renew it or \`atk logout\` to remove it.`;
510
513
  }
511
514
  //# sourceMappingURL=diagnostics.js.map