@flowscripter/dynamic-cli-framework 1.7.5 → 2.1.0

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 (514) hide show
  1. package/README.md +3 -0
  2. package/cli-plugin.ts +1 -104
  3. package/dist/cli-plugin.d.ts +1 -58
  4. package/dist/cli-plugin.d.ts.map +1 -1
  5. package/dist/cli-plugin.js +1 -25
  6. package/dist/index.d.ts +70 -69
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +27 -26
  9. package/dist/src/cli/BaseCLI.d.ts +13 -7
  10. package/dist/src/cli/BaseCLI.d.ts.map +1 -1
  11. package/dist/src/cli/BaseCLI.js +33 -7
  12. package/dist/src/{api → cli}/BaseCLIFeatureOptions.d.ts.map +1 -1
  13. package/dist/src/cli/DefaultRuntimeCLI.d.ts +7 -3
  14. package/dist/src/cli/DefaultRuntimeCLI.d.ts.map +1 -1
  15. package/dist/src/cli/DefaultRuntimeCLI.js +29 -1
  16. package/dist/src/cli/DynamicPluginRuntimeCLI.d.ts +3 -3
  17. package/dist/src/cli/DynamicPluginRuntimeCLI.d.ts.map +1 -1
  18. package/dist/src/cli/DynamicPluginRuntimeCLI.js +3 -3
  19. package/dist/src/command/MultiCommandCliHelpCommand.d.ts +7 -7
  20. package/dist/src/command/MultiCommandCliHelpCommand.d.ts.map +1 -1
  21. package/dist/src/command/MultiCommandCliHelpCommand.js +3 -3
  22. package/dist/src/command/SingleCommandCliHelpCommand.d.ts +6 -6
  23. package/dist/src/command/SingleCommandCliHelpCommand.d.ts.map +1 -1
  24. package/dist/src/command/SingleCommandCliHelpCommand.js +2 -2
  25. package/dist/src/command/UsageCommand.d.ts +3 -3
  26. package/dist/src/command/UsageCommand.d.ts.map +1 -1
  27. package/dist/src/command/UsageCommand.js +1 -1
  28. package/dist/src/command/VersionCommand.d.ts +2 -2
  29. package/dist/src/command/VersionCommand.d.ts.map +1 -1
  30. package/dist/src/command/VersionCommand.js +1 -1
  31. package/dist/src/launcher.d.ts +2 -5
  32. package/dist/src/launcher.d.ts.map +1 -1
  33. package/dist/src/runtime/DefaultContext.d.ts +2 -2
  34. package/dist/src/runtime/DefaultContext.d.ts.map +1 -1
  35. package/dist/src/runtime/argument/ArgumentTypeGuards.d.ts +2 -2
  36. package/dist/src/runtime/argument/ArgumentTypeGuards.d.ts.map +1 -1
  37. package/dist/src/runtime/command/CommandTypeGuards.d.ts +5 -5
  38. package/dist/src/runtime/command/CommandTypeGuards.d.ts.map +1 -1
  39. package/dist/src/runtime/command/CommandValidator.d.ts +2 -2
  40. package/dist/src/runtime/command/CommandValidator.d.ts.map +1 -1
  41. package/dist/src/runtime/command/CommandValidator.js +1 -1
  42. package/dist/src/runtime/parser.d.ts +3 -32
  43. package/dist/src/runtime/parser.d.ts.map +1 -1
  44. package/dist/src/runtime/registry/DefaultCommandRegistry.d.ts +6 -6
  45. package/dist/src/runtime/registry/DefaultCommandRegistry.d.ts.map +1 -1
  46. package/dist/src/runtime/registry/DefaultServiceProviderRegistry.d.ts +2 -2
  47. package/dist/src/runtime/registry/DefaultServiceProviderRegistry.d.ts.map +1 -1
  48. package/dist/src/runtime/runner.d.ts +5 -5
  49. package/dist/src/runtime/runner.d.ts.map +1 -1
  50. package/dist/src/runtime/runner.js +2 -2
  51. package/dist/src/runtime/scanner.d.ts +4 -4
  52. package/dist/src/runtime/scanner.d.ts.map +1 -1
  53. package/dist/src/runtime/values/ValuePopulationResult.d.ts +2 -2
  54. package/dist/src/runtime/values/ValuePopulationResult.d.ts.map +1 -1
  55. package/dist/src/runtime/values/argumentValueMerge.d.ts +1 -1
  56. package/dist/src/runtime/values/argumentValueMerge.d.ts.map +1 -1
  57. package/dist/src/runtime/values/argumentValueMerge.js +2 -2
  58. package/dist/src/runtime/values/argumentValueValidation.d.ts +6 -6
  59. package/dist/src/runtime/values/argumentValueValidation.d.ts.map +1 -1
  60. package/dist/src/runtime/values/argumentValueValidation.js +2 -2
  61. package/dist/src/runtime/values/globalCommandValuePopulation.d.ts +2 -2
  62. package/dist/src/runtime/values/globalCommandValuePopulation.d.ts.map +1 -1
  63. package/dist/src/runtime/values/globalCommandValuePopulation.js +2 -2
  64. package/dist/src/runtime/values/subCommandValuePopulation.d.ts +2 -2
  65. package/dist/src/runtime/values/subCommandValuePopulation.d.ts.map +1 -1
  66. package/dist/src/runtime/values/subCommandValuePopulation.js +4 -4
  67. package/dist/src/service/argumentPrompter/ArgumentPrompterServiceProvider.d.ts +4 -4
  68. package/dist/src/service/argumentPrompter/ArgumentPrompterServiceProvider.d.ts.map +1 -1
  69. package/dist/src/service/argumentPrompter/ArgumentPrompterServiceProvider.js +1 -1
  70. package/dist/src/service/argumentPrompter/DefaultArgumentPrompterService.d.ts +2 -2
  71. package/dist/src/service/argumentPrompter/DefaultArgumentPrompterService.d.ts.map +1 -1
  72. package/dist/src/service/argumentPrompter/DefaultArgumentPrompterService.js +3 -3
  73. package/dist/src/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.d.ts +3 -3
  74. package/dist/src/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.d.ts.map +1 -1
  75. package/dist/src/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.js +1 -1
  76. package/dist/src/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.d.ts +2 -2
  77. package/dist/src/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.d.ts.map +1 -1
  78. package/dist/src/service/banner/BannerServiceProvider.d.ts +3 -3
  79. package/dist/src/service/banner/BannerServiceProvider.d.ts.map +1 -1
  80. package/dist/src/service/banner/BannerServiceProvider.js +2 -2
  81. package/dist/src/service/banner/command/NoBannerCommand.d.ts +4 -4
  82. package/dist/src/service/banner/command/NoBannerCommand.d.ts.map +1 -1
  83. package/dist/src/service/banner/command/NoBannerCommand.js +1 -1
  84. package/dist/src/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.d.ts +2 -2
  85. package/dist/src/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.d.ts.map +1 -1
  86. package/dist/src/service/completion/CompletionServiceProvider.d.ts +5 -5
  87. package/dist/src/service/completion/CompletionServiceProvider.d.ts.map +1 -1
  88. package/dist/src/service/completion/CompletionServiceProvider.js +6 -6
  89. package/dist/src/service/completion/DefaultCompletionService.d.ts +3 -3
  90. package/dist/src/service/completion/DefaultCompletionService.d.ts.map +1 -1
  91. package/dist/src/service/completion/DefaultCompletionService.js +1 -1
  92. package/dist/src/service/completion/command/CompletionCompleteSubCommand.d.ts +5 -5
  93. package/dist/src/service/completion/command/CompletionCompleteSubCommand.d.ts.map +1 -1
  94. package/dist/src/service/completion/command/CompletionCompleteSubCommand.js +3 -3
  95. package/dist/src/service/completion/command/CompletionGroupCommand.d.ts +3 -3
  96. package/dist/src/service/completion/command/CompletionGroupCommand.d.ts.map +1 -1
  97. package/dist/src/service/completion/command/CompletionIntegrationSubCommand.d.ts +5 -5
  98. package/dist/src/service/completion/command/CompletionIntegrationSubCommand.d.ts.map +1 -1
  99. package/dist/src/service/completion/command/CompletionIntegrationSubCommand.js +3 -3
  100. package/dist/src/service/completion/shell/ShellHandler.d.ts +1 -1
  101. package/dist/src/service/completion/shell/ShellHandler.d.ts.map +1 -1
  102. package/dist/src/service/completion/shell/bash.d.ts +1 -1
  103. package/dist/src/service/completion/shell/bash.d.ts.map +1 -1
  104. package/dist/src/service/completion/shell/fish.d.ts +1 -1
  105. package/dist/src/service/completion/shell/fish.d.ts.map +1 -1
  106. package/dist/src/service/completion/shell/powershell.d.ts +1 -1
  107. package/dist/src/service/completion/shell/powershell.d.ts.map +1 -1
  108. package/dist/src/service/completion/shell/zsh.d.ts +1 -1
  109. package/dist/src/service/completion/shell/zsh.d.ts.map +1 -1
  110. package/dist/src/service/configuration/ConfigurationServiceProvider.d.ts +5 -5
  111. package/dist/src/service/configuration/ConfigurationServiceProvider.d.ts.map +1 -1
  112. package/dist/src/service/configuration/ConfigurationServiceProvider.js +1 -1
  113. package/dist/src/service/configuration/DefaultKeyValueService.d.ts +1 -1
  114. package/dist/src/service/configuration/DefaultKeyValueService.d.ts.map +1 -1
  115. package/dist/src/service/configuration/DefaultKeyValueService.js +1 -1
  116. package/dist/src/service/configuration/DefaultSecretService.d.ts +1 -1
  117. package/dist/src/service/configuration/DefaultSecretService.d.ts.map +1 -1
  118. package/dist/src/service/configuration/command/ConfigCommand.d.ts +4 -4
  119. package/dist/src/service/configuration/command/ConfigCommand.d.ts.map +1 -1
  120. package/dist/src/service/configuration/command/ConfigCommand.js +1 -1
  121. package/dist/src/service/configuration/command/DumpConfigCommand.d.ts +2 -2
  122. package/dist/src/service/configuration/command/DumpConfigCommand.d.ts.map +1 -1
  123. package/dist/src/service/configuration/command/DumpConfigCommand.js +2 -2
  124. package/dist/src/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.d.ts +3 -3
  125. package/dist/src/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.d.ts.map +1 -1
  126. package/dist/src/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.js +2 -2
  127. package/dist/src/service/dataDumpGenerator/DefaultDataDumpGeneratorService.d.ts +2 -2
  128. package/dist/src/service/dataDumpGenerator/DefaultDataDumpGeneratorService.d.ts.map +1 -1
  129. package/dist/src/service/dataDumpGenerator/DefaultDataDumpGeneratorService.js +1 -1
  130. package/dist/src/service/imagePrinter/DefaultImagePrinterService.d.ts +1 -1
  131. package/dist/src/service/imagePrinter/DefaultImagePrinterService.d.ts.map +1 -1
  132. package/dist/src/service/imagePrinter/ImagePrinterServiceProvider.d.ts +3 -3
  133. package/dist/src/service/imagePrinter/ImagePrinterServiceProvider.d.ts.map +1 -1
  134. package/dist/src/service/imagePrinter/ImagePrinterServiceProvider.js +1 -1
  135. package/dist/src/service/plugin/DefaultPluginService.d.ts +1 -1
  136. package/dist/src/service/plugin/DefaultPluginService.d.ts.map +1 -1
  137. package/dist/src/service/plugin/DefaultPluginServiceProvider.d.ts +3 -3
  138. package/dist/src/service/plugin/DefaultPluginServiceProvider.d.ts.map +1 -1
  139. package/dist/src/service/plugin/DefaultPluginServiceProvider.js +1 -1
  140. package/dist/src/service/plugin/command/PluginAddSubCommand.d.ts +4 -4
  141. package/dist/src/service/plugin/command/PluginAddSubCommand.d.ts.map +1 -1
  142. package/dist/src/service/plugin/command/PluginAddSubCommand.js +3 -3
  143. package/dist/src/service/plugin/command/PluginGroupCommand.d.ts +3 -3
  144. package/dist/src/service/plugin/command/PluginGroupCommand.d.ts.map +1 -1
  145. package/dist/src/service/plugin/command/PluginListSubCommand.d.ts +3 -3
  146. package/dist/src/service/plugin/command/PluginListSubCommand.d.ts.map +1 -1
  147. package/dist/src/service/plugin/command/PluginListSubCommand.js +2 -2
  148. package/dist/src/service/plugin/command/PluginRemoveSubCommand.d.ts +4 -4
  149. package/dist/src/service/plugin/command/PluginRemoveSubCommand.d.ts.map +1 -1
  150. package/dist/src/service/plugin/command/PluginRemoveSubCommand.js +3 -3
  151. package/dist/src/service/plugin/command/PluginSearchSubCommand.d.ts +4 -4
  152. package/dist/src/service/plugin/command/PluginSearchSubCommand.d.ts.map +1 -1
  153. package/dist/src/service/plugin/command/PluginSearchSubCommand.js +3 -3
  154. package/dist/src/service/plugin/command/PluginUpgradeSubCommand.d.ts +3 -3
  155. package/dist/src/service/plugin/command/PluginUpgradeSubCommand.d.ts.map +1 -1
  156. package/dist/src/service/plugin/command/PluginUpgradeSubCommand.js +2 -2
  157. package/dist/src/service/prettyPrinter/DefaultPrettyPrinterService.d.ts +2 -2
  158. package/dist/src/service/prettyPrinter/DefaultPrettyPrinterService.d.ts.map +1 -1
  159. package/dist/src/service/prettyPrinter/PrettyPrinterServiceProvider.d.ts +3 -3
  160. package/dist/src/service/prettyPrinter/PrettyPrinterServiceProvider.d.ts.map +1 -1
  161. package/dist/src/service/prettyPrinter/PrettyPrinterServiceProvider.js +1 -1
  162. package/dist/src/service/printer/DefaultPrinterService.d.ts +7 -2
  163. package/dist/src/service/printer/DefaultPrinterService.d.ts.map +1 -1
  164. package/dist/src/service/printer/DefaultPrinterService.js +65 -3
  165. package/dist/src/service/printer/PrinterServiceProvider.d.ts +4 -4
  166. package/dist/src/service/printer/PrinterServiceProvider.d.ts.map +1 -1
  167. package/dist/src/service/printer/PrinterServiceProvider.js +2 -2
  168. package/dist/src/service/printer/command/DarkModeCommand.d.ts +4 -4
  169. package/dist/src/service/printer/command/DarkModeCommand.d.ts.map +1 -1
  170. package/dist/src/service/printer/command/DarkModeCommand.js +1 -1
  171. package/dist/src/service/printer/command/LogLevelCommand.d.ts +4 -4
  172. package/dist/src/service/printer/command/LogLevelCommand.d.ts.map +1 -1
  173. package/dist/src/service/printer/command/LogLevelCommand.js +2 -2
  174. package/dist/src/service/printer/command/NoColorCommand.d.ts +4 -4
  175. package/dist/src/service/printer/command/NoColorCommand.d.ts.map +1 -1
  176. package/dist/src/service/printer/command/NoColorCommand.js +1 -1
  177. package/dist/src/service/printer/command/NoHyperlinksCommand.d.ts +4 -4
  178. package/dist/src/service/printer/command/NoHyperlinksCommand.d.ts.map +1 -1
  179. package/dist/src/service/printer/command/NoHyperlinksCommand.js +1 -1
  180. package/dist/src/service/printer/terminal/Progress.d.ts +2 -2
  181. package/dist/src/service/printer/terminal/Progress.d.ts.map +1 -1
  182. package/dist/src/service/printer/terminal/Progress.js +2 -2
  183. package/dist/src/service/printer/terminal/Quote.d.ts +10 -0
  184. package/dist/src/service/printer/terminal/Quote.d.ts.map +1 -0
  185. package/dist/src/service/printer/terminal/Quote.js +50 -0
  186. package/dist/src/service/printer/terminal/Spinner.d.ts +2 -2
  187. package/dist/src/service/printer/terminal/Spinner.d.ts.map +1 -1
  188. package/dist/src/service/printer/terminal/Spinner.js +2 -2
  189. package/dist/src/service/prompter/DefaultPrompterService.d.ts +3 -3
  190. package/dist/src/service/prompter/DefaultPrompterService.d.ts.map +1 -1
  191. package/dist/src/service/prompter/DefaultPrompterService.js +1 -1
  192. package/dist/src/service/prompter/PrompterServiceProvider.d.ts +4 -4
  193. package/dist/src/service/prompter/PrompterServiceProvider.d.ts.map +1 -1
  194. package/dist/src/service/prompter/PrompterServiceProvider.js +1 -1
  195. package/dist/src/service/prompter/command/NoPromptCommand.d.ts +4 -4
  196. package/dist/src/service/prompter/command/NoPromptCommand.d.ts.map +1 -1
  197. package/dist/src/service/prompter/command/NoPromptCommand.js +1 -1
  198. package/dist/src/service/prompter/prompt/PromptContext.d.ts +2 -2
  199. package/dist/src/service/prompter/prompt/PromptContext.d.ts.map +1 -1
  200. package/dist/src/service/prompter/prompt/promptAcknowledge.d.ts +1 -1
  201. package/dist/src/service/prompter/prompt/promptAcknowledge.d.ts.map +1 -1
  202. package/dist/src/service/prompter/prompt/promptAcknowledge.js +1 -1
  203. package/dist/src/service/prompter/prompt/promptMultiSelect.d.ts +1 -1
  204. package/dist/src/service/prompter/prompt/promptMultiSelect.d.ts.map +1 -1
  205. package/dist/src/service/prompter/prompt/promptOpenUrl.d.ts +1 -1
  206. package/dist/src/service/prompter/prompt/promptOpenUrl.d.ts.map +1 -1
  207. package/dist/src/service/prompter/prompt/promptSingleSelect.d.ts +1 -1
  208. package/dist/src/service/prompter/prompt/promptSingleSelect.d.ts.map +1 -1
  209. package/dist/src/service/prompter/prompt/promptText.d.ts +1 -1
  210. package/dist/src/service/prompter/prompt/promptText.d.ts.map +1 -1
  211. package/dist/src/service/prompter/prompt/promptToggle.d.ts +1 -1
  212. package/dist/src/service/prompter/prompt/promptToggle.d.ts.map +1 -1
  213. package/dist/src/service/prompter/prompt/promptToggle.js +1 -1
  214. package/dist/src/service/shutdown/DefaultShutdownService.d.ts +1 -1
  215. package/dist/src/service/shutdown/DefaultShutdownService.d.ts.map +1 -1
  216. package/dist/src/service/shutdown/ShutdownServiceProvider.d.ts +3 -3
  217. package/dist/src/service/shutdown/ShutdownServiceProvider.d.ts.map +1 -1
  218. package/dist/src/service/shutdown/ShutdownServiceProvider.js +1 -1
  219. package/dist/src/service/syntaxHighlighter/DefaultSyntaxHighlighterService.d.ts +2 -2
  220. package/dist/src/service/syntaxHighlighter/DefaultSyntaxHighlighterService.d.ts.map +1 -1
  221. package/dist/src/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.d.ts +3 -3
  222. package/dist/src/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.d.ts.map +1 -1
  223. package/dist/src/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.js +2 -2
  224. package/dist/src/service/tableGenerator/DefaultTableGeneratorService.d.ts +3 -3
  225. package/dist/src/service/tableGenerator/DefaultTableGeneratorService.d.ts.map +1 -1
  226. package/dist/src/service/tableGenerator/DefaultTableGeneratorService.js +2 -2
  227. package/dist/src/service/tableGenerator/TableGeneratorServiceProvider.d.ts +3 -3
  228. package/dist/src/service/tableGenerator/TableGeneratorServiceProvider.d.ts.map +1 -1
  229. package/dist/src/service/tableGenerator/TableGeneratorServiceProvider.js +2 -2
  230. package/dist/src/service/treePrinter/DefaultTreePrinterService.d.ts +2 -2
  231. package/dist/src/service/treePrinter/DefaultTreePrinterService.d.ts.map +1 -1
  232. package/dist/src/service/treePrinter/TreePrinterServiceProvider.d.ts +3 -3
  233. package/dist/src/service/treePrinter/TreePrinterServiceProvider.d.ts.map +1 -1
  234. package/dist/src/service/treePrinter/TreePrinterServiceProvider.js +2 -2
  235. package/dist/src/terminal/NonTtyTerminal.d.ts +14 -0
  236. package/dist/src/terminal/NonTtyTerminal.d.ts.map +1 -0
  237. package/dist/src/terminal/NonTtyTerminal.js +36 -0
  238. package/dist/src/terminal/Terminal.d.ts +1 -0
  239. package/dist/src/terminal/Terminal.d.ts.map +1 -1
  240. package/dist/src/terminal/TtyStyler.d.ts +1 -0
  241. package/dist/src/terminal/TtyStyler.d.ts.map +1 -1
  242. package/dist/src/terminal/TtyStyler.js +6 -2
  243. package/dist/src/terminal/TtyTerminal.d.ts +1 -0
  244. package/dist/src/terminal/TtyTerminal.d.ts.map +1 -1
  245. package/dist/src/terminal/TtyTerminal.js +3 -0
  246. package/dist/src/util/configHelper.d.ts +4 -4
  247. package/dist/src/util/configHelper.d.ts.map +1 -1
  248. package/dist/src/util/envVarHelper.d.ts +4 -4
  249. package/dist/src/util/envVarHelper.d.ts.map +1 -1
  250. package/dist/src/util/envVarHelper.js +2 -2
  251. package/dist/src/util/helpHelper.d.ts +8 -8
  252. package/dist/src/util/helpHelper.d.ts.map +1 -1
  253. package/dist/src/util/helpHelper.js +1 -1
  254. package/dist/src/util/runnerHelper.d.ts +2 -2
  255. package/dist/src/util/runnerHelper.d.ts.map +1 -1
  256. package/dist/src/util/runnerHelper.js +1 -1
  257. package/index.ts +70 -69
  258. package/package.json +2 -1
  259. package/src/cli/BaseCLI.ts +57 -23
  260. package/src/cli/DefaultRuntimeCLI.ts +55 -11
  261. package/src/cli/DynamicPluginRuntimeCLI.ts +8 -8
  262. package/src/command/MultiCommandCliHelpCommand.ts +13 -13
  263. package/src/command/SingleCommandCliHelpCommand.ts +12 -12
  264. package/src/command/UsageCommand.ts +5 -5
  265. package/src/command/VersionCommand.ts +4 -4
  266. package/src/launcher.ts +8 -6
  267. package/src/runtime/DefaultContext.ts +2 -2
  268. package/src/runtime/argument/ArgumentTypeGuards.ts +2 -2
  269. package/src/runtime/command/CommandTypeGuards.ts +5 -5
  270. package/src/runtime/command/CommandValidator.ts +13 -13
  271. package/src/runtime/parser.ts +6 -38
  272. package/src/runtime/registry/DefaultCommandRegistry.ts +6 -6
  273. package/src/runtime/registry/DefaultServiceProviderRegistry.ts +2 -2
  274. package/src/runtime/runner.ts +13 -13
  275. package/src/runtime/scanner.ts +4 -4
  276. package/src/runtime/values/ValuePopulationResult.ts +2 -2
  277. package/src/runtime/values/argumentValueMerge.ts +3 -3
  278. package/src/runtime/values/argumentValueValidation.ts +10 -10
  279. package/src/runtime/values/globalCommandValuePopulation.ts +4 -4
  280. package/src/runtime/values/subCommandValuePopulation.ts +10 -7
  281. package/src/service/argumentPrompter/ArgumentPrompterServiceProvider.ts +5 -5
  282. package/src/service/argumentPrompter/DefaultArgumentPrompterService.ts +12 -12
  283. package/src/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.ts +5 -5
  284. package/src/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.ts +2 -5
  285. package/src/service/banner/BannerServiceProvider.ts +7 -7
  286. package/src/service/banner/command/NoBannerCommand.ts +4 -4
  287. package/src/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.ts +2 -2
  288. package/src/service/completion/CompletionServiceProvider.ts +14 -14
  289. package/src/service/completion/DefaultCompletionService.ts +5 -5
  290. package/src/service/completion/command/CompletionCompleteSubCommand.ts +8 -8
  291. package/src/service/completion/command/CompletionGroupCommand.ts +3 -3
  292. package/src/service/completion/command/CompletionIntegrationSubCommand.ts +8 -8
  293. package/src/service/completion/shell/ShellHandler.ts +1 -1
  294. package/src/service/completion/shell/bash.ts +1 -1
  295. package/src/service/completion/shell/fish.ts +1 -1
  296. package/src/service/completion/shell/powershell.ts +1 -1
  297. package/src/service/completion/shell/zsh.ts +1 -1
  298. package/src/service/configuration/ConfigurationServiceProvider.ts +6 -6
  299. package/src/service/configuration/DefaultKeyValueService.ts +2 -2
  300. package/src/service/configuration/DefaultSecretService.ts +1 -1
  301. package/src/service/configuration/command/ConfigCommand.ts +4 -4
  302. package/src/service/configuration/command/DumpConfigCommand.ts +6 -6
  303. package/src/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.ts +6 -6
  304. package/src/service/dataDumpGenerator/DefaultDataDumpGeneratorService.ts +2 -2
  305. package/src/service/imagePrinter/DefaultImagePrinterService.ts +1 -1
  306. package/src/service/imagePrinter/ImagePrinterServiceProvider.ts +4 -4
  307. package/src/service/plugin/DefaultPluginService.ts +1 -1
  308. package/src/service/plugin/DefaultPluginServiceProvider.ts +4 -4
  309. package/src/service/plugin/command/PluginAddSubCommand.ts +8 -8
  310. package/src/service/plugin/command/PluginGroupCommand.ts +3 -3
  311. package/src/service/plugin/command/PluginListSubCommand.ts +7 -7
  312. package/src/service/plugin/command/PluginRemoveSubCommand.ts +8 -8
  313. package/src/service/plugin/command/PluginSearchSubCommand.ts +8 -8
  314. package/src/service/plugin/command/PluginUpgradeSubCommand.ts +7 -7
  315. package/src/service/prettyPrinter/DefaultPrettyPrinterService.ts +3 -3
  316. package/src/service/prettyPrinter/PrettyPrinterServiceProvider.ts +4 -4
  317. package/src/service/printer/DefaultPrinterService.ts +76 -8
  318. package/src/service/printer/PrinterServiceProvider.ts +7 -7
  319. package/src/service/printer/command/DarkModeCommand.ts +4 -4
  320. package/src/service/printer/command/LogLevelCommand.ts +5 -5
  321. package/src/service/printer/command/NoColorCommand.ts +4 -4
  322. package/src/service/printer/command/NoHyperlinksCommand.ts +4 -4
  323. package/src/service/printer/terminal/Progress.ts +2 -2
  324. package/src/service/printer/terminal/Quote.ts +66 -0
  325. package/src/service/printer/terminal/Spinner.ts +2 -2
  326. package/src/service/prompter/DefaultPrompterService.ts +3 -3
  327. package/src/service/prompter/PrompterServiceProvider.ts +5 -5
  328. package/src/service/prompter/command/NoPromptCommand.ts +4 -4
  329. package/src/service/prompter/prompt/PromptContext.ts +2 -2
  330. package/src/service/prompter/prompt/promptAcknowledge.ts +1 -1
  331. package/src/service/prompter/prompt/promptMultiSelect.ts +1 -1
  332. package/src/service/prompter/prompt/promptOpenUrl.ts +1 -1
  333. package/src/service/prompter/prompt/promptSingleSelect.ts +1 -1
  334. package/src/service/prompter/prompt/promptText.ts +2 -2
  335. package/src/service/prompter/prompt/promptToggle.ts +1 -1
  336. package/src/service/shutdown/DefaultShutdownService.ts +1 -1
  337. package/src/service/shutdown/ShutdownServiceProvider.ts +5 -5
  338. package/src/service/syntaxHighlighter/DefaultSyntaxHighlighterService.ts +2 -2
  339. package/src/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.ts +6 -6
  340. package/src/service/tableGenerator/DefaultTableGeneratorService.ts +4 -4
  341. package/src/service/tableGenerator/TableGeneratorServiceProvider.ts +6 -6
  342. package/src/service/treePrinter/DefaultTreePrinterService.ts +2 -2
  343. package/src/service/treePrinter/TreePrinterServiceProvider.ts +6 -6
  344. package/src/terminal/NonTtyTerminal.ts +48 -0
  345. package/src/terminal/Terminal.ts +1 -0
  346. package/src/terminal/TtyStyler.ts +6 -2
  347. package/src/terminal/TtyTerminal.ts +4 -0
  348. package/src/util/configHelper.ts +6 -6
  349. package/src/util/envVarHelper.ts +10 -10
  350. package/src/util/helpHelper.ts +19 -16
  351. package/src/util/runnerHelper.ts +4 -4
  352. package/dist/src/api/CLI.d.ts +0 -17
  353. package/dist/src/api/CLI.d.ts.map +0 -1
  354. package/dist/src/api/CLI.js +0 -0
  355. package/dist/src/api/CLIConfig.d.ts +0 -22
  356. package/dist/src/api/CLIConfig.d.ts.map +0 -1
  357. package/dist/src/api/CLIConfig.js +0 -0
  358. package/dist/src/api/Context.d.ts +0 -23
  359. package/dist/src/api/Context.d.ts.map +0 -1
  360. package/dist/src/api/Context.js +0 -0
  361. package/dist/src/api/RunResult.d.ts +0 -128
  362. package/dist/src/api/RunResult.d.ts.map +0 -1
  363. package/dist/src/api/RunResult.js +0 -73
  364. package/dist/src/api/argument/Argument.d.ts +0 -62
  365. package/dist/src/api/argument/Argument.d.ts.map +0 -1
  366. package/dist/src/api/argument/Argument.js +0 -0
  367. package/dist/src/api/argument/ArgumentValueTypes.d.ts +0 -68
  368. package/dist/src/api/argument/ArgumentValueTypes.d.ts.map +0 -1
  369. package/dist/src/api/argument/ArgumentValueTypes.js +0 -18
  370. package/dist/src/api/argument/ComplexOption.d.ts +0 -21
  371. package/dist/src/api/argument/ComplexOption.d.ts.map +0 -1
  372. package/dist/src/api/argument/ComplexOption.js +0 -1
  373. package/dist/src/api/argument/GlobalCommandArgument.d.ts +0 -16
  374. package/dist/src/api/argument/GlobalCommandArgument.d.ts.map +0 -1
  375. package/dist/src/api/argument/GlobalCommandArgument.js +0 -0
  376. package/dist/src/api/argument/Option.d.ts +0 -29
  377. package/dist/src/api/argument/Option.d.ts.map +0 -1
  378. package/dist/src/api/argument/Option.js +0 -0
  379. package/dist/src/api/argument/Positional.d.ts +0 -26
  380. package/dist/src/api/argument/Positional.d.ts.map +0 -1
  381. package/dist/src/api/argument/Positional.js +0 -0
  382. package/dist/src/api/argument/SubCommandArgument.d.ts +0 -18
  383. package/dist/src/api/argument/SubCommandArgument.d.ts.map +0 -1
  384. package/dist/src/api/argument/SubCommandArgument.js +0 -1
  385. package/dist/src/api/command/Command.d.ts +0 -26
  386. package/dist/src/api/command/Command.d.ts.map +0 -1
  387. package/dist/src/api/command/Command.js +0 -0
  388. package/dist/src/api/command/GlobalCommand.d.ts +0 -28
  389. package/dist/src/api/command/GlobalCommand.d.ts.map +0 -1
  390. package/dist/src/api/command/GlobalCommand.js +0 -0
  391. package/dist/src/api/command/GlobalModifierCommand.d.ts +0 -12
  392. package/dist/src/api/command/GlobalModifierCommand.d.ts.map +0 -1
  393. package/dist/src/api/command/GlobalModifierCommand.js +0 -0
  394. package/dist/src/api/command/GroupCommand.d.ts +0 -19
  395. package/dist/src/api/command/GroupCommand.d.ts.map +0 -1
  396. package/dist/src/api/command/GroupCommand.js +0 -0
  397. package/dist/src/api/command/SubCommand.d.ts +0 -37
  398. package/dist/src/api/command/SubCommand.d.ts.map +0 -1
  399. package/dist/src/api/command/SubCommand.js +0 -0
  400. package/dist/src/api/command/UsageExample.d.ts +0 -20
  401. package/dist/src/api/command/UsageExample.d.ts.map +0 -1
  402. package/dist/src/api/command/UsageExample.js +0 -0
  403. package/dist/src/api/plugin/CLIPlugin.d.ts +0 -31
  404. package/dist/src/api/plugin/CLIPlugin.d.ts.map +0 -1
  405. package/dist/src/api/plugin/CLIPlugin.js +0 -2
  406. package/dist/src/api/plugin/CommandFactory.d.ts +0 -23
  407. package/dist/src/api/plugin/CommandFactory.d.ts.map +0 -1
  408. package/dist/src/api/plugin/CommandFactory.js +0 -7
  409. package/dist/src/api/plugin/ServiceProviderFactory.d.ts +0 -25
  410. package/dist/src/api/plugin/ServiceProviderFactory.d.ts.map +0 -1
  411. package/dist/src/api/plugin/ServiceProviderFactory.js +0 -7
  412. package/dist/src/api/plugin/createCLIPlugin.d.ts +0 -14
  413. package/dist/src/api/plugin/createCLIPlugin.d.ts.map +0 -1
  414. package/dist/src/api/plugin/createCLIPlugin.js +0 -30
  415. package/dist/src/api/service/ServiceProvider.d.ts +0 -47
  416. package/dist/src/api/service/ServiceProvider.d.ts.map +0 -1
  417. package/dist/src/api/service/ServiceProvider.js +0 -0
  418. package/dist/src/api/service/core/ArgumentPrompterService.d.ts +0 -6
  419. package/dist/src/api/service/core/ArgumentPrompterService.d.ts.map +0 -1
  420. package/dist/src/api/service/core/ArgumentPrompterService.js +0 -1
  421. package/dist/src/api/service/core/AsciiBannerGeneratorService.d.ts +0 -59
  422. package/dist/src/api/service/core/AsciiBannerGeneratorService.d.ts.map +0 -1
  423. package/dist/src/api/service/core/AsciiBannerGeneratorService.js +0 -1
  424. package/dist/src/api/service/core/CompletionService.d.ts +0 -22
  425. package/dist/src/api/service/core/CompletionService.d.ts.map +0 -1
  426. package/dist/src/api/service/core/CompletionService.js +0 -8
  427. package/dist/src/api/service/core/DataDumpGeneratorService.d.ts +0 -22
  428. package/dist/src/api/service/core/DataDumpGeneratorService.d.ts.map +0 -1
  429. package/dist/src/api/service/core/DataDumpGeneratorService.js +0 -7
  430. package/dist/src/api/service/core/ImagePrinterService.d.ts +0 -21
  431. package/dist/src/api/service/core/ImagePrinterService.d.ts.map +0 -1
  432. package/dist/src/api/service/core/ImagePrinterService.js +0 -1
  433. package/dist/src/api/service/core/KeyValueService.d.ts +0 -40
  434. package/dist/src/api/service/core/KeyValueService.d.ts.map +0 -1
  435. package/dist/src/api/service/core/KeyValueService.js +0 -7
  436. package/dist/src/api/service/core/PluginService.d.ts +0 -55
  437. package/dist/src/api/service/core/PluginService.d.ts.map +0 -1
  438. package/dist/src/api/service/core/PluginService.js +0 -6
  439. package/dist/src/api/service/core/PrettyPrinterService.d.ts +0 -35
  440. package/dist/src/api/service/core/PrettyPrinterService.d.ts.map +0 -1
  441. package/dist/src/api/service/core/PrettyPrinterService.js +0 -1
  442. package/dist/src/api/service/core/PrinterService.d.ts +0 -339
  443. package/dist/src/api/service/core/PrinterService.d.ts.map +0 -1
  444. package/dist/src/api/service/core/PrinterService.js +0 -42
  445. package/dist/src/api/service/core/PrompterService.d.ts +0 -35
  446. package/dist/src/api/service/core/PrompterService.d.ts.map +0 -1
  447. package/dist/src/api/service/core/PrompterService.js +0 -10
  448. package/dist/src/api/service/core/SecretService.d.ts +0 -25
  449. package/dist/src/api/service/core/SecretService.d.ts.map +0 -1
  450. package/dist/src/api/service/core/SecretService.js +0 -0
  451. package/dist/src/api/service/core/ShutdownService.d.ts +0 -24
  452. package/dist/src/api/service/core/ShutdownService.d.ts.map +0 -1
  453. package/dist/src/api/service/core/ShutdownService.js +0 -1
  454. package/dist/src/api/service/core/SyntaxHighlighterService.d.ts +0 -49
  455. package/dist/src/api/service/core/SyntaxHighlighterService.d.ts.map +0 -1
  456. package/dist/src/api/service/core/SyntaxHighlighterService.js +0 -1
  457. package/dist/src/api/service/core/Table.d.ts +0 -18
  458. package/dist/src/api/service/core/Table.d.ts.map +0 -1
  459. package/dist/src/api/service/core/Table.js +0 -49
  460. package/dist/src/api/service/core/TableGeneratorService.d.ts +0 -32
  461. package/dist/src/api/service/core/TableGeneratorService.d.ts.map +0 -1
  462. package/dist/src/api/service/core/TableGeneratorService.js +0 -7
  463. package/dist/src/api/service/core/TreePrinterService.d.ts +0 -9
  464. package/dist/src/api/service/core/TreePrinterService.d.ts.map +0 -1
  465. package/dist/src/api/service/core/TreePrinterService.js +0 -1
  466. package/dist/src/runtime/registry/CommandRegistry.d.ts +0 -89
  467. package/dist/src/runtime/registry/CommandRegistry.d.ts.map +0 -1
  468. package/dist/src/runtime/registry/CommandRegistry.js +0 -0
  469. package/dist/src/runtime/registry/ServiceProviderRegistry.d.ts +0 -11
  470. package/dist/src/runtime/registry/ServiceProviderRegistry.d.ts.map +0 -1
  471. package/dist/src/runtime/registry/ServiceProviderRegistry.js +0 -0
  472. package/src/api/CLI.ts +0 -17
  473. package/src/api/CLIConfig.ts +0 -24
  474. package/src/api/Context.ts +0 -25
  475. package/src/api/RunResult.ts +0 -158
  476. package/src/api/argument/Argument.ts +0 -75
  477. package/src/api/argument/ArgumentValueTypes.ts +0 -80
  478. package/src/api/argument/ComplexOption.ts +0 -27
  479. package/src/api/argument/GlobalCommandArgument.ts +0 -17
  480. package/src/api/argument/Option.ts +0 -32
  481. package/src/api/argument/Positional.ts +0 -27
  482. package/src/api/argument/SubCommandArgument.ts +0 -20
  483. package/src/api/command/Command.ts +0 -28
  484. package/src/api/command/GlobalCommand.ts +0 -30
  485. package/src/api/command/GlobalModifierCommand.ts +0 -12
  486. package/src/api/command/GroupCommand.ts +0 -20
  487. package/src/api/command/SubCommand.ts +0 -41
  488. package/src/api/command/UsageExample.ts +0 -21
  489. package/src/api/plugin/CLIPlugin.ts +0 -35
  490. package/src/api/plugin/CommandFactory.ts +0 -25
  491. package/src/api/plugin/ServiceProviderFactory.ts +0 -27
  492. package/src/api/plugin/createCLIPlugin.ts +0 -47
  493. package/src/api/service/ServiceProvider.ts +0 -52
  494. package/src/api/service/core/ArgumentPrompterService.ts +0 -8
  495. package/src/api/service/core/AsciiBannerGeneratorService.ts +0 -69
  496. package/src/api/service/core/CompletionService.ts +0 -32
  497. package/src/api/service/core/DataDumpGeneratorService.ts +0 -27
  498. package/src/api/service/core/ImagePrinterService.ts +0 -25
  499. package/src/api/service/core/KeyValueService.ts +0 -44
  500. package/src/api/service/core/PluginService.ts +0 -63
  501. package/src/api/service/core/PrettyPrinterService.ts +0 -39
  502. package/src/api/service/core/PrinterService.ts +0 -400
  503. package/src/api/service/core/PrompterService.ts +0 -42
  504. package/src/api/service/core/SecretService.ts +0 -27
  505. package/src/api/service/core/ShutdownService.ts +0 -27
  506. package/src/api/service/core/SyntaxHighlighterService.ts +0 -54
  507. package/src/api/service/core/Table.ts +0 -67
  508. package/src/api/service/core/TableGeneratorService.ts +0 -39
  509. package/src/api/service/core/TreePrinterService.ts +0 -10
  510. package/src/runtime/registry/CommandRegistry.ts +0 -116
  511. package/src/runtime/registry/ServiceProviderRegistry.ts +0 -11
  512. /package/dist/src/{api → cli}/BaseCLIFeatureOptions.d.ts +0 -0
  513. /package/dist/src/{api → cli}/BaseCLIFeatureOptions.js +0 -0
  514. /package/src/{api → cli}/BaseCLIFeatureOptions.ts +0 -0
