gunshi 0.28.2 → 0.29.2

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.
@@ -0,0 +1,651 @@
1
+ //#region ../../node_modules/.pnpm/args-tokens@0.24.1/node_modules/args-tokens/lib/parser-DH5KtXsI.d.ts
2
+ //#region src/parser.d.ts
3
+ /**
4
+ * Entry point of argument parser.
5
+ *
6
+ * @module
7
+ */
8
+ /**
9
+ * forked from `nodejs/node` (`pkgjs/parseargs`)
10
+ * repository url: https://github.com/nodejs/node (https://github.com/pkgjs/parseargs)
11
+ * code url: https://github.com/nodejs/node/blob/main/lib/internal/util/parse_args/parse_args.js
12
+ *
13
+ * @author kazuya kawaguchi (a.k.a. kazupon)
14
+ * @license MIT
15
+ */
16
+ /**
17
+ * Argument token Kind.
18
+ *
19
+ * - `option`: option token, support short option (e.g. `-x`) and long option (e.g. `--foo`)
20
+ * - `option-terminator`: option terminator (`--`) token, see guideline 10 in https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html
21
+ * - `positional`: positional token
22
+ */
23
+ type ArgTokenKind = 'option' | 'option-terminator' | 'positional';
24
+ /**
25
+ * Argument token.
26
+ */
27
+ interface ArgToken {
28
+ /**
29
+ * Argument token kind.
30
+ */
31
+ kind: ArgTokenKind;
32
+ /**
33
+ * Argument token index, e.g `--foo bar` => `--foo` index is 0, `bar` index is 1.
34
+ */
35
+ index: number;
36
+ /**
37
+ * Option name, e.g. `--foo` => `foo`, `-x` => `x`.
38
+ */
39
+ name?: string;
40
+ /**
41
+ * Raw option name, e.g. `--foo` => `--foo`, `-x` => `-x`.
42
+ */
43
+ rawName?: string;
44
+ /**
45
+ * Option value, e.g. `--foo=bar` => `bar`, `-x=bar` => `bar`.
46
+ * If the `allowCompatible` option is `true`, short option value will be same as Node.js `parseArgs` behavior.
47
+ */
48
+ value?: string;
49
+ /**
50
+ * Inline value, e.g. `--foo=bar` => `true`, `-x=bar` => `true`.
51
+ */
52
+ inlineValue?: boolean;
53
+ }
54
+ /**
55
+ * Parser Options.
56
+ */
57
+ interface ParserOptions {
58
+ /**
59
+ * [Node.js parseArgs](https://nodejs.org/api/util.html#parseargs-tokens) tokens compatible mode.
60
+ *
61
+ * @default false
62
+ */
63
+ allowCompatible?: boolean;
64
+ }
65
+ /**
66
+ * Parse command line arguments.
67
+ *
68
+ * @param args - command line arguments
69
+ * @param options - parse options, about details see {@link ParserOptions}
70
+ * @returns Argument tokens.
71
+ *
72
+ * @example
73
+ * ```js
74
+ * import { parseArgs } from 'args-tokens' // for Node.js and Bun
75
+ * // import { parseArgs } from 'jsr:@kazupon/args-tokens' // for Deno
76
+ *
77
+ * const tokens = parseArgs(['--foo', 'bar', '-x', '--bar=baz'])
78
+ * // do something with using tokens
79
+ * // ...
80
+ * console.log('tokens:', tokens)
81
+ * ```
82
+ */
83
+ declare function parseArgs(args: string[], options?: ParserOptions): ArgToken[];
84
+ /**
85
+ * Check if `arg` is a short option (e.g. `-f`).
86
+ *
87
+ * @param arg - An argument to check
88
+ * @returns Whether `arg` is a short option.
89
+ */
90
+ //#endregion
91
+ //#region ../../node_modules/.pnpm/args-tokens@0.24.1/node_modules/args-tokens/lib/resolver.d.ts
92
+ //#region src/resolver.d.ts
93
+ /**
94
+ * An argument schema definition for command-line argument parsing.
95
+ *
96
+ * This schema is similar to the schema of Node.js `util.parseArgs` but with extended features:
97
+ * - Additional `required` and `description` properties
98
+ * - Extended `type` support: 'string', 'boolean', 'number', 'enum', 'positional', 'custom'
99
+ * - Simplified `default` property (single type, not union types)
100
+ *
101
+ * @example
102
+ * Basic string argument:
103
+ * ```ts
104
+ * const schema: ArgSchema = {
105
+ * type: 'string',
106
+ * description: 'Server hostname',
107
+ * default: 'localhost'
108
+ * }
109
+ * ```
110
+ *
111
+ * @example
112
+ * Required number argument with alias:
113
+ * ```ts
114
+ * const schema: ArgSchema = {
115
+ * type: 'number',
116
+ * short: 'p',
117
+ * description: 'Port number to listen on',
118
+ * required: true
119
+ * }
120
+ * ```
121
+ *
122
+ * @example
123
+ * Enum argument with choices:
124
+ * ```ts
125
+ * const schema: ArgSchema = {
126
+ * type: 'enum',
127
+ * choices: ['info', 'warn', 'error'],
128
+ * description: 'Logging level',
129
+ * default: 'info'
130
+ * }
131
+ * ```
132
+ */
133
+ interface ArgSchema {
134
+ /**
135
+ * Type of the argument value.
136
+ *
137
+ * - `'string'`: Text value (default if not specified)
138
+ * - `'boolean'`: `true`/`false` flag (can be negatable with `--no-` prefix)
139
+ * - `'number'`: Numeric value (parsed as integer or float)
140
+ * - `'enum'`: One of predefined string values (requires `choices` property)
141
+ * - `'positional'`: Non-option argument by position
142
+ * - `'custom'`: Custom parsing with user-defined `parse` function
143
+ *
144
+ * @example
145
+ * Different argument types:
146
+ * ```ts
147
+ * {
148
+ * name: { type: 'string' }, // --name value
149
+ * verbose: { type: 'boolean' }, // --verbose or --no-verbose
150
+ * port: { type: 'number' }, // --port 3000
151
+ * level: { type: 'enum', choices: ['debug', 'info'] },
152
+ * file: { type: 'positional' }, // first positional arg
153
+ * config: { type: 'custom', parse: JSON.parse }
154
+ * }
155
+ * ```
156
+ */
157
+ type: 'string' | 'boolean' | 'number' | 'enum' | 'positional' | 'custom';
158
+ /**
159
+ * Single character alias for the long option name.
160
+ *
161
+ * As example, allows users to use `-x` instead of `--extended-option`.
162
+ * Only valid for non-positional argument types.
163
+ *
164
+ * @example
165
+ * Short alias usage:
166
+ * ```ts
167
+ * {
168
+ * verbose: {
169
+ * type: 'boolean',
170
+ * short: 'v' // Enables both --verbose and -v
171
+ * },
172
+ * port: {
173
+ * type: 'number',
174
+ * short: 'p' // Enables both --port 3000 and -p 3000
175
+ * }
176
+ * }
177
+ * ```
178
+ */
179
+ short?: string;
180
+ /**
181
+ * Human-readable description of the argument's purpose.
182
+ *
183
+ * Used for help text generation and documentation.
184
+ * Should be concise but descriptive enough to understand the argument's role.
185
+ *
186
+ * @example
187
+ * Descriptive help text:
188
+ * ```ts
189
+ * {
190
+ * config: {
191
+ * type: 'string',
192
+ * description: 'Path to configuration file'
193
+ * },
194
+ * timeout: {
195
+ * type: 'number',
196
+ * description: 'Request timeout in milliseconds'
197
+ * }
198
+ * }
199
+ * ```
200
+ */
201
+ description?: string;
202
+ /**
203
+ * Marks the argument as required.
204
+ *
205
+ * When `true`, the argument must be provided by the user.
206
+ * If missing, an `ArgResolveError` with type 'required' will be thrown.
207
+ *
208
+ * Note: Only `true` is allowed (not `false`) to make intent explicit.
209
+ *
210
+ * @example
211
+ * Required arguments:
212
+ * ```ts
213
+ * {
214
+ * input: {
215
+ * type: 'string',
216
+ * required: true, // Must be provided: --input file.txt
217
+ * description: 'Input file path'
218
+ * },
219
+ * source: {
220
+ * type: 'positional',
221
+ * required: true // First positional argument must exist
222
+ * }
223
+ * }
224
+ * ```
225
+ */
226
+ required?: boolean;
227
+ /**
228
+ * Allows the argument to accept multiple values.
229
+ *
230
+ * When `true`, the resolved value becomes an array.
231
+ * For options: can be specified multiple times (--tag foo --tag bar)
232
+ * For positional: collects remaining positional arguments
233
+ *
234
+ * Note: Only `true` is allowed (not `false`) to make intent explicit.
235
+ *
236
+ * @example
237
+ * Multiple values:
238
+ * ```ts
239
+ * {
240
+ * tags: {
241
+ * type: 'string',
242
+ * multiple: true, // --tags foo --tags bar → ['foo', 'bar']
243
+ * description: 'Tags to apply'
244
+ * },
245
+ * files: {
246
+ * type: 'positional',
247
+ * multiple: true // Collects all remaining positional args
248
+ * }
249
+ * }
250
+ * ```
251
+ */
252
+ multiple?: true;
253
+ /**
254
+ * Enables negation for boolean arguments using `--no-` prefix.
255
+ *
256
+ * When `true`, allows users to explicitly set the boolean to `false`
257
+ * using `--no-option-name`. When `false` or omitted, only positive
258
+ * form is available.
259
+ *
260
+ * Only applicable to `type: 'boolean'` arguments.
261
+ *
262
+ * @example
263
+ * Negatable boolean:
264
+ * ```ts
265
+ * {
266
+ * color: {
267
+ * type: 'boolean',
268
+ * negatable: true,
269
+ * default: true,
270
+ * description: 'Enable colorized output'
271
+ * }
272
+ * // Usage: --color (true), --no-color (false)
273
+ * }
274
+ * ```
275
+ */
276
+ negatable?: boolean;
277
+ /**
278
+ * Array of allowed string values for enum-type arguments.
279
+ *
280
+ * Required when `type: 'enum'`. The argument value must be one of these choices,
281
+ * otherwise an `ArgResolveError` with type 'type' will be thrown.
282
+ *
283
+ * Supports both mutable arrays and readonly arrays for type safety.
284
+ *
285
+ * @example
286
+ * Enum choices:
287
+ * ```ts
288
+ * {
289
+ * logLevel: {
290
+ * type: 'enum',
291
+ * choices: ['debug', 'info', 'warn', 'error'] as const,
292
+ * default: 'info',
293
+ * description: 'Logging verbosity level'
294
+ * },
295
+ * format: {
296
+ * type: 'enum',
297
+ * choices: ['json', 'yaml', 'toml'],
298
+ * description: 'Output format'
299
+ * }
300
+ * }
301
+ * ```
302
+ */
303
+ choices?: string[] | readonly string[];
304
+ /**
305
+ * Default value used when the argument is not provided.
306
+ *
307
+ * The type must match the argument's `type` property:
308
+ * - `string` type: string default
309
+ * - `boolean` type: boolean default
310
+ * - `number` type: number default
311
+ * - `enum` type: must be one of the `choices` values
312
+ * - `positional`/`custom` type: any appropriate default
313
+ *
314
+ * @example
315
+ * Default values by type:
316
+ * ```ts
317
+ * {
318
+ * host: {
319
+ * type: 'string',
320
+ * default: 'localhost' // string default
321
+ * },
322
+ * verbose: {
323
+ * type: 'boolean',
324
+ * default: false // boolean default
325
+ * },
326
+ * port: {
327
+ * type: 'number',
328
+ * default: 8080 // number default
329
+ * },
330
+ * level: {
331
+ * type: 'enum',
332
+ * choices: ['low', 'high'],
333
+ * default: 'low' // must be in choices
334
+ * }
335
+ * }
336
+ * ```
337
+ */
338
+ default?: string | boolean | number;
339
+ /**
340
+ * Converts the argument name from camelCase to kebab-case for CLI usage.
341
+ *
342
+ * When `true`, a property like `maxCount` becomes available as `--max-count`.
343
+ * This allows [CAC](https://github.com/cacjs/cac) user-friendly property names while maintaining CLI conventions.
344
+ *
345
+ * Can be overridden globally with `resolveArgs({ toKebab: true })`.
346
+ *
347
+ * Note: Only `true` is allowed (not `false`) to make intent explicit.
348
+ *
349
+ * @example
350
+ * Kebab-case conversion:
351
+ * ```ts
352
+ * {
353
+ * maxRetries: {
354
+ * type: 'number',
355
+ * toKebab: true, // Accessible as --max-retries
356
+ * description: 'Maximum retry attempts'
357
+ * },
358
+ * enableLogging: {
359
+ * type: 'boolean',
360
+ * toKebab: true // Accessible as --enable-logging
361
+ * }
362
+ * }
363
+ * ```
364
+ */
365
+ toKebab?: true;
366
+ /**
367
+ * Names of other options that conflict with this option.
368
+ *
369
+ * When this option is used together with any of the conflicting options,
370
+ * an `ArgResolveError` with type 'conflict' will be thrown.
371
+ *
372
+ * Conflicts only need to be defined on one side - if option A defines a conflict
373
+ * with option B, the conflict is automatically detected when both are used,
374
+ * regardless of whether B also defines a conflict with A.
375
+ *
376
+ * Supports both single option name or array of option names.
377
+ * Option names must match the property keys in the schema object exactly
378
+ * (no automatic conversion between camelCase and kebab-case).
379
+ *
380
+ * @example
381
+ * Single conflict (bidirectional definition):
382
+ * ```ts
383
+ * {
384
+ * summer: {
385
+ * type: 'boolean',
386
+ * conflicts: 'autumn' // Cannot use --summer with --autumn
387
+ * },
388
+ * autumn: {
389
+ * type: 'boolean',
390
+ * conflicts: 'summer' // Can define on both sides for clarity
391
+ * }
392
+ * }
393
+ * ```
394
+ *
395
+ * @example
396
+ * Single conflict (one-way definition):
397
+ * ```ts
398
+ * {
399
+ * summer: {
400
+ * type: 'boolean',
401
+ * conflicts: 'autumn' // Only defined on summer side
402
+ * },
403
+ * autumn: {
404
+ * type: 'boolean'
405
+ * // No conflicts defined, but still cannot use with --summer
406
+ * }
407
+ * }
408
+ * // Usage: --summer --autumn will throw error
409
+ * // Error: "Optional argument '--summer' conflicts with '--autumn'"
410
+ * ```
411
+ *
412
+ * @example
413
+ * Multiple conflicts:
414
+ * ```ts
415
+ * {
416
+ * port: {
417
+ * type: 'number',
418
+ * conflicts: ['socket', 'pipe'], // Cannot use with --socket or --pipe
419
+ * description: 'TCP port number'
420
+ * },
421
+ * socket: {
422
+ * type: 'string',
423
+ * conflicts: ['port', 'pipe'], // Cannot use with --port or --pipe
424
+ * description: 'Unix socket path'
425
+ * },
426
+ * pipe: {
427
+ * type: 'string',
428
+ * conflicts: ['port', 'socket'], // Cannot use with --port or --socket
429
+ * description: 'Named pipe path'
430
+ * }
431
+ * }
432
+ * // These three options are mutually exclusive
433
+ * ```
434
+ *
435
+ * @example
436
+ * With kebab-case conversion:
437
+ * ```ts
438
+ * {
439
+ * summerSeason: {
440
+ * type: 'boolean',
441
+ * toKebab: true, // Accessible as --summer-season
442
+ * conflicts: 'autumnSeason' // Must use property key, not CLI name
443
+ * },
444
+ * autumnSeason: {
445
+ * type: 'boolean',
446
+ * toKebab: true // Accessible as --autumn-season
447
+ * }
448
+ * }
449
+ * // Error: "Optional argument '--summer-season' conflicts with '--autumn-season'"
450
+ * ```
451
+ */
452
+ conflicts?: string | string[];
453
+ /**
454
+ * Display name hint for help text generation.
455
+ *
456
+ * Provides a meaningful type hint for the argument value in help output.
457
+ * Particularly useful for `type: 'custom'` arguments where the type
458
+ * name would otherwise be unhelpful.
459
+ *
460
+ * @example
461
+ * Metavar usage:
462
+ * ```ts
463
+ * {
464
+ * port: {
465
+ * type: 'custom',
466
+ * parse: (v: string) => parseInt(v, 10),
467
+ * metavar: 'integer',
468
+ * description: 'Port number (1-65535)'
469
+ * }
470
+ * }
471
+ * // Help output: --port <integer> Port number (1-65535)
472
+ * ```
473
+ */
474
+ metavar?: string;
475
+ /**
476
+ * Custom parsing function for `type: 'custom'` arguments.
477
+ *
478
+ * Required when `type: 'custom'`. Receives the raw string value and must
479
+ * return the parsed result. Should throw an Error (or subclass) if parsing fails.
480
+ *
481
+ * The function's return type becomes the resolved argument type.
482
+ *
483
+ * @param value - Raw string value from command line
484
+ * @returns Parsed value of any type
485
+ * @throws Error or subclass when value is invalid
486
+ *
487
+ * @example
488
+ * Custom parsing functions:
489
+ * ```ts
490
+ * {
491
+ * config: {
492
+ * type: 'custom',
493
+ * parse: (value: string) => {
494
+ * try {
495
+ * return JSON.parse(value) // Parse JSON config
496
+ * } catch {
497
+ * throw new Error('Invalid JSON configuration')
498
+ * }
499
+ * },
500
+ * description: 'JSON configuration object'
501
+ * },
502
+ * date: {
503
+ * type: 'custom',
504
+ * parse: (value: string) => {
505
+ * const date = new Date(value)
506
+ * if (isNaN(date.getTime())) {
507
+ * throw new Error('Invalid date format')
508
+ * }
509
+ * return date
510
+ * }
511
+ * }
512
+ * }
513
+ * ```
514
+ */
515
+ parse?: (value: string) => any;
516
+ }
517
+ /**
518
+ * An object that contains {@link ArgSchema | argument schema}.
519
+ *
520
+ * This type is used to define the structure and validation rules for command line arguments.
521
+ */
522
+ interface Args {
523
+ [option: string]: ArgSchema;
524
+ }
525
+ /**
526
+ * An object that contains the values of the arguments.
527
+ *
528
+ * @typeParam T - {@link Args | Arguments} which is an object that defines the command line arguments.
529
+ */
530
+ type ArgValues<T> = T extends Args ? ResolveArgValues<T, { [Arg in keyof T]: ExtractOptionValue<T[Arg]> }> : {
531
+ [option: string]: string | boolean | number | (string | boolean | number)[] | undefined;
532
+ };
533
+ /**
534
+ * Extracts the value type from the argument schema.
535
+ *
536
+ * @typeParam A - {@link ArgSchema | Argument schema} which is an object that defines command line arguments.
537
+ *
538
+ * @internal
539
+ */
540
+ type ExtractOptionValue<A extends ArgSchema> = undefined extends A['parse'] ? A['type'] extends 'string' ? ResolveOptionValue<A, string> : A['type'] extends 'boolean' ? ResolveOptionValue<A, boolean> : A['type'] extends 'number' ? ResolveOptionValue<A, number> : A['type'] extends 'positional' ? ResolveOptionValue<A, string> : A['type'] extends 'enum' ? A['choices'] extends string[] | readonly string[] ? ResolveOptionValue<A, A['choices'][number]> : never : A['type'] extends 'custom' ? never : ResolveOptionValue<A, string | boolean | number> : A['parse'] extends ((value: string) => infer R) ? ResolveOptionValue<A, R> : never;
541
+ type ResolveOptionValue<A extends ArgSchema, T> = A['multiple'] extends true ? T[] : T;
542
+ /**
543
+ * Resolved argument values.
544
+ *
545
+ * @typeParam A - {@link Arguments | Args} which is an object that defines the command line arguments.
546
+ * @typeParam V - Resolvable argument values.
547
+ *
548
+ * @internal
549
+ */
550
+ type ResolveArgValues<A extends Args, V extends Record<keyof A, unknown>> = { -readonly [Arg in keyof A]?: V[Arg] } & FilterArgs<A, V, 'default'> & FilterArgs<A, V, 'required'> & FilterPositionalArgs<A, V> extends infer P ? { [K in keyof P]: P[K] } : never;
551
+ /**
552
+ * Filters the arguments based on their default values.
553
+ *
554
+ * @typeParam A - {@link Args | Arguments}, which is an object that defines the command line arguments.
555
+ * @typeParam V - Resolvable argument values.
556
+ * @typeParam K - Key of the {@link ArgSchema | argument schema} to filter by.
557
+ *
558
+ * @internal
559
+ */
560
+ type FilterArgs<A extends Args, V extends Record<keyof A, unknown>, K extends keyof ArgSchema> = { [Arg in keyof A as K extends 'required' ? A[Arg][K] extends true ? Arg : never : A[Arg][K] extends {} ? Arg : never]: V[Arg] };
561
+ /**
562
+ * Filters positional arguments from the argument schema.
563
+ *
564
+ * @typeParam A - {@link Args | Arguments}, which is an object that defines the command line arguments.
565
+ * @typeParam V - Resolvable argument values.
566
+ *
567
+ * @internal
568
+ */
569
+ type FilterPositionalArgs<A extends Args, V extends Record<keyof A, unknown>> = { [Arg in keyof A as A[Arg]['type'] extends 'positional' ? Arg : never]: V[Arg] };
570
+ /**
571
+ * An arguments for {@link resolveArgs | resolve arguments}.
572
+ */
573
+ interface ResolveArgs {
574
+ /**
575
+ * Whether to group short arguments.
576
+ *
577
+ * @see guideline 5 in https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/V1_chap12.html
578
+ *
579
+ * @default false
580
+ */
581
+ shortGrouping?: boolean;
582
+ /**
583
+ * Skip positional arguments index.
584
+ *
585
+ * @default -1
586
+ */
587
+ skipPositional?: number;
588
+ /**
589
+ * Whether to convert the argument name to kebab-case. This option is applied to all arguments as `toKebab: true`, if set to `true`.
590
+ *
591
+ * @default false
592
+ */
593
+ toKebab?: boolean;
594
+ }
595
+ /**
596
+ * Tracks which arguments were explicitly provided by the user.
597
+ *
598
+ * Each property indicates whether the corresponding argument was explicitly
599
+ * provided (true) or is using a default value or not provided (false).
600
+ *
601
+ * @typeParam A - {@link Args | Arguments}, which is an object that defines the command line arguments.
602
+ */
603
+ type ArgExplicitlyProvided<A extends Args> = { [K in keyof A]: boolean };
604
+ /**
605
+ * Resolve command line arguments.
606
+ *
607
+ * @typeParam A - {@link Args | Arguments}, which is an object that defines the command line arguments.
608
+ *
609
+ * @param args - An arguments that contains {@link ArgSchema | arguments schema}.
610
+ * @param tokens - An array of {@link ArgToken | tokens}.
611
+ * @param resolveArgs - An arguments that contains {@link ResolveArgs | resolve arguments}.
612
+ * @returns An object that contains the values of the arguments, positional arguments, rest arguments, {@link AggregateError | validation errors}, and explicit provision status.
613
+ *
614
+ * @example
615
+ * ```typescript
616
+ * // passed tokens: --port 3000
617
+ *
618
+ * const { values, explicit } = resolveArgs({
619
+ * port: {
620
+ * type: 'number',
621
+ * default: 8080
622
+ * },
623
+ * host: {
624
+ * type: 'string',
625
+ * default: 'localhost'
626
+ * }
627
+ * }, parsedTokens)
628
+ *
629
+ * values.port // 3000
630
+ * values.host // 'localhost'
631
+ *
632
+ * explicit.port // true (explicitly provided)
633
+ * explicit.host // false (not provided, fallback to default)
634
+ * ```
635
+ */
636
+ declare function resolveArgs<A extends Args>(args: A, tokens: ArgToken[], {
637
+ shortGrouping,
638
+ skipPositional,
639
+ toKebab
640
+ }?: ResolveArgs): {
641
+ values: ArgValues<A>;
642
+ positionals: string[];
643
+ rest: string[];
644
+ error: AggregateError | undefined;
645
+ explicit: ArgExplicitlyProvided<A>;
646
+ };
647
+ /**
648
+ * An error type for {@link ArgResolveError}.
649
+ */
650
+ //#endregion
651
+ export { resolveArgs as a, Args as i, ArgSchema as n, ArgToken as o, ArgValues as r, parseArgs as s, ArgExplicitlyProvided as t };
@@ -1,4 +1,4 @@
1
- import { o as resolveLazyCommand, s as kebabnize } from "./utils-DNS9AIR_.js";
1
+ import { o as resolveLazyCommand, s as kebabnize } from "./utils-B6TBrE2m.js";
2
2
  import { t as ANONYMOUS_COMMAND_NAME } from "./constants-WviiKqbt.js";
3
3
  import { t as plugin } from "./core-eN5xmB3s.js";
4
4