@detergent-software/atk 7.12.0 → 7.13.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 (180) hide show
  1. package/README.md +9 -6
  2. package/build/commands/audit.d.ts.map +1 -1
  3. package/build/commands/audit.js +36 -5
  4. package/build/commands/audit.js.map +1 -1
  5. package/build/commands/browse.js +7 -2
  6. package/build/commands/browse.js.map +1 -1
  7. package/build/commands/install.d.ts.map +1 -1
  8. package/build/commands/install.js +34 -10
  9. package/build/commands/install.js.map +1 -1
  10. package/build/commands/list.js +13 -1
  11. package/build/commands/list.js.map +1 -1
  12. package/build/commands/promote.d.ts +10 -1
  13. package/build/commands/promote.d.ts.map +1 -1
  14. package/build/commands/promote.js +30 -31
  15. package/build/commands/promote.js.map +1 -1
  16. package/build/commands/release-notes.js +1 -1
  17. package/build/commands/release-notes.js.map +1 -1
  18. package/build/commands/setup.d.ts +2 -2
  19. package/build/commands/setup.d.ts.map +1 -1
  20. package/build/commands/setup.js +7 -4
  21. package/build/commands/setup.js.map +1 -1
  22. package/build/commands/sync.js +12 -8
  23. package/build/commands/sync.js.map +1 -1
  24. package/build/commands/uninstall.d.ts.map +1 -1
  25. package/build/commands/uninstall.js +25 -11
  26. package/build/commands/uninstall.js.map +1 -1
  27. package/build/commands/unpublish.d.ts +10 -1
  28. package/build/commands/unpublish.d.ts.map +1 -1
  29. package/build/commands/unpublish.js +30 -19
  30. package/build/commands/unpublish.js.map +1 -1
  31. package/build/commands/update.d.ts.map +1 -1
  32. package/build/commands/update.js +19 -5
  33. package/build/commands/update.js.map +1 -1
  34. package/build/components/ExcludedSkippedHint.d.ts +13 -0
  35. package/build/components/ExcludedSkippedHint.d.ts.map +1 -0
  36. package/build/components/ExcludedSkippedHint.js +12 -0
  37. package/build/components/ExcludedSkippedHint.js.map +1 -0
  38. package/build/components/RegistryChangeSummary.d.ts +21 -0
  39. package/build/components/RegistryChangeSummary.d.ts.map +1 -0
  40. package/build/components/RegistryChangeSummary.js +24 -0
  41. package/build/components/RegistryChangeSummary.js.map +1 -0
  42. package/build/components/StatusBadge.d.ts +1 -1
  43. package/build/components/StatusBadge.d.ts.map +1 -1
  44. package/build/components/StatusBadge.js +2 -0
  45. package/build/components/StatusBadge.js.map +1 -1
  46. package/build/components/SyncAllInSync.d.ts +3 -1
  47. package/build/components/SyncAllInSync.d.ts.map +1 -1
  48. package/build/components/SyncAllInSync.js +3 -2
  49. package/build/components/SyncAllInSync.js.map +1 -1
  50. package/build/components/SyncDriftedList.d.ts +3 -1
  51. package/build/components/SyncDriftedList.d.ts.map +1 -1
  52. package/build/components/SyncDriftedList.js +4 -3
  53. package/build/components/SyncDriftedList.js.map +1 -1
  54. package/build/components/index.d.ts +2 -0
  55. package/build/components/index.d.ts.map +1 -1
  56. package/build/components/index.js +2 -0
  57. package/build/components/index.js.map +1 -1
  58. package/build/hooks/useListActions.d.ts +1 -0
  59. package/build/hooks/useListActions.d.ts.map +1 -1
  60. package/build/hooks/useListActions.js +1 -0
  61. package/build/hooks/useListActions.js.map +1 -1
  62. package/build/hooks/usePruneState.d.ts +1 -1
  63. package/build/hooks/usePruneState.d.ts.map +1 -1
  64. package/build/hooks/usePruneState.js +11 -5
  65. package/build/hooks/usePruneState.js.map +1 -1
  66. package/build/hooks/useRegistryChangeState.d.ts +57 -0
  67. package/build/hooks/useRegistryChangeState.d.ts.map +1 -0
  68. package/build/hooks/useRegistryChangeState.js +112 -0
  69. package/build/hooks/useRegistryChangeState.js.map +1 -0
  70. package/build/hooks/useSetupState.d.ts +2 -1
  71. package/build/hooks/useSetupState.d.ts.map +1 -1
  72. package/build/hooks/useSetupState.js +17 -6
  73. package/build/hooks/useSetupState.js.map +1 -1
  74. package/build/hooks/useUninstallState.d.ts +21 -9
  75. package/build/hooks/useUninstallState.d.ts.map +1 -1
  76. package/build/hooks/useUninstallState.js +76 -15
  77. package/build/hooks/useUninstallState.js.map +1 -1
  78. package/build/lib/api/index.d.ts +2 -2
  79. package/build/lib/api/index.d.ts.map +1 -1
  80. package/build/lib/api/index.js +1 -1
  81. package/build/lib/api/index.js.map +1 -1
  82. package/build/lib/api/sdk.gen.d.ts +21 -1
  83. package/build/lib/api/sdk.gen.d.ts.map +1 -1
  84. package/build/lib/api/sdk.gen.js +56 -0
  85. package/build/lib/api/sdk.gen.js.map +1 -1
  86. package/build/lib/api/types.gen.d.ts +387 -0
  87. package/build/lib/api/types.gen.d.ts.map +1 -1
  88. package/build/lib/api-client.d.ts +5 -0
  89. package/build/lib/api-client.d.ts.map +1 -1
  90. package/build/lib/api-client.js +31 -0
  91. package/build/lib/api-client.js.map +1 -1
  92. package/build/lib/asset-tools.d.ts +55 -0
  93. package/build/lib/asset-tools.d.ts.map +1 -0
  94. package/build/lib/asset-tools.js +71 -0
  95. package/build/lib/asset-tools.js.map +1 -0
  96. package/build/lib/auth.d.ts +1 -14
  97. package/build/lib/auth.d.ts.map +1 -1
  98. package/build/lib/auth.js +1 -30
  99. package/build/lib/auth.js.map +1 -1
  100. package/build/lib/checksum.d.ts.map +1 -1
  101. package/build/lib/checksum.js +4 -2
  102. package/build/lib/checksum.js.map +1 -1
  103. package/build/lib/config-entries.d.ts +52 -0
  104. package/build/lib/config-entries.d.ts.map +1 -0
  105. package/build/lib/config-entries.js +71 -0
  106. package/build/lib/config-entries.js.map +1 -0
  107. package/build/lib/config-file.d.ts +49 -0
  108. package/build/lib/config-file.d.ts.map +1 -0
  109. package/build/lib/config-file.js +84 -0
  110. package/build/lib/config-file.js.map +1 -0
  111. package/build/lib/diagnostics.d.ts.map +1 -1
  112. package/build/lib/diagnostics.js +1 -19
  113. package/build/lib/diagnostics.js.map +1 -1
  114. package/build/lib/diff-command.d.ts.map +1 -1
  115. package/build/lib/diff-command.js +15 -3
  116. package/build/lib/diff-command.js.map +1 -1
  117. package/build/lib/init.d.ts.map +1 -1
  118. package/build/lib/init.js +6 -4
  119. package/build/lib/init.js.map +1 -1
  120. package/build/lib/installer.d.ts +17 -0
  121. package/build/lib/installer.d.ts.map +1 -1
  122. package/build/lib/installer.js +102 -38
  123. package/build/lib/installer.js.map +1 -1
  124. package/build/lib/lockfile.d.ts +11 -0
  125. package/build/lib/lockfile.d.ts.map +1 -1
  126. package/build/lib/lockfile.js +14 -0
  127. package/build/lib/lockfile.js.map +1 -1
  128. package/build/lib/publisher.d.ts.map +1 -1
  129. package/build/lib/publisher.js +1 -7
  130. package/build/lib/publisher.js.map +1 -1
  131. package/build/lib/registry-mutate.d.ts +23 -64
  132. package/build/lib/registry-mutate.d.ts.map +1 -1
  133. package/build/lib/registry-mutate.js +50 -409
  134. package/build/lib/registry-mutate.js.map +1 -1
  135. package/build/lib/registry-repo.d.ts +2 -3
  136. package/build/lib/registry-repo.d.ts.map +1 -1
  137. package/build/lib/registry-repo.js +2 -3
  138. package/build/lib/registry-repo.js.map +1 -1
  139. package/build/lib/release-notes.d.ts +18 -14
  140. package/build/lib/release-notes.d.ts.map +1 -1
  141. package/build/lib/release-notes.js +10 -42
  142. package/build/lib/release-notes.js.map +1 -1
  143. package/build/lib/schemas/adapter.d.ts +10 -0
  144. package/build/lib/schemas/adapter.d.ts.map +1 -1
  145. package/build/lib/schemas/adapter.js +8 -0
  146. package/build/lib/schemas/adapter.js.map +1 -1
  147. package/build/lib/schemas/lockfile.d.ts +5 -0
  148. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  149. package/build/lib/schemas/lockfile.js +8 -0
  150. package/build/lib/schemas/lockfile.js.map +1 -1
  151. package/build/lib/setup.d.ts +6 -0
  152. package/build/lib/setup.d.ts.map +1 -1
  153. package/build/lib/setup.js +49 -4
  154. package/build/lib/setup.js.map +1 -1
  155. package/build/lib/sync.d.ts +9 -1
  156. package/build/lib/sync.d.ts.map +1 -1
  157. package/build/lib/sync.js +31 -8
  158. package/build/lib/sync.js.map +1 -1
  159. package/build/lib/uninstaller.d.ts +35 -0
  160. package/build/lib/uninstaller.d.ts.map +1 -1
  161. package/build/lib/uninstaller.js +96 -29
  162. package/build/lib/uninstaller.js.map +1 -1
  163. package/build/lib/updater.d.ts +6 -0
  164. package/build/lib/updater.d.ts.map +1 -1
  165. package/build/lib/updater.js +35 -3
  166. package/build/lib/updater.js.map +1 -1
  167. package/build/lib/write-file.d.ts +13 -0
  168. package/build/lib/write-file.d.ts.map +1 -1
  169. package/build/lib/write-file.js +22 -0
  170. package/build/lib/write-file.js.map +1 -1
  171. package/package.json +2 -1
  172. package/tool-adapters/codex-cli.json +31 -0
  173. package/build/hooks/usePromoteState.d.ts +0 -51
  174. package/build/hooks/usePromoteState.d.ts.map +0 -1
  175. package/build/hooks/usePromoteState.js +0 -139
  176. package/build/hooks/usePromoteState.js.map +0 -1
  177. package/build/hooks/useUnpublishState.d.ts +0 -52
  178. package/build/hooks/useUnpublishState.d.ts.map +0 -1
  179. package/build/hooks/useUnpublishState.js +0 -140
  180. package/build/hooks/useUnpublishState.js.map +0 -1
