@optique/core 1.0.0-dev.921 → 1.0.1

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 (109) hide show
  1. package/dist/annotation-state.cjs +425 -0
  2. package/dist/annotation-state.d.cts +24 -0
  3. package/dist/annotation-state.d.ts +24 -0
  4. package/dist/annotation-state.js +414 -0
  5. package/dist/annotations.cjs +2 -248
  6. package/dist/annotations.d.cts +2 -137
  7. package/dist/annotations.d.ts +2 -137
  8. package/dist/annotations.js +2 -238
  9. package/dist/completion.cjs +611 -100
  10. package/dist/completion.d.cts +1 -1
  11. package/dist/completion.d.ts +1 -1
  12. package/dist/completion.js +611 -100
  13. package/dist/constructs.cjs +3338 -827
  14. package/dist/constructs.d.cts +48 -7
  15. package/dist/constructs.d.ts +48 -7
  16. package/dist/constructs.js +3338 -827
  17. package/dist/context.cjs +0 -23
  18. package/dist/context.d.cts +119 -53
  19. package/dist/context.d.ts +119 -53
  20. package/dist/context.js +0 -22
  21. package/dist/dependency-metadata.cjs +139 -0
  22. package/dist/dependency-metadata.d.cts +112 -0
  23. package/dist/dependency-metadata.d.ts +112 -0
  24. package/dist/dependency-metadata.js +138 -0
  25. package/dist/dependency-runtime.cjs +698 -0
  26. package/dist/dependency-runtime.d.cts +149 -0
  27. package/dist/dependency-runtime.d.ts +149 -0
  28. package/dist/dependency-runtime.js +687 -0
  29. package/dist/dependency.cjs +7 -928
  30. package/dist/dependency.d.cts +2 -794
  31. package/dist/dependency.d.ts +2 -794
  32. package/dist/dependency.js +2 -899
  33. package/dist/displaywidth.cjs +44 -0
  34. package/dist/displaywidth.js +43 -0
  35. package/dist/doc.cjs +285 -23
  36. package/dist/doc.d.cts +57 -2
  37. package/dist/doc.d.ts +57 -2
  38. package/dist/doc.js +283 -25
  39. package/dist/execution-context.cjs +56 -0
  40. package/dist/execution-context.js +53 -0
  41. package/dist/extension.cjs +87 -0
  42. package/dist/extension.d.cts +97 -0
  43. package/dist/extension.d.ts +97 -0
  44. package/dist/extension.js +76 -0
  45. package/dist/facade.cjs +718 -525
  46. package/dist/facade.d.cts +59 -15
  47. package/dist/facade.d.ts +59 -15
  48. package/dist/facade.js +718 -525
  49. package/dist/index.cjs +14 -29
  50. package/dist/index.d.cts +10 -10
  51. package/dist/index.d.ts +10 -10
  52. package/dist/index.js +7 -7
  53. package/dist/input-trace.cjs +56 -0
  54. package/dist/input-trace.d.cts +77 -0
  55. package/dist/input-trace.d.ts +77 -0
  56. package/dist/input-trace.js +55 -0
  57. package/dist/internal/annotations.cjs +316 -0
  58. package/dist/internal/annotations.d.cts +140 -0
  59. package/dist/internal/annotations.d.ts +140 -0
  60. package/dist/internal/annotations.js +306 -0
  61. package/dist/internal/dependency.cjs +984 -0
  62. package/dist/internal/dependency.d.cts +539 -0
  63. package/dist/internal/dependency.d.ts +539 -0
  64. package/dist/internal/dependency.js +964 -0
  65. package/dist/{mode-dispatch.cjs → internal/mode-dispatch.cjs} +1 -3
  66. package/dist/{mode-dispatch.d.cts → internal/mode-dispatch.d.cts} +3 -7
  67. package/dist/{mode-dispatch.d.ts → internal/mode-dispatch.d.ts} +3 -7
  68. package/dist/{mode-dispatch.js → internal/mode-dispatch.js} +1 -3
  69. package/dist/internal/parser.cjs +728 -0
  70. package/dist/internal/parser.d.cts +947 -0
  71. package/dist/internal/parser.d.ts +947 -0
  72. package/dist/internal/parser.js +711 -0
  73. package/dist/message.cjs +84 -26
  74. package/dist/message.d.cts +49 -9
  75. package/dist/message.d.ts +49 -9
  76. package/dist/message.js +84 -27
  77. package/dist/modifiers.cjs +1023 -240
  78. package/dist/modifiers.d.cts +42 -1
  79. package/dist/modifiers.d.ts +42 -1
  80. package/dist/modifiers.js +1023 -240
  81. package/dist/parser.cjs +11 -463
  82. package/dist/parser.d.cts +3 -537
  83. package/dist/parser.d.ts +3 -537
  84. package/dist/parser.js +2 -433
  85. package/dist/phase2-seed.cjs +59 -0
  86. package/dist/phase2-seed.js +56 -0
  87. package/dist/primitives.cjs +557 -208
  88. package/dist/primitives.d.cts +10 -14
  89. package/dist/primitives.d.ts +10 -14
  90. package/dist/primitives.js +557 -208
  91. package/dist/program.cjs +5 -1
  92. package/dist/program.d.cts +5 -3
  93. package/dist/program.d.ts +5 -3
  94. package/dist/program.js +6 -1
  95. package/dist/suggestion.cjs +22 -8
  96. package/dist/suggestion.js +22 -8
  97. package/dist/usage-internals.cjs +3 -2
  98. package/dist/usage-internals.js +4 -2
  99. package/dist/usage.cjs +195 -40
  100. package/dist/usage.d.cts +92 -11
  101. package/dist/usage.d.ts +92 -11
  102. package/dist/usage.js +194 -41
  103. package/dist/validate.cjs +170 -0
  104. package/dist/validate.js +164 -0
  105. package/dist/valueparser.cjs +1270 -187
  106. package/dist/valueparser.d.cts +320 -14
  107. package/dist/valueparser.d.ts +320 -14
  108. package/dist/valueparser.js +1269 -188
  109. package/package.json +9 -9
