@flowscripter/dynamic-cli-framework 1.4.18 → 1.5.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 (534) hide show
  1. package/README.md +3 -14
  2. package/cli-plugin.ts +16 -0
  3. package/dist/cli-plugin.d.ts +17 -0
  4. package/dist/cli-plugin.d.ts.map +1 -0
  5. package/dist/cli-plugin.js +69 -0
  6. package/dist/index.d.ts +115 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +105696 -0
  9. package/dist/src/api/BaseCLIFeatureOptions.d.ts +12 -0
  10. package/dist/src/api/BaseCLIFeatureOptions.d.ts.map +1 -0
  11. package/dist/src/api/CLI.d.ts +17 -0
  12. package/dist/src/api/CLI.d.ts.map +1 -0
  13. package/dist/src/api/CLIConfig.d.ts +22 -0
  14. package/dist/src/api/CLIConfig.d.ts.map +1 -0
  15. package/dist/src/api/Context.d.ts +23 -0
  16. package/dist/src/api/Context.d.ts.map +1 -0
  17. package/dist/src/api/RunResult.d.ts +128 -0
  18. package/dist/src/api/RunResult.d.ts.map +1 -0
  19. package/dist/src/api/argument/Argument.d.ts +62 -0
  20. package/dist/src/api/argument/Argument.d.ts.map +1 -0
  21. package/dist/src/api/argument/ArgumentValueTypes.d.ts +68 -0
  22. package/dist/src/api/argument/ArgumentValueTypes.d.ts.map +1 -0
  23. package/dist/src/api/argument/ComplexOption.d.ts +21 -0
  24. package/dist/src/api/argument/ComplexOption.d.ts.map +1 -0
  25. package/dist/src/api/argument/GlobalCommandArgument.d.ts +16 -0
  26. package/dist/src/api/argument/GlobalCommandArgument.d.ts.map +1 -0
  27. package/dist/src/api/argument/Option.d.ts +29 -0
  28. package/dist/src/api/argument/Option.d.ts.map +1 -0
  29. package/dist/src/api/argument/Positional.d.ts +26 -0
  30. package/dist/src/api/argument/Positional.d.ts.map +1 -0
  31. package/dist/src/api/argument/SubCommandArgument.d.ts +18 -0
  32. package/dist/src/api/argument/SubCommandArgument.d.ts.map +1 -0
  33. package/dist/src/api/command/Command.d.ts +21 -0
  34. package/dist/src/api/command/Command.d.ts.map +1 -0
  35. package/dist/src/api/command/GlobalCommand.d.ts +28 -0
  36. package/dist/src/api/command/GlobalCommand.d.ts.map +1 -0
  37. package/dist/src/api/command/GlobalModifierCommand.d.ts +12 -0
  38. package/dist/src/api/command/GlobalModifierCommand.d.ts.map +1 -0
  39. package/dist/src/api/command/GroupCommand.d.ts +19 -0
  40. package/dist/src/api/command/GroupCommand.d.ts.map +1 -0
  41. package/dist/src/api/command/SubCommand.d.ts +37 -0
  42. package/dist/src/api/command/SubCommand.d.ts.map +1 -0
  43. package/dist/src/api/command/UsageExample.d.ts +20 -0
  44. package/dist/src/api/command/UsageExample.d.ts.map +1 -0
  45. package/dist/src/api/plugin/CommandFactory.d.ts +23 -0
  46. package/dist/src/api/plugin/CommandFactory.d.ts.map +1 -0
  47. package/dist/src/api/plugin/ServiceProviderFactory.d.ts +25 -0
  48. package/dist/src/api/plugin/ServiceProviderFactory.d.ts.map +1 -0
  49. package/dist/src/api/service/ServiceProvider.d.ts +47 -0
  50. package/dist/src/api/service/ServiceProvider.d.ts.map +1 -0
  51. package/dist/src/api/service/core/ArgumentPrompterService.d.ts +6 -0
  52. package/dist/src/api/service/core/ArgumentPrompterService.d.ts.map +1 -0
  53. package/dist/src/api/service/core/AsciiBannerGeneratorService.d.ts +59 -0
  54. package/dist/src/api/service/core/AsciiBannerGeneratorService.d.ts.map +1 -0
  55. package/dist/src/api/service/core/CompletionService.d.ts +22 -0
  56. package/dist/src/api/service/core/CompletionService.d.ts.map +1 -0
  57. package/dist/src/api/service/core/DataDumpGeneratorService.d.ts +22 -0
  58. package/dist/src/api/service/core/DataDumpGeneratorService.d.ts.map +1 -0
  59. package/dist/src/api/service/core/ImagePrinterService.d.ts +21 -0
  60. package/dist/src/api/service/core/ImagePrinterService.d.ts.map +1 -0
  61. package/dist/src/api/service/core/KeyValueService.d.ts +40 -0
  62. package/dist/src/api/service/core/KeyValueService.d.ts.map +1 -0
  63. package/dist/src/api/service/core/PluginService.d.ts +55 -0
  64. package/dist/src/api/service/core/PluginService.d.ts.map +1 -0
  65. package/dist/src/api/service/core/PrettyPrinterService.d.ts +35 -0
  66. package/dist/src/api/service/core/PrettyPrinterService.d.ts.map +1 -0
  67. package/dist/src/api/service/core/PrinterService.d.ts +339 -0
  68. package/dist/src/api/service/core/PrinterService.d.ts.map +1 -0
  69. package/dist/src/api/service/core/PrompterService.d.ts +35 -0
  70. package/dist/src/api/service/core/PrompterService.d.ts.map +1 -0
  71. package/dist/src/api/service/core/SecretService.d.ts +25 -0
  72. package/dist/src/api/service/core/SecretService.d.ts.map +1 -0
  73. package/dist/src/api/service/core/ShutdownService.d.ts +24 -0
  74. package/dist/src/api/service/core/ShutdownService.d.ts.map +1 -0
  75. package/dist/src/api/service/core/SyntaxHighlighterService.d.ts +49 -0
  76. package/dist/src/api/service/core/SyntaxHighlighterService.d.ts.map +1 -0
  77. package/dist/src/api/service/core/Table.d.ts +18 -0
  78. package/dist/src/api/service/core/Table.d.ts.map +1 -0
  79. package/dist/src/api/service/core/TableGeneratorService.d.ts +31 -0
  80. package/dist/src/api/service/core/TableGeneratorService.d.ts.map +1 -0
  81. package/dist/src/api/service/core/TreePrinterService.d.ts +9 -0
  82. package/dist/src/api/service/core/TreePrinterService.d.ts.map +1 -0
  83. package/dist/src/cli/BaseCLI.d.ts +59 -0
  84. package/dist/src/cli/BaseCLI.d.ts.map +1 -0
  85. package/dist/src/cli/DefaultRuntimeCLI.d.ts +12 -0
  86. package/dist/src/cli/DefaultRuntimeCLI.d.ts.map +1 -0
  87. package/dist/src/cli/DynamicPluginRuntimeCLI.d.ts +20 -0
  88. package/dist/src/cli/DynamicPluginRuntimeCLI.d.ts.map +1 -0
  89. package/dist/src/command/CompletionCommand.d.ts +31 -0
  90. package/dist/src/command/CompletionCommand.d.ts.map +1 -0
  91. package/dist/src/command/MultiCommandCliHelpCommand.d.ts +40 -0
  92. package/dist/src/command/MultiCommandCliHelpCommand.d.ts.map +1 -0
  93. package/dist/src/command/PluginCommand.d.ts +67 -0
  94. package/dist/src/command/PluginCommand.d.ts.map +1 -0
  95. package/dist/src/command/SingleCommandCliHelpCommand.d.ts +31 -0
  96. package/dist/src/command/SingleCommandCliHelpCommand.d.ts.map +1 -0
  97. package/dist/src/command/UsageCommand.d.ts +14 -0
  98. package/dist/src/command/UsageCommand.d.ts.map +1 -0
  99. package/dist/src/command/VersionCommand.d.ts +12 -0
  100. package/dist/src/command/VersionCommand.d.ts.map +1 -0
  101. package/dist/src/launcher.d.ts +10 -0
  102. package/dist/src/launcher.d.ts.map +1 -0
  103. package/dist/src/runtime/DefaultContext.d.ts +14 -0
  104. package/dist/src/runtime/DefaultContext.d.ts.map +1 -0
  105. package/dist/src/runtime/argument/ArgumentTypeGuards.d.ts +4 -0
  106. package/dist/src/runtime/argument/ArgumentTypeGuards.d.ts.map +1 -0
  107. package/dist/src/runtime/command/CommandTypeGuards.d.ts +10 -0
  108. package/dist/src/runtime/command/CommandTypeGuards.d.ts.map +1 -0
  109. package/dist/src/runtime/command/CommandValidator.d.ts +15 -0
  110. package/dist/src/runtime/command/CommandValidator.d.ts.map +1 -0
  111. package/dist/src/runtime/parser.d.ts +48 -0
  112. package/dist/src/runtime/parser.d.ts.map +1 -0
  113. package/dist/src/runtime/registry/CommandRegistry.d.ts +89 -0
  114. package/dist/src/runtime/registry/CommandRegistry.d.ts.map +1 -0
  115. package/dist/src/runtime/registry/DefaultCommandRegistry.d.ts +51 -0
  116. package/dist/src/runtime/registry/DefaultCommandRegistry.d.ts.map +1 -0
  117. package/dist/src/runtime/registry/DefaultServiceProviderRegistry.d.ts +12 -0
  118. package/dist/src/runtime/registry/DefaultServiceProviderRegistry.d.ts.map +1 -0
  119. package/dist/src/runtime/registry/ServiceProviderRegistry.d.ts +11 -0
  120. package/dist/src/runtime/registry/ServiceProviderRegistry.d.ts.map +1 -0
  121. package/dist/src/runtime/runner.d.ts +76 -0
  122. package/dist/src/runtime/runner.d.ts.map +1 -0
  123. package/dist/src/runtime/scanner.d.ts +69 -0
  124. package/dist/src/runtime/scanner.d.ts.map +1 -0
  125. package/dist/src/runtime/values/ValuePopulationResult.d.ts +34 -0
  126. package/dist/src/runtime/values/ValuePopulationResult.d.ts.map +1 -0
  127. package/dist/src/runtime/values/argumentValueMerge.d.ts +13 -0
  128. package/dist/src/runtime/values/argumentValueMerge.d.ts.map +1 -0
  129. package/dist/src/runtime/values/argumentValueValidation.d.ts +33 -0
  130. package/dist/src/runtime/values/argumentValueValidation.d.ts.map +1 -0
  131. package/dist/src/runtime/values/globalCommandValuePopulation.d.ts +12 -0
  132. package/dist/src/runtime/values/globalCommandValuePopulation.d.ts.map +1 -0
  133. package/dist/src/runtime/values/subCommandValuePopulation.d.ts +12 -0
  134. package/dist/src/runtime/values/subCommandValuePopulation.d.ts.map +1 -0
  135. package/dist/src/service/argumentPrompter/ArgumentPrompterServiceProvider.d.ts +13 -0
  136. package/dist/src/service/argumentPrompter/ArgumentPrompterServiceProvider.d.ts.map +1 -0
  137. package/dist/src/service/argumentPrompter/DefaultArgumentPrompterService.d.ts +9 -0
  138. package/dist/src/service/argumentPrompter/DefaultArgumentPrompterService.d.ts.map +1 -0
  139. package/dist/src/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.d.ts +20 -0
  140. package/dist/src/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.d.ts.map +1 -0
  141. package/dist/src/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.d.ts +12 -0
  142. package/dist/src/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.d.ts.map +1 -0
  143. package/dist/src/service/banner/BannerServiceProvider.d.ts +29 -0
  144. package/dist/src/service/banner/BannerServiceProvider.d.ts.map +1 -0
  145. package/dist/src/service/banner/command/NoBannerCommand.d.ts +19 -0
  146. package/dist/src/service/banner/command/NoBannerCommand.d.ts.map +1 -0
  147. package/dist/src/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.d.ts +22 -0
  148. package/dist/src/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.d.ts.map +1 -0
  149. package/dist/src/service/completion/CompletionServiceProvider.d.ts +14 -0
  150. package/dist/src/service/completion/CompletionServiceProvider.d.ts.map +1 -0
  151. package/dist/src/service/completion/DefaultCompletionService.d.ts +17 -0
  152. package/dist/src/service/completion/DefaultCompletionService.d.ts.map +1 -0
  153. package/dist/src/service/completion/shell/ShellHandler.d.ts +13 -0
  154. package/dist/src/service/completion/shell/ShellHandler.d.ts.map +1 -0
  155. package/dist/src/service/completion/shell/bash.d.ts +11 -0
  156. package/dist/src/service/completion/shell/bash.d.ts.map +1 -0
  157. package/dist/src/service/completion/shell/fish.d.ts +11 -0
  158. package/dist/src/service/completion/shell/fish.d.ts.map +1 -0
  159. package/dist/src/service/completion/shell/powershell.d.ts +11 -0
  160. package/dist/src/service/completion/shell/powershell.d.ts.map +1 -0
  161. package/dist/src/service/completion/shell/zsh.d.ts +11 -0
  162. package/dist/src/service/completion/shell/zsh.d.ts.map +1 -0
  163. package/dist/src/service/configuration/ConfigurationServiceProvider.d.ts +196 -0
  164. package/dist/src/service/configuration/ConfigurationServiceProvider.d.ts.map +1 -0
  165. package/dist/src/service/configuration/DefaultKeyValueService.d.ts +14 -0
  166. package/dist/src/service/configuration/DefaultKeyValueService.d.ts.map +1 -0
  167. package/dist/src/service/configuration/DefaultSecretService.d.ts +27 -0
  168. package/dist/src/service/configuration/DefaultSecretService.d.ts.map +1 -0
  169. package/dist/src/service/configuration/command/ConfigCommand.d.ts +19 -0
  170. package/dist/src/service/configuration/command/ConfigCommand.d.ts.map +1 -0
  171. package/dist/src/service/configuration/command/DumpConfigCommand.d.ts +14 -0
  172. package/dist/src/service/configuration/command/DumpConfigCommand.d.ts.map +1 -0
  173. package/dist/src/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.d.ts +12 -0
  174. package/dist/src/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.d.ts.map +1 -0
  175. package/dist/src/service/dataDumpGenerator/DefaultDataDumpGeneratorService.d.ts +10 -0
  176. package/dist/src/service/dataDumpGenerator/DefaultDataDumpGeneratorService.d.ts.map +1 -0
  177. package/dist/src/service/imagePrinter/DefaultImagePrinterService.d.ts +8 -0
  178. package/dist/src/service/imagePrinter/DefaultImagePrinterService.d.ts.map +1 -0
  179. package/dist/src/service/imagePrinter/ImagePrinterServiceProvider.d.ts +13 -0
  180. package/dist/src/service/imagePrinter/ImagePrinterServiceProvider.d.ts.map +1 -0
  181. package/dist/src/service/plugin/DefaultPluginService.d.ts +15 -0
  182. package/dist/src/service/plugin/DefaultPluginService.d.ts.map +1 -0
  183. package/dist/src/service/plugin/DefaultPluginServiceProvider.d.ts +13 -0
  184. package/dist/src/service/plugin/DefaultPluginServiceProvider.d.ts.map +1 -0
  185. package/dist/src/service/prettyPrinter/DefaultPrettyPrinterService.d.ts +13 -0
  186. package/dist/src/service/prettyPrinter/DefaultPrettyPrinterService.d.ts.map +1 -0
  187. package/dist/src/service/prettyPrinter/PrettyPrinterServiceProvider.d.ts +20 -0
  188. package/dist/src/service/prettyPrinter/PrettyPrinterServiceProvider.d.ts.map +1 -0
  189. package/dist/src/service/printer/DefaultPrinterService.d.ts +61 -0
  190. package/dist/src/service/printer/DefaultPrinterService.d.ts.map +1 -0
  191. package/dist/src/service/printer/PrinterServiceProvider.d.ts +22 -0
  192. package/dist/src/service/printer/PrinterServiceProvider.d.ts.map +1 -0
  193. package/dist/src/service/printer/command/DarkModeCommand.d.ts +19 -0
  194. package/dist/src/service/printer/command/DarkModeCommand.d.ts.map +1 -0
  195. package/dist/src/service/printer/command/LogLevelCommand.d.ts +19 -0
  196. package/dist/src/service/printer/command/LogLevelCommand.d.ts.map +1 -0
  197. package/dist/src/service/printer/command/NoColorCommand.d.ts +19 -0
  198. package/dist/src/service/printer/command/NoColorCommand.d.ts.map +1 -0
  199. package/dist/src/service/printer/command/NoHyperlinksCommand.d.ts +16 -0
  200. package/dist/src/service/printer/command/NoHyperlinksCommand.d.ts.map +1 -0
  201. package/dist/src/service/printer/terminal/Color.d.ts +15 -0
  202. package/dist/src/service/printer/terminal/Color.d.ts.map +1 -0
  203. package/dist/src/service/printer/terminal/Progress.d.ts +20 -0
  204. package/dist/src/service/printer/terminal/Progress.d.ts.map +1 -0
  205. package/dist/src/service/printer/terminal/Spinner.d.ts +16 -0
  206. package/dist/src/service/printer/terminal/Spinner.d.ts.map +1 -0
  207. package/dist/src/service/printer/terminal/Theme.d.ts +3 -0
  208. package/dist/src/service/printer/terminal/Theme.d.ts.map +1 -0
  209. package/dist/src/service/prompter/DefaultPrompterService.d.ts +21 -0
  210. package/dist/src/service/prompter/DefaultPrompterService.d.ts.map +1 -0
  211. package/dist/src/service/prompter/PrompterServiceProvider.d.ts +13 -0
  212. package/dist/src/service/prompter/PrompterServiceProvider.d.ts.map +1 -0
  213. package/dist/src/service/prompter/command/NoPromptCommand.d.ts +16 -0
  214. package/dist/src/service/prompter/command/NoPromptCommand.d.ts.map +1 -0
  215. package/dist/src/service/prompter/prompt/PromptContext.d.ts +15 -0
  216. package/dist/src/service/prompter/prompt/PromptContext.d.ts.map +1 -0
  217. package/dist/src/service/prompter/prompt/promptAcknowledge.d.ts +4 -0
  218. package/dist/src/service/prompter/prompt/promptAcknowledge.d.ts.map +1 -0
  219. package/dist/src/service/prompter/prompt/promptMultiSelect.d.ts +4 -0
  220. package/dist/src/service/prompter/prompt/promptMultiSelect.d.ts.map +1 -0
  221. package/dist/src/service/prompter/prompt/promptOpenUrl.d.ts +4 -0
  222. package/dist/src/service/prompter/prompt/promptOpenUrl.d.ts.map +1 -0
  223. package/dist/src/service/prompter/prompt/promptSingleSelect.d.ts +4 -0
  224. package/dist/src/service/prompter/prompt/promptSingleSelect.d.ts.map +1 -0
  225. package/dist/src/service/prompter/prompt/promptText.d.ts +4 -0
  226. package/dist/src/service/prompter/prompt/promptText.d.ts.map +1 -0
  227. package/dist/src/service/prompter/prompt/promptToggle.d.ts +4 -0
  228. package/dist/src/service/prompter/prompt/promptToggle.d.ts.map +1 -0
  229. package/dist/src/service/shutdown/DefaultShutdownService.d.ts +9 -0
  230. package/dist/src/service/shutdown/DefaultShutdownService.d.ts.map +1 -0
  231. package/dist/src/service/shutdown/ShutdownServiceProvider.d.ts +15 -0
  232. package/dist/src/service/shutdown/ShutdownServiceProvider.d.ts.map +1 -0
  233. package/dist/src/service/shutdown/ShutdownState.d.ts +6 -0
  234. package/dist/src/service/shutdown/ShutdownState.d.ts.map +1 -0
  235. package/dist/src/service/syntaxHighlighter/DefaultSyntaxHighlighterService.d.ts +17 -0
  236. package/dist/src/service/syntaxHighlighter/DefaultSyntaxHighlighterService.d.ts.map +1 -0
  237. package/dist/src/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.d.ts +20 -0
  238. package/dist/src/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.d.ts.map +1 -0
  239. package/dist/src/service/tableGenerator/DefaultTableGeneratorService.d.ts +10 -0
  240. package/dist/src/service/tableGenerator/DefaultTableGeneratorService.d.ts.map +1 -0
  241. package/dist/src/service/tableGenerator/TableGeneratorServiceProvider.d.ts +12 -0
  242. package/dist/src/service/tableGenerator/TableGeneratorServiceProvider.d.ts.map +1 -0
  243. package/dist/src/service/treePrinter/DefaultTreePrinterService.d.ts +10 -0
  244. package/dist/src/service/treePrinter/DefaultTreePrinterService.d.ts.map +1 -0
  245. package/dist/src/service/treePrinter/TreePrinterServiceProvider.d.ts +12 -0
  246. package/dist/src/service/treePrinter/TreePrinterServiceProvider.d.ts.map +1 -0
  247. package/dist/src/terminal/Ansi.d.ts +14 -0
  248. package/dist/src/terminal/Ansi.d.ts.map +1 -0
  249. package/dist/src/terminal/ImageRenderer.d.ts +7 -0
  250. package/dist/src/terminal/ImageRenderer.d.ts.map +1 -0
  251. package/dist/src/terminal/KeyReader.d.ts +22 -0
  252. package/dist/src/terminal/KeyReader.d.ts.map +1 -0
  253. package/dist/src/terminal/PngDecoder.d.ts +6 -0
  254. package/dist/src/terminal/PngDecoder.d.ts.map +1 -0
  255. package/dist/src/terminal/Styler.d.ts +9 -0
  256. package/dist/src/terminal/Styler.d.ts.map +1 -0
  257. package/dist/src/terminal/Terminal.d.ts +10 -0
  258. package/dist/src/terminal/Terminal.d.ts.map +1 -0
  259. package/dist/src/terminal/TtyKeyReader.d.ts +11 -0
  260. package/dist/src/terminal/TtyKeyReader.d.ts.map +1 -0
  261. package/dist/src/terminal/TtyStyler.d.ts +19 -0
  262. package/dist/src/terminal/TtyStyler.d.ts.map +1 -0
  263. package/dist/src/terminal/TtyTerminal.d.ts +14 -0
  264. package/dist/src/terminal/TtyTerminal.d.ts.map +1 -0
  265. package/dist/src/terminal/supportsHyperlinks.d.ts +3 -0
  266. package/dist/src/terminal/supportsHyperlinks.d.ts.map +1 -0
  267. package/dist/src/util/configHelper.d.ts +22 -0
  268. package/dist/src/util/configHelper.d.ts.map +1 -0
  269. package/dist/src/util/envVarHelper.d.ts +21 -0
  270. package/dist/src/util/envVarHelper.d.ts.map +1 -0
  271. package/dist/src/util/helpHelper.d.ts +26 -0
  272. package/dist/src/util/helpHelper.d.ts.map +1 -0
  273. package/dist/src/util/logger.d.ts +18 -0
  274. package/dist/src/util/logger.d.ts.map +1 -0
  275. package/dist/src/util/runnerHelper.d.ts +9 -0
  276. package/dist/src/util/runnerHelper.d.ts.map +1 -0
  277. package/dist/tests/cli/BaseCLI.test.d.ts +2 -0
  278. package/dist/tests/cli/BaseCLI.test.d.ts.map +1 -0
  279. package/dist/tests/cli/DynamicPluginRuntimeCLI.test.d.ts +2 -0
  280. package/dist/tests/cli/DynamicPluginRuntimeCLI.test.d.ts.map +1 -0
  281. package/dist/tests/command/CompletionCommand.test.d.ts +2 -0
  282. package/dist/tests/command/CompletionCommand.test.d.ts.map +1 -0
  283. package/dist/tests/command/MultiCommandCliHelpCommand.test.d.ts +2 -0
  284. package/dist/tests/command/MultiCommandCliHelpCommand.test.d.ts.map +1 -0
  285. package/dist/tests/command/SingleCommandCliHelpCommand.test.d.ts +2 -0
  286. package/dist/tests/command/SingleCommandCliHelpCommand.test.d.ts.map +1 -0
  287. package/dist/tests/command/UsageCommand.test.d.ts +2 -0
  288. package/dist/tests/command/UsageCommand.test.d.ts.map +1 -0
  289. package/dist/tests/command/VersionCommand.test.d.ts +2 -0
  290. package/dist/tests/command/VersionCommand.test.d.ts.map +1 -0
  291. package/dist/tests/fixtures/CLIConfig.d.ts +3 -0
  292. package/dist/tests/fixtures/CLIConfig.d.ts.map +1 -0
  293. package/dist/tests/fixtures/Command.d.ts +20 -0
  294. package/dist/tests/fixtures/Command.d.ts.map +1 -0
  295. package/{tests/fixtures/CommandRegistry.ts → dist/tests/fixtures/CommandRegistry.d.ts} +2 -4
  296. package/dist/tests/fixtures/CommandRegistry.d.ts.map +1 -0
  297. package/dist/tests/fixtures/ConfigurationServiceProvider.d.ts +10 -0
  298. package/dist/tests/fixtures/ConfigurationServiceProvider.d.ts.map +1 -0
  299. package/dist/tests/fixtures/Context.d.ts +4 -0
  300. package/dist/tests/fixtures/Context.d.ts.map +1 -0
  301. package/dist/tests/fixtures/ServiceProviderRegistry.d.ts +4 -0
  302. package/dist/tests/fixtures/ServiceProviderRegistry.d.ts.map +1 -0
  303. package/dist/tests/fixtures/StreamString.d.ts +10 -0
  304. package/dist/tests/fixtures/StreamString.d.ts.map +1 -0
  305. package/dist/tests/fixtures/prettierPluginFoo.d.ts +4 -0
  306. package/dist/tests/fixtures/prettierPluginFoo.d.ts.map +1 -0
  307. package/dist/tests/fixtures/util.d.ts +8 -0
  308. package/dist/tests/fixtures/util.d.ts.map +1 -0
  309. package/dist/tests/runtime/DefaultContext.test.d.ts +2 -0
  310. package/dist/tests/runtime/DefaultContext.test.d.ts.map +1 -0
  311. package/dist/tests/runtime/argument/ArgumentTypeGuards.test.d.ts +2 -0
  312. package/dist/tests/runtime/argument/ArgumentTypeGuards.test.d.ts.map +1 -0
  313. package/dist/tests/runtime/command/CommandTypeGuards.test.d.ts +2 -0
  314. package/dist/tests/runtime/command/CommandTypeGuards.test.d.ts.map +1 -0
  315. package/dist/tests/runtime/command/CommandValidator.test.d.ts +2 -0
  316. package/dist/tests/runtime/command/CommandValidator.test.d.ts.map +1 -0
  317. package/dist/tests/runtime/parser.test.d.ts +2 -0
  318. package/dist/tests/runtime/parser.test.d.ts.map +1 -0
  319. package/dist/tests/runtime/registry/DefaultCommandRegistry.test.d.ts +2 -0
  320. package/dist/tests/runtime/registry/DefaultCommandRegistry.test.d.ts.map +1 -0
  321. package/dist/tests/runtime/registry/DefaultServiceProviderRegistry.test.d.ts +2 -0
  322. package/dist/tests/runtime/registry/DefaultServiceProviderRegistry.test.d.ts.map +1 -0
  323. package/dist/tests/runtime/runner.test.d.ts +2 -0
  324. package/dist/tests/runtime/runner.test.d.ts.map +1 -0
  325. package/dist/tests/runtime/scanner.test.d.ts +2 -0
  326. package/dist/tests/runtime/scanner.test.d.ts.map +1 -0
  327. package/dist/tests/runtime/values/argumentValueMerge.test.d.ts +2 -0
  328. package/dist/tests/runtime/values/argumentValueMerge.test.d.ts.map +1 -0
  329. package/dist/tests/runtime/values/argumentValueValidation.test.d.ts +2 -0
  330. package/dist/tests/runtime/values/argumentValueValidation.test.d.ts.map +1 -0
  331. package/dist/tests/runtime/values/globalCommandValuePopulation.test.d.ts +2 -0
  332. package/dist/tests/runtime/values/globalCommandValuePopulation.test.d.ts.map +1 -0
  333. package/dist/tests/runtime/values/subCommandValuePopulation.test.d.ts +2 -0
  334. package/dist/tests/runtime/values/subCommandValuePopulation.test.d.ts.map +1 -0
  335. package/dist/tests/service/argumentPrompter/ArgumentPrompterServiceProvider.test.d.ts +2 -0
  336. package/dist/tests/service/argumentPrompter/ArgumentPrompterServiceProvider.test.d.ts.map +1 -0
  337. package/dist/tests/service/argumentPrompter/DefaultArgumentPrompterService.test.d.ts +2 -0
  338. package/dist/tests/service/argumentPrompter/DefaultArgumentPrompterService.test.d.ts.map +1 -0
  339. package/dist/tests/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.test.d.ts +2 -0
  340. package/dist/tests/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.test.d.ts.map +1 -0
  341. package/dist/tests/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.test.d.ts +2 -0
  342. package/dist/tests/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.test.d.ts.map +1 -0
  343. package/dist/tests/service/banner/BannerServiceProvider.test.d.ts +2 -0
  344. package/dist/tests/service/banner/BannerServiceProvider.test.d.ts.map +1 -0
  345. package/dist/tests/service/banner/command/NoBannerCommand.test.d.ts +2 -0
  346. package/dist/tests/service/banner/command/NoBannerCommand.test.d.ts.map +1 -0
  347. package/dist/tests/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.test.d.ts +2 -0
  348. package/dist/tests/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.test.d.ts.map +1 -0
  349. package/dist/tests/service/completion/CompletionServiceProvider.test.d.ts +2 -0
  350. package/dist/tests/service/completion/CompletionServiceProvider.test.d.ts.map +1 -0
  351. package/dist/tests/service/completion/DefaultCompletionService.test.d.ts +2 -0
  352. package/dist/tests/service/completion/DefaultCompletionService.test.d.ts.map +1 -0
  353. package/dist/tests/service/completion/shell/bash.test.d.ts +2 -0
  354. package/dist/tests/service/completion/shell/bash.test.d.ts.map +1 -0
  355. package/dist/tests/service/completion/shell/fish.test.d.ts +2 -0
  356. package/dist/tests/service/completion/shell/fish.test.d.ts.map +1 -0
  357. package/dist/tests/service/completion/shell/powershell.test.d.ts +2 -0
  358. package/dist/tests/service/completion/shell/powershell.test.d.ts.map +1 -0
  359. package/dist/tests/service/completion/shell/zsh.test.d.ts +2 -0
  360. package/dist/tests/service/completion/shell/zsh.test.d.ts.map +1 -0
  361. package/dist/tests/service/configuration/ConfigurationServiceProvider.test.d.ts +2 -0
  362. package/dist/tests/service/configuration/ConfigurationServiceProvider.test.d.ts.map +1 -0
  363. package/dist/tests/service/configuration/DefaultKeyValueService.test.d.ts +2 -0
  364. package/dist/tests/service/configuration/DefaultKeyValueService.test.d.ts.map +1 -0
  365. package/dist/tests/service/configuration/DefaultSecretService.test.d.ts +2 -0
  366. package/dist/tests/service/configuration/DefaultSecretService.test.d.ts.map +1 -0
  367. package/dist/tests/service/configuration/command/ConfigCommand.test.d.ts +2 -0
  368. package/dist/tests/service/configuration/command/ConfigCommand.test.d.ts.map +1 -0
  369. package/dist/tests/service/configuration/command/DumpConfigCommand.test.d.ts +2 -0
  370. package/dist/tests/service/configuration/command/DumpConfigCommand.test.d.ts.map +1 -0
  371. package/dist/tests/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.test.d.ts +2 -0
  372. package/dist/tests/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.test.d.ts.map +1 -0
  373. package/dist/tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.d.ts +2 -0
  374. package/dist/tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.d.ts.map +1 -0
  375. package/dist/tests/service/imagePrinter/DefaultImagePrinterService.test.d.ts +2 -0
  376. package/dist/tests/service/imagePrinter/DefaultImagePrinterService.test.d.ts.map +1 -0
  377. package/dist/tests/service/imagePrinter/ImagePrinterServiceProvider.test.d.ts +2 -0
  378. package/dist/tests/service/imagePrinter/ImagePrinterServiceProvider.test.d.ts.map +1 -0
  379. package/dist/tests/service/plugin/DefaultPluginServiceProvider.test.d.ts +2 -0
  380. package/dist/tests/service/plugin/DefaultPluginServiceProvider.test.d.ts.map +1 -0
  381. package/dist/tests/service/prettyPrinter/DefaultPrettyPrinterService.test.d.ts +2 -0
  382. package/dist/tests/service/prettyPrinter/DefaultPrettyPrinterService.test.d.ts.map +1 -0
  383. package/dist/tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.d.ts +2 -0
  384. package/dist/tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.d.ts.map +1 -0
  385. package/dist/tests/service/printer/DefaultPrinterService.test.d.ts +2 -0
  386. package/dist/tests/service/printer/DefaultPrinterService.test.d.ts.map +1 -0
  387. package/dist/tests/service/printer/PrinterServiceProvider.test.d.ts +2 -0
  388. package/dist/tests/service/printer/PrinterServiceProvider.test.d.ts.map +1 -0
  389. package/dist/tests/service/printer/command/DarkModeCommand.test.d.ts +2 -0
  390. package/dist/tests/service/printer/command/DarkModeCommand.test.d.ts.map +1 -0
  391. package/dist/tests/service/printer/command/LogLevelCommand.test.d.ts +2 -0
  392. package/dist/tests/service/printer/command/LogLevelCommand.test.d.ts.map +1 -0
  393. package/dist/tests/service/printer/command/NoColorCommand.test.d.ts +2 -0
  394. package/dist/tests/service/printer/command/NoColorCommand.test.d.ts.map +1 -0
  395. package/dist/tests/service/printer/command/NoHyperlinksCommand.test.d.ts +2 -0
  396. package/dist/tests/service/printer/command/NoHyperlinksCommand.test.d.ts.map +1 -0
  397. package/dist/tests/service/printer/terminal/Progress.test.d.ts +2 -0
  398. package/dist/tests/service/printer/terminal/Progress.test.d.ts.map +1 -0
  399. package/dist/tests/service/printer/terminal/Spinner.test.d.ts +2 -0
  400. package/dist/tests/service/printer/terminal/Spinner.test.d.ts.map +1 -0
  401. package/dist/tests/service/prompter/DefaultPrompterService.test.d.ts +2 -0
  402. package/dist/tests/service/prompter/DefaultPrompterService.test.d.ts.map +1 -0
  403. package/dist/tests/service/prompter/PrompterServiceProvider.test.d.ts +2 -0
  404. package/dist/tests/service/prompter/PrompterServiceProvider.test.d.ts.map +1 -0
  405. package/dist/tests/service/prompter/command/NoPromptCommand.test.d.ts +2 -0
  406. package/dist/tests/service/prompter/command/NoPromptCommand.test.d.ts.map +1 -0
  407. package/dist/tests/service/prompter/prompt/PromptContext.test.d.ts +2 -0
  408. package/dist/tests/service/prompter/prompt/PromptContext.test.d.ts.map +1 -0
  409. package/dist/tests/service/shutdown/ShutdownServiceProvider.test.d.ts +2 -0
  410. package/dist/tests/service/shutdown/ShutdownServiceProvider.test.d.ts.map +1 -0
  411. package/dist/tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.d.ts +2 -0
  412. package/dist/tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.d.ts.map +1 -0
  413. package/dist/tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.d.ts +2 -0
  414. package/dist/tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.d.ts.map +1 -0
  415. package/dist/tests/service/tableGenerator/DefaultTableGeneratorService.test.d.ts +2 -0
  416. package/dist/tests/service/tableGenerator/DefaultTableGeneratorService.test.d.ts.map +1 -0
  417. package/dist/tests/service/tableGenerator/TableGeneratorServiceProvider.test.d.ts +2 -0
  418. package/dist/tests/service/tableGenerator/TableGeneratorServiceProvider.test.d.ts.map +1 -0
  419. package/dist/tests/service/treePrinter/DefaultTreePrinterService.test.d.ts +2 -0
  420. package/dist/tests/service/treePrinter/DefaultTreePrinterService.test.d.ts.map +1 -0
  421. package/dist/tests/service/treePrinter/TreePrinterServiceProvider.test.d.ts +2 -0
  422. package/dist/tests/service/treePrinter/TreePrinterServiceProvider.test.d.ts.map +1 -0
  423. package/dist/tests/terminal/ImageRenderer.test.d.ts +2 -0
  424. package/dist/tests/terminal/ImageRenderer.test.d.ts.map +1 -0
  425. package/dist/tests/terminal/PngDecoder.test.d.ts +2 -0
  426. package/dist/tests/terminal/PngDecoder.test.d.ts.map +1 -0
  427. package/dist/tests/terminal/supportsHyperlinks.test.d.ts +2 -0
  428. package/dist/tests/terminal/supportsHyperlinks.test.d.ts.map +1 -0
  429. package/dist/tests/util/configHelper.test.d.ts +2 -0
  430. package/dist/tests/util/configHelper.test.d.ts.map +1 -0
  431. package/dist/tests/util/envVarHelper.test.d.ts +2 -0
  432. package/dist/tests/util/envVarHelper.test.d.ts.map +1 -0
  433. package/dist/tests/util/logger.test.d.ts +2 -0
  434. package/dist/tests/util/logger.test.d.ts.map +1 -0
  435. package/index.ts +15 -1
  436. package/package.json +28 -2
  437. package/src/api/plugin/CommandFactory.ts +25 -0
  438. package/src/api/plugin/ServiceProviderFactory.ts +27 -0
  439. package/src/api/service/core/PluginService.ts +63 -0
  440. package/src/cli/DynamicPluginRuntimeCLI.ts +77 -0
  441. package/src/command/PluginCommand.ts +184 -0
  442. package/src/launcher.ts +35 -0
  443. package/src/service/plugin/DefaultPluginService.ts +37 -0
  444. package/src/service/plugin/DefaultPluginServiceProvider.ts +29 -0
  445. package/.github/workflows/check-bun-dependencies.yml +0 -12
  446. package/.github/workflows/lint-pr-message.yml +0 -13
  447. package/.github/workflows/release-bun-library.yml +0 -15
  448. package/.github/workflows/validate-bun-library-pr.yml +0 -10
  449. package/README/core-commands.md +0 -40
  450. package/README/core-service-providers.md +0 -198
  451. package/README/development.md +0 -57
  452. package/README/implementation-details.md +0 -474
  453. package/README/key-concepts.md +0 -751
  454. package/bun.lock +0 -156
  455. package/tests/cli/BaseCLI.test.ts +0 -283
  456. package/tests/command/CompletionCommand.test.ts +0 -63
  457. package/tests/command/MultiCommandCliHelpCommand.test.ts +0 -496
  458. package/tests/command/SingleCommandCliHelpCommand.test.ts +0 -302
  459. package/tests/command/UsageCommand.test.ts +0 -48
  460. package/tests/command/VersionCommand.test.ts +0 -37
  461. package/tests/fixtures/CLIConfig.ts +0 -9
  462. package/tests/fixtures/Command.ts +0 -248
  463. package/tests/fixtures/ConfigurationServiceProvider.ts +0 -28
  464. package/tests/fixtures/Context.ts +0 -32
  465. package/tests/fixtures/ServiceProviderRegistry.ts +0 -16
  466. package/tests/fixtures/StreamString.ts +0 -37
  467. package/tests/fixtures/prettierPluginFoo.ts +0 -31
  468. package/tests/fixtures/util.ts +0 -35
  469. package/tests/runtime/DefaultContext.test.ts +0 -20
  470. package/tests/runtime/argument/ArgumentTypeGuards.test.ts +0 -47
  471. package/tests/runtime/command/CommandTypeGuards.test.ts +0 -43
  472. package/tests/runtime/command/CommandValidator.test.ts +0 -1196
  473. package/tests/runtime/parser.test.ts +0 -744
  474. package/tests/runtime/registry/DefaultCommandRegistry.test.ts +0 -144
  475. package/tests/runtime/registry/DefaultServiceProviderRegistry.test.ts +0 -36
  476. package/tests/runtime/runner.test.ts +0 -1284
  477. package/tests/runtime/scanner.test.ts +0 -915
  478. package/tests/runtime/values/argumentValueMerge.test.ts +0 -366
  479. package/tests/runtime/values/argumentValueValidation.test.ts +0 -1090
  480. package/tests/runtime/values/globalCommandValuePopulation.test.ts +0 -480
  481. package/tests/runtime/values/subCommandValuePopulation.test.ts +0 -2430
  482. package/tests/service/argumentPrompter/ArgumentPrompterServiceProvider.test.ts +0 -38
  483. package/tests/service/argumentPrompter/DefaultArgumentPrompterService.test.ts +0 -745
  484. package/tests/service/asciiBannerGenerator/AsciiBannerGeneratorServiceProvider.test.ts +0 -17
  485. package/tests/service/asciiBannerGenerator/DefaultAsciiBannerGeneratorService.test.ts +0 -208
  486. package/tests/service/asciiBannerGenerator/__snapshots__/DefaultAsciiBannerGeneratorService.test.ts.snap +0 -20
  487. package/tests/service/asciiBannerGenerator/small.flf.json +0 -3
  488. package/tests/service/banner/BannerServiceProvider.test.ts +0 -87
  489. package/tests/service/banner/__snapshots__/BannerServiceProvider.test.ts.snap +0 -16
  490. package/tests/service/banner/command/NoBannerCommand.test.ts +0 -18
  491. package/tests/service/chiselAsciiBannerGenerator/ChiselFontAsciiBannerGeneratorService.test.ts +0 -52
  492. package/tests/service/completion/CompletionServiceProvider.test.ts +0 -335
  493. package/tests/service/completion/DefaultCompletionService.test.ts +0 -216
  494. package/tests/service/completion/shell/bash.test.ts +0 -73
  495. package/tests/service/completion/shell/fish.test.ts +0 -60
  496. package/tests/service/completion/shell/powershell.test.ts +0 -59
  497. package/tests/service/completion/shell/zsh.test.ts +0 -60
  498. package/tests/service/configuration/ConfigurationServiceProvider.test.ts +0 -212
  499. package/tests/service/configuration/DefaultKeyValueService.test.ts +0 -155
  500. package/tests/service/configuration/DefaultSecretService.test.ts +0 -140
  501. package/tests/service/configuration/command/ConfigCommand.test.ts +0 -29
  502. package/tests/service/configuration/command/DumpConfigCommand.test.ts +0 -51
  503. package/tests/service/dataDumpGenerator/DataDumpGeneratorServiceProvider.test.ts +0 -51
  504. package/tests/service/dataDumpGenerator/DefaultDataDumpGeneratorService.test.ts +0 -208
  505. package/tests/service/imagePrinter/DefaultImagePrinterService.test.ts +0 -31
  506. package/tests/service/imagePrinter/ImagePrinterServiceProvider.test.ts +0 -17
  507. package/tests/service/prettyPrinter/DefaultPrettyPrinterService.test.ts +0 -46
  508. package/tests/service/prettyPrinter/PrettyPrinterServiceProvider.test.ts +0 -37
  509. package/tests/service/printer/DefaultPrinterService.test.ts +0 -530
  510. package/tests/service/printer/PrinterServiceProvider.test.ts +0 -34
  511. package/tests/service/printer/command/DarkModeCommand.test.ts +0 -75
  512. package/tests/service/printer/command/LogLevelCommand.test.ts +0 -47
  513. package/tests/service/printer/command/NoColorCommand.test.ts +0 -75
  514. package/tests/service/printer/command/NoHyperlinksCommand.test.ts +0 -75
  515. package/tests/service/printer/terminal/Progress.test.ts +0 -98
  516. package/tests/service/printer/terminal/Spinner.test.ts +0 -92
  517. package/tests/service/prompter/DefaultPrompterService.test.ts +0 -598
  518. package/tests/service/prompter/PrompterServiceProvider.test.ts +0 -41
  519. package/tests/service/prompter/command/NoPromptCommand.test.ts +0 -58
  520. package/tests/service/prompter/prompt/PromptContext.test.ts +0 -61
  521. package/tests/service/shutdown/ShutdownServiceProvider.test.ts +0 -13
  522. package/tests/service/syntaxHighlighter/DefaultSyntaxHighlighterService.test.ts +0 -101
  523. package/tests/service/syntaxHighlighter/SyntaxHighlighterServiceProvider.test.ts +0 -37
  524. package/tests/service/tableGenerator/DefaultTableGeneratorService.test.ts +0 -342
  525. package/tests/service/tableGenerator/TableGeneratorServiceProvider.test.ts +0 -47
  526. package/tests/service/treePrinter/DefaultTreePrinterService.test.ts +0 -142
  527. package/tests/service/treePrinter/TreePrinterServiceProvider.test.ts +0 -51
  528. package/tests/terminal/ImageRenderer.test.ts +0 -152
  529. package/tests/terminal/PngDecoder.test.ts +0 -219
  530. package/tests/terminal/supportsHyperlinks.test.ts +0 -149
  531. package/tests/util/configHelper.test.ts +0 -193
  532. package/tests/util/envVarHelper.test.ts +0 -254
  533. package/tests/util/logger.test.ts +0 -56
  534. package/tsconfig.json +0 -32