@@ -0,0 +1,71 @@
1
+ import { getOtherToolsConfigEntries } from './config-entries.js';
2
+ /**
3
+ * The `excludedTools` to record after (re)installing an asset for one tool: the previously
4
+ * recorded exclusions minus the tool being installed. Returns undefined when none remain so
5
+ * the field is omitted from the lockfile.
6
+ */
7
+ export function carryExcludedTools(previous, installingTool) {
8
+ const remaining = (previous?.excludedTools ?? []).filter((t) => t !== installingTool);
9
+ return remaining.length > 0 ? remaining : undefined;
10
+ }
11
+ /**
12
+ * Describe what a removal for `removingTools` does to the lockfile entries of the given assets.
13
+ * With `configuredAdapters` undefined the removal is not tool-scoped: every entry is dropped.
14
+ */
15
+ export function describeLockfileEffects(assets, removingTools, configuredAdapters) {
16
+ return assets.map((asset) => {
17
+ const remainingTools = configuredAdapters ? getRemainingTools(asset, removingTools, configuredAdapters) : [];
18
+ return {
19
+ entryKept: remainingTools.length > 0,
20
+ name: asset.name,
21
+ ...(asset.org ? { org: asset.org } : {}),
22
+ remainingTools,
23
+ type: asset.type,
24
+ };
25
+ });
26
+ }
27
+ /**
28
+ * The lockfile entry to keep after uninstalling an asset for one tool: the tool is recorded in
29
+ * `excludedTools` (sorted, so teammates do not reorder the committed lockfile) and only the
30
+ * other tools' config entries are kept.
31
+ */
32
+ export function excludeToolFromAsset(asset, adapter) {
33
+ const { configEntries: _configEntries, excludedTools: _excludedTools, ...rest } = asset;
34
+ const otherEntries = getOtherToolsConfigEntries(asset, adapter);
35
+ const excludedTools = [...new Set([...(asset.excludedTools ?? []), adapter.tool])].sort();
36
+ return {
37
+ ...rest,
38
+ ...(otherEntries.length > 0 ? { configEntries: otherEntries } : {}),
39
+ excludedTools,
40
+ };
41
+ }
42
+ /**
43
+ * Tools that still have the asset once it is removed for `removingTools`: the configured
44
+ * adapters that can place this asset type, plus any tool that tagged a config entry on the
45
+ * asset (the lockfile is shared, so a teammate's tool may not be configured locally), minus
46
+ * the tools already excluded and the ones being removed now.
47
+ */
48
+ export function getRemainingTools(asset, removingTools, configuredAdapters) {
49
+ const candidates = new Set();
50
+ for (const adapter of configuredAdapters) {
51
+ if (supportsType(adapter, asset.type)) {
52
+ candidates.add(adapter.tool);
53
+ }
54
+ }
55
+ for (const entry of asset.configEntries ?? []) {
56
+ if (entry.tool !== undefined) {
57
+ candidates.add(entry.tool);
58
+ }
59
+ }
60
+ const gone = new Set([...(asset.excludedTools ?? []), ...removingTools]);
61
+ return [...candidates].filter((t) => !gone.has(t)).sort();
62
+ }
63
+ /** Whether the asset was explicitly uninstalled for the given tool. */
64
+ export function isExcludedForTool(asset, tool) {
65
+ return (asset.excludedTools ?? []).includes(tool);
66
+ }
67
+ /** Whether the adapter has a placement for the asset type (mirrors adapter.ts `supportsAssetType`). */
68
+ export function supportsType(adapter, assetType) {
69
+ return assetType in adapter.placements;
70
+ }
71
+ //# sourceMappingURL=asset-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-tools.js","sourceRoot":"","sources":["../../src/lib/asset-tools.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AA4BjE;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAA2D,EAC3D,cAAsB;IAEtB,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC;IACtF,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAwB,EACxB,aAAuB,EACvB,kBAAyC;IAEzC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,MAAM,cAAc,GAAG,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7G,OAAO;YACL,SAAS,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC;YACpC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,cAAc;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAqB,EAAE,OAAgB;IAC1E,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACxF,MAAM,YAAY,GAAG,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAE1F,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAsB,EAAE,aAAuB,EAAE,kBAA6B;IAC9G,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,IAAI,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;QAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5D,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,iBAAiB,CAAC,KAA4C,EAAE,IAAY;IAC1F,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,SAAiB;IAC9D,OAAO,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC;AACzC,CAAC"}
@@ -15,7 +15,7 @@ export interface Credential {
15
15
  /** Where a credential came from, in chain order. */
16
16
  export type CredentialSource = 'ATK_TOKEN' | 'config' | 'entra' | 'gh' | 'GITHUB_TOKEN';
17
17
  /**
18
- * Clear the cached credential and GitHub token. Useful for testing, and for
18
+ * Clear the cached credential. Useful for testing, and for
19
19
  * `atk login` / `atk logout`, which change what the chain would return.
20
20
  */
21
21
  export declare function clearTokenCache(): void;
@@ -35,24 +35,11 @@ export declare function clearTokenCache(): void;
35
35
  * start the device-code flow themselves.
36
36
  */
37
37
  export declare function getCredential(): Promise<Credential>;
38
- /**
39
- * Get a GitHub token specifically (never an Entra token).
40
- *
41
- * Resolution order: `githubToken` config → `GITHUB_TOKEN` → `gh auth token`.
42
- * Only for operations that talk to GitHub directly (`atk unpublish`,
43
- * `atk promote`, `atk release-notes`); everything that talks to the ATK API
44
- * goes through {@link getCredential}.
45
- */
46
- export declare function getGitHubToken(): Promise<string>;
47
38
  /**
48
39
  * The Entra session outcome seen by the last credential resolution, or
49
40
  * `undefined` if the chain has not run (or stopped at `ATK_TOKEN`).
50
41
  */
51
42
  export declare function getLastEntraSession(): EntraSession | undefined;
52
- /**
53
- * Check if the gh CLI is installed and available.
54
- */
55
- export declare function isGhCliAvailable(): Promise<boolean>;
56
43
  /**
57
44
  * Validate that a token is accepted by the ATK API by calling `GET /me` with
58
45
  * exactly that token — never the process-cached one. Works for GitHub and
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAKpD,OAAO,EAAE,KAAK,YAAY,EAAmB,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,qBAAa,SAAU,SAAQ,KAAK;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEF,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;CAM5D;AAED,2FAA2F;AAC3F,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oDAAoD;AACpD,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,cAAc,CAAC;AAcxF;;;GAGG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAItC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CAMnD;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAQhD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,GAAG,SAAS,CAE9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAMnD;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAqBvE"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAKpD,OAAO,EAAE,KAAK,YAAY,EAAmB,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,qBAAa,SAAU,SAAQ,KAAK;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;gBAEF,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;CAM5D;AAED,2FAA2F;AAC3F,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAE7C,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oDAAoD;AACpD,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,cAAc,CAAC;AAaxF;;;GAGG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAGtC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CAMnD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,YAAY,GAAG,SAAS,CAE9D;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAqBvE"}
package/build/lib/auth.js CHANGED
@@ -22,16 +22,14 @@ const SESSION_EXPIRED_MESSAGE = 'Your Emergent sign-in has expired. Run `atk log
22
22
  const GITHUB_HINT = 'Run `gh auth login`, or set the GITHUB_TOKEN environment variable.';
23
23
  /** Cached results so a process resolves each chain at most once. */
24
24
  let cachedCredential;
25
- let cachedGitHubToken;
26
25
  /** The Entra outcome the last {@link getCredential} run observed, for `atk doctor`. */
27
26
  let lastEntraSession;
28
27
  /**
29
- * Clear the cached credential and GitHub token. Useful for testing, and for
28
+ * Clear the cached credential. Useful for testing, and for
30
29
  * `atk login` / `atk logout`, which change what the chain would return.
31
30
  */
32
31
  export function clearTokenCache() {
33
32
  cachedCredential = undefined;
34
- cachedGitHubToken = undefined;
35
33
  lastEntraSession = undefined;
36
34
  }
37
35
  /**
@@ -56,23 +54,6 @@ export function getCredential() {
56
54
  });
57
55
  return cachedCredential;
58
56
  }
59
- /**
60
- * Get a GitHub token specifically (never an Entra token).
61
- *
62
- * Resolution order: `githubToken` config → `GITHUB_TOKEN` → `gh auth token`.
63
- * Only for operations that talk to GitHub directly (`atk unpublish`,
64
- * `atk promote`, `atk release-notes`); everything that talks to the ATK API
65
- * goes through {@link getCredential}.
66
- */
67
- export function getGitHubToken() {
68
- cachedGitHubToken ??= resolveGitHubToken()
69
- .then((found) => found.token)
70
- .catch((err) => {
71
- cachedGitHubToken = undefined;
72
- throw err;
73
- });
74
- return cachedGitHubToken;
75
- }
76
57
  /**
77
58
  * The Entra session outcome seen by the last credential resolution, or
78
59
  * `undefined` if the chain has not run (or stopped at `ATK_TOKEN`).
@@ -80,16 +61,6 @@ export function getGitHubToken() {
80
61
  export function getLastEntraSession() {
81
62
  return lastEntraSession;
82
63
  }
83
- /**
84
- * Check if the gh CLI is installed and available.
85
- */
86
- export function isGhCliAvailable() {
87
- return new Promise((resolve) => {
88
- execFile('gh', ['--version'], { timeout: 5_000 }, (error) => {
89
- resolve(!error);
90
- });
91
- });
92
- }
93
64
  /**
94
65
  * Validate that a token is accepted by the ATK API by calling `GET /me` with
95
66
  * exactly that token — never the process-cached one. Works for GitHub and
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"AAMA,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,KAAK,EAAE,OAAO,GAAG,MAAM,CAatD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGjG;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,CA0E/B"}
1
+ {"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../src/lib/checksum.ts"],"names":[],"mappings":"AAOA,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,KAAK,EAAE,OAAO,GAAG,MAAM,CAatD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGjG;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,CA2E/B"}
@@ -1,6 +1,7 @@
1
1
  import { createHash } from 'node:crypto';
2
2
  import { readdir, readFile } from 'node:fs/promises';
3
3
  import { join } from 'node:path';
4
+ import { detectConfigFormat, parseConfig } from './config-file.js';
4
5
  import { hookGroupOwnsCommand } from './hook-config.js';
5
6
  /** Recursively collect all files in a directory. */
6
7
  export async function collectFilesRecursive(dirPath, baseDir) {
@@ -148,11 +149,12 @@ export async function verifyConfigEntries(entries, projectDir) {
148
149
  const failures = [];
149
150
  for (const entry of entries) {
150
151
  const absolutePath = join(projectDir, entry.file);
151
- // 1. Read and parse the config file
152
+ // 1. Read and parse the config file (format inferred from the extension —
153
+ // callers only hold lockfile entries, not the adapter placement)
152
154
  let config;
153
155
  try {
154
156
  const raw = await readFile(absolutePath, 'utf-8');
155
- config = JSON.parse(raw);
157
+ config = parseConfig(raw, detectConfigFormat(entry.file));
156
158
  }
157
159
  catch {
158
160
  failures.push({ file: entry.file, key: entry.key, reason: 'CONFIG_FILE_NOT_FOUND' });
@@ -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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"}
@@ -0,0 +1,52 @@
1
+ import type { Adapter } from './schemas/adapter.js';
2
+ import type { ConfigEntry, InstalledAsset } from './schemas/lockfile.js';
3
+ /**
4
+ * Helpers for scoping an installed asset's lockfile `configEntries` to a single tool.
5
+ *
6
+ * The lockfile is tool-agnostic and shared by teammates who may use different tools,
7
+ * but a config entry is inherently tool-specific (its `file`, `command` and `checksum`
8
+ * all differ per adapter). Each entry is therefore tagged with the `tool` that
9
+ * registered it, and every consumer (installer, uninstaller, sync, audit) must only
10
+ * act on the entries belonging to the adapter it is running for.
11
+ *
12
+ * Entries written by older CLI versions carry no `tool` tag; their owner is inferred
13
+ * by matching the entry's `file` against the adapter placement's `configFile`.
14
+ *
15
+ * This module is intentionally dependency-free (type-only imports) so it can be shared
16
+ * by the installer, uninstaller, sync and audit without import cycles.
17
+ */
18
+ type AssetConfigEntries = Pick<InstalledAsset, 'configEntries' | 'type'>;
19
+ /**
20
+ * Whether a lockfile config entry belongs to the given adapter's tool.
21
+ * Tagged entries match on `tool`; untagged legacy entries match when their file is
22
+ * the config file this adapter registers the asset type in.
23
+ */
24
+ export declare function configEntryBelongsToTool(entry: ConfigEntry, adapter: Adapter, assetType: string): boolean;
25
+ /** The asset's recorded config entries that belong to the given adapter's tool. */
26
+ export declare function getConfigEntriesForTool(asset: AssetConfigEntries, adapter: Adapter): ConfigEntry[];
27
+ /** The asset's recorded config entries that belong to any tool other than the given adapter's. */
28
+ export declare function getOtherToolsConfigEntries(asset: AssetConfigEntries | undefined, adapter: Adapter): ConfigEntry[];
29
+ /**
30
+ * Build the config entries to record after (re)installing an asset for one tool:
31
+ * other tools' previously recorded entries are preserved verbatim, this tool's stale
32
+ * entries are dropped, and the freshly registered entries are tagged with the tool.
33
+ *
34
+ * The result is ordered by tool so that teammates syncing under different tools do
35
+ * not reorder the committed lockfile.
36
+ */
37
+ export declare function mergeConfigEntriesForTool(previous: AssetConfigEntries | undefined, adapter: Adapter, fresh: Array<Omit<ConfigEntry, 'tool'>>): ConfigEntry[];
38
+ /**
39
+ * Whether an asset is missing its config registration for the given tool: the adapter
40
+ * registers this asset type in a config file, the asset has recorded entries for some
41
+ * other tool, but none for this one. This repairs multi-tool projects where only one
42
+ * tool's registration was ever recorded.
43
+ *
44
+ * Assets with no recorded entries at all are left alone — a hook with no event
45
+ * bindings, a legacy lockfile, or a memory-template legitimately has none, and
46
+ * flagging them would re-sync the asset forever.
47
+ */
48
+ export declare function needsConfigRegistration(asset: AssetConfigEntries, adapter: Adapter): boolean;
49
+ /** Normalize a project-relative config path for comparison: POSIX separators, no leading `./`. */
50
+ export declare function normalizeConfigPath(path: string): string;
51
+ export {};
52
+ //# sourceMappingURL=config-entries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-entries.d.ts","sourceRoot":"","sources":["../../src/lib/config-entries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEzE;;;;;;;;;;;;;;GAcG;AAEH,KAAK,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,MAAM,CAAC,CAAC;AAEzE;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAWzG;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAElG;AAED,kGAAkG;AAClG,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,kBAAkB,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,CAKjH;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,EACxC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GACtC,WAAW,EAAE,CAQf;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAS5F;AAED,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMxD"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Whether a lockfile config entry belongs to the given adapter's tool.
3
+ * Tagged entries match on `tool`; untagged legacy entries match when their file is
4
+ * the config file this adapter registers the asset type in.
5
+ */
6
+ export function configEntryBelongsToTool(entry, adapter, assetType) {
7
+ if (entry.tool !== undefined) {
8
+ return entry.tool === adapter.tool;
9
+ }
10
+ const placement = adapter.placements[assetType];
11
+ if (!placement?.configFile) {
12
+ return false;
13
+ }
14
+ return normalizeConfigPath(entry.file) === normalizeConfigPath(placement.configFile);
15
+ }
16
+ /** The asset's recorded config entries that belong to the given adapter's tool. */
17
+ export function getConfigEntriesForTool(asset, adapter) {
18
+ return (asset.configEntries ?? []).filter((e) => configEntryBelongsToTool(e, adapter, asset.type));
19
+ }
20
+ /** The asset's recorded config entries that belong to any tool other than the given adapter's. */
21
+ export function getOtherToolsConfigEntries(asset, adapter) {
22
+ if (!asset) {
23
+ return [];
24
+ }
25
+ return (asset.configEntries ?? []).filter((e) => !configEntryBelongsToTool(e, adapter, asset.type));
26
+ }
27
+ /**
28
+ * Build the config entries to record after (re)installing an asset for one tool:
29
+ * other tools' previously recorded entries are preserved verbatim, this tool's stale
30
+ * entries are dropped, and the freshly registered entries are tagged with the tool.
31
+ *
32
+ * The result is ordered by tool so that teammates syncing under different tools do
33
+ * not reorder the committed lockfile.
34
+ */
35
+ export function mergeConfigEntriesForTool(previous, adapter, fresh) {
36
+ const merged = [
37
+ ...getOtherToolsConfigEntries(previous, adapter),
38
+ ...fresh.map((e) => ({ ...e, tool: adapter.tool })),
39
+ ];
40
+ // Array.prototype.sort is stable, so entries keep their relative order within a tool.
41
+ return merged.sort((a, b) => (a.tool ?? '').localeCompare(b.tool ?? ''));
42
+ }
43
+ /**
44
+ * Whether an asset is missing its config registration for the given tool: the adapter
45
+ * registers this asset type in a config file, the asset has recorded entries for some
46
+ * other tool, but none for this one. This repairs multi-tool projects where only one
47
+ * tool's registration was ever recorded.
48
+ *
49
+ * Assets with no recorded entries at all are left alone — a hook with no event
50
+ * bindings, a legacy lockfile, or a memory-template legitimately has none, and
51
+ * flagging them would re-sync the asset forever.
52
+ */
53
+ export function needsConfigRegistration(asset, adapter) {
54
+ const placement = adapter.placements[asset.type];
55
+ if (!placement?.configFile || !placement.configKey) {
56
+ return false;
57
+ }
58
+ if ((asset.configEntries?.length ?? 0) === 0) {
59
+ return false;
60
+ }
61
+ return getConfigEntriesForTool(asset, adapter).length === 0;
62
+ }
63
+ /** Normalize a project-relative config path for comparison: POSIX separators, no leading `./`. */
64
+ export function normalizeConfigPath(path) {
65
+ let normalized = path.replace(/\\/g, '/');
66
+ while (normalized.startsWith('./')) {
67
+ normalized = normalized.slice(2);
68
+ }
69
+ return normalized;
70
+ }
71
+ //# sourceMappingURL=config-entries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-entries.js","sourceRoot":"","sources":["../../src/lib/config-entries.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import type { PlacementConfig } from './schemas/adapter.js';
2
+ /**
3
+ * Format-aware read/write helpers for tool config files that ATK registers
4
+ * assets into (e.g. Claude Code's `.mcp.json`, Codex CLI's `.codex/config.toml`).
5
+ *
6
+ * The installer, uninstaller, checksum verifier, and init fork all mutate or
7
+ * inspect these files. Historically every path assumed JSON; this module lets
8
+ * an adapter placement declare `configFormat: "toml"` (or rely on the file
9
+ * extension) so the same merge/verify logic works for TOML targets.
10
+ */
11
+ /** Serialization formats supported for tool config files. */
12
+ export type ConfigFormat = 'json' | 'toml';
13
+ /**
14
+ * Infer the config format from a file path. `.toml` (any case) → `toml`,
15
+ * everything else → `json`. Used where only a lockfile entry (file + key) is
16
+ * available and no placement is in scope.
17
+ */
18
+ export declare function detectConfigFormat(filePath: string): ConfigFormat;
19
+ /**
20
+ * Normalize a value so that what is checksummed equals what will be read back
21
+ * from disk after a write. TOML has no null: smol-toml silently drops
22
+ * null/undefined object members on serialize, so strip them up front. JSON is
23
+ * returned unchanged.
24
+ */
25
+ export declare function normalizeForFormat<T>(value: T, format: ConfigFormat): T;
26
+ /**
27
+ * Parse config text in the given format. Throws on syntax errors
28
+ * (`SyntaxError` for JSON, `TomlError` for TOML).
29
+ */
30
+ export declare function parseConfig(raw: string, format: ConfigFormat): Record<string, unknown>;
31
+ /**
32
+ * Read and parse a config file. Propagates filesystem errors (e.g. ENOENT)
33
+ * like `readFile` — callers keep their own existence guards.
34
+ */
35
+ export declare function readConfigFile(filePath: string, format: ConfigFormat): Promise<Record<string, unknown>>;
36
+ /**
37
+ * Resolve the format for a placement's config file: an explicit
38
+ * `configFormat` wins, otherwise the file extension decides.
39
+ */
40
+ export declare function resolveConfigFormat(filePath: string, placement?: Pick<PlacementConfig, 'configFormat'> | undefined): ConfigFormat;
41
+ /**
42
+ * Serialize and write a config file in the given format, idempotently.
43
+ *
44
+ * For TOML, re-serializing drops any comments the user had in the file; when
45
+ * that is about to happen, a one-line warning is emitted through `onProgress`
46
+ * so the loss is visible rather than silent.
47
+ */
48
+ export declare function writeConfigFile(filePath: string, data: Record<string, unknown>, format: ConfigFormat, onProgress?: (message: string) => void): Promise<void>;
49
+ //# sourceMappingURL=config-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-file.d.ts","sourceRoot":"","sources":["../../src/lib/config-file.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI5D;;;;;;;;GAQG;AAEH,6DAA6D;AAC7D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3C;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,GAAG,CAAC,CAKvE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEtF;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAG7G;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,GAAG,SAAS,GAC5D,YAAY,CAEd;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,YAAY,EACpB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACrC,OAAO,CAAC,IAAI,CAAC,CAcf"}
@@ -0,0 +1,84 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { readFile } from 'node:fs/promises';
3
+ import { extname } from 'node:path';
4
+ import { parse as parseToml } from 'smol-toml';
5
+ import { writeJsonFile, writeTomlFile } from './write-file.js';
6
+ /**
7
+ * Infer the config format from a file path. `.toml` (any case) → `toml`,
8
+ * everything else → `json`. Used where only a lockfile entry (file + key) is
9
+ * available and no placement is in scope.
10
+ */
11
+ export function detectConfigFormat(filePath) {
12
+ return extname(filePath).toLowerCase() === '.toml' ? 'toml' : 'json';
13
+ }
14
+ /**
15
+ * Normalize a value so that what is checksummed equals what will be read back
16
+ * from disk after a write. TOML has no null: smol-toml silently drops
17
+ * null/undefined object members on serialize, so strip them up front. JSON is
18
+ * returned unchanged.
19
+ */
20
+ export function normalizeForFormat(value, format) {
21
+ if (format !== 'toml') {
22
+ return value;
23
+ }
24
+ return stripNullish(value);
25
+ }
26
+ /**
27
+ * Parse config text in the given format. Throws on syntax errors
28
+ * (`SyntaxError` for JSON, `TomlError` for TOML).
29
+ */
30
+ export function parseConfig(raw, format) {
31
+ return (format === 'toml' ? parseToml(raw) : JSON.parse(raw));
32
+ }
33
+ /**
34
+ * Read and parse a config file. Propagates filesystem errors (e.g. ENOENT)
35
+ * like `readFile` — callers keep their own existence guards.
36
+ */
37
+ export async function readConfigFile(filePath, format) {
38
+ const raw = await readFile(filePath, 'utf-8');
39
+ return parseConfig(raw, format);
40
+ }
41
+ /**
42
+ * Resolve the format for a placement's config file: an explicit
43
+ * `configFormat` wins, otherwise the file extension decides.
44
+ */
45
+ export function resolveConfigFormat(filePath, placement) {
46
+ return placement?.configFormat ?? detectConfigFormat(filePath);
47
+ }
48
+ /**
49
+ * Serialize and write a config file in the given format, idempotently.
50
+ *
51
+ * For TOML, re-serializing drops any comments the user had in the file; when
52
+ * that is about to happen, a one-line warning is emitted through `onProgress`
53
+ * so the loss is visible rather than silent.
54
+ */
55
+ export async function writeConfigFile(filePath, data, format, onProgress) {
56
+ if (format === 'json') {
57
+ await writeJsonFile(filePath, data);
58
+ return;
59
+ }
60
+ if (onProgress && existsSync(filePath)) {
61
+ const existing = await readFile(filePath, 'utf-8');
62
+ if (/^\s*#/m.test(existing)) {
63
+ onProgress(`Warning: rewriting ${filePath} — TOML comments and custom formatting are not preserved`);
64
+ }
65
+ }
66
+ await writeTomlFile(filePath, data);
67
+ }
68
+ /** Recursively drop null/undefined members from plain objects (arrays are mapped, not filtered). */
69
+ function stripNullish(value) {
70
+ if (Array.isArray(value)) {
71
+ return value.map(stripNullish);
72
+ }
73
+ if (value !== null && typeof value === 'object') {
74
+ const out = {};
75
+ for (const [key, member] of Object.entries(value)) {
76
+ if (member === null || member === undefined)
77
+ continue;
78
+ out[key] = stripNullish(member);
79
+ }
80
+ return out;
81
+ }
82
+ return value;
83
+ }
84
+ //# sourceMappingURL=config-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-file.js","sourceRoot":"","sources":["../../src/lib/config-file.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;AAW9D;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAqBjE;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACnC,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,eAAe,EAAE,CAAC,CAmL5B"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAW9D;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAqBjE;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACnC,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,eAAe,EAAE,CAAC,CAgK5B"}
@@ -1,6 +1,6 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { resolveApiUrl } from './api-client.js';
3
- import { getCredential, getLastEntraSession, isGhCliAvailable, validateToken } from './auth.js';
3
+ import { getCredential, getLastEntraSession, validateToken } from './auth.js';
4
4
  import { loadConfig, loadProjectConfig } from './config.js';
5
5
  import { detectTools, getAdapterDiagnostics } from './detector.js';
6
6
  import { getEntraCachePath } from './entra.js';
@@ -50,24 +50,6 @@ export async function runDiagnostics(progress, projectRootOverride) {
50
50
  // Check Node.js version
51
51
  progress('Checking Node.js...');
52
52
  checks.push(checkNodeVersion(process.version));
53
- // Check gh CLI
54
- progress('Checking GitHub CLI...');
55
- const ghAvailable = await isGhCliAvailable();
56
- if (ghAvailable) {
57
- checks.push({
58
- message: 'Installed and available',
59
- name: 'GitHub CLI (gh)',
60
- status: 'pass',
61
- });
62
- }
63
- else {
64
- checks.push({
65
- detail: 'Install from https://cli.github.com, or set githubToken in config / GITHUB_TOKEN. Not needed when signed in with `atk login`, except for those two commands.',
66
- message: 'Not found — used as a GitHub token source and for `atk unpublish`/`atk promote`',
67
- name: 'GitHub CLI (gh)',
68
- status: 'warn',
69
- });
70
- }
71
53
  // Check user config
72
54
  progress('Checking configuration...');
73
55
  let config;