@effect-app/vue 4.0.0-beta.13 → 4.0.0-beta.131

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 (70) hide show
  1. package/CHANGELOG.md +829 -0
  2. package/dist/{experimental/commander.d.ts → commander.d.ts} +62 -53
  3. package/dist/commander.d.ts.map +1 -0
  4. package/dist/commander.js +582 -0
  5. package/dist/{experimental/confirm.d.ts → confirm.d.ts} +4 -4
  6. package/dist/confirm.d.ts.map +1 -0
  7. package/dist/confirm.js +24 -0
  8. package/dist/errorReporter.d.ts +3 -3
  9. package/dist/errorReporter.d.ts.map +1 -1
  10. package/dist/errorReporter.js +12 -18
  11. package/dist/form.d.ts +10 -1
  12. package/dist/form.d.ts.map +1 -1
  13. package/dist/form.js +38 -9
  14. package/dist/intl.d.ts +15 -0
  15. package/dist/intl.d.ts.map +1 -0
  16. package/dist/intl.js +9 -0
  17. package/dist/makeClient.d.ts +72 -271
  18. package/dist/makeClient.d.ts.map +1 -1
  19. package/dist/makeClient.js +44 -351
  20. package/dist/makeUseCommand.d.ts.map +1 -0
  21. package/dist/makeUseCommand.js +13 -0
  22. package/dist/query.d.ts +9 -13
  23. package/dist/query.d.ts.map +1 -1
  24. package/dist/query.js +24 -24
  25. package/dist/runtime.d.ts +4 -1
  26. package/dist/runtime.d.ts.map +1 -1
  27. package/dist/runtime.js +27 -17
  28. package/dist/{experimental/toast.d.ts → toast.d.ts} +9 -10
  29. package/dist/toast.d.ts.map +1 -0
  30. package/dist/toast.js +32 -0
  31. package/dist/{experimental/withToast.d.ts → withToast.d.ts} +4 -3
  32. package/dist/withToast.d.ts.map +1 -0
  33. package/dist/withToast.js +49 -0
  34. package/package.json +43 -43
  35. package/src/{experimental/commander.ts → commander.ts} +902 -236
  36. package/src/{experimental/confirm.ts → confirm.ts} +10 -14
  37. package/src/errorReporter.ts +60 -72
  38. package/src/form.ts +51 -12
  39. package/src/intl.ts +12 -0
  40. package/src/makeClient.ts +172 -1006
  41. package/src/{experimental/makeUseCommand.ts → makeUseCommand.ts} +3 -3
  42. package/src/query.ts +45 -46
  43. package/src/runtime.ts +39 -18
  44. package/src/{experimental/toast.ts → toast.ts} +11 -25
  45. package/src/{experimental/withToast.ts → withToast.ts} +15 -6
  46. package/test/Mutation.test.ts +101 -10
  47. package/test/dist/form.test.d.ts.map +1 -1
  48. package/test/dist/stubs.d.ts +979 -114
  49. package/test/dist/stubs.d.ts.map +1 -1
  50. package/test/dist/stubs.js +42 -15
  51. package/test/form-validation-errors.test.ts +23 -19
  52. package/test/form.test.ts +20 -2
  53. package/test/makeClient.test.ts +54 -39
  54. package/test/stubs.ts +53 -18
  55. package/tsconfig.json +0 -1
  56. package/dist/experimental/commander.d.ts.map +0 -1
  57. package/dist/experimental/commander.js +0 -557
  58. package/dist/experimental/confirm.d.ts.map +0 -1
  59. package/dist/experimental/confirm.js +0 -28
  60. package/dist/experimental/intl.d.ts +0 -16
  61. package/dist/experimental/intl.d.ts.map +0 -1
  62. package/dist/experimental/intl.js +0 -5
  63. package/dist/experimental/makeUseCommand.d.ts.map +0 -1
  64. package/dist/experimental/makeUseCommand.js +0 -13
  65. package/dist/experimental/toast.d.ts.map +0 -1
  66. package/dist/experimental/toast.js +0 -41
  67. package/dist/experimental/withToast.d.ts.map +0 -1
  68. package/dist/experimental/withToast.js +0 -45
  69. package/src/experimental/intl.ts +0 -9
  70. /package/dist/{experimental/makeUseCommand.d.ts → makeUseCommand.d.ts} +0 -0
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import { asResult, type MissingDependencies, reportRuntimeError } from "@effect-app/vue"
3
3
  import { reportMessage } from "@effect-app/vue/errorReporter"
4
- import { Cause, Effect, type Exit, type Fiber, flow, Layer, Match, MutableHashMap, Option, Predicate, S, ServiceMap } from "effect-app"
4
+ import { Cause, Context, Effect, type Exit, type Fiber, flow, Layer, Match, MutableHashMap, Option, Predicate, S } from "effect-app"
5
5
  import { SupportedErrors } from "effect-app/client"
6
6
  import { OperationFailure, OperationSuccess } from "effect-app/Operations"
7
7
  import { isGeneratorFunction, wrapEffect } from "effect-app/utils"
@@ -66,7 +66,7 @@ export const DefaultIntl = {
66
66
  }
67
67
  }
68
68
 
