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