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

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 (275) hide show
  1. package/CHANGELOG.md +211 -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 +209 -59
  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/process-alive.d.ts +8 -0
  208. package/build/lib/process-alive.d.ts.map +1 -0
  209. package/build/lib/process-alive.js +16 -0
  210. package/build/lib/process-alive.js.map +1 -0
  211. package/build/lib/pruner.d.ts +26 -0
  212. package/build/lib/pruner.d.ts.map +1 -0
  213. package/build/lib/pruner.js +42 -0
  214. package/build/lib/pruner.js.map +1 -0
  215. package/build/lib/publish-flow.d.ts +7 -15
  216. package/build/lib/publish-flow.d.ts.map +1 -1
  217. package/build/lib/publish-flow.js +634 -178
  218. package/build/lib/publish-flow.js.map +1 -1
  219. package/build/lib/publish-run.d.ts +55 -0
  220. package/build/lib/publish-run.d.ts.map +1 -0
  221. package/build/lib/publish-run.js +169 -0
  222. package/build/lib/publish-run.js.map +1 -0
  223. package/build/lib/publisher.d.ts +23 -16
  224. package/build/lib/publisher.d.ts.map +1 -1
  225. package/build/lib/publisher.js +34 -35
  226. package/build/lib/publisher.js.map +1 -1
  227. package/build/lib/registrar.d.ts.map +1 -1
  228. package/build/lib/registrar.js +2 -2
  229. package/build/lib/registrar.js.map +1 -1
  230. package/build/lib/registry.d.ts +18 -7
  231. package/build/lib/registry.d.ts.map +1 -1
  232. package/build/lib/registry.js +113 -32
  233. package/build/lib/registry.js.map +1 -1
  234. package/build/lib/root-path.d.ts +11 -0
  235. package/build/lib/root-path.d.ts.map +1 -1
  236. package/build/lib/root-path.js +15 -1
  237. package/build/lib/root-path.js.map +1 -1
  238. package/build/lib/schemas/config.d.ts +3 -1
  239. package/build/lib/schemas/config.d.ts.map +1 -1
  240. package/build/lib/schemas/config.js +1 -1
  241. package/build/lib/schemas/config.js.map +1 -1
  242. package/build/lib/schemas/lockfile.d.ts +156 -23
  243. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  244. package/build/lib/schemas/lockfile.js +100 -79
  245. package/build/lib/schemas/lockfile.js.map +1 -1
  246. package/build/lib/setup.d.ts.map +1 -1
  247. package/build/lib/setup.js +53 -48
  248. package/build/lib/setup.js.map +1 -1
  249. package/build/lib/sync.d.ts +22 -6
  250. package/build/lib/sync.d.ts.map +1 -1
  251. package/build/lib/sync.js +59 -7
  252. package/build/lib/sync.js.map +1 -1
  253. package/build/lib/uninstaller.d.ts.map +1 -1
  254. package/build/lib/uninstaller.js +8 -5
  255. package/build/lib/uninstaller.js.map +1 -1
  256. package/build/lib/update-check.d.ts +4 -0
  257. package/build/lib/update-check.d.ts.map +1 -1
  258. package/build/lib/update-check.js +55 -56
  259. package/build/lib/update-check.js.map +1 -1
  260. package/build/lib/updater.d.ts +31 -1
  261. package/build/lib/updater.d.ts.map +1 -1
  262. package/build/lib/updater.js +143 -4
  263. package/build/lib/updater.js.map +1 -1
  264. package/build/lib/usage-error.d.ts +20 -0
  265. package/build/lib/usage-error.d.ts.map +1 -0
  266. package/build/lib/usage-error.js +41 -0
  267. package/build/lib/usage-error.js.map +1 -0
  268. package/build/lib/user-setup.d.ts.map +1 -1
  269. package/build/lib/user-setup.js +62 -59
  270. package/build/lib/user-setup.js.map +1 -1
  271. package/build/lib/write-file.d.ts +5 -0
  272. package/build/lib/write-file.d.ts.map +1 -1
  273. package/build/lib/write-file.js +68 -13
  274. package/build/lib/write-file.js.map +1 -1
  275. package/package.json +81 -81
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Pastel's build-time entry: describe a commands folder as the manifest `Pastel`'s `commands` option takes. It imports
3
+ * every command and Zod, which is why `index.ts` doesn't re-export it (ATK-605).
4
+ */
5
+ import readCommands from './read-commands.js';
6
+ export type { ArgumentSpec, CommandManifest, CommandSpec, OptionSpec } from './internal-types.js';
7
+ export { readCommands as describeCommands };
8
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/lib/pastel/manifest.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAE9C,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAElG,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Pastel's build-time entry: describe a commands folder as the manifest `Pastel`'s `commands` option takes. It imports
3
+ * every command and Zod, which is why `index.ts` doesn't re-export it (ATK-605).
4
+ */
5
+ import readCommands from './read-commands.js';
6
+ export { readCommands as describeCommands };
7
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/lib/pastel/manifest.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAI9C,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,CAAC"}
@@ -1,4 +1,9 @@
1
- import type { Command } from './internal-types.js';
2
- declare const readCommands: (directory: string) => Promise<Map<string, Command>>;
1
+ import type { CommandManifest } from './internal-types.js';
2
+ /**
3
+ * Import every command in `directory` and describe it as plain data. Files are read in name order, so the manifest
4
+ * and the help list commands the same way on every file system. `prefix` is the folder's path from the commands
5
+ * folder, for `file`.
6
+ */
7
+ declare const readCommands: (directory: string, prefix?: string) => Promise<CommandManifest>;
3
8
  export default readCommands;