69
- export class CommandContext extends ServiceMap.Service<CommandContext, {
69
+ export class CommandContext extends Context.Service<CommandContext, {
70
70
  id: string
71
71
  i18nKey: string
72
72
  action: string
@@ -96,7 +96,7 @@ export declare namespace Commander {
96
96
  & NonGen<RT, Id, I18nKey, State>
97
97
  & CommandContextLocal<Id, I18nKey>
98
98
  & {
99
- state: ServiceMap.Service<`Commander.Command.${Id}.state`, State>
99
+ state: Context.Service<`Commander.Command.${Id}.state`, State>
100
100
  }
101
101
 
102
102
  export type CommanderFn<RT, Id extends string, I18nKey extends string, State extends IntlRecord | undefined> =
@@ -116,7 +116,7 @@ export declare namespace Commander {
116
116
  & GenWrap<RT, Id, I18nCustomKey, I, A, E, R, State>
117
117
  & NonGenWrap<RT, Id, I18nCustomKey, I, A, E, R, State>
118
118
  & {
119
- state: ServiceMap.Service<`Commander.Command.${Id}.state`, State>
119
+ state: Context.Service<`Commander.Command.${Id}.state`, State>
120
120
  }
121
121
 
122
122
  export interface CommandContextLocal<Id extends string, I18nKey extends string> {
@@ -188,6 +188,8 @@ export declare namespace Commander {
188
188
  state: State
189
189
  }
190
190
 
191
+ type ArgForCombinator<Arg> = [Arg] extends [void] ? undefined : NoInfer<Arg>
192
+
191
193
  type CommandOutHelper<
192
194
  Arg,
193
195
  Eff extends Effect.Effect<any, any, any>,
@@ -241,7 +243,7 @@ export declare namespace Commander {
241
243
  : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R
242
244
  : never
243
245
  >,
244
- arg: NoInfer<Arg>,
246
+ arg: ArgForCombinator<Arg>,
245
247
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
246
248
  ) => A
247
249
  ): CommandOutHelper<Arg, A, Id, I18nKey, State>
@@ -263,10 +265,14 @@ export declare namespace Commander {
263
265
  : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R
264
266
  : never
265
267
  >,
266
- arg: NoInfer<Arg>,
268
+ arg: ArgForCombinator<Arg>,
267
269
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
268
270
  ) => A,
269
- b: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B
271
+ b: (
272
+ _: A,
273
+ arg: ArgForCombinator<Arg>,
274
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
275
+ ) => B
270
276
  ): CommandOutHelper<Arg, B, Id, I18nKey, State>
271
277
  <
272
278
  Eff extends Effect.Yieldable<any, any, any, any>,
@@ -287,11 +293,19 @@ export declare namespace Commander {
287
293
  : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R
288
294
  : never
289
295
  >,
290
- arg: NoInfer<Arg>,
296
+ arg: ArgForCombinator<Arg>,
291
297
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
292
298
  ) => A,
293
- b: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
294
- c: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C
299
+ b: (
300
+ _: A,
301
+ arg: ArgForCombinator<Arg>,
302
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
303
+ ) => B,
304
+ c: (
305
+ _: B,
306
+ arg: ArgForCombinator<Arg>,
307
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
308
+ ) => C
295
309
  ): CommandOutHelper<Arg, C, Id, I18nKey, State>
296
310
  <
297
311
  Eff extends Effect.Yieldable<any, any, any, any>,
@@ -313,12 +327,24 @@ export declare namespace Commander {
313
327
  : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R
314
328
  : never
315
329
  >,
316
- arg: NoInfer<Arg>,
330
+ arg: ArgForCombinator<Arg>,
317
331
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
318
332
  ) => A,
319
- b: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
320
- c: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
321
- d: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D
333
+ b: (
334
+ _: A,
335
+ arg: ArgForCombinator<Arg>,
336
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
337
+ ) => B,
338
+ c: (
339
+ _: B,
340
+ arg: ArgForCombinator<Arg>,
341
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
342
+ ) => C,
343
+ d: (
344
+ _: C,
345
+ arg: ArgForCombinator<Arg>,
346
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
347
+ ) => D
322
348
  ): CommandOutHelper<Arg, D, Id, I18nKey, State>
323
349
  <
324
350
  Eff extends Effect.Yieldable<any, any, any, any>,
@@ -341,13 +367,29 @@ export declare namespace Commander {
341
367
  : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R
342
368
  : never
343
369
  >,
344
- arg: NoInfer<Arg>,
370
+ arg: ArgForCombinator<Arg>,
345
371
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
346
372
  ) => A,
347
- b: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
348
- c: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
349
- d: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
350
- e: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E
373
+ b: (
374
+ _: A,
375
+ arg: ArgForCombinator<Arg>,
376
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
377
+ ) => B,
378
+ c: (
379
+ _: B,
380
+ arg: ArgForCombinator<Arg>,
381
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
382
+ ) => C,
383
+ d: (
384
+ _: C,
385
+ arg: ArgForCombinator<Arg>,
386
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
387
+ ) => D,
388
+ e: (
389
+ _: D,
390
+ arg: ArgForCombinator<Arg>,
391
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
392
+ ) => E
351
393
  ): CommandOutHelper<Arg, E, Id, I18nKey, State>
352
394
  <
353
395
  Eff extends Effect.Yieldable<any, any, any, any>,
@@ -371,14 +413,34 @@ export declare namespace Commander {
371
413
  : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R
372
414
  : never
373
415
  >,
374
- arg: NoInfer<Arg>,
416
+ arg: ArgForCombinator<Arg>,
375
417
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
376
418
  ) => A,
377
- b: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
378
- c: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
379
- d: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
380
- e: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E,
381
- f: (_: E, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F
419
+ b: (
420
+ _: A,
421
+ arg: ArgForCombinator<Arg>,
422
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
423
+ ) => B,
424
+ c: (
425
+ _: B,
426
+ arg: ArgForCombinator<Arg>,
427
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
428
+ ) => C,
429
+ d: (
430
+ _: C,
431
+ arg: ArgForCombinator<Arg>,
432
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
433
+ ) => D,
434
+ e: (
435
+ _: D,
436
+ arg: ArgForCombinator<Arg>,
437
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
438
+ ) => E,
439
+ f: (
440
+ _: E,
441
+ arg: ArgForCombinator<Arg>,
442
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
443
+ ) => F
382
444
  ): CommandOutHelper<Arg, F, Id, I18nKey, State>
383
445
  <
384
446
  Eff extends Effect.Yieldable<any, any, any, any>,
@@ -403,15 +465,39 @@ export declare namespace Commander {
403
465
  : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R
404
466
  : never
405
467
  >,
406
- arg: NoInfer<Arg>,
468
+ arg: ArgForCombinator<Arg>,
407
469
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
408
470
  ) => A,