package/dist/facade.d.cts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { Message } from "./message.cjs";
2
2
  import { HiddenVisibility, OptionName } from "./usage.cjs";
3
3
  import { DocSection, ShowChoicesOptions, ShowDefaultOptions } from "./doc.cjs";
4
- import { InferMode, InferValue, Mode, ModeValue, Parser } from "./parser.cjs";
4
+ import { InferMode, InferValue, Mode, ModeValue, Parser } from "./internal/parser.cjs";
5
5
  import { ShellCompletion } from "./completion.cjs";
6
- import { ParserValuePlaceholder, SourceContext } from "./context.cjs";
6
+ import { ParserValuePlaceholder, SourceContext, SourceContextRequest } from "./context.cjs";
7
7
  import { Program } from "./program.cjs";
8
8
 
9
9
  //#region src/facade.d.ts
@@ -272,6 +272,13 @@ interface RunOptions<THelp, TError> {
272
272
  * @param options Configuration options for output formatting and callbacks.
273
273
  * @returns The parsed result value, or the return value of `onHelp`/`onError`
274
274
  * callbacks.
275
+ * @throws {TypeError} If `programName` (or `program.metadata.name`) is not
276
+ * a string, is empty, is whitespace-only, or contains control
277
+ * characters. Also thrown if `options.version.value` is not a
278
+ * non-empty string without ASCII control characters, or if any
279
+ * meta command/option name is empty, whitespace-only, contains
280
+ * whitespace or control characters, or (for option names) lacks a
281
+ * valid prefix (`--`, `-`, `/`, or `+`).
275
282
  * @throws {RunParserError} When parsing fails and no `onError` callback is
276
283
  * provided.
277
284
  * @since 0.10.0 Added support for {@link Program} objects.
@@ -296,6 +303,8 @@ declare function runParser<TParser extends Parser<Mode, unknown, unknown>, THelp
296
303
  * @param args The command-line arguments to parse.
297
304
  * @param options Configuration options for customizing behavior.
298
305
  * @returns The parsed result if successful.
306
+ * @throws {TypeError} If an async parser is passed at runtime. Use
307
+ * {@link runParser} or {@link runParserAsync} for async parsers.
299
308
  * @since 0.9.0
300
309
  */
301
310
  declare function runParserSync<TParser extends Parser<"sync", unknown, unknown>, THelp = void, TError = never>(parser: TParser, programName: string, args: readonly string[], options?: RunOptions<THelp, TError>): InferValue<TParser>;
@@ -396,20 +405,29 @@ type ContextOptionsParam<TContexts extends readonly SourceContext<unknown>[], TV
396
405
  /**
397
406
  * Runs a parser with multiple source contexts.
398
407
  *
399
- * This function automatically handles static and dynamic contexts with proper
400
- * priority. Earlier contexts in the array override later ones.
408
+ * This function automatically handles single-pass and two-pass contexts with
409
+ * proper priority. Earlier contexts in the array override later ones.
401
410
  *
402
411
  * The function uses a smart two-phase approach:
403
412
  *
404
- * 1. *Phase 1*: Collect annotations from all contexts (static contexts return
405
- * their data, dynamic contexts may return empty).
406
- * 2. *First parse*: Parse with Phase 1 annotations.
407
- * 3. *Phase 2*: Call `getAnnotations(parsed)` on all contexts with the first
408
- * parse result.
409
- * 4. *Second parse*: Parse again with merged annotations from both phases.
413
+ * 1. *Phase 1*: Collect annotations from all contexts.
414
+ * 2. *First parse*: Parse with Phase 1 annotations. If that pass finishes
415
+ * successfully, its value becomes the phase-two input. If the parser
416
+ * reaches a usable intermediate state but still does not complete
417
+ * successfully, the runner extracts a best-effort seed from that state
418
+ * instead.
419
+ * 3. *Phase 2*: Call `getAnnotations({ phase: "phase2", parsed })` on all
420
+ * two-pass contexts with the first pass value. Deferred or otherwise
421
+ * unresolved fields in `parsed` may be `undefined`. Each two-pass
422
+ * context's phase-two return
423
+ * value replaces its own phase-one contribution for the final parse, so
424
+ * returning `{}` clears any annotations that context provided during
425
+ * phase 1. Single-pass contexts reuse their phase-one snapshot.
426
+ * 4. *Second parse*: Parse again with the merged phase-two annotations.
410
427
  *
411
- * If all contexts are static (no dynamic contexts), the second parse is skipped
412
- * for optimization.
428
+ * If all contexts are single-pass, the second parse is skipped for
429
+ * optimization. Phase 2 is also skipped when the first pass does not yield
430
+ * any usable seed at all.
413
431
  *
414
432
  * @template TParser The parser type.
415
433
  * @template THelp Return type when help is shown.
@@ -419,6 +437,13 @@ type ContextOptionsParam<TContexts extends readonly SourceContext<unknown>[], TV
419
437
  * @param contexts Source contexts to use (priority: earlier overrides later).
420
438
  * @param options Run options including args, help, version, etc.
421
439
  * @returns Promise that resolves to the parsed result.
440
+ * @throws {TypeError} If two or more contexts share the same
441
+ * {@link SourceContext.id}.
442
+ * @throws {TypeError} If any context omits `phase` or declares an invalid
443
+ * phase value.
444
+ * @throws {SuppressedError} If the runner throws and a context's disposal
445
+ * also throws. The original error is available via `.suppressed` and the
446
+ * disposal error via `.error`.
422
447
  * @since 0.10.0
423
448
  *
424
449
  * @example
@@ -428,6 +453,7 @@ type ContextOptionsParam<TContexts extends readonly SourceContext<unknown>[], TV
428
453
  *
429
454
  * const envContext: SourceContext = {
430
455
  * id: Symbol.for("@myapp/env"),
456
+ * phase: "single-pass",
431
457
  * getAnnotations() {
432
458
  * return { [Symbol.for("@myapp/env")]: process.env };
433
459
  * }
@@ -446,7 +472,11 @@ declare function runWith<TParser extends Parser<Mode, unknown, unknown>, TContex
446
472
  * Runs a synchronous parser with multiple source contexts.
447
473
  *
448
474
  * This is the sync-only variant of {@link runWith}. All contexts must return
449
- * annotations synchronously (not Promises).
475
+ * annotations synchronously (not Promises). It uses the same two-phase
476
+ * best-effort seed extraction as {@link runWith} when two-pass contexts are
477
+ * present. In two-phase runs, each two-pass context's phase-two return value
478
+ * replaces that context's phase-one contribution for the final parse, so
479
+ * returning `{}` clears any annotations that context provided during phase 1.
450
480
  *
451
481
  * @template TParser The sync parser type.
452
482
  * @template THelp Return type when help is shown.
@@ -456,8 +486,17 @@ declare function runWith<TParser extends Parser<Mode, unknown, unknown>, TContex
456
486
  * @param contexts Source contexts to use (priority: earlier overrides later).
457
487
  * @param options Run options including args, help, version, etc.
458
488
  * @returns The parsed result.
459
- * @throws Error if any context returns a Promise or if a context's
489
+ * @throws {TypeError} If an async parser is passed at runtime. Use
490
+ * {@link runWith} or {@link runWithAsync} for async parsers.
491
+ * @throws {TypeError} If two or more contexts share the same
492
+ * {@link SourceContext.id}.
493
+ * @throws {TypeError} If any context omits `phase` or declares an invalid
494
+ * phase value.
495
+ * @throws {TypeError} If any context returns a Promise or if a context's
460
496
  * `[Symbol.asyncDispose]` returns a Promise.
497
+ * @throws {SuppressedError} If the runner throws and a context's disposal
498
+ * also throws. The original error is available via `.suppressed` and the
499
+ * disposal error via `.error`.
461
500
  * @since 0.10.0
462
501
  */
463
502
  declare function runWithSync<TParser extends Parser<"sync", unknown, unknown>, TContexts extends readonly SourceContext<unknown>[], THelp = void, TError = never>(parser: TParser, programName: string, contexts: TContexts, options: RunWithOptions<THelp, TError> & ContextOptionsParam<TContexts, InferValue<TParser>>): InferValue<TParser>;
@@ -475,8 +514,13 @@ declare function runWithSync<TParser extends Parser<"sync", unknown, unknown>, T
475
514
  * @param contexts Source contexts to use (priority: earlier overrides later).
476
515
  * @param options Run options including args, help, version, etc.
477
516
  * @returns Promise that resolves to the parsed result.
517
+ * @throws {TypeError} If two or more contexts share the same
518
+ * {@link SourceContext.id}.
519
+ * @throws {SuppressedError} If the runner throws and a context's disposal
520
+ * also throws. The original error is available via `.suppressed` and the
521
+ * disposal error via `.error`.
478
522
  * @since 0.10.0
479
523
  */
480
524
  declare function runWithAsync<TParser extends Parser<Mode, unknown, unknown>, TContexts extends readonly SourceContext<unknown>[], THelp = void, TError = never>(parser: TParser, programName: string, contexts: TContexts, options: RunWithOptions<THelp, TError> & ContextOptionsParam<TContexts, InferValue<TParser>>): Promise<InferValue<TParser>>;
481
525
  //#endregion
482
- export { CommandSubConfig, ContextOptionsParam, ExtractRequiredOptions, OptionSubConfig, type ParserValuePlaceholder, RunOptions, RunParserError, RunWithOptions, type SourceContext, SubstituteParserValue, runParser, runParserAsync, runParserSync, runWith, runWithAsync, runWithSync };
526
+ export { CommandSubConfig, ContextOptionsParam, ExtractRequiredOptions, OptionSubConfig, type ParserValuePlaceholder, RunOptions, RunParserError, RunWithOptions, type SourceContext, type SourceContextRequest, SubstituteParserValue, runParser, runParserAsync, runParserSync, runWith, runWithAsync, runWithSync };
package/dist/facade.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import { Message } from "./message.js";
2
2
  import { HiddenVisibility, OptionName } from "./usage.js";
3
3
  import { DocSection, ShowChoicesOptions, ShowDefaultOptions } from "./doc.js";
4
- import { InferMode, InferValue, Mode, ModeValue, Parser } from "./parser.js";
4
+ import { InferMode, InferValue, Mode, ModeValue, Parser } from "./internal/parser.js";
5
5
  import { ShellCompletion } from "./completion.js";
6
- import { ParserValuePlaceholder, SourceContext } from "./context.js";
6
+ import { ParserValuePlaceholder, SourceContext, SourceContextRequest } from "./context.js";
7
7
  import { Program } from "./program.js";
8
8
 
9
9
  //#region src/facade.d.ts
@@ -272,6 +272,13 @@ interface RunOptions<THelp, TError> {
272
272
  * @param options Configuration options for output formatting and callbacks.
273
273
  * @returns The parsed result value, or the return value of `onHelp`/`onError`
274
274
  * callbacks.
275
+ * @throws {TypeError} If `programName` (or `program.metadata.name`) is not
276
+ * a string, is empty, is whitespace-only, or contains control
277
+ * characters. Also thrown if `options.version.value` is not a
278
+ * non-empty string without ASCII control characters, or if any
279
+ * meta command/option name is empty, whitespace-only, contains
280
+ * whitespace or control characters, or (for option names) lacks a
281
+ * valid prefix (`--`, `-`, `/`, or `+`).
275
282
  * @throws {RunParserError} When parsing fails and no `onError` callback is
276
283
  * provided.
277
284
  * @since 0.10.0 Added support for {@link Program} objects.
@@ -296,6 +303,8 @@ declare function runParser<TParser extends Parser<Mode, unknown, unknown>, THelp
296
303
  * @param args The command-line arguments to parse.
297
304
  * @param options Configuration options for customizing behavior.
298
305
  * @returns The parsed result if successful.
306
+ * @throws {TypeError} If an async parser is passed at runtime. Use
307
+ * {@link runParser} or {@link runParserAsync} for async parsers.
299
308
  * @since 0.9.0
300
309
  */
301
310
  declare function runParserSync<TParser extends Parser<"sync", unknown, unknown>, THelp = void, TError = never>(parser: TParser, programName: string, args: readonly string[], options?: RunOptions<THelp, TError>): InferValue<TParser>;
@@ -396,20 +405,29 @@ type ContextOptionsParam<TContexts extends readonly SourceContext<unknown>[], TV
396
405
  /**
397
406
  * Runs a parser with multiple source contexts.
398
407
  *
399
- * This function automatically handles static and dynamic contexts with proper
400
- * priority. Earlier contexts in the array override later ones.
408
+ * This function automatically handles single-pass and two-pass contexts with
409
+ * proper priority. Earlier contexts in the array override later ones.
401
410
  *
402
411
  * The function uses a smart two-phase approach:
403
412
  *
404
- * 1. *Phase 1*: Collect annotations from all contexts (static contexts return
405
- * their data, dynamic contexts may return empty).
406
- * 2. *First parse*: Parse with Phase 1 annotations.
407
- * 3. *Phase 2*: Call `getAnnotations(parsed)` on all contexts with the first
408
- * parse result.
409
- * 4. *Second parse*: Parse again with merged annotations from both phases.
413
+ * 1. *Phase 1*: Collect annotations from all contexts.
414
+ * 2. *First parse*: Parse with Phase 1 annotations. If that pass finishes
415
+ * successfully, its value becomes the phase-two input. If the parser
416
+ * reaches a usable intermediate state but still does not complete
417
+ * successfully, the runner extracts a best-effort seed from that state
418
+ * instead.
419
+ * 3. *Phase 2*: Call `getAnnotations({ phase: "phase2", parsed })` on all
420
+ * two-pass contexts with the first pass value. Deferred or otherwise
421
+ * unresolved fields in `parsed` may be `undefined`. Each two-pass
422
+ * context's phase-two return
423
+ * value replaces its own phase-one contribution for the final parse, so
424
+ * returning `{}` clears any annotations that context provided during
425
+ * phase 1. Single-pass contexts reuse their phase-one snapshot.
426
+ * 4. *Second parse*: Parse again with the merged phase-two annotations.
410
427
  *
411
- * If all contexts are static (no dynamic contexts), the second parse is skipped
412
- * for optimization.
428
+ * If all contexts are single-pass, the second parse is skipped for
429
+ * optimization. Phase 2 is also skipped when the first pass does not yield
430
+ * any usable seed at all.
413
431
  *
414
432
  * @template TParser The parser type.
415
433
  * @template THelp Return type when help is shown.
@@ -419,6 +437,13 @@ type ContextOptionsParam<TContexts extends readonly SourceContext<unknown>[], TV
419
437
  * @param contexts Source contexts to use (priority: earlier overrides later).
420
438
  * @param options Run options including args, help, version, etc.
421
439
  * @returns Promise that resolves to the parsed result.
440
+ * @throws {TypeError} If two or more contexts share the same
441
+ * {@link SourceContext.id}.
442
+ * @throws {TypeError} If any context omits `phase` or declares an invalid
443
+ * phase value.
444
+ * @throws {SuppressedError} If the runner throws and a context's disposal
445
+ * also throws. The original error is available via `.suppressed` and the
446
+ * disposal error via `.error`.
422
447
  * @since 0.10.0
423
448
  *
424
449
  * @example
@@ -428,6 +453,7 @@ type ContextOptionsParam<TContexts extends readonly SourceContext<unknown>[], TV
428
453
  *
429
454
  * const envContext: SourceContext = {
430
455
  * id: Symbol.for("@myapp/env"),
456
+ * phase: "single-pass",
431
457
  * getAnnotations() {
432
458
  * return { [Symbol.for("@myapp/env")]: process.env };
433
459
  * }
@@ -446,7 +472,11 @@ declare function runWith<TParser extends Parser<Mode, unknown, unknown>, TContex
446
472
  * Runs a synchronous parser with multiple source contexts.
447
473
  *
448
474
  * This is the sync-only variant of {@link runWith}. All contexts must return
449
- * annotations synchronously (not Promises).
475
+ * annotations synchronously (not Promises). It uses the same two-phase
476
+ * best-effort seed extraction as {@link runWith} when two-pass contexts are
477
+ * present. In two-phase runs, each two-pass context's phase-two return value
478
+ * replaces that context's phase-one contribution for the final parse, so
479
+ * returning `{}` clears any annotations that context provided during phase 1.
450
480
  *
451
481
  * @template TParser The sync parser type.
452
482
  * @template THelp Return type when help is shown.
@@ -456,8 +486,17 @@ declare function runWith<TParser extends Parser<Mode, unknown, unknown>, TContex
456
486
  * @param contexts Source contexts to use (priority: earlier overrides later).
457
487
  * @param options Run options including args, help, version, etc.
458
488
  * @returns The parsed result.
459
- * @throws Error if any context returns a Promise or if a context's
489
+ * @throws {TypeError} If an async parser is passed at runtime. Use
490
+ * {@link runWith} or {@link runWithAsync} for async parsers.
491
+ * @throws {TypeError} If two or more contexts share the same
492
+ * {@link SourceContext.id}.
493
+ * @throws {TypeError} If any context omits `phase` or declares an invalid
494
+ * phase value.
495
+ * @throws {TypeError} If any context returns a Promise or if a context's
460
496
  * `[Symbol.asyncDispose]` returns a Promise.
497
+ * @throws {SuppressedError} If the runner throws and a context's disposal
498
+ * also throws. The original error is available via `.suppressed` and the
499
+ * disposal error via `.error`.
461
500
  * @since 0.10.0
462
501
  */
463
502
  declare function runWithSync<TParser extends Parser<"sync", unknown, unknown>, TContexts extends readonly SourceContext<unknown>[], THelp = void, TError = never>(parser: TParser, programName: string, contexts: TContexts, options: RunWithOptions<THelp, TError> & ContextOptionsParam<TContexts, InferValue<TParser>>): InferValue<TParser>;
@@ -475,8 +514,13 @@ declare function runWithSync<TParser extends Parser<"sync", unknown, unknown>, T
475
514
  * @param contexts Source contexts to use (priority: earlier overrides later).
476
515
  * @param options Run options including args, help, version, etc.
477
516
  * @returns Promise that resolves to the parsed result.
517
+ * @throws {TypeError} If two or more contexts share the same
518
+ * {@link SourceContext.id}.
519
+ * @throws {SuppressedError} If the runner throws and a context's disposal
520
+ * also throws. The original error is available via `.suppressed` and the
521
+ * disposal error via `.error`.
478
522
  * @since 0.10.0
479
523
  */
480
524
  declare function runWithAsync<TParser extends Parser<Mode, unknown, unknown>, TContexts extends readonly SourceContext<unknown>[], THelp = void, TError = never>(parser: TParser, programName: string, contexts: TContexts, options: RunWithOptions<THelp, TError> & ContextOptionsParam<TContexts, InferValue<TParser>>): Promise<InferValue<TParser>>;
481
525
  //#endregion
482
- export { CommandSubConfig, ContextOptionsParam, ExtractRequiredOptions, OptionSubConfig, type ParserValuePlaceholder, RunOptions, RunParserError, RunWithOptions, type SourceContext, SubstituteParserValue, runParser, runParserAsync, runParserSync, runWith, runWithAsync, runWithSync };
526
+ export { CommandSubConfig, ContextOptionsParam, ExtractRequiredOptions, OptionSubConfig, type ParserValuePlaceholder, RunOptions, RunParserError, RunWithOptions, type SourceContext, type SourceContextRequest, SubstituteParserValue, runParser, runParserAsync, runParserSync, runWith, runWithAsync, runWithSync };