4
9
  //# sourceMappingURL=read-commands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"read-commands.d.ts","sourceRoot":"","sources":["../../../src/lib/pastel/read-commands.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,qBAAqB,CAAC;AAEnE,QAAA,MAAM,YAAY,GAAU,WAAW,MAAM,KAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAsD3E,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"read-commands.d.ts","sourceRoot":"","sources":["../../../src/lib/pastel/read-commands.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAkB,eAAe,EAAe,MAAM,qBAAqB,CAAC;AAKxF;;;;GAIG;AACH,QAAA,MAAM,YAAY,GAAU,WAAW,MAAM,EAAE,eAAW,KAAG,OAAO,CAAC,eAAe,CA8DnF,CAAC;AAiBF,eAAe,YAAY,CAAC"}
@@ -10,9 +10,17 @@ import decamelize from 'decamelize';
10
10
  import fs from 'node:fs/promises';
11
11
  import path from 'node:path';
12
12
  import { pathToFileURL } from 'node:url';
13
- const readCommands = async (directory) => {
14
- const commands = new Map();
15
- const files = await fs.readdir(directory);
13
+ import { isDeepStrictEqual } from 'node:util';
14
+ import describeArguments from './generate-arguments.js';
15
+ import describeOptions from './generate-options.js';
16
+ /**
17
+ * Import every command in `directory` and describe it as plain data. Files are read in name order, so the manifest
18
+ * and the help list commands the same way on every file system. `prefix` is the folder's path from the commands
19
+ * folder, for `file`.
20
+ */
21
+ const readCommands = async (directory, prefix = '') => {
22
+ const commands = [];
23
+ const files = (await fs.readdir(directory)).sort();
16
24
  for (const file of files) {
17
25
  if (file.startsWith('_app')) {
18
26
  continue;
@@ -20,40 +28,53 @@ const readCommands = async (directory) => {
20
28
  const filePath = path.join(directory, file);
21
29
  const stat = await fs.stat(filePath);
22
30
  if (stat.isDirectory()) {
23
- const subCommands = await readCommands(filePath);
24
- const indexCommand = subCommands.get('index');
25
- if (indexCommand) {
26
- indexCommand.name = file;
27
- indexCommand.commands = subCommands;
28
- subCommands.delete('index');
29
- commands.set(file, indexCommand);
30
- continue;
31
- }
32
- const command = indexCommand ?? {
33
- commands: subCommands,
34
- isDefault: false,
35
- name: file,
36
- };
37
- commands.set(file, command);
31
+ const subCommands = await readCommands(filePath, `${prefix}${file}/`);
32
+ const indexCommand = subCommands.find((command) => command.name === 'index');
33
+ const others = subCommands.filter((command) => command !== indexCommand);
34
+ commands.push(indexCommand
35
+ ? { ...indexCommand, commands: others, name: file }
36
+ : { commands: others, isDefault: false, name: file });
38
37
  continue;
39
38
  }
40
39
  if (!/\.(js|ts)x?$/.test(file) || file.endsWith('.d.ts')) {
41
40
  continue;
42
41
  }
43
- const fileUrl = pathToFileURL(filePath);
44
- const m = (await import(__rewriteRelativeImportExtension(fileUrl.href)));
45
- const name = decamelize(file.replace(/\.(js|ts)x?$/, ''), { separator: '-' });
46
- commands.set(name, {
47
- alias: m.alias,
48
- args: m.args,
49
- component: m.default,
50
- description: m.description,
51
- isDefault: m.isDefault ?? false,
52
- name,
53
- options: m.options,
54
- });
42
+ const m = (await import(__rewriteRelativeImportExtension(pathToFileURL(filePath).href)));
43
+ const stem = file.replace(/\.(js|ts)x?$/, '');
44
+ const command = { isDefault: m.isDefault ?? false, name: decamelize(stem, { separator: '-' }) };
45
+ if (m.alias) {
46
+ command.alias = m.alias;
47
+ }
48
+ if (m.args) {
49
+ command.args = describeArguments(m.args);
50
+ }
51
+ if (m.description) {
52
+ command.description = m.description;
53
+ }
54
+ // The built module's name: under tsx, `.js` resolves to the `.ts(x)` source.
55
+ if (m.default) {
56
+ command.file = `${prefix}${stem}.js`;
57
+ }
58
+ if (m.options) {
59
+ command.options = describeOptions(m.options);
60
+ }
61
+ for (const spec of [...(command.args ?? []), ...(command.options ?? [])]) {
62
+ assertJsonDefault(spec, `${prefix}${file}`);
63
+ }
64
+ commands.push(command);
55
65
  }
56
66
  return commands;
57
67
  };
68
+ /**
69
+ * The manifest is JSON, written on a developer's machine, so a default must be a constant JSON keeps as it is: not
70
+ * `Infinity`, a `Date` or a function's result. A default that differs between machines (`process.cwd()`, a home
71
+ * path) passes here but fails the manifest test anywhere else.
72
+ */
73
+ function assertJsonDefault(spec, file) {
74
+ const { defaultValue } = spec;
75
+ if (defaultValue !== undefined && !isDeepStrictEqual(JSON.parse(JSON.stringify(defaultValue)), defaultValue)) {
76
+ throw new Error(`${file}: the default of ${spec.flags ?? spec.name} (${String(defaultValue)}) doesn't survive JSON, so the command manifest can't carry it.`);
77
+ }
78
+ }
58
79
  export default readCommands;
59
80
  //# sourceMappingURL=read-commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"read-commands.js","sourceRoot":"","sources":["../../../src/lib/pastel/read-commands.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,MAAM,YAAY,GAAG,KAAK,EAAE,SAAiB,EAAiC,EAAE;IAC9E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAE9C,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;gBACzB,YAAY,CAAC,QAAQ,GAAG,WAAW,CAAC;gBACpC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC5B,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAY,YAAY,IAAI;gBACvC,QAAQ,EAAE,WAAW;gBACrB,SAAS,EAAE,KAAK;gBAChB,IAAI,EAAE,IAAI;aACX,CAAC;YAEF,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,kCAAC,OAAO,CAAC,IAAI,EAAC,CAAmB,CAAC;QACzD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAE9E,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE;YACjB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,SAAS,EAAE,CAAC,CAAC,OAAO;YACpB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,KAAK;YAC/B,IAAI;YACJ,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"read-commands.js","sourceRoot":"","sources":["../../../src/lib/pastel/read-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { type Command as CommanderCommand } from 'commander';
2
+ import type { CommandExports } from './internal-types.js';
3
+ /**
4
+ * Run a command once commander has parsed it: check its options and arguments against the module's Zod schemas, then
5
+ * render its component in the app. `generate-command.tsx` imports this only when a command runs, so help and version
6
+ * output never load Ink, React or Zod (ATK-605).
7
+ */
8
+ export default function renderCommand(commanderCommand: CommanderCommand, module: CommandExports, { commandsDirectory, input, variadic }: {
9
+ commandsDirectory: string;
10
+ input: unknown[];
11
+ variadic: boolean;
12
+ }): Promise<void>;
13
+ //# sourceMappingURL=render-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-command.d.ts","sourceRoot":"","sources":["../../../src/lib/pastel/render-command.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAK7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK1D;;;;GAIG;AACH,wBAA8B,aAAa,CACzC,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,cAAc,EACtB,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,iBA6C3G"}
@@ -0,0 +1,56 @@
1
+ import {} from 'commander';
2
+ import { render } from 'ink';
3
+ import React from 'react';
4
+ import { fromZodError } from 'zod-validation-error';
5
+ import App from './_app.js';
6
+ import readCustomApp from './read-custom-app.js';
7
+ /**
8
+ * Run a command once commander has parsed it: check its options and arguments against the module's Zod schemas, then
9
+ * render its component in the app. `generate-command.tsx` imports this only when a command runs, so help and version
10
+ * output never load Ink, React or Zod (ATK-605).
11
+ */
12
+ export default async function renderCommand(commanderCommand, module, { commandsDirectory, input, variadic }) {
13
+ const Component = module.default;
14
+ // The manifest names a module only when it had a component.
15
+ if (!Component) {
16
+ throw new Error(`${commanderCommand.name()} has no default export: run \`pnpm manifest\` after changing it.`);
17
+ }
18
+ const options = input.pop();
19
+ let parsedOptions = {};
20
+ if (module.options) {
21
+ const result = module.options.safeParse(options);
22
+ if (result.success) {
23
+ parsedOptions = result.data ?? {};
24
+ }
25
+ else {
26
+ rejectInput(commanderCommand, result.error);
27
+ }
28
+ }
29
+ let arguments_ = [];
30
+ if (module.args) {
31
+ const result = module.args.safeParse(variadic ? input.flat() : input);
32
+ if (result.success) {
33
+ arguments_ = result.data ?? [];
34
+ }
35
+ else {
36
+ rejectInput(commanderCommand, result.error);
37
+ }
38
+ }
39
+ const appComponent = (await readCustomApp(commandsDirectory)) ?? App;
40
+ render(React.createElement(appComponent, {
41
+ commandProps: {
42
+ args: arguments_,
43
+ options: parsedOptions,
44
+ },
45
+ Component,
46
+ }));
47
+ }
48
+ /**
49
+ * Options or arguments the command's schema rejects are a usage error, reported through commander like its own
50
+ * (exit 2), so `Pastel`'s `onUsageError` sees them too.
51
+ */
52
+ function rejectInput(commanderCommand, error) {
53
+ const { message } = fromZodError(error, { maxIssuesInMessage: 1, prefix: '', prefixSeparator: '' });
54
+ commanderCommand.error(`error: ${message}`, { code: 'pastel.invalidInput', exitCode: 2 });
55
+ }
56
+ //# sourceMappingURL=render-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-command.js","sourceRoot":"","sources":["../../../src/lib/pastel/render-command.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoC,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,OAAO,GAAG,MAAM,WAAW,CAAC;AAC5B,OAAO,aAAa,MAAM,sBAAsB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,aAAa,CACzC,gBAAkC,EAClC,MAAsB,EACtB,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAsE;IAE1G,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;IAEjC,4DAA4D;IAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE,kEAAkE,CAAC,CAAC;IAChH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAA6B,CAAC;IACvD,IAAI,aAAa,GAA4B,EAAE,CAAC;IAEhD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEjD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,aAAa,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,IAAI,UAAU,GAAc,EAAE,CAAC;IAE/B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAEtE,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,UAAU,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,MAAM,aAAa,CAAC,iBAAiB,CAAC,CAAC,IAAI,GAAG,CAAC;IAErE,MAAM,CACJ,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE;QAChC,YAAY,EAAE;YACZ,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,aAAa;SACvB;QACD,SAAS;KACV,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,gBAAkC,EAAE,KAAyC;IAChG,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;IACpG,gBAAgB,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5F,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Check whether a process with the given PID is still running.
3
+ * Uses `process.kill(pid, 0)` which sends no signal but throws if the
4
+ * process does not exist. `EPERM` means it exists but belongs to another
5
+ * user, so it counts as running.
6
+ */
7
+ export declare function isProcessAlive(pid: number): boolean;
8
+ //# sourceMappingURL=process-alive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-alive.d.ts","sourceRoot":"","sources":["../../src/lib/process-alive.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOnD"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Check whether a process with the given PID is still running.
3
+ * Uses `process.kill(pid, 0)` which sends no signal but throws if the
4
+ * process does not exist. `EPERM` means it exists but belongs to another
5
+ * user, so it counts as running.
6
+ */
7
+ export function isProcessAlive(pid) {
8
+ try {
9
+ process.kill(pid, 0);
10
+ return true;
11
+ }
12
+ catch (error) {
13
+ return error.code === 'EPERM';
14
+ }
15
+ }
16
+ //# sourceMappingURL=process-alive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-alive.js","sourceRoot":"","sources":["../../src/lib/process-alive.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAQ,KAA+B,CAAC,IAAI,KAAK,OAAO,CAAC;IAC3D,CAAC;AACH,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { Adapter } from './schemas/adapter.js';
2
+ import type { InstalledAsset } from './schemas/lockfile.js';
3
+ /** An orphan prune could not remove. */
4
+ export interface PruneError {
5
+ error: string;
6
+ name: string;
7
+ org?: string;
8
+ type: string;
9
+ }
10
+ export interface PruneResult {
11
+ errors: PruneError[];
12
+ /** The orphans found inside the lock, which can differ from an earlier scan. */
13
+ orphans: InstalledAsset[];
14
+ removed: InstalledAsset[];
15
+ }
16
+ /**
17
+ * Removes every orphaned dependency, under the lockfile lock, from disk for each adapter and then
18
+ * from the lockfile, which is written once at the end. An orphan whose removal fails is reported in
19
+ * `errors` and keeps its lockfile entry; the rest go on. An aborted `signal` stops before the next
20
+ * orphan, and what was removed so far is still written.
21
+ */
22
+ export declare function pruneOrphans(projectDir: string, adapters: Adapter[], { onProgress, signal }?: {
23
+ onProgress?: (message: string) => void;
24
+ signal?: AbortSignal;
25
+ }): Promise<PruneResult>;
26
+ //# sourceMappingURL=pruner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pruner.d.ts","sourceRoot":"","sources":["../../src/lib/pruner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAY5D,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,gFAAgF;IAChF,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,EAAE,UAAU,EAAE,MAAM,EAAE,GAAE;IAAE,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,GAC5F,OAAO,CAAC,WAAW,CAAC,CAiCtB"}
@@ -0,0 +1,42 @@
1
+ import { errorMessage } from './errors.js';
2
+ import { findAllOrphanedAssets, readLockfile, removeAssetFromLockfile, withLockfileErrorHandling, writeLockfile, } from './lockfile.js';
3
+ import { removeSingleAsset } from './uninstaller.js';
4
+ /**
5
+ * Removes every orphaned dependency, under the lockfile lock, from disk for each adapter and then
6
+ * from the lockfile, which is written once at the end. An orphan whose removal fails is reported in
7
+ * `errors` and keeps its lockfile entry; the rest go on. An aborted `signal` stops before the next
8
+ * orphan, and what was removed so far is still written.
9
+ */
10
+ export async function pruneOrphans(projectDir, adapters, { onProgress, signal } = {}) {
11
+ return withLockfileErrorHandling(projectDir, async () => {
12
+ // Re-read the lockfile inside the lock for freshness
13
+ let lockfile = await readLockfile(projectDir);
14
+ const orphans = findAllOrphanedAssets(lockfile);
15
+ const removed = [];
16
+ const errors = [];
17
+ for (const orphan of orphans) {
18
+ if (signal?.aborted)
19
+ break;
20
+ try {
21
+ onProgress?.(`Removing ${orphan.name}...`);
22
+ for (const adapter of adapters) {
23
+ await removeSingleAsset(orphan, adapter, projectDir, { lockfile });
24
+ }
25
+ lockfile = removeAssetFromLockfile(lockfile, orphan.name, orphan.type, orphan.org);
26
+ removed.push(orphan);
27
+ }
28
+ catch (err) {
29
+ errors.push({
30
+ error: errorMessage(err),
31
+ name: orphan.name,
32
+ ...(orphan.org ? { org: orphan.org } : {}),
33
+ type: orphan.type,
34
+ });
35
+ }
36
+ }
37
+ onProgress?.('Updating lockfile...');
38
+ await writeLockfile(projectDir, lockfile);
39
+ return { errors, orphans, removed };
40
+ });
41
+ }
42
+ //# sourceMappingURL=pruner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pruner.js","sourceRoot":"","sources":["../../src/lib/pruner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,uBAAuB,EACvB,yBAAyB,EACzB,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAiBrD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,QAAmB,EACnB,EAAE,UAAU,EAAE,MAAM,KAAuE,EAAE;IAE7F,OAAO,yBAAyB,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QACtD,qDAAqD;QACrD,IAAI,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAqB,EAAE,CAAC;QACrC,MAAM,MAAM,GAAiB,EAAE,CAAC;QAEhC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,EAAE,OAAO;gBAAE,MAAM;YAC3B,IAAI,CAAC;gBACH,UAAU,EAAE,CAAC,YAAY,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC;gBAC3C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACrE,CAAC;gBACD,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC;oBACxB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1C,IAAI,EAAE,MAAM,CAAC,IAAI;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,UAAU,EAAE,CAAC,sBAAsB,CAAC,CAAC;QACrC,MAAM,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAE1C,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -7,6 +7,8 @@ export type PublishAction = {
7
7
  type: 'TOOLS_LOADED';
8
8
  } | {
9
9
  authorValue: string;
10
+ /** The description from --description or the installed asset; unset when it is still to ask. */
11
+ description?: string;
10
12
  orgValue: string;
11
13
  rawDetection: RawAssetDetection;
12
14
  toolsDetected: string[];
@@ -54,9 +56,6 @@ export type PublishAction = {
54
56
  rawDetection: RawAssetDetection;
55
57
  target: PublishTarget;
56
58
  type: 'RAW_DETECT_DONE_NON_INTERACTIVE';
57
- } | {
58
- resolvedPath: string;
59
- type: 'RESOLVED_INSTALLED';
60
59
  } | {
61
60
  resolvedPath: string;
62
61
  type: 'RESOLVED_UPDATE';
@@ -69,16 +68,12 @@ export type PublishAction = {
69
68
  } | {
70
69
  target: PublishTarget;
71
70
  type: 'STAGING_DONE';
72
- } | {
73
- tool: string;
74
- type: 'TOGGLE_PROMPT_TOOL';
75
71
  } | {
76
72
  tools: string[];
77
- type: 'RESOLVE_TOOLS_NONINTERACTIVE';
78
- } | {
79
73
  type: 'CONFIRM_PROMPT_TOOLS';
80
74
  } | {
81
- type: 'INSTALL_DONE';
75
+ tools: string[];
76
+ type: 'RESOLVE_TOOLS_NONINTERACTIVE';
82
77
  } | {
83
78
  type: 'SET_BUMP_SELECTION';
84
79
  value: string;
@@ -119,10 +114,6 @@ export type PublishAction = {
119
114
  type: 'SUBMIT_TAGS';
120
115
  } | {
121
116
  type: 'SUBMIT_WITH_CONFIRM';
122
- } | {
123
- type: 'TOOL_CURSOR_DOWN';
124
- } | {
125
- type: 'TOOL_CURSOR_UP';
126
117
  };
127
118
  /** An entry of the publish (see {@link PublishEntry}) and how far the run has checked it. */
128
119
  export interface PublishEntryState extends PublishEntry {
@@ -158,7 +149,7 @@ export interface PublishFlags {
158
149
  withPaths?: string[];
159
150
  yes?: boolean;
160
151
  }
161
- export type PublishPhase = 'building-plan' | 'bump-prompt' | 'checking-entries' | 'checking-registry' | 'confirm-publish' | 'confirm-update' | 'confirm-with' | 'detecting' | 'done' | 'dry-run-result' | 'error' | 'gathering-metadata' | 'installing' | 'loading-tools' | 'prompting-reviewer' | 'prompting-tags' | 'prompting-tools' | 'publishing' | 'resolving-installed' | 'resolving-update' | 'validating';
152
+ export type PublishPhase = 'building-plan' | 'bump-prompt' | 'checking-entries' | 'checking-registry' | 'confirm-publish' | 'confirm-update' | 'confirm-with' | 'detecting' | 'done' | 'dry-run-result' | 'error' | 'gathering-metadata' | 'loading-tools' | 'prompting-reviewer' | 'prompting-tags' | 'prompting-tools' | 'publishing' | 'resolving-installed' | 'resolving-update' | 'validating';
162
153
  export interface PublishState {
163
154
  authorValue: string;
164
155
  /** The entry the bump prompt is for; unset when it is for the root asset. */
@@ -193,6 +184,7 @@ export interface PublishState {
193
184
  resolvedPath: string;
194
185
  resolvedVersion: string;
195
186
  reviewerValue: string;
187
+ /** The tools chosen at the tools prompt; empty unless it was asked. */
196
188
  selectedPromptTools: string[];
197
189
  /** Folders next to the root that the `confirm-with` prompt offers to publish too. */
198
190
  suggestedEntries: PublishEntry[];
@@ -200,7 +192,6 @@ export interface PublishState {
200
192
  target: PublishTarget | undefined;
201
193
  token: string | undefined;
202
194
  toolAdapters: Adapter[];
203
- toolCursorIndex: number;
204
195
  toolsDetected: string[];
205
196
  validation: undefined | ValidationResult;
206
197
  versionCheck: undefined | VersionCheckResult;
@@ -229,4 +220,5 @@ export declare function isBatch(flags: PublishFlags): boolean;
229
220
  export declare function runPublishStep(state: PublishState, ctx: PublishStepContext): Promise<void>;
230
221
  /** The comma-separated values in a flag or prompt answer, trimmed, without empty ones. */
231
222
  export declare function splitList(value: string | undefined): string[];
223
+ export declare function publishReducer(state: PublishState, action: PublishAction): PublishState;
232
224
  //# sourceMappingURL=publish-flow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"publish-flow.d.ts","sourceRoot":"","sources":["../../src/lib/publish-flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish-flow.d.ts","sourceRoot":"","sources":["../../src/lib/publish-flow.ts"],"names":[],"mappings":"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"}