409
- b: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
410
- c: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
411
- d: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
412
- e: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E,
413
- f: (_: E, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F,
414
- g: (_: F, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G
471
+ b: (
472
+ _: A,
473
+ arg: ArgForCombinator<Arg>,
474
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
475
+ ) => B,
476
+ c: (
477
+ _: B,
478
+ arg: ArgForCombinator<Arg>,
479
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
480
+ ) => C,
481
+ d: (
482
+ _: C,
483
+ arg: ArgForCombinator<Arg>,
484
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
485
+ ) => D,
486
+ e: (
487
+ _: D,
488
+ arg: ArgForCombinator<Arg>,
489
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
490
+ ) => E,
491
+ f: (
492
+ _: E,
493
+ arg: ArgForCombinator<Arg>,
494
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
495
+ ) => F,
496
+ g: (
497
+ _: F,
498
+ arg: ArgForCombinator<Arg>,
499
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
500
+ ) => G
415
501
  ): CommandOutHelper<Arg, G, Id, I18nKey, State>
416
502
  <
417
503
  Eff extends Effect.Yieldable<any, any, any, any>,
@@ -437,16 +523,44 @@ export declare namespace Commander {
437
523
  : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R
438
524
  : never
439
525
  >,
440
- arg: NoInfer<Arg>,
526
+ arg: ArgForCombinator<Arg>,
441
527
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
442
528
  ) => A,
443
- b: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
444
- c: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
445
- d: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
446
- e: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E,
447
- f: (_: E, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F,
448
- g: (_: F, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G,
449
- h: (_: G, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => H
529
+ b: (
530
+ _: A,
531
+ arg: ArgForCombinator<Arg>,
532
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
533
+ ) => B,
534
+ c: (
535
+ _: B,
536
+ arg: ArgForCombinator<Arg>,
537
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
538
+ ) => C,
539
+ d: (
540
+ _: C,
541
+ arg: ArgForCombinator<Arg>,
542
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
543
+ ) => D,
544
+ e: (
545
+ _: D,
546
+ arg: ArgForCombinator<Arg>,
547
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
548
+ ) => E,
549
+ f: (
550
+ _: E,
551
+ arg: ArgForCombinator<Arg>,
552
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
553
+ ) => F,
554
+ g: (
555
+ _: F,
556
+ arg: ArgForCombinator<Arg>,
557
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
558
+ ) => G,
559
+ h: (
560
+ _: G,
561
+ arg: ArgForCombinator<Arg>,
562
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
563
+ ) => H
450
564
  ): CommandOutHelper<Arg, H, Id, I18nKey, State>
451
565
  <
452
566
  Eff extends Effect.Yieldable<any, any, any, any>,
@@ -473,17 +587,49 @@ export declare namespace Commander {
473
587
  : [Eff] extends [Effect.Yieldable<any, infer _A, infer _E, infer R>] ? R
474
588
  : never
475
589
  >,
476
- arg: NoInfer<Arg>,
590
+ arg: ArgForCombinator<Arg>,
477
591
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
478
592
  ) => A,
479
- b: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
480
- c: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
481
- d: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
482
- e: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E,
483
- f: (_: E, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F,
484
- g: (_: F, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G,
485
- h: (_: G, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => H,
486
- i: (_: H, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => I
593
+ b: (
594
+ _: A,
595
+ arg: ArgForCombinator<Arg>,
596
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
597
+ ) => B,
598
+ c: (
599
+ _: B,
600
+ arg: ArgForCombinator<Arg>,
601
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
602
+ ) => C,
603
+ d: (
604
+ _: C,
605
+ arg: ArgForCombinator<Arg>,
606
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
607
+ ) => D,
608
+ e: (
609
+ _: D,
610
+ arg: ArgForCombinator<Arg>,
611
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
612
+ ) => E,
613
+ f: (
614
+ _: E,
615
+ arg: ArgForCombinator<Arg>,
616
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
617
+ ) => F,
618
+ g: (
619
+ _: F,
620
+ arg: ArgForCombinator<Arg>,
621
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
622
+ ) => G,
623
+ h: (
624
+ _: G,
625
+ arg: ArgForCombinator<Arg>,
626
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
627
+ ) => H,
628
+ i: (
629
+ _: H,
630
+ arg: ArgForCombinator<Arg>,
631
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
632
+ ) => I
487
633
  ): CommandOutHelper<Arg, I, Id, I18nKey, State>
488
634
  }
489
635
 
@@ -500,7 +646,11 @@ export declare namespace Commander {
500
646
  Arg = void
501
647
  >(
502
648
  body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => A,
503
- a: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff
649
+ a: (
650
+ _: A,
651
+ arg: ArgForCombinator<Arg>,
652
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
653
+ ) => Eff
504
654
  ): CommandOutHelper<Arg, Eff, Id, I18nKey, State>
505
655
  <
506
656
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
@@ -509,8 +659,16 @@ export declare namespace Commander {
509
659
  Arg = void
510
660
  >(
511
661
  body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => A,
512
- a: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
513
- b: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff
662
+ a: (
663
+ _: A,
664
+ arg: ArgForCombinator<Arg>,
665
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
666
+ ) => B,
667
+ b: (
668
+ _: B,
669
+ arg: ArgForCombinator<Arg>,
670
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
671
+ ) => Eff
514
672
  ): CommandOutHelper<Arg, Eff, Id, I18nKey, State>
515
673
  <
516
674
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
@@ -520,9 +678,21 @@ export declare namespace Commander {
520
678
  Arg = void
521
679
  >(
522
680
  body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => A,
523
- a: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
524
- b: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
525
- c: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff
681
+ a: (
682
+ _: A,
683
+ arg: ArgForCombinator<Arg>,
684
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
685
+ ) => B,
686
+ b: (
687
+ _: B,
688
+ arg: ArgForCombinator<Arg>,
689
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
690
+ ) => C,
691
+ c: (
692
+ _: C,
693
+ arg: ArgForCombinator<Arg>,
694
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
695
+ ) => Eff
526
696
  ): CommandOutHelper<Arg, Eff, Id, I18nKey, State>
527
697
  <
528
698
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
@@ -533,10 +703,26 @@ export declare namespace Commander {
533
703
  Arg = void
534
704
  >(
535
705
  body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => A,
536
- a: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
537
- b: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
538
- c: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
539
- d: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff
706
+ a: (
707
+ _: A,
708
+ arg: ArgForCombinator<Arg>,
709
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
710
+ ) => B,
711
+ b: (
712
+ _: B,
713
+ arg: ArgForCombinator<Arg>,
714
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
715
+ ) => C,
716
+ c: (
717
+ _: C,
718
+ arg: ArgForCombinator<Arg>,
719
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
720
+ ) => D,
721
+ d: (
722
+ _: D,
723
+ arg: ArgForCombinator<Arg>,
724
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
725
+ ) => Eff
540
726
  ): CommandOutHelper<Arg, Eff, Id, I18nKey, State>
541
727
  <
542
728
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
@@ -548,11 +734,31 @@ export declare namespace Commander {
548
734
  Arg = void
549
735
  >(
550
736
  body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => A,
551
- a: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
552
- b: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
553
- c: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
554
- d: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E,
555
- e: (_: E, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff
737
+ a: (
738
+ _: A,
739
+ arg: ArgForCombinator<Arg>,
740
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
741
+ ) => B,
742
+ b: (
743
+ _: B,
744
+ arg: ArgForCombinator<Arg>,
745
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
746
+ ) => C,
747
+ c: (
748
+ _: C,
749
+ arg: ArgForCombinator<Arg>,
750
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
751
+ ) => D,
752
+ d: (
753
+ _: D,
754
+ arg: ArgForCombinator<Arg>,
755
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
756
+ ) => E,
757
+ e: (
758
+ _: E,
759
+ arg: ArgForCombinator<Arg>,
760
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
761
+ ) => Eff
556
762
  ): CommandOutHelper<Arg, Eff, Id, I18nKey, State>
557
763
  <
558
764
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
@@ -565,12 +771,36 @@ export declare namespace Commander {
565
771
  Arg = void
566
772
  >(
567
773
  body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => A,
568
- a: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
569
- b: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
570
- c: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
571
- d: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E,
572
- e: (_: E, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F,
573
- f: (_: F, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff
774
+ a: (
775
+ _: A,
776
+ arg: ArgForCombinator<Arg>,
777
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
778
+ ) => B,
779
+ b: (
780
+ _: B,
781
+ arg: ArgForCombinator<Arg>,
782
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
783
+ ) => C,
784
+ c: (
785
+ _: C,
786
+ arg: ArgForCombinator<Arg>,
787
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
788
+ ) => D,
789
+ d: (
790
+ _: D,
791
+ arg: ArgForCombinator<Arg>,
792
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
793
+ ) => E,
794
+ e: (
795
+ _: E,
796
+ arg: ArgForCombinator<Arg>,
797
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
798
+ ) => F,
799
+ f: (
800
+ _: F,
801
+ arg: ArgForCombinator<Arg>,
802
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
803
+ ) => Eff
574
804
  ): CommandOutHelper<Arg, Eff, Id, I18nKey, State>
575
805
  <
576
806
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
@@ -584,13 +814,41 @@ export declare namespace Commander {
584
814
  Arg = void
585
815
  >(
586
816
  body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => A,
587
- a: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
588
- b: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
589
- c: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
590
- d: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E,
591
- e: (_: E, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F,
592
- f: (_: F, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G,
593
- g: (_: G, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff
817
+ a: (
818
+ _: A,
819
+ arg: ArgForCombinator<Arg>,
820
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
821
+ ) => B,
822
+ b: (
823
+ _: B,
824
+ arg: ArgForCombinator<Arg>,
825
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
826
+ ) => C,
827
+ c: (
828
+ _: C,
829
+ arg: ArgForCombinator<Arg>,
830
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
831
+ ) => D,
832
+ d: (
833
+ _: D,
834
+ arg: ArgForCombinator<Arg>,
835
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
836
+ ) => E,
837
+ e: (
838
+ _: E,
839
+ arg: ArgForCombinator<Arg>,
840
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
841
+ ) => F,
842
+ f: (
843
+ _: F,
844
+ arg: ArgForCombinator<Arg>,
845
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
846
+ ) => G,
847
+ g: (
848
+ _: G,
849
+ arg: ArgForCombinator<Arg>,
850
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
851
+ ) => Eff
594
852
  ): CommandOutHelper<Arg, Eff, Id, I18nKey, State>
595
853
  <
596
854
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
@@ -605,14 +863,46 @@ export declare namespace Commander {
605
863
  Arg = void
606
864
  >(
607
865
  body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => A,
608
- a: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
609
- b: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
610
- c: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
611
- d: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E,
612
- e: (_: E, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F,
613
- f: (_: F, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G,
614
- g: (_: G, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => H,
615
- h: (_: H, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff
866
+ a: (
867
+ _: A,
868
+ arg: ArgForCombinator<Arg>,
869
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
870
+ ) => B,
871
+ b: (
872
+ _: B,
873
+ arg: ArgForCombinator<Arg>,
874
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
875
+ ) => C,
876
+ c: (
877
+ _: C,
878
+ arg: ArgForCombinator<Arg>,
879
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
880
+ ) => D,
881
+ d: (
882
+ _: D,
883
+ arg: ArgForCombinator<Arg>,
884
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
885
+ ) => E,
886
+ e: (
887
+ _: E,
888
+ arg: ArgForCombinator<Arg>,
889
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
890
+ ) => F,
891
+ f: (
892
+ _: F,
893
+ arg: ArgForCombinator<Arg>,
894
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
895
+ ) => G,
896
+ g: (
897
+ _: G,
898
+ arg: ArgForCombinator<Arg>,
899
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
900
+ ) => H,
901
+ h: (
902
+ _: H,
903
+ arg: ArgForCombinator<Arg>,
904
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
905
+ ) => Eff
616
906
  ): CommandOutHelper<Arg, Eff, Id, I18nKey, State>
617
907
  <
618
908
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
@@ -628,15 +918,51 @@ export declare namespace Commander {
628
918
  Arg = void
629
919
  >(
630
920
  body: (arg: Arg, ctx: CommandContextLocal2<Id, I18nKey, State>) => A,
631
- a: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
632
- b: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
633
- c: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
634
- d: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E,
635
- e: (_: E, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F,
636
- f: (_: F, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G,
637
- g: (_: G, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => H,
638
- h: (_: H, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => I,
639
- i: (_: H, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff
921
+ a: (
922
+ _: A,
923
+ arg: ArgForCombinator<Arg>,
924
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
925
+ ) => B,
926
+ b: (
927
+ _: B,
928
+ arg: ArgForCombinator<Arg>,
929
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
930
+ ) => C,
931
+ c: (
932
+ _: C,
933
+ arg: ArgForCombinator<Arg>,
934
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
935
+ ) => D,
936
+ d: (
937
+ _: D,
938
+ arg: ArgForCombinator<Arg>,
939
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
940
+ ) => E,
941
+ e: (
942
+ _: E,
943
+ arg: ArgForCombinator<Arg>,
944
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
945
+ ) => F,
946
+ f: (
947
+ _: F,
948
+ arg: ArgForCombinator<Arg>,
949
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
950
+ ) => G,
951
+ g: (
952
+ _: G,
953
+ arg: ArgForCombinator<Arg>,
954
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
955
+ ) => H,
956
+ h: (
957
+ _: H,
958
+ arg: ArgForCombinator<Arg>,
959
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
960
+ ) => I,
961
+ i: (
962
+ _: H,
963
+ arg: ArgForCombinator<Arg>,
964
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
965
+ ) => Eff
640
966
  ): CommandOutHelper<Arg, Eff, Id, I18nKey, State>
641
967
  }
642
968
 
@@ -669,7 +995,7 @@ export declare namespace Commander {
669
995
  EEff,
670
996
  REff
671
997
  >,
672
- arg: NoInfer<Arg>,
998
+ arg: ArgForCombinator<Arg>,
673
999
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
674
1000
  ) => A
675
1001
  ): CommandOutHelper<Arg, A, Id, I18nKey, State>
@@ -683,10 +1009,14 @@ export declare namespace Commander {
683
1009
  EEff,
684
1010
  REff
685
1011
  >,
686
- arg: NoInfer<Arg>,
1012
+ arg: ArgForCombinator<Arg>,
687
1013
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
688
1014
  ) => A,
689
- b: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B
1015
+ b: (
1016
+ _: A,
1017
+ arg: ArgForCombinator<Arg>,
1018
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1019
+ ) => B
690
1020
  ): CommandOutHelper<Arg, B, Id, I18nKey, State>
691
1021
  <
692
1022
  A,
@@ -699,11 +1029,19 @@ export declare namespace Commander {
699
1029
  EEff,
700
1030
  REff
701
1031
  >,
702
- arg: NoInfer<Arg>,
1032
+ arg: ArgForCombinator<Arg>,
703
1033
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
704
1034
  ) => A,
705
- b: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
706
- c: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C
1035
+ b: (
1036
+ _: A,
1037
+ arg: ArgForCombinator<Arg>,
1038
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1039
+ ) => B,
1040
+ c: (
1041
+ _: B,
1042
+ arg: ArgForCombinator<Arg>,
1043
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1044
+ ) => C
707
1045
  ): CommandOutHelper<Arg, C, Id, I18nKey, State>
708
1046
  <
709
1047
  A,
@@ -717,12 +1055,24 @@ export declare namespace Commander {
717
1055
  EEff,
718
1056
  REff
719
1057
  >,
720
- arg: NoInfer<Arg>,
1058
+ arg: ArgForCombinator<Arg>,
721
1059
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
722
1060
  ) => A,
723
- b: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
724
- c: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
725
- d: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D
1061
+ b: (
1062
+ _: A,
1063
+ arg: ArgForCombinator<Arg>,
1064
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1065
+ ) => B,
1066
+ c: (
1067
+ _: B,
1068
+ arg: ArgForCombinator<Arg>,
1069
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1070
+ ) => C,
1071
+ d: (
1072
+ _: C,
1073
+ arg: ArgForCombinator<Arg>,
1074
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1075
+ ) => D
726
1076
  ): CommandOutHelper<Arg, D, Id, I18nKey, State>
727
1077
  <
728
1078
  A,
@@ -737,13 +1087,29 @@ export declare namespace Commander {
737
1087
  EEff,
738
1088
  REff
739
1089
  >,
740
- arg: NoInfer<Arg>,
1090
+ arg: ArgForCombinator<Arg>,
741
1091
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
742
1092
  ) => A,
743
- b: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
744
- c: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
745
- d: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
746
- e: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E
1093
+ b: (
1094
+ _: A,
1095
+ arg: ArgForCombinator<Arg>,
1096
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1097
+ ) => B,
1098
+ c: (
1099
+ _: B,
1100
+ arg: ArgForCombinator<Arg>,
1101
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1102
+ ) => C,
1103
+ d: (
1104
+ _: C,
1105
+ arg: ArgForCombinator<Arg>,
1106
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1107
+ ) => D,
1108
+ e: (
1109
+ _: D,
1110
+ arg: ArgForCombinator<Arg>,
1111
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1112
+ ) => E
747
1113
  ): CommandOutHelper<Arg, E, Id, I18nKey, State>
748
1114
  <
749
1115
  A,
@@ -759,14 +1125,34 @@ export declare namespace Commander {
759
1125
  EEff,
760
1126
  REff
761
1127
  >,
762
- arg: NoInfer<Arg>,
1128
+ arg: ArgForCombinator<Arg>,
763
1129
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
764
1130
  ) => A,
765
- b: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
766
- c: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
767
- d: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
768
- e: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E,
769
- f: (_: E, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F
1131
+ b: (
1132
+ _: A,
1133
+ arg: ArgForCombinator<Arg>,
1134
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1135
+ ) => B,
1136
+ c: (
1137
+ _: B,
1138
+ arg: ArgForCombinator<Arg>,
1139
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1140
+ ) => C,
1141
+ d: (
1142
+ _: C,
1143
+ arg: ArgForCombinator<Arg>,
1144
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1145
+ ) => D,
1146
+ e: (
1147
+ _: D,
1148
+ arg: ArgForCombinator<Arg>,
1149
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1150
+ ) => E,
1151
+ f: (
1152
+ _: E,
1153
+ arg: ArgForCombinator<Arg>,
1154
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1155
+ ) => F
770
1156
  ): CommandOutHelper<Arg, F, Id, I18nKey, State>
771
1157
  <
772
1158
  A,
@@ -783,15 +1169,39 @@ export declare namespace Commander {
783
1169
  EEff,
784
1170
  REff
785
1171
  >,
786
- arg: NoInfer<Arg>,
1172
+ arg: ArgForCombinator<Arg>,
787
1173
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
788
1174
  ) => A,
789
- b: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
790
- c: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
791
- d: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
792
- e: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E,
793
- f: (_: E, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F,
794
- g: (_: F, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G
1175
+ b: (
1176
+ _: A,
1177
+ arg: ArgForCombinator<Arg>,
1178
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1179
+ ) => B,
1180
+ c: (
1181
+ _: B,
1182
+ arg: ArgForCombinator<Arg>,
1183
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1184
+ ) => C,
1185
+ d: (
1186
+ _: C,
1187
+ arg: ArgForCombinator<Arg>,
1188
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1189
+ ) => D,
1190
+ e: (
1191
+ _: D,
1192
+ arg: ArgForCombinator<Arg>,
1193
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1194
+ ) => E,
1195
+ f: (
1196
+ _: E,
1197
+ arg: ArgForCombinator<Arg>,
1198
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1199
+ ) => F,
1200
+ g: (
1201
+ _: F,
1202
+ arg: ArgForCombinator<Arg>,
1203
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1204
+ ) => G
795
1205
  ): CommandOutHelper<Arg, G, Id, I18nKey, State>
796
1206
  <A, B, C, D, E, F, G, H extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>>(
797
1207
  a: (
@@ -800,16 +1210,44 @@ export declare namespace Commander {
800
1210
  EEff,
801
1211
  REff
802
1212
  >,
803
- arg: NoInfer<Arg>,
1213
+ arg: ArgForCombinator<Arg>,
804
1214
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
805
1215
  ) => A,
806
- b: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
807
- c: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
808
- d: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
809
- e: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E,
810
- f: (_: E, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F,
811
- g: (_: F, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G,
812
- h: (_: G, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => H
1216
+ b: (
1217
+ _: A,
1218
+ arg: ArgForCombinator<Arg>,
1219
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1220
+ ) => B,
1221
+ c: (
1222
+ _: B,
1223
+ arg: ArgForCombinator<Arg>,
1224
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1225
+ ) => C,
1226
+ d: (
1227
+ _: C,
1228
+ arg: ArgForCombinator<Arg>,
1229
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1230
+ ) => D,
1231
+ e: (
1232
+ _: D,
1233
+ arg: ArgForCombinator<Arg>,
1234
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1235
+ ) => E,
1236
+ f: (
1237
+ _: E,
1238
+ arg: ArgForCombinator<Arg>,
1239
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1240
+ ) => F,
1241
+ g: (
1242
+ _: F,
1243
+ arg: ArgForCombinator<Arg>,
1244
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1245
+ ) => G,
1246
+ h: (
1247
+ _: G,
1248
+ arg: ArgForCombinator<Arg>,
1249
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1250
+ ) => H
813
1251
  ): CommandOutHelper<Arg, H, Id, I18nKey, State>
814
1252
  <A, B, C, D, E, F, G, H, I extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>>(
815
1253
  a: (
@@ -818,17 +1256,49 @@ export declare namespace Commander {
818
1256
  EEff,
819
1257
  REff
820
1258
  >,
821
- arg: NoInfer<Arg>,
1259
+ arg: ArgForCombinator<Arg>,
822
1260
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
823
1261
  ) => A,
824
- b: (_: A, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => B,
825
- c: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
826
- d: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
827
- e: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E,
828
- f: (_: E, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F,
829
- g: (_: F, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G,
830
- h: (_: G, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => H,
831
- i: (_: H, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => I
1262
+ b: (
1263
+ _: A,
1264
+ arg: ArgForCombinator<Arg>,
1265
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1266
+ ) => B,
1267
+ c: (
1268
+ _: B,
1269
+ arg: ArgForCombinator<Arg>,
1270
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1271
+ ) => C,
1272
+ d: (
1273
+ _: C,
1274
+ arg: ArgForCombinator<Arg>,
1275
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1276
+ ) => D,
1277
+ e: (
1278
+ _: D,
1279
+ arg: ArgForCombinator<Arg>,
1280
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1281
+ ) => E,
1282
+ f: (
1283
+ _: E,
1284
+ arg: ArgForCombinator<Arg>,
1285
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1286
+ ) => F,
1287
+ g: (
1288
+ _: F,
1289
+ arg: ArgForCombinator<Arg>,
1290
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1291
+ ) => G,
1292
+ h: (
1293
+ _: G,
1294
+ arg: ArgForCombinator<Arg>,
1295
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1296
+ ) => H,
1297
+ i: (
1298
+ _: H,
1299
+ arg: ArgForCombinator<Arg>,
1300
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1301
+ ) => I
832
1302
  ): CommandOutHelper<Arg, I, Id, I18nKey, State>
833
1303
  }
834
1304
 
@@ -854,7 +1324,7 @@ export declare namespace Commander {
854
1324
  EEff,
855
1325
  REff
856
1326
  >,
857
- arg: NoInfer<Arg>,
1327
+ arg: ArgForCombinator<Arg>,
858
1328
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
859
1329
  ) => Eff
860
1330
  ): CommandOutHelper<Arg, Eff, Id, I18nKey, State>
@@ -869,10 +1339,14 @@ export declare namespace Commander {
869
1339
  EEff,
870
1340
  REff
871
1341
  >,
872
- arg: NoInfer<Arg>,
1342
+ arg: ArgForCombinator<Arg>,
873
1343
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
874
1344
  ) => B,
875
- b: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff
1345
+ b: (
1346
+ _: B,
1347
+ arg: ArgForCombinator<Arg>,
1348
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1349
+ ) => Eff
876
1350
  ): CommandOutHelper<Arg, Eff, Id, I18nKey, State>
877
1351
  <
878
1352
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
@@ -886,11 +1360,19 @@ export declare namespace Commander {
886
1360
  EEff,
887
1361
  REff
888
1362
  >,
889
- arg: NoInfer<Arg>,
1363
+ arg: ArgForCombinator<Arg>,
890
1364
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
891
1365
  ) => B,
892
- b: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
893
- c: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff
1366
+ b: (
1367
+ _: B,
1368
+ arg: ArgForCombinator<Arg>,
1369
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1370
+ ) => C,
1371
+ c: (
1372
+ _: C,
1373
+ arg: ArgForCombinator<Arg>,
1374
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1375
+ ) => Eff
894
1376
  ): CommandOutHelper<Arg, Eff, Id, I18nKey, State>
895
1377
  <
896
1378
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
@@ -905,12 +1387,24 @@ export declare namespace Commander {
905
1387
  EEff,
906
1388
  REff
907
1389
  >,
908
- arg: NoInfer<Arg>,
1390
+ arg: ArgForCombinator<Arg>,
909
1391
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
910
1392
  ) => B,
911
- b: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
912
- c: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
913
- d: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff
1393
+ b: (
1394
+ _: B,
1395
+ arg: ArgForCombinator<Arg>,
1396
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1397
+ ) => C,
1398
+ c: (
1399
+ _: C,
1400
+ arg: ArgForCombinator<Arg>,
1401
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1402
+ ) => D,
1403
+ d: (
1404
+ _: D,
1405
+ arg: ArgForCombinator<Arg>,
1406
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1407
+ ) => Eff
914
1408
  ): CommandOutHelper<Arg, Eff, Id, I18nKey, State>
915
1409
  <
916
1410
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
@@ -926,13 +1420,29 @@ export declare namespace Commander {
926
1420
  EEff,
927
1421
  REff
928
1422
  >,
929
- arg: NoInfer<Arg>,
1423
+ arg: ArgForCombinator<Arg>,
930
1424
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
931
1425
  ) => B,
932
- b: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
933
- c: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
934
- d: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E,
935
- e: (_: E, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff
1426
+ b: (
1427
+ _: B,
1428
+ arg: ArgForCombinator<Arg>,
1429
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1430
+ ) => C,
1431
+ c: (
1432
+ _: C,
1433
+ arg: ArgForCombinator<Arg>,
1434
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1435
+ ) => D,
1436
+ d: (
1437
+ _: D,
1438
+ arg: ArgForCombinator<Arg>,
1439
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1440
+ ) => E,
1441
+ e: (
1442
+ _: E,
1443
+ arg: ArgForCombinator<Arg>,
1444
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1445
+ ) => Eff
936
1446
  ): CommandOutHelper<Arg, Eff, Id, I18nKey, State>
937
1447
  <
938
1448
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
@@ -949,14 +1459,34 @@ export declare namespace Commander {
949
1459
  EEff,
950
1460
  REff
951
1461
  >,
952
- arg: NoInfer<Arg>,
1462
+ arg: ArgForCombinator<Arg>,
953
1463
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
954
1464
  ) => B,
955
- b: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
956
- c: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
957
- d: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E,
958
- e: (_: E, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F,
959
- f: (_: F, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff
1465
+ b: (
1466
+ _: B,
1467
+ arg: ArgForCombinator<Arg>,
1468
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1469
+ ) => C,
1470
+ c: (
1471
+ _: C,
1472
+ arg: ArgForCombinator<Arg>,
1473
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1474
+ ) => D,
1475
+ d: (
1476
+ _: D,
1477
+ arg: ArgForCombinator<Arg>,
1478
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1479
+ ) => E,
1480
+ e: (
1481
+ _: E,
1482
+ arg: ArgForCombinator<Arg>,
1483
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1484
+ ) => F,
1485
+ f: (
1486
+ _: F,
1487
+ arg: ArgForCombinator<Arg>,
1488
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1489
+ ) => Eff
960
1490
  ): CommandOutHelper<Arg, Eff, Id, I18nKey, State>
961
1491
  <
962
1492
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
@@ -974,15 +1504,39 @@ export declare namespace Commander {
974
1504
  EEff,
975
1505
  REff
976
1506
  >,
977
- arg: NoInfer<Arg>,
1507
+ arg: ArgForCombinator<Arg>,
978
1508
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
979
1509
  ) => B,
980
- b: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
981
- c: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
982
- d: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E,
983
- e: (_: E, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F,
984
- f: (_: F, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G,
985
- g: (_: G, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff
1510
+ b: (
1511
+ _: B,
1512
+ arg: ArgForCombinator<Arg>,
1513
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1514
+ ) => C,
1515
+ c: (
1516
+ _: C,
1517
+ arg: ArgForCombinator<Arg>,
1518
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1519
+ ) => D,
1520
+ d: (
1521
+ _: D,
1522
+ arg: ArgForCombinator<Arg>,
1523
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1524
+ ) => E,
1525
+ e: (
1526
+ _: E,
1527
+ arg: ArgForCombinator<Arg>,
1528
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1529
+ ) => F,
1530
+ f: (
1531
+ _: F,
1532
+ arg: ArgForCombinator<Arg>,
1533
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1534
+ ) => G,
1535
+ g: (
1536
+ _: G,
1537
+ arg: ArgForCombinator<Arg>,
1538
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1539
+ ) => Eff
986
1540
  ): CommandOutHelper<Arg, Eff, Id, I18nKey, State>
987
1541
  <
988
1542
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
@@ -1001,16 +1555,44 @@ export declare namespace Commander {
1001
1555
  EEff,
1002
1556
  REff
1003
1557
  >,
1004
- arg: NoInfer<Arg>,
1558
+ arg: ArgForCombinator<Arg>,
1005
1559
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1006
1560
  ) => B,
1007
- b: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
1008
- c: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
1009
- d: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E,
1010
- e: (_: E, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F,
1011
- f: (_: F, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G,
1012
- g: (_: G, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => H,
1013
- h: (_: H, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff
1561
+ b: (
1562
+ _: B,
1563
+ arg: ArgForCombinator<Arg>,
1564
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1565
+ ) => C,
1566
+ c: (
1567
+ _: C,
1568
+ arg: ArgForCombinator<Arg>,
1569
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1570
+ ) => D,
1571
+ d: (
1572
+ _: D,
1573
+ arg: ArgForCombinator<Arg>,
1574
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1575
+ ) => E,
1576
+ e: (
1577
+ _: E,
1578
+ arg: ArgForCombinator<Arg>,
1579
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1580
+ ) => F,
1581
+ f: (
1582
+ _: F,
1583
+ arg: ArgForCombinator<Arg>,
1584
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1585
+ ) => G,
1586
+ g: (
1587
+ _: G,
1588
+ arg: ArgForCombinator<Arg>,
1589
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1590
+ ) => H,
1591
+ h: (
1592
+ _: H,
1593
+ arg: ArgForCombinator<Arg>,
1594
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1595
+ ) => Eff
1014
1596
  ): CommandOutHelper<Arg, Eff, Id, I18nKey, State>
1015
1597
  <
1016
1598
  Eff extends Effect.Effect<any, any, RT | CommandContext | `Commander.Command.${Id}.state`>,
@@ -1030,59 +1612,120 @@ export declare namespace Commander {
1030
1612
  EEff,
1031
1613
  REff
1032
1614
  >,
1033
- arg: NoInfer<Arg>,
1615
+ arg: ArgForCombinator<Arg>,
1034
1616
  ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1035
1617
  ) => B,
1036
- b: (_: B, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => C,
1037
- c: (_: C, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => D,
1038
- d: (_: D, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => E,
1039
- e: (_: E, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => F,
1040
- f: (_: F, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => G,
1041
- g: (_: G, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => H,
1042
- h: (_: H, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => I,
1043
- i: (_: H, arg: NoInfer<Arg>, ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>) => Eff
1618
+ b: (
1619
+ _: B,
1620
+ arg: ArgForCombinator<Arg>,
1621
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1622
+ ) => C,
1623
+ c: (
1624
+ _: C,
1625
+ arg: ArgForCombinator<Arg>,
1626
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1627
+ ) => D,
1628
+ d: (
1629
+ _: D,
1630
+ arg: ArgForCombinator<Arg>,
1631
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1632
+ ) => E,
1633
+ e: (
1634
+ _: E,
1635
+ arg: ArgForCombinator<Arg>,
1636
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1637
+ ) => F,
1638
+ f: (
1639
+ _: F,
1640
+ arg: ArgForCombinator<Arg>,
1641
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1642
+ ) => G,
1643
+ g: (
1644
+ _: G,
1645
+ arg: ArgForCombinator<Arg>,
1646
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1647
+ ) => H,
1648
+ h: (
1649
+ _: H,
1650
+ arg: ArgForCombinator<Arg>,
1651
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1652
+ ) => I,
1653
+ i: (
1654
+ _: H,
1655
+ arg: ArgForCombinator<Arg>,
1656
+ ctx: CommandContextLocal2<NoInfer<Id>, NoInfer<I18nKey>, NoInfer<State>>
1657
+ ) => Eff
1044
1658
  ): CommandOutHelper<Arg, Eff, Id, I18nKey, State>
1045
1659
  }
1046
1660
  }
1047
1661
 
1048
1662
  type ErrorRenderer<E, Args extends readonly any[]> = (e: E, action: string, ...args: Args) => string | undefined
1049
1663
 
1050
- const renderErrorMaker = I18n.useSync(
1051
- ({ intl }) =>
1052
- <E, Args extends readonly any[]>(action: string, errorRenderer?: ErrorRenderer<E, Args>) =>
1053
- (e: E, ...args: Args): string => {
1054
- if (errorRenderer) {
1055
- const m = errorRenderer(e, action, ...args)
1056
- if (m !== undefined) {
1057
- return m
1664
+ type RegisteredErrorRenderer = {
1665
+ guard: Predicate.Predicate<unknown>
1666
+ render: (guarded: unknown) => string | undefined
1667
+ }
1668
+
1669
+ export class CommanderErrorRenderers extends Context.Reference("Commander.ErrorRenderers", {
1670
+ defaultValue: (): ReadonlyArray<RegisteredErrorRenderer> => []
1671
+ }) {}
1672
+
1673
+ const makeRegisteredErrorRenderer = <A>(
1674
+ guard: Predicate.Refinement<unknown, A>,
1675
+ render: (guarded: A) => string | undefined
1676
+ ): RegisteredErrorRenderer => ({
1677
+ guard,
1678
+ render: (guarded) => guard(guarded) ? render(guarded) : undefined
1679
+ })
1680
+
1681
+ const renderErrorMaker = Effect.gen(function*() {
1682
+ const { intl } = yield* I18n
1683
+ const registeredRenderers = yield* CommanderErrorRenderers
1684
+ return (
1685
+ <E, Args extends readonly any[]>(action: string, errorRenderer?: ErrorRenderer<E, Args>) =>
1686
+ (e: E, ...args: Args): string => {
1687
+ if (errorRenderer) {
1688
+ const m = errorRenderer(e, action, ...args)
1689
+ if (m !== undefined) {
1690
+ return m
1691
+ }
1058
1692
  }
1059
- }
1060
- if (!S.is(SupportedErrors)(e) && !S.isSchemaError(e)) {
1061
- if (typeof e === "object" && e !== null) {
1062
- if ("message" in e) {
1063
- return `${e.message}`
1693
+ for (const entry of registeredRenderers) {
1694
+ if (!entry.guard(e)) {
1695
+ continue
1064
1696
  }
1065
- if ("_tag" in e) {
1066
- return `${e._tag}`
1697
+ const m = entry.render(e)
1698
+ if (m !== undefined) {
1699
+ return m
1067
1700
  }
1068
1701
  }
1069
- return ""
1070
- }
1071
- const e2: SupportedErrors | S.SchemaError = e
1072
- return Match.value(e2).pipe(
1073
- Match.tags({
1074
- NotFoundError: (e) => {
1075
- return intl.formatMessage({ id: "handle.not_found" }, { type: e.type, id: e.id })
1076
- },
1077
- SchemaError: (e) => {
1078
- console.warn(e.toString())
1079
- return intl.formatMessage({ id: "validation.failed" })
1702
+ if (!S.is(SupportedErrors)(e) && !S.isSchemaError(e)) {
1703
+ if (typeof e === "object" && e !== null) {
1704
+ if ("message" in e) {
1705
+ return `${e.message}`
1706
+ }
1707
+ if ("_tag" in e) {
1708
+ return `${e._tag}`
1709
+ }
1080
1710
  }
1081
- }),
1082
- Match.orElse((e) => `${e.message ?? e._tag ?? e}`)
1083
- )
1084
- }
1085
- )
1711
+ return ""
1712
+ }
1713
+ const e2: SupportedErrors | S.SchemaError = e
1714
+ return Match.value(e2).pipe(
1715
+ Match.tags({
1716
+ NotFoundError: (e) => {
1717
+ return intl.formatMessage({ id: "handle.not_found" }, { type: e.type, id: e.id })
1718
+ },
1719
+ SchemaError: (e) => {
1720
+ console.warn(e.toString())
1721
+ return intl.formatMessage({ id: "validation.failed" })
1722
+ }
1723
+ }),
1724
+ Match.orElse((e) => `${e.message ?? e._tag ?? e}`)
1725
+ )
1726
+ }
1727
+ )
1728
+ })
1086
1729
 
1087
1730
  const defaultFailureMessageHandler = <E, Args extends Array<unknown>, AME, AMR>(
1088
1731
  actionMaker:
@@ -1168,6 +1811,17 @@ export const CommanderStatic = {
1168
1811
  CommandContext,
1169
1812
  (c) => ({ ...c, action: update(c.action, ...input) })
1170
1813
  ),
1814
+ registerErrorRenderer: <A>(
1815
+ guard: Predicate.Refinement<unknown, A>,
1816
+ render: (guarded: A) => string | undefined
1817
+ ) =>
1818
+ Layer.effect(
1819
+ CommanderErrorRenderers,
1820
+ Effect.gen(function*() {
1821
+ const current = yield* CommanderErrorRenderers
1822
+ return [...current, makeRegisteredErrorRenderer(guard, render)]
1823
+ })
1824
+ ),
1171
1825
  defaultFailureMessageHandler,
1172
1826
  renderError: renderErrorMaker,
1173
1827
  /**
@@ -1186,17 +1840,29 @@ export const CommanderStatic = {
1186
1840
  /**
1187
1841
  * if true, previous toasts with this key will be replaced
1188
1842
  */
1189
- stableToastId?: undefined | true | string | ((id: string, ...args: Args) => true | string | undefined)
1190
- errorRenderer?: ErrorRenderer<E, Args>
1191
- onWaiting?: null | undefined | string | ((id: string, ...args: Args) => string | null | undefined)
1192
- onSuccess?: null | undefined | string | ((a: A, action: string, ...args: Args) => string | null | undefined)
1843
+ stableToastId?:
1844
+ | undefined
1845
+ | true
1846
+ | string
1847
+ | ((id: string, arg: NoInfer<Args>[0], ctx: NoInfer<Args>[1]) => true | string | undefined)
1848
+ errorRenderer?: (e: E, action: string, arg: NoInfer<Args>[0], ctx: NoInfer<Args>[1]) => string | undefined
1849
+ showSpanInfo?: false
1850
+ onWaiting?:
1851
+ | null
1852
+ | undefined
1853
+ | string
1854
+ | ((id: string, arg: NoInfer<Args>[0], ctx: NoInfer<Args>[1]) => string | null | undefined)
1855
+ onSuccess?:
1856
+ | null
1857
+ | undefined
1858
+ | string
1859
+ | ((a: A, action: string, arg: NoInfer<Args>[0], ctx: NoInfer<Args>[1]) => string | null | undefined)
1193
1860
  }
1194
1861
  ) =>
1195
- (
1196
- self: Effect.Effect<A, E, R>,
1197
- ...args: Args
1198
- ) =>
1199
- Effect.gen(function*() {
1862
+ Effect.fnUntraced(function*(
1863
+ self: Effect.Effect<A, E, R>,
1864
+ ...args: Args
1865
+ ) {
1200
1866
  const cc = yield* CommandContext
1201
1867
  const { intl } = yield* I18n
1202
1868
  const withToast = yield* WithToast
@@ -1243,9 +1909,10 @@ export const CommanderStatic = {
1243
1909
  + (S.is(OperationSuccess)(a) && a.message ? "\n" + a.message : "")),
1244
1910
  onFailure: defaultFailureMessageHandler(
1245
1911
  hasCustomFailure ? intl.formatMessage({ id: customFailure }, cc.state) : cc.action,
1246
- options?.errorRenderer
1912
+ options?.errorRenderer as ErrorRenderer<E, Args> | undefined
1247
1913
  ),
1248
- stableToastId
1914
+ stableToastId,
1915
+ ...options?.showSpanInfo === false ? { showSpanInfo: options.showSpanInfo } : {}
1249
1916
  })(_, ...args)
1250
1917
  )
1251
1918
  }),
@@ -1323,7 +1990,7 @@ const getStateValues = <const Id extends string, const I18nKey extends string, S
1323
1990
  // class preserves JSDoc throughout..
1324
1991
  export class CommanderImpl<RT, RTHooks> {
1325
1992
  constructor(
1326
- private readonly rt: ServiceMap.ServiceMap<RT>,
1993
+ private readonly rt: Context.Context<RT>,
1327
1994
  private readonly intl: I18n,
1328
1995
  private readonly hooks: Layer.Layer<RTHooks, never, RT>
1329
1996
  ) {
@@ -1385,7 +2052,7 @@ export class CommanderImpl<RT, RTHooks> {
1385
2052
  }
1386
2053
 
1387
2054
  const key = `Commander.Command.${id}.state` as const
1388
- const stateTag = ServiceMap.Service<typeof key, State>(key)
2055
+ const stateTag = Context.Service<typeof key, State>(key)
1389
2056
 
1390
2057
  const makeContext_ = () => this.makeContext(id, { ...options, state: state?.value })
1391
2058
  const initialContext = makeContext_()
@@ -1479,7 +2146,7 @@ export class CommanderImpl<RT, RTHooks> {
1479
2146
  const computeAllowed = options?.allowed
1480
2147
  const allowed = computeAllowed ? computed(() => computeAllowed(id, state)) : true
1481
2148
 
1482
- const rt = Effect.services<RT | RTHooks>().pipe(Effect.provide(this.hooks)).pipe(Effect.runSyncWith(this.rt))
2149
+ const rt = Effect.context<RT | RTHooks>().pipe(Effect.provide(this.hooks)).pipe(Effect.runSyncWith(this.rt))
1483
2150
  const runFork = Effect.runForkWith(rt)
1484
2151
 
1485
2152
  const handle = Object.assign((arg: Arg) => {
@@ -1654,7 +2321,7 @@ export class CommanderImpl<RT, RTHooks> {
1654
2321
  id: Id | { id: Id },
1655
2322
  options?: FnOptions<Id, I18nKey, State>
1656
2323
  ): Commander.Gen<RT | RTHooks, Id, I18nKey, State> & Commander.NonGen<RT | RTHooks, Id, I18nKey, State> & {
1657
- state: ServiceMap.Service<`Commander.Command.${Id}.state`, State>
2324
+ state: Context.Service<`Commander.Command.${Id}.state`, State>
1658
2325
  } =>
1659
2326
  Object.assign(
1660
2327
  (
@@ -1679,13 +2346,13 @@ export class CommanderImpl<RT, RTHooks> {
1679
2346
  },
1680
2347
  makeBaseInfo(typeof id === "string" ? id : id.id, options),
1681
2348
  {
1682
- state: ServiceMap.Service<`Commander.Command.${Id}.state`, State>(
2349
+ state: Context.Service<`Commander.Command.${Id}.state`, State>(
1683
2350
  `Commander.Command.${typeof id === "string" ? id : id.id}.state`
1684
2351
  )
1685
2352
  }
1686
2353
  )
1687
2354
 
1688
- /** @experimental @deprecated */
2355
+ /** @deprecated */
1689
2356
  alt2: <
1690
2357
  const Id extends string,
1691
2358
  MutArg,
@@ -1737,7 +2404,6 @@ export class CommanderImpl<RT, RTHooks> {
1737
2404
  )), baseInfo) as any
1738
2405
  }
1739
2406
 
1740
- /** @experimental */
1741
2407
  alt = this.makeCommand as unknown as <
1742
2408
  const Id extends string,
1743
2409
  const I18nKey extends string = Id,
@@ -1815,7 +2481,7 @@ export class CommanderImpl<RT, RTHooks> {
1815
2481
  },
1816
2482
  makeBaseInfo(mutation.id, options),
1817
2483
  {
1818
- state: ServiceMap.Service<`Commander.Command.${Id}.state`, State>(
2484
+ state: Context.Service<`Commander.Command.${Id}.state`, State>(
1819
2485
  `Commander.Command.${mutation.id}.state`
1820
2486
  )
1821
2487
  }
@@ -1823,10 +2489,10 @@ export class CommanderImpl<RT, RTHooks> {
1823
2489
  }
1824
2490
 
1825
2491
  // @effect-diagnostics-next-line missingEffectServiceDependency:off
1826
- export class Commander extends ServiceMap.Service<Commander>()("Commander", {
2492
+ export class Commander extends Context.Service<Commander>()("Commander", {
1827
2493
  make: Effect.gen(function*() {
1828
2494
  const i18n = yield* I18n
1829
- return <RT, RTHooks>(rt: ServiceMap.ServiceMap<RT>, rtHooks: Layer.Layer<RTHooks, never, RT>) =>
2495
+ return <RT, RTHooks>(rt: Context.Context<RT>, rtHooks: Layer.Layer<RTHooks, never, RT>) =>
1830
2496
  new CommanderImpl(rt, i18n, rtHooks)
1831
2497
  })
1832
2498
  }) {