@shell-shock/core 0.17.5 → 0.17.7

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 (74) hide show
  1. package/README.md +1 -1
  2. package/dist/components/command-validation-logic.cjs +214 -152
  3. package/dist/components/command-validation-logic.mjs +213 -152
  4. package/dist/components/command-validation-logic.mjs.map +1 -1
  5. package/dist/components/docs.cjs +113 -9
  6. package/dist/components/docs.mjs +109 -9
  7. package/dist/components/docs.mjs.map +1 -1
  8. package/dist/components/exec-builtin.cjs +36 -1
  9. package/dist/components/exec-builtin.d.cts.map +1 -1
  10. package/dist/components/exec-builtin.d.mts.map +1 -1
  11. package/dist/components/exec-builtin.mjs +35 -1
  12. package/dist/components/exec-builtin.mjs.map +1 -1
  13. package/dist/components/helpers.cjs +51 -2
  14. package/dist/components/helpers.mjs +50 -2
  15. package/dist/components/helpers.mjs.map +1 -1
  16. package/dist/components/index.cjs +17 -1
  17. package/dist/components/index.mjs +9 -9
  18. package/dist/components/options-parser-logic.cjs +411 -174
  19. package/dist/components/options-parser-logic.d.cts.map +1 -1
  20. package/dist/components/options-parser-logic.d.mts.map +1 -1
  21. package/dist/components/options-parser-logic.mjs +405 -174
  22. package/dist/components/options-parser-logic.mjs.map +1 -1
  23. package/dist/components/state-builtin.cjs +61 -5
  24. package/dist/components/state-builtin.mjs +60 -5
  25. package/dist/components/state-builtin.mjs.map +1 -1
  26. package/dist/components/usage.cjs +46 -3
  27. package/dist/components/usage.mjs +45 -3
  28. package/dist/components/usage.mjs.map +1 -1
  29. package/dist/components/utils-builtin.cjs +68 -3
  30. package/dist/components/utils-builtin.mjs +67 -3
  31. package/dist/components/utils-builtin.mjs.map +1 -1
  32. package/dist/helpers/automd.cjs +28 -13
  33. package/dist/helpers/automd.mjs +28 -13
  34. package/dist/helpers/automd.mjs.map +1 -1
  35. package/dist/index.cjs +11 -0
  36. package/dist/index.d.cts +2 -2
  37. package/dist/index.d.mts +2 -2
  38. package/dist/index.mjs +2 -2
  39. package/dist/plugin-utils/compute-bin.cjs +50 -0
  40. package/dist/plugin-utils/compute-bin.d.cts +13 -0
  41. package/dist/plugin-utils/compute-bin.d.cts.map +1 -0
  42. package/dist/plugin-utils/compute-bin.d.mts +13 -0
  43. package/dist/plugin-utils/compute-bin.d.mts.map +1 -0
  44. package/dist/plugin-utils/compute-bin.mjs +50 -0
  45. package/dist/plugin-utils/compute-bin.mjs.map +1 -0
  46. package/dist/plugin-utils/get-command-tree.cjs +50 -0
  47. package/dist/plugin-utils/get-command-tree.d.cts +15 -1
  48. package/dist/plugin-utils/get-command-tree.d.cts.map +1 -1
  49. package/dist/plugin-utils/get-command-tree.d.mts +15 -1
  50. package/dist/plugin-utils/get-command-tree.d.mts.map +1 -1
  51. package/dist/plugin-utils/get-command-tree.mjs +49 -1
  52. package/dist/plugin-utils/get-command-tree.mjs.map +1 -1
  53. package/dist/plugin-utils/index.cjs +4 -0
  54. package/dist/plugin-utils/index.d.cts +3 -2
  55. package/dist/plugin-utils/index.d.mts +3 -2
  56. package/dist/plugin-utils/index.mjs +3 -2
  57. package/dist/plugin.cjs +170 -52
  58. package/dist/plugin.mjs +170 -52
  59. package/dist/plugin.mjs.map +1 -1
  60. package/dist/resolver/deepkit.cjs +1 -1
  61. package/dist/resolver/deepkit.mjs +1 -1
  62. package/dist/resolver/deepkit.mjs.map +1 -1
  63. package/dist/types/command.cjs +120 -10
  64. package/dist/types/command.d.cts +95 -8
  65. package/dist/types/command.d.cts.map +1 -1
  66. package/dist/types/command.d.mts +95 -8
  67. package/dist/types/command.d.mts.map +1 -1
  68. package/dist/types/command.mjs +109 -10
  69. package/dist/types/command.mjs.map +1 -1
  70. package/dist/types/index.cjs +12 -1
  71. package/dist/types/index.d.cts +2 -2
  72. package/dist/types/index.d.mts +2 -2
  73. package/dist/types/index.mjs +2 -2
  74. package/package.json +10 -10