@@ -1,16 +1,16 @@
1
1
  import process from "node:process";
2
- import type SubCommand from "../../../api/command/SubCommand.ts";
3
- import type Option from "../../../api/argument/Option.ts";
4
- import type Positional from "../../../api/argument/Positional.ts";
5
- import type Context from "../../../api/Context.ts";
2
+ import type { SubCommand } from "@flowscripter/dynamic-cli-framework-api";
3
+ import type { Option } from "@flowscripter/dynamic-cli-framework-api";
4
+ import type { Positional } from "@flowscripter/dynamic-cli-framework-api";
5
+ import type { Context } from "@flowscripter/dynamic-cli-framework-api";
6
6
  import {
7
7
  type ArgumentValues,
8
8
  ArgumentValueTypeName,
9
- } from "../../../api/argument/ArgumentValueTypes.ts";
10
- import { COMPLETION_SERVICE_ID, ShellType } from "../../../api/service/core/CompletionService.ts";
9
+ } from "@flowscripter/dynamic-cli-framework-api";
10
+ import { COMPLETION_SERVICE_ID, ShellType } from "@flowscripter/dynamic-cli-framework-api";
11
11
  import type DefaultCompletionService from "../DefaultCompletionService.ts";
12
- import { Icon, PRINTER_SERVICE_ID } from "../../../api/service/core/PrinterService.ts";
13
- import type PrinterService from "../../../api/service/core/PrinterService.ts";
12
+ import { Icon, PRINTER_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
13
+ import type { PrinterService } from "@flowscripter/dynamic-cli-framework-api";
14
14
 
15
15
  export class CompletionIntegrationSubCommand implements SubCommand {
16
16
  readonly name = "integration";
@@ -1,4 +1,4 @@
1
- import type { CompletionItem } from "../../../api/service/core/CompletionService.ts";
1
+ import type { CompletionItem } from "@flowscripter/dynamic-cli-framework-api";
2
2
 
3
3
  export interface CompletionContext {
4
4
  readonly line: string;
@@ -1,7 +1,7 @@
1
1
  import process from "node:process";
2
2
  import { homedir } from "node:os";
3
3
  import { join } from "node:path";
4
- import type { CompletionItem } from "../../../api/service/core/CompletionService.ts";
4
+ import type { CompletionItem } from "@flowscripter/dynamic-cli-framework-api";
5
5
  import type ShellHandler from "./ShellHandler.ts";
6
6
  import type { CompletionContext } from "./ShellHandler.ts";
7
7
 
@@ -1,7 +1,7 @@
1
1
  import process from "node:process";
2
2
  import { homedir } from "node:os";
3
3
  import { join } from "node:path";
4
- import type { CompletionItem } from "../../../api/service/core/CompletionService.ts";
4
+ import type { CompletionItem } from "@flowscripter/dynamic-cli-framework-api";
5
5
  import type ShellHandler from "./ShellHandler.ts";
6
6
  import type { CompletionContext } from "./ShellHandler.ts";
7
7
 
@@ -1,7 +1,7 @@
1
1
  import process from "node:process";
2
2
  import { homedir } from "node:os";
3
3
  import { join } from "node:path";
4
- import type { CompletionItem } from "../../../api/service/core/CompletionService.ts";
4
+ import type { CompletionItem } from "@flowscripter/dynamic-cli-framework-api";
5
5
  import type ShellHandler from "./ShellHandler.ts";
6
6
  import type { CompletionContext } from "./ShellHandler.ts";
7
7
 
@@ -1,7 +1,7 @@
1
1
  import process from "node:process";
2
2
  import { homedir } from "node:os";
3
3
  import { join } from "node:path";
4
- import type { CompletionItem } from "../../../api/service/core/CompletionService.ts";
4
+ import type { CompletionItem } from "@flowscripter/dynamic-cli-framework-api";
5
5
  import type ShellHandler from "./ShellHandler.ts";
6
6
  import type { CompletionContext } from "./ShellHandler.ts";
7
7
 
@@ -2,31 +2,31 @@ import process from "node:process";
2
2
  import path from "node:path";
3
3
  import fs from "node:fs/promises";
4
4
  import { Stats } from "node:fs";
5
- import type { ServiceInfo, ServiceProvider } from "../../api/service/ServiceProvider.ts";
5
+ import type { ServiceInfo, ServiceProvider } from "@flowscripter/dynamic-cli-framework-api";
6
6
  import ConfigCommand from "./command/ConfigCommand.ts";
7
7
  import type {
8
8
  ArgumentSingleValueType,
9
9
  ArgumentValues,
10
10
  PopulatedArgumentValues,
11
11
  PopulatedArgumentValueType,
12
- } from "../../api/argument/ArgumentValueTypes.ts";
12
+ } from "@flowscripter/dynamic-cli-framework-api";
13
13
  import getLogger from "../../util/logger.ts";
14
- import type Context from "../../api/Context.ts";
14
+ import type { Context } from "@flowscripter/dynamic-cli-framework-api";
15
15
  import DumpConfigCommand from "./command/DumpConfigCommand.ts";
16
16
  import {
17
17
  KEY_VALUE_SERVICE_ID,
18
18
  SECRET_SENTINEL_PREFIX,
19
- } from "../../api/service/core/KeyValueService.ts";
19
+ } from "@flowscripter/dynamic-cli-framework-api";
20
20
  import DefaultKeyValueService from "./DefaultKeyValueService.ts";
21
21
  import DefaultSecretService from "./DefaultSecretService.ts";
22
- import type Command from "../../api/command/Command.ts";
22
+ import type { Command } from "@flowscripter/dynamic-cli-framework-api";
23
23
  import argumentValueMerge from "../../runtime/values/argumentValueMerge.ts";
24
24
  import {
25
25
  isGlobalCommand,
26
26
  isGlobalModifierCommand,
27
27
  isSubCommand,
28
28
  } from "../../runtime/command/CommandTypeGuards.ts";
29
- import type CLIConfig from "../../api/CLIConfig.ts";
29
+ import type { CLIConfig } from "@flowscripter/dynamic-cli-framework-api";
30
30
  import {
31
31
  getGlobalCommandValueFromEnvVars,
32
32
  getSubCommandValuesFromEnvVars,
@@ -1,5 +1,5 @@
1
- import type KeyValueService from "../../api/service/core/KeyValueService.ts";
2
- import { SECRET_SENTINEL_PREFIX } from "../../api/service/core/KeyValueService.ts";
1
+ import type { KeyValueService } from "@flowscripter/dynamic-cli-framework-api";
2
+ import { SECRET_SENTINEL_PREFIX } from "@flowscripter/dynamic-cli-framework-api";
3
3
  import type DefaultSecretService from "./DefaultSecretService.ts";
4
4
 
5
5
  export default class DefaultKeyValueService implements KeyValueService {
@@ -1,4 +1,4 @@
1
- import type SecretService from "../../api/service/core/SecretService.ts";
1
+ import type { SecretService } from "@flowscripter/dynamic-cli-framework-api";
2
2
  import { secrets as bunSecrets } from "bun";
3
3
 
4
4
  const MAX_NAME_LENGTH = 255;
@@ -1,10 +1,10 @@
1
- import type GlobalModifierCommand from "../../../api/command/GlobalModifierCommand.ts";
2
- import type GlobalCommandArgument from "../../../api/argument/GlobalCommandArgument.ts";
1
+ import type { GlobalModifierCommand } from "@flowscripter/dynamic-cli-framework-api";
2
+ import type { GlobalCommandArgument } from "@flowscripter/dynamic-cli-framework-api";
3
3
  import {
4
4
  type ArgumentSingleValueType,
5
5
  ArgumentValueTypeName,
6
- } from "../../../api/argument/ArgumentValueTypes.ts";
7
- import type Context from "../../../api/Context.ts";
6
+ } from "@flowscripter/dynamic-cli-framework-api";
7
+ import type { Context } from "@flowscripter/dynamic-cli-framework-api";
8
8
  import type ConfigurationServiceProvider from "../ConfigurationServiceProvider.ts";
9
9
 
10
10
  /**
@@ -1,10 +1,10 @@
1
- import type Context from "../../../api/Context.ts";
2
- import type GlobalCommand from "../../../api/command/GlobalCommand.ts";
1
+ import type { Context } from "@flowscripter/dynamic-cli-framework-api";
2
+ import type { GlobalCommand } from "@flowscripter/dynamic-cli-framework-api";
3
3
  import type ConfigurationServiceProvider from "../ConfigurationServiceProvider.ts";
4
- import type PrinterService from "../../../api/service/core/PrinterService.ts";
5
- import { PRINTER_SERVICE_ID } from "../../../api/service/core/PrinterService.ts";
6
- import type SyntaxHighlighterService from "../../../api/service/core/SyntaxHighlighterService.ts";
7
- import { SYNTAX_HIGHLIGHTER_SERVICE_ID } from "../../../api/service/core/SyntaxHighlighterService.ts";
4
+ import type { PrinterService } from "@flowscripter/dynamic-cli-framework-api";
5
+ import { PRINTER_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
6
+ import type { SyntaxHighlighterService } from "@flowscripter/dynamic-cli-framework-api";
7
+ import { SYNTAX_HIGHLIGHTER_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
8
8
 
9
9
  /**
10
10
  * Command which dumps the configuration loaded by the {@link ConfigurationServiceProvider}.
@@ -1,10 +1,10 @@
1
- import type { ServiceInfo, ServiceProvider } from "../../api/service/ServiceProvider.ts";
1
+ import type { ServiceInfo, ServiceProvider } from "@flowscripter/dynamic-cli-framework-api";
2
2
  import DefaultDataDumpGeneratorService from "./DefaultDataDumpGeneratorService.ts";
3
- import { DATA_DUMP_GENERATOR_SERVICE_ID } from "../../api/service/core/DataDumpGeneratorService.ts";
4
- import type Context from "../../api/Context.ts";
5
- import type PrinterService from "../../api/service/core/PrinterService.ts";
6
- import { PRINTER_SERVICE_ID } from "../../api/service/core/PrinterService.ts";
7
- import type CLIConfig from "../../api/CLIConfig.ts";
3
+ import { DATA_DUMP_GENERATOR_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
4
+ import type { Context } from "@flowscripter/dynamic-cli-framework-api";
5
+ import type { PrinterService } from "@flowscripter/dynamic-cli-framework-api";
6
+ import { PRINTER_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
7
+ import type { CLIConfig } from "@flowscripter/dynamic-cli-framework-api";
8
8
 
9
9
  export default class DataDumpGeneratorServiceProvider implements ServiceProvider {
10
10
  readonly serviceId: string = DATA_DUMP_GENERATOR_SERVICE_ID;
@@ -1,10 +1,10 @@
1
1
  import { Buffer } from "node:buffer";
2
- import type DataDumpGeneratorService from "../../api/service/core/DataDumpGeneratorService.ts";
2
+ import type { DataDumpGeneratorService } from "@flowscripter/dynamic-cli-framework-api";
3
3
  import {
4
4
  type ByteRangeColor,
5
5
  DumpFormat,
6
6
  type HexDumpGenerateOptions,
7
- } from "../../api/service/core/DataDumpGeneratorService.ts";
7
+ } from "@flowscripter/dynamic-cli-framework-api";
8
8
 
9
9
  export default class DefaultDataDumpGeneratorService implements DataDumpGeneratorService {
10
10
  colorEnabled = true;
@@ -1,5 +1,5 @@
1
1
  import ImageRenderer from "../../terminal/ImageRenderer.ts";
2
- import type ImagePrinterService from "../../api/service/core/ImagePrinterService.ts";
2
+ import type { ImagePrinterService } from "@flowscripter/dynamic-cli-framework-api";
3
3
  import type Terminal from "../../terminal/Terminal.ts";
4
4
 
5
5
  export default class DefaultImagePrinterService implements ImagePrinterService {
@@ -1,8 +1,8 @@
1
- import type { ServiceInfo, ServiceProvider } from "../../api/service/ServiceProvider.ts";
1
+ import type { ServiceInfo, ServiceProvider } from "@flowscripter/dynamic-cli-framework-api";
2
2
  import DefaultImagePrinterService from "./DefaultImagePrinterService.ts";
3
- import { IMAGE_PRINTER_SERVICE_ID } from "../../api/service/core/ImagePrinterService.ts";
4
- import type Context from "../../api/Context.ts";
5
- import type CLIConfig from "../../api/CLIConfig.ts";
3
+ import { IMAGE_PRINTER_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
4
+ import type { Context } from "@flowscripter/dynamic-cli-framework-api";
5
+ import type { CLIConfig } from "@flowscripter/dynamic-cli-framework-api";
6
6
  import type Terminal from "../../terminal/Terminal.ts";
7
7
 
8
8
  export default class ImagePrinterServiceProvider implements ServiceProvider {
@@ -1,4 +1,4 @@
1
- import type PluginService from "../../api/service/core/PluginService.ts";
1
+ import type { PluginService } from "@flowscripter/dynamic-cli-framework-api";
2
2
  import type {
3
3
  MarketplacePluginManager,
4
4
  VersionedPluginDescriptor,
@@ -1,8 +1,8 @@
1
- import type { ServiceInfo, ServiceProvider } from "../../api/service/ServiceProvider.ts";
2
- import type Context from "../../api/Context.ts";
3
- import type CLIConfig from "../../api/CLIConfig.ts";
1
+ import type { ServiceInfo, ServiceProvider } from "@flowscripter/dynamic-cli-framework-api";
2
+ import type { Context } from "@flowscripter/dynamic-cli-framework-api";
3
+ import type { CLIConfig } from "@flowscripter/dynamic-cli-framework-api";
4
4
  import type { MarketplacePluginManager } from "@flowscripter/dynamic-plugin-framework";
5
- import { PLUGIN_SERVICE_ID } from "../../api/service/core/PluginService.ts";
5
+ import { PLUGIN_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
6
6
  import DefaultPluginService from "./DefaultPluginService.ts";
7
7
  import { PluginGroupCommand } from "./command/PluginGroupCommand.ts";
8
8
 
@@ -1,11 +1,11 @@
1
- import type SubCommand from "../../../api/command/SubCommand.ts";
2
- import type Context from "../../../api/Context.ts";
3
- import type { ArgumentValues } from "../../../api/argument/ArgumentValueTypes.ts";
4
- import { ArgumentValueTypeName } from "../../../api/argument/ArgumentValueTypes.ts";
5
- import type PrinterService from "../../../api/service/core/PrinterService.ts";
6
- import { Icon, PRINTER_SERVICE_ID } from "../../../api/service/core/PrinterService.ts";
7
- import { PLUGIN_SERVICE_ID } from "../../../api/service/core/PluginService.ts";
8
- import type PluginService from "../../../api/service/core/PluginService.ts";
1
+ import type { SubCommand } from "@flowscripter/dynamic-cli-framework-api";
2
+ import type { Context } from "@flowscripter/dynamic-cli-framework-api";
3
+ import type { ArgumentValues } from "@flowscripter/dynamic-cli-framework-api";
4
+ import { ArgumentValueTypeName } from "@flowscripter/dynamic-cli-framework-api";
5
+ import type { PrinterService } from "@flowscripter/dynamic-cli-framework-api";
6
+ import { Icon, PRINTER_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
7
+ import { PLUGIN_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
8
+ import type { PluginService } from "@flowscripter/dynamic-cli-framework-api";
9
9
  import type { VersionedPluginDescriptor } from "@flowscripter/dynamic-plugin-framework";
10
10
  import { getPluginId } from "./getPluginId.ts";
11
11
 
@@ -1,6 +1,6 @@
1
- import type GroupCommand from "../../../api/command/GroupCommand.ts";
2
- import type SubCommand from "../../../api/command/SubCommand.ts";
3
- import type Context from "../../../api/Context.ts";
1
+ import type { GroupCommand } from "@flowscripter/dynamic-cli-framework-api";
2
+ import type { SubCommand } from "@flowscripter/dynamic-cli-framework-api";
3
+ import type { Context } from "@flowscripter/dynamic-cli-framework-api";
4
4
  import { PluginListSubCommand } from "./PluginListSubCommand.ts";
5
5
  import { PluginSearchSubCommand } from "./PluginSearchSubCommand.ts";
6
6
  import { PluginAddSubCommand } from "./PluginAddSubCommand.ts";
@@ -1,10 +1,10 @@
1
- import type SubCommand from "../../../api/command/SubCommand.ts";
2
- import type Context from "../../../api/Context.ts";
3
- import type { ArgumentValues } from "../../../api/argument/ArgumentValueTypes.ts";
4
- import type PrinterService from "../../../api/service/core/PrinterService.ts";
5
- import { PRINTER_SERVICE_ID } from "../../../api/service/core/PrinterService.ts";
6
- import { PLUGIN_SERVICE_ID } from "../../../api/service/core/PluginService.ts";
7
- import type PluginService from "../../../api/service/core/PluginService.ts";
1
+ import type { SubCommand } from "@flowscripter/dynamic-cli-framework-api";
2
+ import type { Context } from "@flowscripter/dynamic-cli-framework-api";
3
+ import type { ArgumentValues } from "@flowscripter/dynamic-cli-framework-api";
4
+ import type { PrinterService } from "@flowscripter/dynamic-cli-framework-api";
5
+ import { PRINTER_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
6
+ import { PLUGIN_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
7
+ import type { PluginService } from "@flowscripter/dynamic-cli-framework-api";
8
8
  import { getPluginId } from "./getPluginId.ts";
9
9
 
10
10
  export class PluginListSubCommand implements SubCommand {
@@ -1,11 +1,11 @@
1
- import type SubCommand from "../../../api/command/SubCommand.ts";
2
- import type Context from "../../../api/Context.ts";
3
- import type { ArgumentValues } from "../../../api/argument/ArgumentValueTypes.ts";
4
- import { ArgumentValueTypeName } from "../../../api/argument/ArgumentValueTypes.ts";
5
- import type PrinterService from "../../../api/service/core/PrinterService.ts";
6
- import { Icon, PRINTER_SERVICE_ID } from "../../../api/service/core/PrinterService.ts";
7
- import { PLUGIN_SERVICE_ID } from "../../../api/service/core/PluginService.ts";
8
- import type PluginService from "../../../api/service/core/PluginService.ts";
1
+ import type { SubCommand } from "@flowscripter/dynamic-cli-framework-api";
2
+ import type { Context } from "@flowscripter/dynamic-cli-framework-api";
3
+ import type { ArgumentValues } from "@flowscripter/dynamic-cli-framework-api";
4
+ import { ArgumentValueTypeName } from "@flowscripter/dynamic-cli-framework-api";
5
+ import type { PrinterService } from "@flowscripter/dynamic-cli-framework-api";
6
+ import { Icon, PRINTER_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
7
+ import { PLUGIN_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
8
+ import type { PluginService } from "@flowscripter/dynamic-cli-framework-api";
9
9
 
10
10
  export class PluginRemoveSubCommand implements SubCommand {
11
11
  readonly name = "remove";
@@ -1,11 +1,11 @@
1
- import type SubCommand from "../../../api/command/SubCommand.ts";
2
- import type Context from "../../../api/Context.ts";
3
- import type { ArgumentValues } from "../../../api/argument/ArgumentValueTypes.ts";
4
- import { ArgumentValueTypeName } from "../../../api/argument/ArgumentValueTypes.ts";
5
- import type PrinterService from "../../../api/service/core/PrinterService.ts";
6
- import { PRINTER_SERVICE_ID } from "../../../api/service/core/PrinterService.ts";
7
- import { PLUGIN_SERVICE_ID } from "../../../api/service/core/PluginService.ts";
8
- import type PluginService from "../../../api/service/core/PluginService.ts";
1
+ import type { SubCommand } from "@flowscripter/dynamic-cli-framework-api";
2
+ import type { Context } from "@flowscripter/dynamic-cli-framework-api";
3
+ import type { ArgumentValues } from "@flowscripter/dynamic-cli-framework-api";
4
+ import { ArgumentValueTypeName } from "@flowscripter/dynamic-cli-framework-api";
5
+ import type { PrinterService } from "@flowscripter/dynamic-cli-framework-api";
6
+ import { PRINTER_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
7
+ import { PLUGIN_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
8
+ import type { PluginService } from "@flowscripter/dynamic-cli-framework-api";
9
9
  import { getPluginId } from "./getPluginId.ts";
10
10
 
11
11
  export class PluginSearchSubCommand implements SubCommand {
@@ -1,10 +1,10 @@
1
- import type SubCommand from "../../../api/command/SubCommand.ts";
2
- import type Context from "../../../api/Context.ts";
3
- import type { ArgumentValues } from "../../../api/argument/ArgumentValueTypes.ts";
4
- import type PrinterService from "../../../api/service/core/PrinterService.ts";
5
- import { Icon, PRINTER_SERVICE_ID } from "../../../api/service/core/PrinterService.ts";
6
- import { PLUGIN_SERVICE_ID } from "../../../api/service/core/PluginService.ts";
7
- import type PluginService from "../../../api/service/core/PluginService.ts";
1
+ import type { SubCommand } from "@flowscripter/dynamic-cli-framework-api";
2
+ import type { Context } from "@flowscripter/dynamic-cli-framework-api";
3
+ import type { ArgumentValues } from "@flowscripter/dynamic-cli-framework-api";
4
+ import type { PrinterService } from "@flowscripter/dynamic-cli-framework-api";
5
+ import { Icon, PRINTER_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
6
+ import { PLUGIN_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
7
+ import type { PluginService } from "@flowscripter/dynamic-cli-framework-api";
8
8
  import { getPluginId } from "./getPluginId.ts";
9
9
 
10
10
  export class PluginUpgradeSubCommand implements SubCommand {
@@ -1,4 +1,4 @@
1
- import type PrettyPrinterService from "../../api/service/core/PrettyPrinterService.ts";
1
+ import type { PrettyPrinterService } from "@flowscripter/dynamic-cli-framework-api";
2
2
  import * as prettier from "prettier";
3
3
  import type { Plugin } from "prettier";
4
4
 
@@ -8,7 +8,7 @@ import type { Plugin } from "prettier";
8
8
  */
9
9
  export default class DefaultPrettyPrinterService implements PrettyPrinterService {
10
10
  #registeredSyntaxes = new Array<string>();
11
- #syntaxNameToPluginnMap = new Map<string, Plugin>();
11
+ #syntaxNameToPluginnMap = new Map<string, Plugin<unknown>>();
12
12
 
13
13
  async #populateBuiltInSyntaxes(): Promise<void> {
14
14
  const languages = (await prettier.getSupportInfo()).languages;
@@ -43,7 +43,7 @@ export default class DefaultPrettyPrinterService implements PrettyPrinterService
43
43
  return prettier.format(text, options);
44
44
  }
45
45
 
46
- async registerSyntax(syntaxName: string, syntaxPlugin: Plugin): Promise<void> {
46
+ async registerSyntax(syntaxName: string, syntaxPlugin: Plugin<unknown>): Promise<void> {
47
47
  if (this.#registeredSyntaxes.length === 0) {
48
48
  await this.#populateBuiltInSyntaxes();
49
49
  }
@@ -1,8 +1,8 @@
1
- import type { ServiceInfo, ServiceProvider } from "../../api/service/ServiceProvider.ts";
1
+ import type { ServiceInfo, ServiceProvider } from "@flowscripter/dynamic-cli-framework-api";
2
2
  import DefaultPrettyPrinterService from "./DefaultPrettyPrinterService.ts";
3
- import { PRETTY_PRINTER_SERVICE_ID } from "../../api/service/core/PrettyPrinterService.ts";
4
- import type Context from "../../api/Context.ts";
5
- import type CLIConfig from "../../api/CLIConfig.ts";
3
+ import { PRETTY_PRINTER_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
4
+ import type { Context } from "@flowscripter/dynamic-cli-framework-api";
5
+ import type { CLIConfig } from "@flowscripter/dynamic-cli-framework-api";
6
6
 
7
7
  /**
8
8
  * Provides a {@link PrettyPrinterService}.
@@ -1,17 +1,19 @@
1
1
  import { default as Spinner } from "./terminal/Spinner.ts";
2
2
  import { default as Progress } from "./terminal/Progress.ts";
3
- import type PrinterService from "../../api/service/core/PrinterService.ts";
3
+ import { default as Quote } from "./terminal/Quote.ts";
4
+ import type { PrinterService } from "@flowscripter/dynamic-cli-framework-api";
4
5
  import {
5
6
  type Icon,
6
7
  Level,
7
8
  type ProgressStyle,
8
9
  type SpinnerStyle,
9
- } from "../../api/service/core/PrinterService.ts";
10
+ } from "@flowscripter/dynamic-cli-framework-api";
10
11
  import type Terminal from "../../terminal/Terminal.ts";
11
12
  import { Color } from "./terminal/Color.ts";
12
13
  import { getDarkModeTheme, getLightModeTheme } from "./terminal/Theme.ts";
13
14
  import { WritableStream } from "node:stream/web";
14
15
  import type Styler from "../../terminal/Styler.ts";
16
+
15
17
  export default class DefaultPrinterService implements PrinterService {
16
18
  readonly stdoutWritable: WritableStream;
17
19
  readonly stderrWritable: WritableStream;
@@ -26,6 +28,20 @@ export default class DefaultPrinterService implements PrinterService {
26
28
  #encoder = new TextEncoder();
27
29
  #spinner: Spinner;
28
30
  #progress: Progress;
31
+ #quote: Quote;
32
+ #markedLineCount: number | undefined;
33
+ #markEndedAt: number | undefined;
34
+
35
+ #countLines(message: string): number {
36
+ return message.split("\n").length - (message.endsWith("\n") ? 1 : 0);
37
+ }
38
+
39
+ #recordMarkedWrite(message: string): void {
40
+ if (this.#markedLineCount === undefined) {
41
+ return;
42
+ }
43
+ this.#markedLineCount += this.#countLines(message);
44
+ }
29
45
 
30
46
  async #log(level: number, message: string, icon?: Icon): Promise<void> {
31
47
  if (this.#threshold > level) {
@@ -33,9 +49,9 @@ export default class DefaultPrinterService implements PrinterService {
33
49
  }
34
50
  await this.#spinner.pause();
35
51
  await this.#progress.pause();
36
- await this.#stderrTerminal.write(
37
- `${icon !== undefined ? `${this.#iconDefinitions[icon]} ` : ""}${message}`,
38
- );
52
+ const composed = `${icon !== undefined ? `${this.#iconDefinitions[icon]} ` : ""}${message}`;
53
+ this.#recordMarkedWrite(composed);
54
+ await this.#stderrTerminal.write(this.#quote.prefixLines(composed));
39
55
  this.#spinner.resume();
40
56
  this.#progress.resume();
41
57
  }
@@ -58,6 +74,7 @@ export default class DefaultPrinterService implements PrinterService {
58
74
  this.#styler.colorEnabled = stderrIsColor;
59
75
  this.#spinner = new Spinner(this.#stderrTerminal, this.#styler);
60
76
  this.#progress = new Progress(this.#stderrTerminal, this.#styler);
77
+ this.#quote = new Quote(this.#styler);
61
78
  this.darkMode = false;
62
79
  this.#iconDefinitions = [this.green("✔"), this.red("✖"), this.yellow("‼"), this.blue("ℹ")];
63
80
  }
@@ -256,9 +273,10 @@ export default class DefaultPrinterService implements PrinterService {
256
273
  const writer = this.stdoutWritable.getWriter();
257
274
  const colorMessage = this.#stdoutIsColor ? this.primary(message) : message;
258
275
 
259
- const encoded = this.#encoder.encode(
260
- `${icon !== undefined ? `${this.#iconDefinitions[icon]} ` : ""}${colorMessage}`,
261
- );
276
+ const composed = `${
277
+ icon !== undefined ? `${this.#iconDefinitions[icon]} ` : ""
278
+ }${colorMessage}`;
279
+ const encoded = this.#encoder.encode(composed);
262
280
 
263
281
  await writer.ready;
264
282
  await writer.write(encoded);
@@ -268,6 +286,50 @@ export default class DefaultPrinterService implements PrinterService {
268
286
  this.#progress.resume();
269
287
  }
270
288
 
289
+ public startQuote(hexFormattedColor?: string): void {
290
+ const color = hexFormattedColor
291
+ ? this.#parseHexColor(hexFormattedColor)
292
+ : this.#theme[Color.SECONDARY]!;
293
+ this.#quote.push(color);
294
+ }
295
+
296
+ public endQuote(): void {
297
+ this.#quote.pop();
298
+ }
299
+
300
+ public startMark(): void {
301
+ if (this.#markedLineCount !== undefined) {
302
+ throw new Error("startMark() called while already marking");
303
+ }
304
+ this.#markedLineCount = 0;
305
+ this.#markEndedAt = undefined;
306
+ }
307
+
308
+ public endMark(): void {
309
+ if (this.#markedLineCount === undefined) {
310
+ throw new Error("endMark() called without a matching startMark()");
311
+ }
312
+ this.#markEndedAt = Date.now();
313
+ }
314
+
315
+ public async clearMarked(minimumDisplayTimeMs = 0): Promise<void> {
316
+ if (this.#markedLineCount === undefined || this.#markEndedAt === undefined) {
317
+ throw new Error("clearMarked() called without a preceding endMark()");
318
+ }
319
+ if (!this.#stderrTerminal.isTty()) {
320
+ this.#markedLineCount = undefined;
321
+ this.#markEndedAt = undefined;
322
+ return;
323
+ }
324
+ const remaining = minimumDisplayTimeMs - (Date.now() - this.#markEndedAt);
325
+ if (remaining > 0) {
326
+ await new Promise((resolve) => setTimeout(resolve, remaining));
327
+ }
328
+ await this.#stderrTerminal.clearUpLines(this.#markedLineCount);
329
+ this.#markedLineCount = undefined;
330
+ this.#markEndedAt = undefined;
331
+ }
332
+
271
333
  public async setLevel(level: Level): Promise<void> {
272
334
  if (this.#threshold > Level.INFO) {
273
335
  await this.#spinner.hide();
@@ -281,6 +343,9 @@ export default class DefaultPrinterService implements PrinterService {
281
343
  }
282
344
 
283
345
  public async showSpinner(message?: string, style?: SpinnerStyle): Promise<void> {
346
+ if (!this.#stderrTerminal.isTty()) {
347
+ return;
348
+ }
284
349
  await this.#progress.hideAll();
285
350
  if (this.#threshold > Level.INFO) {
286
351
  return;
@@ -302,6 +367,9 @@ export default class DefaultPrinterService implements PrinterService {
302
367
  current = 0,
303
368
  style?: ProgressStyle,
304
369
  ): Promise<number> {
370
+ if (!this.#stderrTerminal.isTty()) {
371
+ return -1;
372
+ }
305
373
  await this.#spinner.hide();
306
374
  if (this.#threshold > Level.INFO) {
307
375
  return -1;
@@ -1,14 +1,14 @@
1
- import type Context from "../../api/Context.ts";
1
+ import type { Context } from "@flowscripter/dynamic-cli-framework-api";
2
2
  import LogLevelCommand from "./command/LogLevelCommand.ts";
3
- import type { ServiceInfo, ServiceProvider } from "../../api/service/ServiceProvider.ts";
4
- import type PrinterService from "../../api/service/core/PrinterService.ts";
5
- import { PRINTER_SERVICE_ID } from "../../api/service/core/PrinterService.ts";
3
+ import type { ServiceInfo, ServiceProvider } from "@flowscripter/dynamic-cli-framework-api";
4
+ import type { PrinterService } from "@flowscripter/dynamic-cli-framework-api";
5
+ import { PRINTER_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
6
6
  import DarkModeCommand from "./command/DarkModeCommand.ts";
7
7
  import NoColorCommand from "./command/NoColorCommand.ts";
8
8
  import NoHyperlinksCommand from "./command/NoHyperlinksCommand.ts";
9
- import type CLIConfig from "../../api/CLIConfig.ts";
10
- import type ShutdownService from "../../api/service/core/ShutdownService.ts";
11
- import { SHUTDOWN_SERVICE_ID } from "../../api/service/core/ShutdownService.ts";
9
+ import type { CLIConfig } from "@flowscripter/dynamic-cli-framework-api";
10
+ import type { ShutdownService } from "@flowscripter/dynamic-cli-framework-api";
11
+ import { SHUTDOWN_SERVICE_ID } from "@flowscripter/dynamic-cli-framework-api";
12
12
 
13
13
  /**
14
14
  * Provides a {@link PrinterService}.
@@ -1,10 +1,10 @@
1
- import type GlobalModifierCommand from "../../../api/command/GlobalModifierCommand.ts";
2
- import type GlobalCommandArgument from "../../../api/argument/GlobalCommandArgument.ts";
1
+ import type { GlobalModifierCommand } from "@flowscripter/dynamic-cli-framework-api";
2
+ import type { GlobalCommandArgument } from "@flowscripter/dynamic-cli-framework-api";
3
3
  import {
4
4
  type ArgumentSingleValueType,
5
5
  ArgumentValueTypeName,
6
- } from "../../../api/argument/ArgumentValueTypes.ts";
7
- import type Context from "../../../api/Context.ts";
6
+ } from "@flowscripter/dynamic-cli-framework-api";
7
+ import type { Context } from "@flowscripter/dynamic-cli-framework-api";
8
8
  import type PrinterServiceProvider from "../PrinterServiceProvider.ts";
9
9
 
10
10
  /**
@@ -1,12 +1,12 @@
1
- import type GlobalCommandArgument from "../../../api/argument/GlobalCommandArgument.ts";
1
+ import type { GlobalCommandArgument } from "@flowscripter/dynamic-cli-framework-api";
2
2
  import {
3
3
  type ArgumentSingleValueType,
4
4
  ArgumentValueTypeName,
5
- } from "../../../api/argument/ArgumentValueTypes.ts";
6
- import type GlobalModifierCommand from "../../../api/command/GlobalModifierCommand.ts";
7
- import type Context from "../../../api/Context.ts";
5
+ } from "@flowscripter/dynamic-cli-framework-api";
6
+ import type { GlobalModifierCommand } from "@flowscripter/dynamic-cli-framework-api";
7
+ import type { Context } from "@flowscripter/dynamic-cli-framework-api";
8
8
  import type PrinterServiceProvider from "../PrinterServiceProvider.ts";
9
- import { Level } from "../../../api/service/core/PrinterService.ts";
9
+ import { Level } from "@flowscripter/dynamic-cli-framework-api";
10
10
 
11
11
  /**
12
12
  * Command allowing the setting of the log level for {@link PrinterServiceProvider}.