@@ -0,0 +1,12 @@
1
+ export default interface BaseCLIFeatureOptions {
2
+ readonly configFileSupportEnabled?: boolean;
3
+ readonly envVarsSupportEnabled?: boolean;
4
+ readonly keyValueServiceEnabled?: boolean;
5
+ readonly secretServiceEnabled?: boolean;
6
+ readonly argumentPrompterServiceEnabled?: boolean;
7
+ readonly completionServiceEnabled?: boolean;
8
+ readonly imagePrinterServiceEnabled?: boolean;
9
+ readonly validateAllCommands?: boolean;
10
+ readonly promptingEnabled?: boolean;
11
+ }
12
+ //# sourceMappingURL=BaseCLIFeatureOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseCLIFeatureOptions.d.ts","sourceRoot":"","sources":["../../../src/api/BaseCLIFeatureOptions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,qBAAqB;IAC5C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAC5C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC;IAClD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAC5C,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAC9C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Interface to be implemented by a CLI application.
3
+ */
4
+ import type RunResult from "./RunResult.ts";
5
+ import type CLIConfig from "./CLIConfig.ts";
6
+ export default interface CLI {
7
+ /**
8
+ * Run the CLI with the provided arguments which do not include the invoked executable name.
9
+ *
10
+ * @param args the arguments to parse.
11
+ * @param cliConfig the {@link CLIConfig} for the CLI application.
12
+ *
13
+ * @return result of parsing arguments and running appropriate {@link Command} instances.
14
+ */
15
+ run(args: ReadonlyArray<string>, cliConfig: CLIConfig): Promise<RunResult>;
16
+ }
17
+ //# sourceMappingURL=CLI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CLI.d.ts","sourceRoot":"","sources":["../../../src/api/CLI.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,MAAM,CAAC,OAAO,WAAW,GAAG;IAC1B;;;;;;;OAOG;IACH,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAC5E"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Interface specifying common configuration for a {@link CLI} application.
3
+ */
4
+ export default interface CLIConfig {
5
+ /**
6
+ * Name of the CLI application.
7
+ */
8
+ readonly name: string;
9
+ /**
10
+ * Optional description of the CLI application.
11
+ */
12
+ readonly description?: string;
13
+ /**
14
+ * Optional sub-message to display below the banner.
15
+ */
16
+ readonly subMessage?: string;
17
+ /**
18
+ * Version of the CLI application.
19
+ */
20
+ readonly version: string;
21
+ }
22
+ //# sourceMappingURL=CLIConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CLIConfig.d.ts","sourceRoot":"","sources":["../../../src/api/CLIConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,SAAS;IAChC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Interface allowing a {@link CLI} to pass context to a {@link Command} instance.
3
+ */
4
+ import type CLIConfig from "./CLIConfig.ts";
5
+ export default interface Context {
6
+ /**
7
+ * The {@link CLIConfig} in use by the {@link CLI}.
8
+ */
9
+ readonly cliConfig: CLIConfig;
10
+ /**
11
+ * Return the service identified by the specified ID.
12
+ *
13
+ * @param id the ID of the service to retrieve.
14
+ */
15
+ getServiceById(id: string): unknown;
16
+ /**
17
+ * Check if the specified service exists in the context.
18
+ *
19
+ * @param id the ID of the desired service.
20
+ */
21
+ doesServiceExist(id: string): boolean;
22
+ }
23
+ //# sourceMappingURL=Context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../src/api/Context.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,MAAM,CAAC,OAAO,WAAW,OAAO;IAC9B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B;;;;OAIG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAEpC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;CACvC"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * State of a {@link CLI} after invocation.
3
+ */
4
+ import type Command from "./command/Command.ts";
5
+ import type Argument from "./argument/Argument.ts";
6
+ import type ComplexOption from "./argument/ComplexOption.ts";
7
+ import type { PopulatedArgumentValues, PopulatedArgumentValueType } from "./argument/ArgumentValueTypes.ts";
8
+ export declare enum RunState {
9
+ /**
10
+ * Arguments were successfully parsed and the specified command(s) were successfully executed.
11
+ */
12
+ SUCCESS = 0,
13
+ /**
14
+ * The arguments supplied were invalid or could not be parsed.
15
+ */
16
+ PARSE_ERROR = 1,
17
+ /**
18
+ * Arguments were successfully parsed but no command was discovered.
19
+ */
20
+ NO_COMMAND = 2,
21
+ /**
22
+ * Arguments were successfully parsed and command(s) discovered but command execution failed.
23
+ */
24
+ EXECUTION_ERROR = 3,
25
+ /**
26
+ * General runtime error related to the framework.
27
+ */
28
+ RUNTIME_ERROR = 4,
29
+ /**
30
+ * Execution was interrupted by a signal (e.g. Ctrl-C or SIGTERM).
31
+ */
32
+ INTERRUPTED = 130
33
+ }
34
+ /**
35
+ * Possible reasons for an invalid argument.
36
+ */
37
+ export declare enum InvalidArgumentReason {
38
+ /**
39
+ * The argument value was not specified.
40
+ */
41
+ MISSING_VALUE = 0,
42
+ /**
43
+ * The value specified was not the correct type for the argument.
44
+ */
45
+ INCORRECT_VALUE_TYPE = 1,
46
+ /**
47
+ * The argument does not support multiple values.
48
+ */
49
+ ILLEGAL_MULTIPLE_VALUES = 2,
50
+ /**
51
+ * The value specified was not one of the defined allowable values for the argument.
52
+ */
53
+ ILLEGAL_VALUE = 3,
54
+ /**
55
+ * The arguments specified resulted in a sparse array of values.
56
+ */
57
+ ILLEGAL_SPARSE_ARRAY = 4,
58
+ /**
59
+ * The argument specified an unknown complex option property.
60
+ */
61
+ UNKNOWN_PROPERTY = 5,
62
+ /**
63
+ * Complex option nesting exceeds maximum of {@link MAXIMUM_COMPLEX_OPTION_NESTING_DEPTH}.
64
+ */
65
+ NESTING_DEPTH_EXCEEDED = 6,
66
+ /**
67
+ * Array value nesting exceeds maximum of {@link MAXIMUM_ARGUMENT_ARRAY_SIZE}.
68
+ */
69
+ ARRAY_SIZE_EXCEEDED = 7,
70
+ /**
71
+ * Attempt to set a primitive value on a complex object object.
72
+ */
73
+ OPTION_IS_COMPLEX = 8,
74
+ /**
75
+ * The value failed a custom validation function defined on the argument.
76
+ */
77
+ CUSTOM_VALIDATION = 9
78
+ }
79
+ /**
80
+ * Details of an invalid parsed argument.
81
+ */
82
+ export interface InvalidArgument {
83
+ /**
84
+ * A reason for the parsing error
85
+ */
86
+ readonly reason: InvalidArgumentReason;
87
+ /**
88
+ * The name of the argument specified (if it was able to be populated)
89
+ */
90
+ readonly name?: string;
91
+ /**
92
+ * The {@link Argument} (if it was able to be populated)
93
+ */
94
+ readonly argument?: Argument | ComplexOption;
95
+ /**
96
+ * The argument value (if it was able to be populated).
97
+ *
98
+ * NOTE: This value is unlikely to be valid as it is the cause of the invalid argument error.
99
+ */
100
+ readonly value?: PopulatedArgumentValues | PopulatedArgumentValueType | Array<PopulatedArgumentValues | PopulatedArgumentValueType>;
101
+ /**
102
+ * An optional message providing detail about the validation failure.
103
+ * Populated when {@link reason} is {@link InvalidArgumentReason.CUSTOM_VALIDATION}.
104
+ */
105
+ readonly message?: string;
106
+ }
107
+ /**
108
+ * Result of a {@link CLI} invocation.
109
+ */
110
+ export default interface RunResult {
111
+ /**
112
+ * The state after processing the invocation.
113
+ */
114
+ readonly runState: RunState;
115
+ /**
116
+ * Populated if {@link runState} is {@link RunState.SUCCESS}, {@link RunState.PARSE_ERROR} or {@link RunState.EXECUTION_ERROR}.
117
+ */
118
+ readonly command?: Command;
119
+ /**
120
+ * Populated if {@link runState} is {@link RunState.PARSE_ERROR}
121
+ */
122
+ readonly invalidArguments?: ReadonlyArray<InvalidArgument>;
123
+ /**
124
+ * Populated if {@link runState} is {@link RunState.EXECUTION_ERROR} or {@link RunState.RUNTIME_ERROR}.
125
+ */
126
+ readonly error?: Error;
127
+ }
128
+ //# sourceMappingURL=RunResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RunResult.d.ts","sourceRoot":"","sources":["../../../src/api/RunResult.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,aAAa,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EACV,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,kCAAkC,CAAC;AAE1C,oBAAY,QAAQ;IAClB;;OAEG;IACH,OAAO,IAAI;IAEX;;OAEG;IACH,WAAW,IAAI;IAEf;;OAEG;IACH,UAAU,IAAI;IAEd;;OAEG;IACH,eAAe,IAAI;IAEnB;;OAEG;IACH,aAAa,IAAI;IAEjB;;OAEG;IACH,WAAW,MAAM;CAClB;AAED;;GAEG;AACH,oBAAY,qBAAqB;IAC/B;;OAEG;IACH,aAAa,IAAI;IAEjB;;OAEG;IACH,oBAAoB,IAAI;IAExB;;OAEG;IACH,uBAAuB,IAAI;IAE3B;;OAEG;IACH,aAAa,IAAI;IAEjB;;OAEG;IACH,oBAAoB,IAAI;IAExB;;OAEG;IACH,gBAAgB,IAAI;IAEpB;;OAEG;IACH,sBAAsB,IAAI;IAE1B;;OAEG;IACH,mBAAmB,IAAI;IAEvB;;OAEG;IACH,iBAAiB,IAAI;IAErB;;OAEG;IACH,iBAAiB,IAAI;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC;IAE7C;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EACX,uBAAuB,GACvB,0BAA0B,GAC1B,KAAK,CAAC,uBAAuB,GAAG,0BAA0B,CAAC,CAAC;IAEhE;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,SAAS;IAChC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAE3D;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACxB"}
@@ -0,0 +1,62 @@
1
+ import type { ArgumentSingleValueType, ArgumentValues, ArgumentValueType, ArgumentValueTypeName } from "./ArgumentValueTypes.ts";
2
+ /**
3
+ * Interface to be implemented by all {@link Command} arguments.
4
+ */
5
+ export default interface Argument {
6
+ /**
7
+ * Type of the argument value.
8
+ */
9
+ readonly type: ArgumentValueTypeName;
10
+ /**
11
+ * Optional list of values that the value must match. This is not supported for {@link ArgumentValueTypeName.BOOLEAN}.
12
+ */
13
+ readonly allowableValues?: ReadonlyArray<ArgumentSingleValueType>;
14
+ /**
15
+ * Optional (default is `false`) for {@link ArgumentValueTypeName.STRING} when comparing a value against {@link allowableValues}.
16
+ */
17
+ readonly isCaseInsensitive?: boolean;
18
+ /**
19
+ * Optional for {@link ArgumentValueTypeName.INTEGER} or {@link ArgumentValueTypeName.NUMBER} when validating a value.
20
+ */
21
+ readonly minValueInclusive?: number;
22
+ /**
23
+ * Optional for {@link ArgumentValueTypeName.INTEGER} or {@link ArgumentValueTypeName.NUMBER} when validating a value.
24
+ */
25
+ readonly maxValueInclusive?: number;
26
+ /**
27
+ * Optional configuration key to use for the argument. Must consist of alphanumeric non-whitespace uppercase
28
+ * ASCII or `_` characters. Must not start with a digit.
29
+ *
30
+ * If not specified a default configuration key is determined as follows: The {@link SubCommandArgument.name} is capitalized
31
+ * and any `-` characters are replaced with `_` characters. If the result starts with a digit, it is
32
+ * prefixed with `_`. Some examples:
33
+ *
34
+ * * name: `FooBar` => configuration key: `FOOBAR`
35
+ * * name: `Hello-World-` => configuration key: `HELLO_WORLD_`
36
+ * * name: `3` => configuration key: `_3`
37
+ *
38
+ * NOTE: Regardless of whether a {@link configurationKey} is specified, or the default is relied upon,
39
+ * it will only be used if the parent {@link Command} has specified {@link Command.enableConfiguration} as `true`.
40
+ */
41
+ readonly configurationKey?: string;
42
+ /**
43
+ * Optional custom validation function invoked after all built-in validation
44
+ * has passed. Receives the validated and type-converted value.
45
+ *
46
+ * Return `undefined` if the value is valid, or a string describing the
47
+ * validation error. The error string is associated with
48
+ * {@link InvalidArgumentReason.CUSTOM_VALIDATION}.
49
+ *
50
+ * Example: ensure array values are unique:
51
+ * ```typescript
52
+ * validate: (value) => {
53
+ * const arr = value as string[];
54
+ * return new Set(arr).size !== arr.length
55
+ * ? "values must be unique"
56
+ * : undefined;
57
+ * }
58
+ * ```
59
+ */
60
+ readonly validate?: (value: ArgumentValueType | ArgumentValues | Array<ArgumentValues>) => string | undefined;
61
+ }
62
+ //# sourceMappingURL=Argument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Argument.d.ts","sourceRoot":"","sources":["../../../../src/api/argument/Argument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,QAAQ;IAC/B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAElE;;OAEG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAEpC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAClB,KAAK,EAAE,iBAAiB,GAAG,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,KAC9D,MAAM,GAAG,SAAS,CAAC;CACzB"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * The type of single {@link Argument} values which are supported.
3
+ *
4
+ * NOTE: JavaScript does not have a special runtime value for INTEGER so this is covered by `number`.
5
+ * NOTE: `string` is also used for PASSWORD values.
6
+ */
7
+ export type ArgumentSingleValueType = number | string | boolean;
8
+ /**
9
+ * The type of the value to be parsed as an argument can be: `boolean`, `number` or `string` or an array of these.
10
+ */
11
+ export type ArgumentValueType = ArgumentSingleValueType | Array<ArgumentSingleValueType>;
12
+ /**
13
+ * A container object for populated argument values.
14
+ *
15
+ * The following are all valid examples:
16
+ *
17
+ * * `{ }`
18
+ * * `{ foo: 1 }`
19
+ * * `{ foo: true }`
20
+ * * `{ foo: 'bar' }`
21
+ * * `{ foo: [ 1, 2 ] }`
22
+ * * `{ foo: [ true, true ] }`
23
+ * * `{ foo: [ 'bar', 'gar' ] }`
24
+ * * `{ foo: { a: 1 } }`
25
+ * * `{ foo: { a: { b: 'c'} } }`
26
+ * * `{ foo: [ { a: { b: 'c'} }, { a: { b: 'c'} } ] }`
27
+ *
28
+ * An array of arrays is not allowed, so the following is an INVALID example:
29
+ *
30
+ * * `{ foo: [ [ 1, 2 ], [3, 4 ] ] }`
31
+ */
32
+ export type ArgumentValues = {
33
+ [argName: string]: ArgumentValueType | ArgumentValues | Array<ArgumentValues>;
34
+ };
35
+ /**
36
+ * Enum of possible {@link Argument} value types.
37
+ */
38
+ export declare enum ArgumentValueTypeName {
39
+ STRING = 0,
40
+ NUMBER = 1,
41
+ INTEGER = 2,
42
+ BOOLEAN = 3,
43
+ SECRET = 4
44
+ }
45
+ /**
46
+ * Only possible value for {@link ComplexOption.type}.
47
+ */
48
+ export declare enum ComplexValueTypeName {
49
+ COMPLEX = 5
50
+ }
51
+ /**
52
+ * Populated single value type is very similar to {@link ArgumentSingleValueType} but allows for an illegal
53
+ * undefined value.
54
+ */
55
+ export type PopulatedArgumentSingleValueType = ArgumentSingleValueType | undefined;
56
+ /**
57
+ * Populated argument value types are very similar to {@link ArgumentValueType} but allow for illegal
58
+ * undefined values.
59
+ */
60
+ export type PopulatedArgumentValueType = PopulatedArgumentSingleValueType | Array<PopulatedArgumentSingleValueType>;
61
+ /**
62
+ * Populated values are very similar to {@link ArgumentValues} but allow for illegal
63
+ * undefined properties and array entries.
64
+ */
65
+ export interface PopulatedArgumentValues {
66
+ [argName: string]: PopulatedArgumentValueType | PopulatedArgumentValues | Array<PopulatedArgumentValues | undefined> | undefined;
67
+ }
68
+ //# sourceMappingURL=ArgumentValueTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgumentValueTypes.d.ts","sourceRoot":"","sources":["../../../../src/api/argument/ArgumentValueTypes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAEzF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;CAC/E,CAAC;AAEF;;GAEG;AACH,oBAAY,qBAAqB;IAC/B,MAAM,IAAI;IACV,MAAM,IAAI;IACV,OAAO,IAAI;IACX,OAAO,IAAI;IACX,MAAM,IAAI;CACX;AAED;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,OAAO,IAAI;CACZ;AAED;;;GAGG;AACH,MAAM,MAAM,gCAAgC,GAAG,uBAAuB,GAAG,SAAS,CAAC;AAEnF;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAClC,gCAAgC,GAChC,KAAK,CAAC,gCAAgC,CAAC,CAAC;AAE5C;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,CAAC,OAAO,EAAE,MAAM,GACZ,0BAA0B,GAC1B,uBAAuB,GACvB,KAAK,CAAC,uBAAuB,GAAG,SAAS,CAAC,GAC1C,SAAS,CAAC;CACf"}
@@ -0,0 +1,21 @@
1
+ import type Option from "./Option.ts";
2
+ import type { ArgumentValues, ComplexValueTypeName } from "./ArgumentValueTypes.ts";
3
+ export declare const MAXIMUM_COMPLEX_OPTION_NESTING_DEPTH = 10;
4
+ /**
5
+ * A container option argument for defining {@link SubCommand} nested argument hierarchies.
6
+ */
7
+ export default interface ComplexOption extends Omit<Option, "type" | "defaultValue" | "allowableValues"> {
8
+ /**
9
+ * Type of the argument value.
10
+ */
11
+ readonly type: ComplexValueTypeName;
12
+ /**
13
+ * List of child {@link Option} properties.
14
+ */
15
+ readonly properties: ReadonlyArray<Option | ComplexOption>;
16
+ /**
17
+ * Default value for the argument if not specified.
18
+ */
19
+ readonly defaultValue?: ArgumentValues | Array<ArgumentValues>;
20
+ }
21
+ //# sourceMappingURL=ComplexOption.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComplexOption.d.ts","sourceRoot":"","sources":["../../../../src/api/argument/ComplexOption.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpF,eAAO,MAAM,oCAAoC,KAAK,CAAC;AAEvD;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,aAAc,SAAQ,IAAI,CACjD,MAAM,EACN,MAAM,GAAG,cAAc,GAAG,iBAAiB,CAC5C;IACC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;IAE3D;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;CAChE"}
@@ -0,0 +1,16 @@
1
+ import type Argument from "./Argument.ts";
2
+ import type { ArgumentSingleValueType } from "./ArgumentValueTypes.ts";
3
+ /**
4
+ * Interface to be implemented by a single {@link Argument} defined by a {@link GlobalCommand}.
5
+ */
6
+ export default interface GlobalCommandArgument extends Argument {
7
+ /**
8
+ * Default value for the argument if not specified.
9
+ */
10
+ readonly defaultValue?: ArgumentSingleValueType;
11
+ /**
12
+ * If this is `true` the argument does not need to be specified nor have a default value. The default is `false`.
13
+ */
14
+ readonly isOptional?: boolean;
15
+ }
16
+ //# sourceMappingURL=GlobalCommandArgument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobalCommandArgument.d.ts","sourceRoot":"","sources":["../../../../src/api/argument/GlobalCommandArgument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,qBAAsB,SAAQ,QAAQ;IAC7D;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,uBAAuB,CAAC;IAEhD;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B"}
@@ -0,0 +1,29 @@
1
+ import type { ArgumentValueType } from "./ArgumentValueTypes.ts";
2
+ import type SubCommandArgument from "./SubCommandArgument.ts";
3
+ /**
4
+ * Interface for {@link SubCommand} option arguments.
5
+ */
6
+ export default interface Option extends SubCommandArgument {
7
+ /**
8
+ * Optional short alias for the option.
9
+ *
10
+ * Must consist of a single alphanumeric non-whitespace ASCII character.
11
+ */
12
+ readonly shortAlias?: string;
13
+ /**
14
+ * Default value for the argument if not specified.
15
+ */
16
+ readonly defaultValue?: ArgumentValueType;
17
+ /**
18
+ * If this is `true` the option does not need to be specified nor have a default value.
19
+ */
20
+ readonly isOptional?: boolean;
21
+ /**
22
+ * If this is `true` the option can be specified multiple times and all values will be returned in an array
23
+ * matching the order provided.
24
+ *
25
+ * NOTE: If {@link isOptional} is `false`, at least one instance of the option must be specified.
26
+ */
27
+ readonly isArray?: boolean;
28
+ }
29
+ //# sourceMappingURL=Option.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Option.d.ts","sourceRoot":"","sources":["../../../../src/api/argument/Option.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAC;AAE9D;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,MAAO,SAAQ,kBAAkB;IACxD;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B"}
@@ -0,0 +1,26 @@
1
+ import type SubCommandArgument from "./SubCommandArgument.ts";
2
+ /**
3
+ * Interface for {@link SubCommand} positional arguments.
4
+ */
5
+ export default interface Positional extends SubCommandArgument {
6
+ /**
7
+ * If this is `true` the argument can be specified one or multiple times and all values will be returned in
8
+ * an array matching the order provided.
9
+ *
10
+ * NOTE: If {@link isVarargOptional} is `true`, the argument can specified zero, one or multiple times.
11
+ *
12
+ * NOTE: There can be only one positional with this set and it must be the last the last item if there
13
+ * are multiple positionals defined.
14
+ */
15
+ readonly isVarargMultiple?: boolean;
16
+ /**
17
+ * If this is `true` the argument can be specified zero or once i.e. it does not need to be specified.
18
+ *
19
+ * NOTE: If {@link isVarargMultiple} is `true`, the argument can specified zero, one or multiple times.
20
+ *
21
+ * NOTE: There can be only one positional with this set and it must be the last the last item if there
22
+ * are multiple positionals defined.
23
+ */
24
+ readonly isVarargOptional?: boolean;
25
+ }
26
+ //# sourceMappingURL=Positional.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Positional.d.ts","sourceRoot":"","sources":["../../../../src/api/argument/Positional.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAC;AAE9D;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,UAAW,SAAQ,kBAAkB;IAC5D;;;;;;;;OAQG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC"}
@@ -0,0 +1,18 @@
1
+ import type Argument from "./Argument.ts";
2
+ export declare const MAXIMUM_ARGUMENT_ARRAY_SIZE = 255;
3
+ /**
4
+ * Interface to be implemented by all {@link SubCommand} arguments.
5
+ */
6
+ export default interface SubCommandArgument extends Argument {
7
+ /**
8
+ * Name of the argument.
9
+ *
10
+ * Must consist of alphanumeric non-whitespace ASCII or `_` and `-` characters. Cannot start with `-`.
11
+ */
12
+ readonly name: string;
13
+ /**
14
+ * Optional description of the argument.
15
+ */
16
+ readonly description?: string;
17
+ }
18
+ //# sourceMappingURL=SubCommandArgument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubCommandArgument.d.ts","sourceRoot":"","sources":["../../../../src/api/argument/SubCommandArgument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAE1C,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,kBAAmB,SAAQ,QAAQ;IAC1D;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Common interface for all command types.
3
+ */
4
+ export default interface Command {
5
+ /**
6
+ * Name of the command.
7
+ *
8
+ * Must consist of alphanumeric non-whitespace ASCII or `_` and `-` characters. Cannot start with `-`.
9
+ */
10
+ readonly name: string;
11
+ /**
12
+ * Optional description of the command.
13
+ */
14
+ readonly description?: string;
15
+ /**
16
+ * Optionally enable support for populating argument values via configuration. If this is `true` then
17
+ * default argument values may be sourced using a configuration source provided by the CLI runtime.
18
+ */
19
+ readonly enableConfiguration?: boolean;
20
+ }
21
+ //# sourceMappingURL=Command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Command.d.ts","sourceRoot":"","sources":["../../../../src/api/command/Command.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,OAAO;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACxC"}
@@ -0,0 +1,28 @@
1
+ import type Command from "./Command.ts";
2
+ import type GlobalCommandArgument from "../argument/GlobalCommandArgument.ts";
3
+ import type Context from "../Context.ts";
4
+ import type { ArgumentSingleValueType } from "../argument/ArgumentValueTypes.ts";
5
+ /**
6
+ * Interface for a global command.
7
+ */
8
+ export default interface GlobalCommand extends Command {
9
+ /**
10
+ * Optional short alias for the global command.
11
+ *
12
+ * Must consist of a single alphanumeric non-whitespace ASCII character.
13
+ */
14
+ readonly shortAlias?: string;
15
+ /**
16
+ * Optional {@link GlobalCommandArgument} for the command.
17
+ */
18
+ readonly argument?: GlobalCommandArgument;
19
+ /**
20
+ * Execute the command.
21
+ *
22
+ * @param context the {@link Context} in which to execute the command.
23
+ * @param argumentValue optional argument value for the command. This will be populated unless
24
+ * the command's {@link GlobalCommandArgument} is optional and the argument value was not provided.
25
+ */
26
+ execute(context: Context, argumentValue?: ArgumentSingleValueType): Promise<void>;
27
+ }
28
+ //# sourceMappingURL=GlobalCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobalCommand.d.ts","sourceRoot":"","sources":["../../../../src/api/command/GlobalCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,qBAAqB,MAAM,sCAAsC,CAAC;AAC9E,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAEjF;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,aAAc,SAAQ,OAAO;IACpD;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IAE1C;;;;;;OAMG;IACH,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnF"}
@@ -0,0 +1,12 @@
1
+ import type GlobalCommand from "./GlobalCommand.ts";
2
+ /**
3
+ * Interface for a global modifier command.
4
+ */
5
+ export default interface GlobalModifierCommand extends GlobalCommand {
6
+ /**
7
+ * Used to determine the order in which multiple global modifier command instances
8
+ * parsed from the provided arguments will be executed. Higher values will execute before lower values.
9
+ */
10
+ readonly executePriority: number;
11
+ }
12
+ //# sourceMappingURL=GlobalModifierCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobalModifierCommand.d.ts","sourceRoot":"","sources":["../../../../src/api/command/GlobalModifierCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,qBAAsB,SAAQ,aAAa;IAClE;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC"}
@@ -0,0 +1,19 @@
1
+ import type SubCommand from "./SubCommand.ts";
2
+ import type Command from "./Command.ts";
3
+ import type Context from "../Context.ts";
4
+ /**
5
+ * Interface for a group command.
6
+ */
7
+ export default interface GroupCommand extends Command {
8
+ /**
9
+ * Array of {@link SubCommand} instances for this group command. Must contain at least one sub-command.
10
+ */
11
+ readonly memberSubCommands: ReadonlyArray<SubCommand>;
12
+ /**
13
+ * Execute the command.
14
+ *
15
+ * @param context the {@link Context} in which to execute the command.
16
+ */
17
+ execute(context: Context): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=GroupCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupCommand.d.ts","sourceRoot":"","sources":["../../../../src/api/command/GroupCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,YAAa,SAAQ,OAAO;IACnD;;OAEG;IACH,QAAQ,CAAC,iBAAiB,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAEtD;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C"}
@@ -0,0 +1,37 @@
1
+ import type Command from "./Command.ts";
2
+ import type Option from "../argument/Option.ts";
3
+ import type Positional from "../argument/Positional.ts";
4
+ import type UsageExample from "./UsageExample.ts";
5
+ import type ComplexOption from "../argument/ComplexOption.ts";
6
+ import type { ArgumentValues } from "../argument/ArgumentValueTypes.ts";
7
+ import type Context from "../Context.ts";
8
+ /**
9
+ * Interface for a sub-command.
10
+ */
11
+ export default interface SubCommand extends Command {
12
+ /**
13
+ * {@link Option} or {@link ComplexOption} argument definitions for the sub-command.
14
+ */
15
+ readonly options: ReadonlyArray<Option | ComplexOption>;
16
+ /**
17
+ * {@link Positional} argument definitions for the sub-command.
18
+ */
19
+ readonly positionals: ReadonlyArray<Positional>;
20
+ /**
21
+ * Optional grouping topic of the command for structuring of help output.
22
+ */
23
+ readonly helpTopic?: string;
24
+ /**
25
+ * Optional usage examples for the command to support help output.
26
+ */
27
+ readonly usageExamples?: ReadonlyArray<UsageExample>;
28
+ /**
29
+ * Execute the command.
30
+ *
31
+ * @param context the {@link Context} in which to execute the command.
32
+ * @param argumentValues the argument values for the command. This may be empty if
33
+ * the command's {@link Option} and {@link Positional} instances are all optional and no argument values were provided.
34
+ */
35
+ execute(context: Context, argumentValues: ArgumentValues): Promise<void>;
36
+ }
37
+ //# sourceMappingURL=SubCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubCommand.d.ts","sourceRoot":"","sources":["../../../../src/api/command/SubCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,aAAa,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,UAAW,SAAQ,OAAO;IACjD;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;IAExD;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAEhD;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAErD;;;;;;OAMG;IACH,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E"}