@@ -54,6 +54,8 @@ const __ΩBaseCommandParameter = [
54
54
  "The option description.",
55
55
  "alias",
56
56
  "Alternative option names.",
57
+ "default",
58
+ "The default value.",
57
59
  false,
58
60
  "env",
59
61
  "The environment variable name or false to disable.",
@@ -62,9 +64,27 @@ const __ΩBaseCommandParameter = [
62
64
  "variadic",
63
65
  "Whether the option accepts multiple values.",
64
66
  "BaseCommandParameter",
65
- "P&4!?\"n#4$?%&4&?'&4(?)&F4*?+P&.,J4-?.)4/?0)41?2Mw3y"
67
+ "P&4!?\"n#4$?%&4&?'&4(?)&F4*?+P&')&F'F)FJ4,8?-P&..J4/?0)41?2)43?4Mw5y"
66
68
  ];
67
- const __ΩStringCommandParameter = [
69
+ const __ΩBaseSingleCommandParameter = [
70
+ "default",
71
+ "The default value.",
72
+ false,
73
+ "variadic",
74
+ "Whether the option accepts multiple values.",
75
+ "BaseSingleCommandParameter",
76
+ "PP&')J4!8?\".#4$?%Mw&y"
77
+ ];
78
+ const __ΩBaseVariadicCommandParameter = [
79
+ "default",
80
+ "The default value.",
81
+ true,
82
+ "variadic",
83
+ "Whether the option accepts multiple values.",
84
+ "BaseVariadicCommandParameter",
85
+ "PP&F'F)FJ4!8?\".#4$?%Mw&y"
86
+ ];
87
+ const __ΩBaseStringCommandParameter = [
68
88
  () => __ΩBaseCommandParameter,
69
89
  "string",
70
90
  "kind",
@@ -84,10 +104,36 @@ const __ΩStringCommandParameter = [
84
104
  "A standard string format to validate the option value against.",
85
105
  "choices",
86
106
  "The allowed choices for the option value.",
107
+ "BaseStringCommandParameter",
108
+ "Pn!.\"4#?$P&&FJ4%8?&P.'.(.).*.+.,.-.../J408?1&F428?3Mw4y"
109
+ ];
110
+ const __ΩSingleStringCommandParameter = [
111
+ () => __ΩBaseStringCommandParameter,
112
+ "default",
113
+ "The default value.",
114
+ false,
115
+ "variadic",
116
+ "Whether the option accepts multiple values.",
117
+ "SingleStringCommandParameter",
118
+ "Pn!&4\"8?#.$4%?&Mw'y"
119
+ ];
120
+ const __ΩVariadicStringCommandParameter = [
121
+ () => __ΩBaseStringCommandParameter,
122
+ "default",
123
+ "The default value.",
124
+ true,
125
+ "variadic",
126
+ "Whether the option accepts multiple values.",
127
+ "VariadicStringCommandParameter",
128
+ "Pn!&F4\"8?#.$4%?&Mw'y"
129
+ ];
130
+ const __ΩStringCommandParameter = [
131
+ () => __ΩSingleStringCommandParameter,
132
+ () => __ΩVariadicStringCommandParameter,
87
133
  "StringCommandParameter",
88
- "Pn!.\"4#?$&4%8?&P.'.(.).*.+.,.-.../J408?1&F428?3Mw4y"
134
+ "Pn!n\"Jw#y"
89
135
  ];
90
- const __ΩNumberCommandParameter = [
136
+ const __ΩBaseNumberCommandParameter = [
91
137
  () => __ΩBaseCommandParameter,
92
138
  "number",
93
139
  "kind",
@@ -96,18 +142,70 @@ const __ΩNumberCommandParameter = [
96
142
  "The default value.",
97
143
  "choices",
98
144
  "The allowed choices for the option value.",
145
+ "BaseNumberCommandParameter",
146
+ "Pn!.\"4#?$P''FJ4%8?&'F4'8?(Mw)y"
147
+ ];
148
+ const __ΩSingleNumberCommandParameter = [
149
+ () => __ΩBaseNumberCommandParameter,
150
+ "default",
151
+ "The default value.",
152
+ false,
153
+ "variadic",
154
+ "Whether the option accepts multiple values.",
155
+ "SingleNumberCommandParameter",
156
+ "Pn!'4\"8?#.$4%?&Mw'y"
157
+ ];
158
+ const __ΩVariadicNumberCommandParameter = [
159
+ () => __ΩBaseNumberCommandParameter,
160
+ "default",
161
+ "The default value.",
162
+ true,
163
+ "variadic",
164
+ "Whether the option accepts multiple values.",
165
+ "VariadicNumberCommandParameter",
166
+ "Pn!'F4\"8?#.$4%?&Mw'y"
167
+ ];
168
+ const __ΩNumberCommandParameter = [
169
+ () => __ΩSingleNumberCommandParameter,
170
+ () => __ΩVariadicNumberCommandParameter,
99
171
  "NumberCommandParameter",
100
- "Pn!.\"4#?$'4%8?&'F4'8?(Mw)y"
172
+ "Pn!n\"Jw#y"
101
173
  ];
102
- const __ΩBooleanCommandParameter = [
174
+ const __ΩBaseBooleanCommandParameter = [
103
175
  () => __ΩBaseCommandParameter,
104
176
  "boolean",
105
177
  "kind",
106
178
  "The option kind.",
107
179
  "default",
108
180
  "The default value.",
181
+ "BaseBooleanCommandParameter",
182
+ "Pn!.\"4#?$P))FJ4%8?&Mw'y"
183
+ ];
184
+ const __ΩSingleBooleanCommandParameter = [
185
+ () => __ΩBaseBooleanCommandParameter,
186
+ "default",
187
+ "The default value.",
188
+ false,
189
+ "variadic",
190
+ "Whether the option accepts multiple values.",
191
+ "SingleBooleanCommandParameter",
192
+ "Pn!)4\"8?#.$4%?&Mw'y"
193
+ ];
194
+ const __ΩVariadicBooleanCommandParameter = [
195
+ () => __ΩBaseBooleanCommandParameter,
196
+ "default",
197
+ "The default value.",
198
+ true,
199
+ "variadic",
200
+ "Whether the option accepts multiple values.",
201
+ "VariadicBooleanCommandParameter",
202
+ "Pn!)F4\"8?#.$4%?&Mw'y"
203
+ ];
204
+ const __ΩBooleanCommandParameter = [
205
+ () => __ΩSingleBooleanCommandParameter,
206
+ () => __ΩVariadicBooleanCommandParameter,
109
207
  "BooleanCommandParameter",
110
- "Pn!.\"4#?$)4%8?&Mw'y"
208
+ "Pn!n\"Jw#y"
111
209
  ];
112
210
  const __ΩCommandParameter = [
113
211
  () => __ΩStringCommandParameter,
@@ -155,7 +253,7 @@ const __ΩCommandParameterConfig = [
155
253
  "Pn!n\"n#Jw$y"
156
254
  ];
157
255
  const __ΩBooleanCommandOption = [
158
- () => __ΩBooleanCommandParameter,
256
+ () => __ΩSingleBooleanCommandParameter,
159
257
  "isNegativeOf",
160
258
  "The option this negates.",
161
259
  "skipAddingNegative",
@@ -167,8 +265,9 @@ const __ΩCommandOption = [
167
265
  () => __ΩStringCommandParameter,
168
266
  () => __ΩNumberCommandParameter,
169
267
  () => __ΩBooleanCommandOption,
268
+ () => __ΩVariadicBooleanCommandParameter,
170
269
  "CommandOption",
171
- "Pn!n\"n#Jw$y"
270
+ "Pn!n\"n#n$Jw%y"
172
271
  ];
173
272
  const __ΩCommandOptionConfig = [
174
273
  () => __ΩAsCommandParameterConfig,
@@ -303,5 +402,5 @@ const __ΩCommandModule = [
303
402
  ];
304
403
 
305
404
  //#endregion
306
- export { CommandParameterKinds, __ΩAsCommandParameterConfig, __ΩBaseCommandParameter, __ΩBooleanCommandOption, __ΩBooleanCommandParameter, __ΩBooleanCommandParameterConfig, __ΩCommandArgument, __ΩCommandArgumentConfig, __ΩCommandBase, __ΩCommandConfig, __ΩCommandMetadata, __ΩCommandModule, __ΩCommandOption, __ΩCommandOptionConfig, __ΩCommandParameter, __ΩCommandParameterConfig, __ΩCommandParameterKind, __ΩCommandParameterType, __ΩCommandTree, __ΩNumberCommandParameter, __ΩNumberCommandParameterConfig, __ΩSerializedCommandTree, __ΩStringCommandParameter, __ΩStringCommandParameterConfig };
405
+ export { CommandParameterKinds, __ΩAsCommandParameterConfig, __ΩBaseBooleanCommandParameter, __ΩBaseCommandParameter, __ΩBaseNumberCommandParameter, __ΩBaseSingleCommandParameter, __ΩBaseStringCommandParameter, __ΩBaseVariadicCommandParameter, __ΩBooleanCommandOption, __ΩBooleanCommandParameter, __ΩBooleanCommandParameterConfig, __ΩCommandArgument, __ΩCommandArgumentConfig, __ΩCommandBase, __ΩCommandConfig, __ΩCommandMetadata, __ΩCommandModule, __ΩCommandOption, __ΩCommandOptionConfig, __ΩCommandParameter, __ΩCommandParameterConfig, __ΩCommandParameterKind, __ΩCommandParameterType, __ΩCommandTree, __ΩNumberCommandParameter, __ΩNumberCommandParameterConfig, __ΩSerializedCommandTree, __ΩSingleBooleanCommandParameter, __ΩSingleNumberCommandParameter, __ΩSingleStringCommandParameter, __ΩStringCommandParameter, __ΩStringCommandParameterConfig, __ΩVariadicBooleanCommandParameter, __ΩVariadicNumberCommandParameter, __ΩVariadicStringCommandParameter };
307
406
  //# sourceMappingURL=command.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.mjs","names":[],"sources":["../../src/types/command.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { StandardJSONSchemaV1 } from \"@standard-schema/spec\";\nimport type { JsonSchema7TupleType } from \"@stryke/json\";\nimport type { AnyFunction } from \"@stryke/types/base\";\nimport type { JSONSchema7Object } from \"json-schema\";\nimport type { ResolvedEntryTypeDefinition } from \"powerlines\";\nimport type * as z3 from \"zod/v3\";\n\nexport type CommandParameterType =\n | string\n | number\n | boolean\n | (string | number)[];\n\nexport const CommandParameterKinds = {\n string: \"string\",\n number: \"number\",\n boolean: \"boolean\"\n} as const;\n\nexport type CommandParameterKind =\n (typeof CommandParameterKinds)[keyof typeof CommandParameterKinds];\n\nexport interface BaseCommandParameter {\n /**\n * The option name.\n */\n name: string;\n\n /**\n * The option kind.\n */\n kind: CommandParameterKind;\n\n /**\n * The display title.\n */\n title: string;\n\n /**\n * The option description.\n */\n description: string;\n\n /**\n * Alternative option names.\n */\n alias: string[];\n\n /**\n * The environment variable name or false to disable.\n */\n env: string | false;\n\n /**\n * Whether the option is optional.\n */\n optional: boolean;\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: boolean;\n}\n\nexport interface StringCommandParameter extends BaseCommandParameter {\n /**\n * The option kind.\n */\n kind: \"string\";\n\n /**\n * The default value.\n */\n default?: string;\n\n /**\n * A standard string format to validate the option value against.\n */\n format?:\n | \"email\"\n | \"uri\"\n | \"uuid\"\n | \"ipv4\"\n | \"ipv6\"\n | \"date\"\n | \"time\"\n | \"date-time\"\n | \"duration\";\n\n /**\n * The allowed choices for the option value.\n */\n choices?: string[];\n}\n\nexport interface NumberCommandParameter extends BaseCommandParameter {\n /**\n * The option kind.\n */\n kind: \"number\";\n\n /**\n * The default value.\n */\n default?: number;\n\n /**\n * The allowed choices for the option value.\n */\n choices?: number[];\n}\n\nexport interface BooleanCommandParameter extends BaseCommandParameter {\n /**\n * The option kind.\n */\n kind: \"boolean\";\n\n /**\n * The default value.\n */\n default?: boolean;\n}\n\nexport type CommandParameter =\n | StringCommandParameter\n | NumberCommandParameter\n | BooleanCommandParameter;\n\nexport type AsCommandParameterConfig<T extends BaseCommandParameter> = Pick<\n T,\n \"kind\" | \"alias\"\n> &\n Partial<Omit<T, \"kind\" | \"alias\">> & {\n alias?: string | string[];\n };\n\nexport type StringCommandParameterConfig =\n AsCommandParameterConfig<StringCommandParameter>;\nexport type NumberCommandParameterConfig =\n AsCommandParameterConfig<NumberCommandParameter>;\nexport type BooleanCommandParameterConfig =\n AsCommandParameterConfig<BooleanCommandParameter>;\n\nexport type CommandParameterConfig =\n | StringCommandParameterConfig\n | NumberCommandParameterConfig\n | BooleanCommandParameterConfig;\n\nexport interface BooleanCommandOption extends BooleanCommandParameter {\n /**\n * The option this negates.\n */\n isNegativeOf?: string;\n\n /**\n * Whether to skip adding a negative option.\n */\n skipAddingNegative?: boolean;\n}\n\nexport type CommandOption =\n | StringCommandParameter\n | NumberCommandParameter\n | BooleanCommandOption;\nexport type CommandOptionConfig = AsCommandParameterConfig<CommandOption>;\n\nexport type CommandArgument =\n | StringCommandParameter\n | NumberCommandParameter\n | BooleanCommandParameter;\nexport type CommandArgumentConfig = AsCommandParameterConfig<CommandArgument>;\n\nexport interface CommandBase {\n /**\n * The command id.\n */\n id: string | null;\n\n /**\n * The command name.\n */\n name: string;\n\n /**\n * The full command path value.\n */\n path: string | null;\n\n /**\n * The path segments.\n */\n segments: string[];\n\n /**\n * The display title.\n */\n title?: string;\n\n /**\n * The command description.\n */\n description?: string;\n\n /**\n * Alternative command names.\n */\n alias?: string[];\n\n /**\n * The command icon.\n */\n icon?: string;\n\n /**\n * A URL to the command documentation or reference.\n */\n reference?: string;\n\n /**\n * Whether the command is virtual.\n *\n * @remarks\n * Virtual commands are considered forks in the command tree and are not directly executable. They are used to group related subcommands together without having an actual command handler or entry point.\n */\n isVirtual: boolean;\n}\n\nexport interface CommandConfig extends CommandBase {\n /**\n * The command id.\n */\n id: string;\n\n /**\n * The resolved entry definition.\n */\n entry: ResolvedEntryTypeDefinition;\n\n /**\n * Optional tags for the command.\n *\n * @remarks\n * Tags can be used to categorize and organize commands, and can also be utilized by plugins to provide additional functionality or filtering based on tags.\n */\n tags?: string[];\n\n /**\n * A string representing the source of the command, which can be \"file\", a specific plugin name, or any other string value that describes the source that added the command.\n */\n source?: \"file\" | string;\n}\n\nexport type CommandTree = CommandConfig & {\n /**\n * The display title.\n */\n title: string;\n\n /**\n * The command description.\n */\n description: string;\n\n /**\n * Alternative command names.\n */\n alias: string[];\n\n /**\n * A set of tags for the command.\n *\n * @remarks\n * Tags can be used to categorize and organize commands, and can also be utilized by plugins to provide additional functionality or filtering based on tags.\n */\n tags: string[];\n\n /**\n * A string representing the source of the command, which can be \"file\", a specific plugin name, or any other string value that describes the source that added the command.\n */\n source: \"file\" | string;\n\n /**\n * The command options.\n */\n options: Record<string, CommandOption>;\n\n /**\n * The positional arguments provided to the command.\n */\n args: CommandArgument[];\n\n /**\n * The parent command.\n */\n parent: null | CommandTree;\n\n /**\n * Child commands.\n */\n children: Record<string, CommandTree>;\n};\n\nexport type SerializedCommandTree = Omit<CommandTree, \"parent\" | \"children\"> & {\n /**\n * The parent command id.\n */\n parent: null | string;\n /**\n * Serialized child commands.\n */\n children: Record<string, SerializedCommandTree>;\n};\n\nexport interface CommandMetadata {\n /**\n * The display name of the command.\n *\n * @remarks\n * This value will be used in various displays of the user interface and documentation. If not provided, a formatted value of the command name will be used.\n */\n title?: string;\n\n /**\n * A brief description of what the command does.\n *\n * @remarks\n * This value will be used in various displays of the user interface and documentation. If not provided, a default message may be shown.\n */\n description?: string;\n\n /**\n * One or more alternative names for the command.\n */\n alias?: string | string[];\n\n /**\n * Optional tags for the command.\n *\n * @remarks\n * Tags can be used to categorize and organize commands, and can also be utilized by plugins to provide additional functionality or filtering based on tags.\n */\n tags?: string[];\n\n /**\n * An optional icon to visually represent the command in user interfaces.\n *\n * @remarks\n * This can be a string containing an emoji, a Unicode character, or any other symbol that helps to visually identify the command. If not provided, no icon will be displayed.\n */\n icon?: string;\n\n /**\n * A URL to the command documentation or reference.\n *\n * @remarks\n * This URL can be used in various displays of the user interface and documentation to provide users with a reference for the command. It can also be used by plugins to link to the documentation in relevant contexts. If the token `{command}` is included in the URL, it will be replaced with the full command path to provide links to command specific documentation. For example, `myapp command subcommand` will be translated to `{referenceLink}/command/subcommand`.\n */\n reference?: string;\n}\n\nexport interface CommandModule {\n metadata?: CommandMetadata;\n options?:\n | Record<string, CommandOptionConfig>\n | JSONSchema7Object\n | StandardJSONSchemaV1<Record<string, CommandParameterType>>\n | z3.AnyZodObject;\n args?:\n | CommandArgumentConfig[]\n | JsonSchema7TupleType\n | StandardJSONSchemaV1<CommandParameterType[]>\n | z3.AnyZodTuple;\n default?: AnyFunction;\n}\n"],"mappings":";AAAA,MAAM,UAAU;CAAC;CAAK;CAAK;CAAQ;CAA4B;;;;;;AAE/D,MAAM,UAAU;CAAC;CAAG;OAAM;OAAiB;CAAA;CAAA;CAAA;;;;;;;AAE3C,MAAM,aAAS;CAAA;CAAS;CAAG;CAAY;CAA2B;AAClE,MAAI,0BAA4B,CAAC,wBAAqB,gBAAa;AAEnE,MAAK,wBAA0B;;CAE9B,QAAW;CACX,SAAY;CACZ;AACD,MAAC,0BAA+B;OAAG;OAAkB;CAAA;CAAA;CAAA;AAErD,MAAM,0BAAqB;CAAM;CAAG;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEpC,MAAM,4BAA4B;OAAO;CAAyB;CAAI;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEtE,MAAM,4BAA4B;OAAO;CAAwB;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEjE,MAAM,6BAA6B;OAAO;CAAW;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAErD,MAAM,sBAAQ;OAAA;OAA+C;OAAA;CAAA;CAAA;CAAA;;;;;;;;;;;;;;AAI7D,MAAI,kCAAA;OAAA;OAAA;CAAA;CAAA;CAAA;AAEJ,MAAI,kCAAA;OAAA;OAAA;CAAA;CAAA;CAAA;;;;;;;AAIJ,MAAE,4BAAgB;OAAA;OAAA;OAAA;CAAA;CAAA;CAAA;AAElB,MAAE,0BAAiB;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;;;;;;;;AAInB,MAAG,yBAA4B;OAAO;OAA8B;CAAA;CAAA;CAAA;AAEpE,MAAM,qBAAW;OAAA;OAAqB;OAAA;CAAA;CAAA;CAAA;AAEtC,MAAK,2BAAe;OAAA;OAAA;CAAA;CAAA;CAAA;AAEpB,MAAM,iBAAQ;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEd,MAAI,mBAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEJ,MAAI,iBAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;OAAA;OAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;;;;;;;;;;;;;;;AAIJ,MAAK,qBAAiB;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEtB,MAAE,mBAAa;OAAA;CAAA;OAAA;OAAA;CAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA"}
1
+ {"version":3,"file":"command.mjs","names":[],"sources":["../../src/types/command.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { StandardJSONSchemaV1 } from \"@standard-schema/spec\";\nimport type { JsonSchema7TupleType } from \"@stryke/json\";\nimport type { AnyFunction } from \"@stryke/types/base\";\nimport type { JSONSchema7Object } from \"json-schema\";\nimport type { ResolvedEntryTypeDefinition } from \"powerlines\";\nimport type * as z3 from \"zod/v3\";\n\nexport type CommandParameterType =\n | string\n | number\n | boolean\n | (string | number)[];\n\nexport const CommandParameterKinds = {\n string: \"string\",\n number: \"number\",\n boolean: \"boolean\"\n} as const;\n\nexport type CommandParameterKind =\n (typeof CommandParameterKinds)[keyof typeof CommandParameterKinds];\n\nexport interface BaseCommandParameter {\n /**\n * The option name.\n */\n name: string;\n\n /**\n * The option kind.\n */\n kind: CommandParameterKind;\n\n /**\n * The display title.\n */\n title: string;\n\n /**\n * The option description.\n */\n description: string;\n\n /**\n * Alternative option names.\n */\n alias: string[];\n\n /**\n * The default value.\n */\n default?: string | number | boolean | string[] | number[] | boolean[];\n\n /**\n * The environment variable name or false to disable.\n */\n env: string | false;\n\n /**\n * Whether the option is optional.\n */\n optional: boolean;\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: boolean;\n}\n\nexport interface BaseSingleCommandParameter {\n /**\n * The default value.\n */\n default?: string | number | boolean;\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: false;\n}\n\nexport interface BaseVariadicCommandParameter {\n /**\n * The default value.\n */\n default?: string[] | number[] | boolean[];\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: true;\n}\n\nexport interface BaseStringCommandParameter extends BaseCommandParameter {\n /**\n * The option kind.\n */\n kind: \"string\";\n\n /**\n * The default value.\n */\n default?: string | string[];\n\n /**\n * A standard string format to validate the option value against.\n */\n format?:\n | \"email\"\n | \"uri\"\n | \"uuid\"\n | \"ipv4\"\n | \"ipv6\"\n | \"date\"\n | \"time\"\n | \"date-time\"\n | \"duration\";\n\n /**\n * The allowed choices for the option value.\n */\n choices?: string[];\n}\n\nexport interface SingleStringCommandParameter extends BaseStringCommandParameter {\n /**\n * The default value.\n */\n default?: string;\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: false;\n}\n\nexport interface VariadicStringCommandParameter extends BaseStringCommandParameter {\n /**\n * The default value.\n */\n default?: string[];\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: true;\n}\n\nexport type StringCommandParameter =\n | SingleStringCommandParameter\n | VariadicStringCommandParameter;\n\nexport interface BaseNumberCommandParameter extends BaseCommandParameter {\n /**\n * The option kind.\n */\n kind: \"number\";\n\n /**\n * The default value.\n */\n default?: number | number[];\n\n /**\n * The allowed choices for the option value.\n */\n choices?: number[];\n}\n\nexport interface SingleNumberCommandParameter extends BaseNumberCommandParameter {\n /**\n * The default value.\n */\n default?: number;\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: false;\n}\n\nexport interface VariadicNumberCommandParameter extends BaseNumberCommandParameter {\n /**\n * The default value.\n */\n default?: number[];\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: true;\n}\n\nexport type NumberCommandParameter =\n | SingleNumberCommandParameter\n | VariadicNumberCommandParameter;\n\nexport interface BaseBooleanCommandParameter extends BaseCommandParameter {\n /**\n * The option kind.\n */\n kind: \"boolean\";\n\n /**\n * The default value.\n */\n default?: boolean | boolean[];\n}\n\nexport interface SingleBooleanCommandParameter extends BaseBooleanCommandParameter {\n /**\n * The default value.\n */\n default?: boolean;\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: false;\n}\n\nexport interface VariadicBooleanCommandParameter extends BaseBooleanCommandParameter {\n /**\n * The default value.\n */\n default?: boolean[];\n\n /**\n * Whether the option accepts multiple values.\n */\n variadic: true;\n}\n\nexport type BooleanCommandParameter =\n | SingleBooleanCommandParameter\n | VariadicBooleanCommandParameter;\n\nexport type CommandParameter =\n | StringCommandParameter\n | NumberCommandParameter\n | BooleanCommandParameter;\n\nexport type AsCommandParameterConfig<T extends BaseCommandParameter> = Pick<\n T,\n \"kind\" | \"alias\"\n> &\n Partial<Omit<T, \"kind\" | \"alias\">> & {\n alias?: string | string[];\n };\n\nexport type StringCommandParameterConfig =\n AsCommandParameterConfig<StringCommandParameter>;\nexport type NumberCommandParameterConfig =\n AsCommandParameterConfig<NumberCommandParameter>;\nexport type BooleanCommandParameterConfig =\n AsCommandParameterConfig<BooleanCommandParameter>;\n\nexport type CommandParameterConfig =\n | StringCommandParameterConfig\n | NumberCommandParameterConfig\n | BooleanCommandParameterConfig;\n\nexport interface BooleanCommandOption extends SingleBooleanCommandParameter {\n /**\n * The option this negates.\n */\n isNegativeOf?: string;\n\n /**\n * Whether to skip adding a negative option.\n */\n skipAddingNegative?: boolean;\n}\n\nexport type CommandOption =\n | StringCommandParameter\n | NumberCommandParameter\n | BooleanCommandOption\n | VariadicBooleanCommandParameter;\nexport type CommandOptionConfig = AsCommandParameterConfig<CommandOption>;\n\nexport type CommandArgument =\n | StringCommandParameter\n | NumberCommandParameter\n | BooleanCommandParameter;\nexport type CommandArgumentConfig = AsCommandParameterConfig<CommandArgument>;\n\nexport interface CommandBase {\n /**\n * The command id.\n */\n id: string | null;\n\n /**\n * The command name.\n */\n name: string;\n\n /**\n * The full command path value.\n */\n path: string | null;\n\n /**\n * The path segments.\n */\n segments: string[];\n\n /**\n * The display title.\n */\n title?: string;\n\n /**\n * The command description.\n */\n description?: string;\n\n /**\n * Alternative command names.\n */\n alias?: string[];\n\n /**\n * The command icon.\n */\n icon?: string;\n\n /**\n * A URL to the command documentation or reference.\n */\n reference?: string;\n\n /**\n * Whether the command is virtual.\n *\n * @remarks\n * Virtual commands are considered forks in the command tree and are not directly executable. They are used to group related subcommands together without having an actual command handler or entry point.\n */\n isVirtual: boolean;\n}\n\nexport interface CommandConfig extends CommandBase {\n /**\n * The command id.\n */\n id: string;\n\n /**\n * The resolved entry definition.\n */\n entry: ResolvedEntryTypeDefinition;\n\n /**\n * Optional tags for the command.\n *\n * @remarks\n * Tags can be used to categorize and organize commands, and can also be utilized by plugins to provide additional functionality or filtering based on tags.\n */\n tags?: string[];\n\n /**\n * A string representing the source of the command, which can be \"file\", a specific plugin name, or any other string value that describes the source that added the command.\n */\n source?: \"file\" | string;\n}\n\nexport type CommandTree = CommandConfig & {\n /**\n * The display title.\n */\n title: string;\n\n /**\n * The command description.\n */\n description: string;\n\n /**\n * Alternative command names.\n */\n alias: string[];\n\n /**\n * A set of tags for the command.\n *\n * @remarks\n * Tags can be used to categorize and organize commands, and can also be utilized by plugins to provide additional functionality or filtering based on tags.\n */\n tags: string[];\n\n /**\n * A string representing the source of the command, which can be \"file\", a specific plugin name, or any other string value that describes the source that added the command.\n */\n source: \"file\" | string;\n\n /**\n * The command options.\n */\n options: Record<string, CommandOption>;\n\n /**\n * The positional arguments provided to the command.\n */\n args: CommandArgument[];\n\n /**\n * The parent command.\n */\n parent: null | CommandTree;\n\n /**\n * Child commands.\n */\n children: Record<string, CommandTree>;\n};\n\nexport type SerializedCommandTree = Omit<CommandTree, \"parent\" | \"children\"> & {\n /**\n * The parent command id.\n */\n parent: null | string;\n /**\n * Serialized child commands.\n */\n children: Record<string, SerializedCommandTree>;\n};\n\nexport interface CommandMetadata {\n /**\n * The display name of the command.\n *\n * @remarks\n * This value will be used in various displays of the user interface and documentation. If not provided, a formatted value of the command name will be used.\n */\n title?: string;\n\n /**\n * A brief description of what the command does.\n *\n * @remarks\n * This value will be used in various displays of the user interface and documentation. If not provided, a default message may be shown.\n */\n description?: string;\n\n /**\n * One or more alternative names for the command.\n */\n alias?: string | string[];\n\n /**\n * Optional tags for the command.\n *\n * @remarks\n * Tags can be used to categorize and organize commands, and can also be utilized by plugins to provide additional functionality or filtering based on tags.\n */\n tags?: string[];\n\n /**\n * An optional icon to visually represent the command in user interfaces.\n *\n * @remarks\n * This can be a string containing an emoji, a Unicode character, or any other symbol that helps to visually identify the command. If not provided, no icon will be displayed.\n */\n icon?: string;\n\n /**\n * A URL to the command documentation or reference.\n *\n * @remarks\n * This URL can be used in various displays of the user interface and documentation to provide users with a reference for the command. It can also be used by plugins to link to the documentation in relevant contexts. If the token `{command}` is included in the URL, it will be replaced with the full command path to provide links to command specific documentation. For example, `myapp command subcommand` will be translated to `{referenceLink}/command/subcommand`.\n */\n reference?: string;\n}\n\nexport interface CommandModule {\n metadata?: CommandMetadata;\n options?:\n | Record<string, CommandOptionConfig>\n | JSONSchema7Object\n | StandardJSONSchemaV1<Record<string, CommandParameterType>>\n | z3.AnyZodObject;\n args?:\n | CommandArgumentConfig[]\n | JsonSchema7TupleType\n | StandardJSONSchemaV1<CommandParameterType[]>\n | z3.AnyZodTuple;\n default?: AnyFunction;\n}\n"],"mappings":";AAAA,MAAM,UAAU;CAAC;CAAK;CAAK;CAAQ;CAA4B;;;;;;AAE/D,MAAM,UAAU;CAAC;CAAG;OAAM;OAAiB;CAAA;CAAA;CAAA;;;;;;;AAE3C,MAAM,aAAS;CAAA;CAAS;CAAG;CAAY;CAA2B;AAClE,MAAI,0BAA4B,CAAC,wBAAqB,gBAAa;AAEnE,MAAK,wBAA0B;;CAE9B,QAAW;CACX,SAAY;CACZ;AACD,MAAC,0BAA+B;OAAG;OAAkB;CAAA;CAAA;CAAA;AAErD,MAAM,0BAAqB;CAAM;CAAG;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEpC,MAAM,gCAAgC;CAAC;CAAW;CAAoB;CAAA;CAAA;CAAA;CAAA;CAAA;AAEtE,MAAM,kCAA+B;CAAI;CAAW;CAAa;CAAA;CAAA;CAAA;CAAA;CAAA;AAEjE,MAAM,gCAA6B;OAAO;CAAW;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAErD,MAAM,kCAAQ;OAA8B;CAAiB;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;;;;;;;;;;;AAI7D,MAAI,4BAAA;OAAA;OAAA;CAAA;CAAA;CAAA;AAEJ,MAAI,gCAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;;;;;;;;;;;AAIJ,MAAE,oCAAgB;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAElB,MAAE,4BAAiB;OAAA;OAAA;CAAA;CAAA;CAAA;;;;;;;;;;;AAInB,MAAG,mCAAoC;OAAO;CAAsB;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEpE,MAAM,qCAAgC;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEtC,MAAK,6BAAe;OAAA;OAAA;CAAA;CAAA;CAAA;AAEpB,MAAM,sBAAQ;OAAA;OAAA;OAAA;CAAA;CAAA;CAAA;AAEd,MAAI,8BAAA;CAAA;OAAA;CAAA;CAAA;OAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEJ,MAAI,kCAAA;OAAA;OAAA;CAAA;CAAA;CAAA;;;;;;;AAIJ,MAAK,mCAAiB;OAAA;OAAA;CAAA;CAAA;CAAA;AAEtB,MAAE,4BAAa;OAAA;OAAA;OAAA;CAAA;CAAA;CAAA;AAEf,MAAI,0BAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEJ,MAAI,mBAAA;OAAA;OAAA;OAAA;OAAA;CAAA;CAAA;CAAA;;;;;;;AAIJ,MAAK,qBAAmB;OAAK;OAAA;OAAA;CAAA;CAAA;CAAA;AAE7B,MAAE,2BAAe;OAAA;OAAA;CAAA;CAAA;CAAA;AAEjB,MAAI,iBAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEJ,MAAI,mBAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIJ,MAAK,2BAAyB;OAAQ;OAAgB;CAAA;CAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAEtD,MAAM,qBAAe;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;CAAA;AAErB,MAAI,mBAAA;OAAA;CAAA;OAAA;OAAA;CAAA;CAAA;CAAA;OAAA;CAAA;CAAA;CAAA;CAAA;CAAA"}
@@ -6,8 +6,13 @@ const require_types_options = require('./options.cjs');
6
6
 
7
7
  exports.CommandParameterKinds = require_types_command.CommandParameterKinds;
8
8
  exports.__ΩAsCommandParameterConfig = require_types_command.__ΩAsCommandParameterConfig;
9
+ exports.__ΩBaseBooleanCommandParameter = require_types_command.__ΩBaseBooleanCommandParameter;
9
10
  exports.__ΩBaseCommandOptions = require_types_options.__ΩBaseCommandOptions;
10
11
  exports.__ΩBaseCommandParameter = require_types_command.__ΩBaseCommandParameter;
12
+ exports.__ΩBaseNumberCommandParameter = require_types_command.__ΩBaseNumberCommandParameter;
13
+ exports.__ΩBaseSingleCommandParameter = require_types_command.__ΩBaseSingleCommandParameter;
14
+ exports.__ΩBaseStringCommandParameter = require_types_command.__ΩBaseStringCommandParameter;
15
+ exports.__ΩBaseVariadicCommandParameter = require_types_command.__ΩBaseVariadicCommandParameter;
11
16
  exports.__ΩBooleanCommandOption = require_types_command.__ΩBooleanCommandOption;
12
17
  exports.__ΩBooleanCommandParameter = require_types_command.__ΩBooleanCommandParameter;
13
18
  exports.__ΩBooleanCommandParameterConfig = require_types_command.__ΩBooleanCommandParameterConfig;
@@ -32,7 +37,13 @@ exports.__ΩOutputConfig = require_types_config.__ΩOutputConfig;
32
37
  exports.__ΩReferenceOptions = require_types_config.__ΩReferenceOptions;
33
38
  exports.__ΩResolvedConfig = require_types_config.__ΩResolvedConfig;
34
39
  exports.__ΩSerializedCommandTree = require_types_command.__ΩSerializedCommandTree;
40
+ exports.__ΩSingleBooleanCommandParameter = require_types_command.__ΩSingleBooleanCommandParameter;
41
+ exports.__ΩSingleNumberCommandParameter = require_types_command.__ΩSingleNumberCommandParameter;
42
+ exports.__ΩSingleStringCommandParameter = require_types_command.__ΩSingleStringCommandParameter;
35
43
  exports.__ΩStringCommandParameter = require_types_command.__ΩStringCommandParameter;
36
44
  exports.__ΩStringCommandParameterConfig = require_types_command.__ΩStringCommandParameterConfig;
37
45
  exports.__ΩUnresolvedContext = require_types_context.__ΩUnresolvedContext;
38
- exports.__ΩUserConfig = require_types_config.__ΩUserConfig;
46
+ exports.__ΩUserConfig = require_types_config.__ΩUserConfig;
47
+ exports.__ΩVariadicBooleanCommandParameter = require_types_command.__ΩVariadicBooleanCommandParameter;
48
+ exports.__ΩVariadicNumberCommandParameter = require_types_command.__ΩVariadicNumberCommandParameter;
49
+ exports.__ΩVariadicStringCommandParameter = require_types_command.__ΩVariadicStringCommandParameter;
@@ -1,5 +1,5 @@
1
- import { AsCommandParameterConfig, BaseCommandParameter, BooleanCommandOption, BooleanCommandParameter, BooleanCommandParameterConfig, CommandArgument, CommandArgumentConfig, CommandBase, CommandConfig, CommandMetadata, CommandModule, CommandOption, CommandOptionConfig, CommandParameter, CommandParameterConfig, CommandParameterKind, CommandParameterKinds, CommandParameterType, CommandTree, NumberCommandParameter, NumberCommandParameterConfig, SerializedCommandTree, StringCommandParameter, StringCommandParameterConfig } from "./command.cjs";
1
+ import { AsCommandParameterConfig, BaseBooleanCommandParameter, BaseCommandParameter, BaseNumberCommandParameter, BaseSingleCommandParameter, BaseStringCommandParameter, BaseVariadicCommandParameter, BooleanCommandOption, BooleanCommandParameter, BooleanCommandParameterConfig, CommandArgument, CommandArgumentConfig, CommandBase, CommandConfig, CommandMetadata, CommandModule, CommandOption, CommandOptionConfig, CommandParameter, CommandParameterConfig, CommandParameterKind, CommandParameterKinds, CommandParameterType, CommandTree, NumberCommandParameter, NumberCommandParameterConfig, SerializedCommandTree, SingleBooleanCommandParameter, SingleNumberCommandParameter, SingleStringCommandParameter, StringCommandParameter, StringCommandParameterConfig, VariadicBooleanCommandParameter, VariadicNumberCommandParameter, VariadicStringCommandParameter } from "./command.cjs";
2
2
  import { Context, UnresolvedContext } from "./context.cjs";
3
3
  import { Options, OutputConfig, ReferenceOptions, ResolvedConfig, UserConfig } from "./config.cjs";
4
4
  import { BaseCommandOptions } from "./options.cjs";
5
- export { AsCommandParameterConfig, BaseCommandOptions, BaseCommandParameter, BooleanCommandOption, BooleanCommandParameter, BooleanCommandParameterConfig, CommandArgument, CommandArgumentConfig, CommandBase, CommandConfig, CommandMetadata, CommandModule, CommandOption, CommandOptionConfig, CommandParameter, CommandParameterConfig, CommandParameterKind, CommandParameterKinds, CommandParameterType, CommandTree, Context, NumberCommandParameter, NumberCommandParameterConfig, Options, OutputConfig, ReferenceOptions, ResolvedConfig, SerializedCommandTree, StringCommandParameter, StringCommandParameterConfig, UnresolvedContext, UserConfig };
5
+ export { AsCommandParameterConfig, BaseBooleanCommandParameter, BaseCommandOptions, BaseCommandParameter, BaseNumberCommandParameter, BaseSingleCommandParameter, BaseStringCommandParameter, BaseVariadicCommandParameter, BooleanCommandOption, BooleanCommandParameter, BooleanCommandParameterConfig, CommandArgument, CommandArgumentConfig, CommandBase, CommandConfig, CommandMetadata, CommandModule, CommandOption, CommandOptionConfig, CommandParameter, CommandParameterConfig, CommandParameterKind, CommandParameterKinds, CommandParameterType, CommandTree, Context, NumberCommandParameter, NumberCommandParameterConfig, Options, OutputConfig, ReferenceOptions, ResolvedConfig, SerializedCommandTree, SingleBooleanCommandParameter, SingleNumberCommandParameter, SingleStringCommandParameter, StringCommandParameter, StringCommandParameterConfig, UnresolvedContext, UserConfig, VariadicBooleanCommandParameter, VariadicNumberCommandParameter, VariadicStringCommandParameter };
@@ -1,5 +1,5 @@
1
- import { AsCommandParameterConfig, BaseCommandParameter, BooleanCommandOption, BooleanCommandParameter, BooleanCommandParameterConfig, CommandArgument, CommandArgumentConfig, CommandBase, CommandConfig, CommandMetadata, CommandModule, CommandOption, CommandOptionConfig, CommandParameter, CommandParameterConfig, CommandParameterKind, CommandParameterKinds, CommandParameterType, CommandTree, NumberCommandParameter, NumberCommandParameterConfig, SerializedCommandTree, StringCommandParameter, StringCommandParameterConfig } from "./command.mjs";
1
+ import { AsCommandParameterConfig, BaseBooleanCommandParameter, BaseCommandParameter, BaseNumberCommandParameter, BaseSingleCommandParameter, BaseStringCommandParameter, BaseVariadicCommandParameter, BooleanCommandOption, BooleanCommandParameter, BooleanCommandParameterConfig, CommandArgument, CommandArgumentConfig, CommandBase, CommandConfig, CommandMetadata, CommandModule, CommandOption, CommandOptionConfig, CommandParameter, CommandParameterConfig, CommandParameterKind, CommandParameterKinds, CommandParameterType, CommandTree, NumberCommandParameter, NumberCommandParameterConfig, SerializedCommandTree, SingleBooleanCommandParameter, SingleNumberCommandParameter, SingleStringCommandParameter, StringCommandParameter, StringCommandParameterConfig, VariadicBooleanCommandParameter, VariadicNumberCommandParameter, VariadicStringCommandParameter } from "./command.mjs";
2
2
  import { Context, UnresolvedContext } from "./context.mjs";
3
3
  import { Options, OutputConfig, ReferenceOptions, ResolvedConfig, UserConfig } from "./config.mjs";
4
4
  import { BaseCommandOptions } from "./options.mjs";
5
- export { AsCommandParameterConfig, BaseCommandOptions, BaseCommandParameter, BooleanCommandOption, BooleanCommandParameter, BooleanCommandParameterConfig, CommandArgument, CommandArgumentConfig, CommandBase, CommandConfig, CommandMetadata, CommandModule, CommandOption, CommandOptionConfig, CommandParameter, CommandParameterConfig, CommandParameterKind, CommandParameterKinds, CommandParameterType, CommandTree, Context, NumberCommandParameter, NumberCommandParameterConfig, Options, OutputConfig, ReferenceOptions, ResolvedConfig, SerializedCommandTree, StringCommandParameter, StringCommandParameterConfig, UnresolvedContext, UserConfig };
5
+ export { AsCommandParameterConfig, BaseBooleanCommandParameter, BaseCommandOptions, BaseCommandParameter, BaseNumberCommandParameter, BaseSingleCommandParameter, BaseStringCommandParameter, BaseVariadicCommandParameter, BooleanCommandOption, BooleanCommandParameter, BooleanCommandParameterConfig, CommandArgument, CommandArgumentConfig, CommandBase, CommandConfig, CommandMetadata, CommandModule, CommandOption, CommandOptionConfig, CommandParameter, CommandParameterConfig, CommandParameterKind, CommandParameterKinds, CommandParameterType, CommandTree, Context, NumberCommandParameter, NumberCommandParameterConfig, Options, OutputConfig, ReferenceOptions, ResolvedConfig, SerializedCommandTree, SingleBooleanCommandParameter, SingleNumberCommandParameter, SingleStringCommandParameter, StringCommandParameter, StringCommandParameterConfig, UnresolvedContext, UserConfig, VariadicBooleanCommandParameter, VariadicNumberCommandParameter, VariadicStringCommandParameter };
@@ -1,6 +1,6 @@
1
- import { CommandParameterKinds, __ΩAsCommandParameterConfig, __ΩBaseCommandParameter, __ΩBooleanCommandOption, __ΩBooleanCommandParameter, __ΩBooleanCommandParameterConfig, __ΩCommandArgument, __ΩCommandArgumentConfig, __ΩCommandBase, __ΩCommandConfig, __ΩCommandMetadata, __ΩCommandModule, __ΩCommandOption, __ΩCommandOptionConfig, __ΩCommandParameter, __ΩCommandParameterConfig, __ΩCommandParameterKind, __ΩCommandParameterType, __ΩCommandTree, __ΩNumberCommandParameter, __ΩNumberCommandParameterConfig, __ΩSerializedCommandTree, __ΩStringCommandParameter, __ΩStringCommandParameterConfig } from "./command.mjs";
1
+ import { CommandParameterKinds, __ΩAsCommandParameterConfig, __ΩBaseBooleanCommandParameter, __ΩBaseCommandParameter, __ΩBaseNumberCommandParameter, __ΩBaseSingleCommandParameter, __ΩBaseStringCommandParameter, __ΩBaseVariadicCommandParameter, __ΩBooleanCommandOption, __ΩBooleanCommandParameter, __ΩBooleanCommandParameterConfig, __ΩCommandArgument, __ΩCommandArgumentConfig, __ΩCommandBase, __ΩCommandConfig, __ΩCommandMetadata, __ΩCommandModule, __ΩCommandOption, __ΩCommandOptionConfig, __ΩCommandParameter, __ΩCommandParameterConfig, __ΩCommandParameterKind, __ΩCommandParameterType, __ΩCommandTree, __ΩNumberCommandParameter, __ΩNumberCommandParameterConfig, __ΩSerializedCommandTree, __ΩSingleBooleanCommandParameter, __ΩSingleNumberCommandParameter, __ΩSingleStringCommandParameter, __ΩStringCommandParameter, __ΩStringCommandParameterConfig, __ΩVariadicBooleanCommandParameter, __ΩVariadicNumberCommandParameter, __ΩVariadicStringCommandParameter } from "./command.mjs";
2
2
  import { __ΩOptions, __ΩOutputConfig, __ΩReferenceOptions, __ΩResolvedConfig, __ΩUserConfig } from "./config.mjs";
3
3
  import { __ΩContext, __ΩUnresolvedContext } from "./context.mjs";
4
4
  import { __ΩBaseCommandOptions } from "./options.mjs";
5
5
 
6
- export { CommandParameterKinds, __ΩAsCommandParameterConfig, __ΩBaseCommandOptions, __ΩBaseCommandParameter, __ΩBooleanCommandOption, __ΩBooleanCommandParameter, __ΩBooleanCommandParameterConfig, __ΩCommandArgument, __ΩCommandArgumentConfig, __ΩCommandBase, __ΩCommandConfig, __ΩCommandMetadata, __ΩCommandModule, __ΩCommandOption, __ΩCommandOptionConfig, __ΩCommandParameter, __ΩCommandParameterConfig, __ΩCommandParameterKind, __ΩCommandParameterType, __ΩCommandTree, __ΩContext, __ΩNumberCommandParameter, __ΩNumberCommandParameterConfig, __ΩOptions, __ΩOutputConfig, __ΩReferenceOptions, __ΩResolvedConfig, __ΩSerializedCommandTree, __ΩStringCommandParameter, __ΩStringCommandParameterConfig, __ΩUnresolvedContext, __ΩUserConfig };
6
+ export { CommandParameterKinds, __ΩAsCommandParameterConfig, __ΩBaseBooleanCommandParameter, __ΩBaseCommandOptions, __ΩBaseCommandParameter, __ΩBaseNumberCommandParameter, __ΩBaseSingleCommandParameter, __ΩBaseStringCommandParameter, __ΩBaseVariadicCommandParameter, __ΩBooleanCommandOption, __ΩBooleanCommandParameter, __ΩBooleanCommandParameterConfig, __ΩCommandArgument, __ΩCommandArgumentConfig, __ΩCommandBase, __ΩCommandConfig, __ΩCommandMetadata, __ΩCommandModule, __ΩCommandOption, __ΩCommandOptionConfig, __ΩCommandParameter, __ΩCommandParameterConfig, __ΩCommandParameterKind, __ΩCommandParameterType, __ΩCommandTree, __ΩContext, __ΩNumberCommandParameter, __ΩNumberCommandParameterConfig, __ΩOptions, __ΩOutputConfig, __ΩReferenceOptions, __ΩResolvedConfig, __ΩSerializedCommandTree, __ΩSingleBooleanCommandParameter, __ΩSingleNumberCommandParameter, __ΩSingleStringCommandParameter, __ΩStringCommandParameter, __ΩStringCommandParameterConfig, __ΩUnresolvedContext, __ΩUserConfig, __ΩVariadicBooleanCommandParameter, __ΩVariadicNumberCommandParameter, __ΩVariadicStringCommandParameter };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shell-shock/core",
3
- "version": "0.17.5",
3
+ "version": "0.17.7",
4
4
  "private": false,
5
5
  "description": "A package containing the core Shell Shock functionality used to build and manage a command-line application.",
6
6
  "keywords": ["shell-shock", "powerlines", "storm-software"],
@@ -364,12 +364,12 @@
364
364
  "@alloy-js/core": "0.23.0-dev.8",
365
365
  "@alloy-js/markdown": "0.23.0-dev.1",
366
366
  "@alloy-js/typescript": "0.23.0-dev.4",
367
- "@powerlines/deepkit": "^0.8.1",
368
- "@powerlines/plugin-alloy": "^0.26.16",
369
- "@powerlines/plugin-automd": "^0.1.397",
370
- "@powerlines/plugin-deepkit": "^0.11.278",
371
- "@powerlines/plugin-nodejs": "^0.1.323",
372
- "@powerlines/plugin-tsdown": "^0.1.339",
367
+ "@powerlines/deepkit": "^0.8.2",
368
+ "@powerlines/plugin-alloy": "^0.26.18",
369
+ "@powerlines/plugin-automd": "^0.1.399",
370
+ "@powerlines/plugin-deepkit": "^0.11.280",
371
+ "@powerlines/plugin-nodejs": "^0.1.325",
372
+ "@powerlines/plugin-tsdown": "^0.1.340",
373
373
  "@standard-schema/spec": "^1.1.0",
374
374
  "@standard-schema/utils": "^0.3.0",
375
375
  "@stryke/cli": "^0.13.38",
@@ -388,15 +388,15 @@
388
388
  "tsdown": "^0.21.8"
389
389
  },
390
390
  "devDependencies": {
391
- "@powerlines/plugin-plugin": "^0.12.348",
391
+ "@powerlines/plugin-plugin": "^0.12.350",
392
392
  "@types/json-schema": "^7.0.15",
393
393
  "@types/node": "^25.6.0",
394
- "powerlines": "^0.42.38",
394
+ "powerlines": "^0.42.40",
395
395
  "typescript": "^5.9.3",
396
396
  "zod": "^4.3.6"
397
397
  },
398
398
  "peerDependencies": { "powerlines": ">=0.42.10", "zod": "^3.25.0 || ^4.0.0" },
399
399
  "peerDependenciesMeta": { "zod": { "optional": true } },
400
400
  "publishConfig": { "access": "public" },
401
- "gitHead": "6ef904ba0c05e26d17cc27465a09c535d6fd6b3c"
401
+ "gitHead": "dcc6ef2c66de17416af3242b25b977c49974b4a1"
402
402
  }