@anthropic-ai/claude-agent-sdk 0.1.29 → 0.1.31

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 (5) hide show
  1. package/cli.js +1192 -1079
  2. package/package.json +1 -1
  3. package/sdk-tools.d.ts +1216 -3
  4. package/sdk.d.ts +55 -15
  5. package/sdk.mjs +18 -9
package/sdk-tools.d.ts CHANGED
@@ -23,9 +23,11 @@ export type ToolInputSchemas =
23
23
  | McpInput
24
24
  | NotebookEditInput
25
25
  | ReadMcpResourceInput
26
+ | TimeMachineInput
26
27
  | TodoWriteInput
27
28
  | WebFetchInput
28
- | WebSearchInput;
29
+ | WebSearchInput
30
+ | MultipleChoiceQuestionInput;
29
31
 
30
32
  export interface AgentInput {
31
33
  /**
@@ -180,7 +182,7 @@ export interface GrepInput {
180
182
  */
181
183
  "-C"?: number;
182
184
  /**
183
- * Show line numbers in output (rg -n). Requires output_mode: "content", ignored otherwise.
185
+ * Show line numbers in output (rg -n). Requires output_mode: "content", ignored otherwise. Defaults to true.
184
186
  */
185
187
  "-n"?: boolean;
186
188
  /**
@@ -192,9 +194,13 @@ export interface GrepInput {
192
194
  */
193
195
  type?: string;
194
196
  /**
195
- * Limit output to first N lines/entries, equivalent to "| head -N". Works across all output modes: content (limits output lines), files_with_matches (limits file paths), count (limits count entries). When unspecified, shows all results from ripgrep.
197
+ * Limit output to first N lines/entries, equivalent to "| head -N". Works across all output modes: content (limits output lines), files_with_matches (limits file paths), count (limits count entries). Defaults based on "cap" experiment value: 0 (unlimited), 20, or 100.
196
198
  */
197
199
  head_limit?: number;
200
+ /**
201
+ * Skip first N lines/entries before applying head_limit, equivalent to "| tail -n +N | head -N". Works across all output modes. Defaults to 0.
202
+ */
203
+ offset?: number;
198
204
  /**
199
205
  * Enable multiline mode where . matches newlines and patterns can span lines (rg -U --multiline-dotall). Default: false.
200
206
  */
@@ -247,6 +253,20 @@ export interface ReadMcpResourceInput {
247
253
  */
248
254
  uri: string;
249
255
  }
256
+ export interface TimeMachineInput {
257
+ /**
258
+ * The prefix of the user message to rewind to (searches backwards for first match)
259
+ */
260
+ message_prefix: string;
261
+ /**
262
+ * The new instructions to inject after rewinding, explaining what to do differently
263
+ */
264
+ course_correction: string;
265
+ /**
266
+ * Whether to restore code changes using file history (default: true)
267
+ */
268
+ restore_code?: boolean;
269
+ }
250
270
  export interface TodoWriteInput {
251
271
  /**
252
272
  * The updated todo list
@@ -281,3 +301,1196 @@ export interface WebSearchInput {
281
301
  */
282
302
  blocked_domains?: string[];
283
303
  }
304
+ export interface MultipleChoiceQuestionInput {
305
+ /**
306
+ * Questions to ask the user (1-4 questions)
307
+ *
308
+ * @minItems 1
309
+ * @maxItems 4
310
+ */
311
+ questions:
312
+ | [
313
+ {
314
+ /**
315
+ * The complete question to ask the user. Should be clear, specific, and end with a question mark. Example: "Which library should we use for date formatting?" If multiSelect is true, phrase it accordingly, e.g. "Which features do you want to enable?"
316
+ */
317
+ question: string;
318
+ /**
319
+ * Very short label displayed as a chip/tag (max 12 chars). Examples: "Auth method", "Library", "Approach".
320
+ */
321
+ header: string;
322
+ /**
323
+ * The available choices for this question. Must have 2-4 options. Each option should be a distinct, mutually exclusive choice (unless multiSelect is enabled). There should be no 'Other' option, that will be provided automatically.
324
+ *
325
+ * @minItems 2
326
+ * @maxItems 4
327
+ */
328
+ options:
329
+ | [
330
+ {
331
+ /**
332
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
333
+ */
334
+ label: string;
335
+ /**
336
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
337
+ */
338
+ description: string;
339
+ },
340
+ {
341
+ /**
342
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
343
+ */
344
+ label: string;
345
+ /**
346
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
347
+ */
348
+ description: string;
349
+ }
350
+ ]
351
+ | [
352
+ {
353
+ /**
354
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
355
+ */
356
+ label: string;
357
+ /**
358
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
359
+ */
360
+ description: string;
361
+ },
362
+ {
363
+ /**
364
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
365
+ */
366
+ label: string;
367
+ /**
368
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
369
+ */
370
+ description: string;
371
+ },
372
+ {
373
+ /**
374
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
375
+ */
376
+ label: string;
377
+ /**
378
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
379
+ */
380
+ description: string;
381
+ }
382
+ ]
383
+ | [
384
+ {
385
+ /**
386
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
387
+ */
388
+ label: string;
389
+ /**
390
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
391
+ */
392
+ description: string;
393
+ },
394
+ {
395
+ /**
396
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
397
+ */
398
+ label: string;
399
+ /**
400
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
401
+ */
402
+ description: string;
403
+ },
404
+ {
405
+ /**
406
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
407
+ */
408
+ label: string;
409
+ /**
410
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
411
+ */
412
+ description: string;
413
+ },
414
+ {
415
+ /**
416
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
417
+ */
418
+ label: string;
419
+ /**
420
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
421
+ */
422
+ description: string;
423
+ }
424
+ ];
425
+ /**
426
+ * Set to true to allow the user to select multiple options instead of just one. Use when choices are not mutually exclusive.
427
+ */
428
+ multiSelect: boolean;
429
+ }
430
+ ]
431
+ | [
432
+ {
433
+ /**
434
+ * The complete question to ask the user. Should be clear, specific, and end with a question mark. Example: "Which library should we use for date formatting?" If multiSelect is true, phrase it accordingly, e.g. "Which features do you want to enable?"
435
+ */
436
+ question: string;
437
+ /**
438
+ * Very short label displayed as a chip/tag (max 12 chars). Examples: "Auth method", "Library", "Approach".
439
+ */
440
+ header: string;
441
+ /**
442
+ * The available choices for this question. Must have 2-4 options. Each option should be a distinct, mutually exclusive choice (unless multiSelect is enabled). There should be no 'Other' option, that will be provided automatically.
443
+ *
444
+ * @minItems 2
445
+ * @maxItems 4
446
+ */
447
+ options:
448
+ | [
449
+ {
450
+ /**
451
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
452
+ */
453
+ label: string;
454
+ /**
455
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
456
+ */
457
+ description: string;
458
+ },
459
+ {
460
+ /**
461
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
462
+ */
463
+ label: string;
464
+ /**
465
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
466
+ */
467
+ description: string;
468
+ }
469
+ ]
470
+ | [
471
+ {
472
+ /**
473
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
474
+ */
475
+ label: string;
476
+ /**
477
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
478
+ */
479
+ description: string;
480
+ },
481
+ {
482
+ /**
483
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
484
+ */
485
+ label: string;
486
+ /**
487
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
488
+ */
489
+ description: string;
490
+ },
491
+ {
492
+ /**
493
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
494
+ */
495
+ label: string;
496
+ /**
497
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
498
+ */
499
+ description: string;
500
+ }
501
+ ]
502
+ | [
503
+ {
504
+ /**
505
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
506
+ */
507
+ label: string;
508
+ /**
509
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
510
+ */
511
+ description: string;
512
+ },
513
+ {
514
+ /**
515
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
516
+ */
517
+ label: string;
518
+ /**
519
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
520
+ */
521
+ description: string;
522
+ },
523
+ {
524
+ /**
525
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
526
+ */
527
+ label: string;
528
+ /**
529
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
530
+ */
531
+ description: string;
532
+ },
533
+ {
534
+ /**
535
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
536
+ */
537
+ label: string;
538
+ /**
539
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
540
+ */
541
+ description: string;
542
+ }
543
+ ];
544
+ /**
545
+ * Set to true to allow the user to select multiple options instead of just one. Use when choices are not mutually exclusive.
546
+ */
547
+ multiSelect: boolean;
548
+ },
549
+ {
550
+ /**
551
+ * The complete question to ask the user. Should be clear, specific, and end with a question mark. Example: "Which library should we use for date formatting?" If multiSelect is true, phrase it accordingly, e.g. "Which features do you want to enable?"
552
+ */
553
+ question: string;
554
+ /**
555
+ * Very short label displayed as a chip/tag (max 12 chars). Examples: "Auth method", "Library", "Approach".
556
+ */
557
+ header: string;
558
+ /**
559
+ * The available choices for this question. Must have 2-4 options. Each option should be a distinct, mutually exclusive choice (unless multiSelect is enabled). There should be no 'Other' option, that will be provided automatically.
560
+ *
561
+ * @minItems 2
562
+ * @maxItems 4
563
+ */
564
+ options:
565
+ | [
566
+ {
567
+ /**
568
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
569
+ */
570
+ label: string;
571
+ /**
572
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
573
+ */
574
+ description: string;
575
+ },
576
+ {
577
+ /**
578
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
579
+ */
580
+ label: string;
581
+ /**
582
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
583
+ */
584
+ description: string;
585
+ }
586
+ ]
587
+ | [
588
+ {
589
+ /**
590
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
591
+ */
592
+ label: string;
593
+ /**
594
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
595
+ */
596
+ description: string;
597
+ },
598
+ {
599
+ /**
600
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
601
+ */
602
+ label: string;
603
+ /**
604
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
605
+ */
606
+ description: string;
607
+ },
608
+ {
609
+ /**
610
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
611
+ */
612
+ label: string;
613
+ /**
614
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
615
+ */
616
+ description: string;
617
+ }
618
+ ]
619
+ | [
620
+ {
621
+ /**
622
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
623
+ */
624
+ label: string;
625
+ /**
626
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
627
+ */
628
+ description: string;
629
+ },
630
+ {
631
+ /**
632
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
633
+ */
634
+ label: string;
635
+ /**
636
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
637
+ */
638
+ description: string;
639
+ },
640
+ {
641
+ /**
642
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
643
+ */
644
+ label: string;
645
+ /**
646
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
647
+ */
648
+ description: string;
649
+ },
650
+ {
651
+ /**
652
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
653
+ */
654
+ label: string;
655
+ /**
656
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
657
+ */
658
+ description: string;
659
+ }
660
+ ];
661
+ /**
662
+ * Set to true to allow the user to select multiple options instead of just one. Use when choices are not mutually exclusive.
663
+ */
664
+ multiSelect: boolean;
665
+ }
666
+ ]
667
+ | [
668
+ {
669
+ /**
670
+ * The complete question to ask the user. Should be clear, specific, and end with a question mark. Example: "Which library should we use for date formatting?" If multiSelect is true, phrase it accordingly, e.g. "Which features do you want to enable?"
671
+ */
672
+ question: string;
673
+ /**
674
+ * Very short label displayed as a chip/tag (max 12 chars). Examples: "Auth method", "Library", "Approach".
675
+ */
676
+ header: string;
677
+ /**
678
+ * The available choices for this question. Must have 2-4 options. Each option should be a distinct, mutually exclusive choice (unless multiSelect is enabled). There should be no 'Other' option, that will be provided automatically.
679
+ *
680
+ * @minItems 2
681
+ * @maxItems 4
682
+ */
683
+ options:
684
+ | [
685
+ {
686
+ /**
687
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
688
+ */
689
+ label: string;
690
+ /**
691
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
692
+ */
693
+ description: string;
694
+ },
695
+ {
696
+ /**
697
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
698
+ */
699
+ label: string;
700
+ /**
701
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
702
+ */
703
+ description: string;
704
+ }
705
+ ]
706
+ | [
707
+ {
708
+ /**
709
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
710
+ */
711
+ label: string;
712
+ /**
713
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
714
+ */
715
+ description: string;
716
+ },
717
+ {
718
+ /**
719
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
720
+ */
721
+ label: string;
722
+ /**
723
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
724
+ */
725
+ description: string;
726
+ },
727
+ {
728
+ /**
729
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
730
+ */
731
+ label: string;
732
+ /**
733
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
734
+ */
735
+ description: string;
736
+ }
737
+ ]
738
+ | [
739
+ {
740
+ /**
741
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
742
+ */
743
+ label: string;
744
+ /**
745
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
746
+ */
747
+ description: string;
748
+ },
749
+ {
750
+ /**
751
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
752
+ */
753
+ label: string;
754
+ /**
755
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
756
+ */
757
+ description: string;
758
+ },
759
+ {
760
+ /**
761
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
762
+ */
763
+ label: string;
764
+ /**
765
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
766
+ */
767
+ description: string;
768
+ },
769
+ {
770
+ /**
771
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
772
+ */
773
+ label: string;
774
+ /**
775
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
776
+ */
777
+ description: string;
778
+ }
779
+ ];
780
+ /**
781
+ * Set to true to allow the user to select multiple options instead of just one. Use when choices are not mutually exclusive.
782
+ */
783
+ multiSelect: boolean;
784
+ },
785
+ {
786
+ /**
787
+ * The complete question to ask the user. Should be clear, specific, and end with a question mark. Example: "Which library should we use for date formatting?" If multiSelect is true, phrase it accordingly, e.g. "Which features do you want to enable?"
788
+ */
789
+ question: string;
790
+ /**
791
+ * Very short label displayed as a chip/tag (max 12 chars). Examples: "Auth method", "Library", "Approach".
792
+ */
793
+ header: string;
794
+ /**
795
+ * The available choices for this question. Must have 2-4 options. Each option should be a distinct, mutually exclusive choice (unless multiSelect is enabled). There should be no 'Other' option, that will be provided automatically.
796
+ *
797
+ * @minItems 2
798
+ * @maxItems 4
799
+ */
800
+ options:
801
+ | [
802
+ {
803
+ /**
804
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
805
+ */
806
+ label: string;
807
+ /**
808
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
809
+ */
810
+ description: string;
811
+ },
812
+ {
813
+ /**
814
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
815
+ */
816
+ label: string;
817
+ /**
818
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
819
+ */
820
+ description: string;
821
+ }
822
+ ]
823
+ | [
824
+ {
825
+ /**
826
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
827
+ */
828
+ label: string;
829
+ /**
830
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
831
+ */
832
+ description: string;
833
+ },
834
+ {
835
+ /**
836
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
837
+ */
838
+ label: string;
839
+ /**
840
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
841
+ */
842
+ description: string;
843
+ },
844
+ {
845
+ /**
846
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
847
+ */
848
+ label: string;
849
+ /**
850
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
851
+ */
852
+ description: string;
853
+ }
854
+ ]
855
+ | [
856
+ {
857
+ /**
858
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
859
+ */
860
+ label: string;
861
+ /**
862
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
863
+ */
864
+ description: string;
865
+ },
866
+ {
867
+ /**
868
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
869
+ */
870
+ label: string;
871
+ /**
872
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
873
+ */
874
+ description: string;
875
+ },
876
+ {
877
+ /**
878
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
879
+ */
880
+ label: string;
881
+ /**
882
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
883
+ */
884
+ description: string;
885
+ },
886
+ {
887
+ /**
888
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
889
+ */
890
+ label: string;
891
+ /**
892
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
893
+ */
894
+ description: string;
895
+ }
896
+ ];
897
+ /**
898
+ * Set to true to allow the user to select multiple options instead of just one. Use when choices are not mutually exclusive.
899
+ */
900
+ multiSelect: boolean;
901
+ },
902
+ {
903
+ /**
904
+ * The complete question to ask the user. Should be clear, specific, and end with a question mark. Example: "Which library should we use for date formatting?" If multiSelect is true, phrase it accordingly, e.g. "Which features do you want to enable?"
905
+ */
906
+ question: string;
907
+ /**
908
+ * Very short label displayed as a chip/tag (max 12 chars). Examples: "Auth method", "Library", "Approach".
909
+ */
910
+ header: string;
911
+ /**
912
+ * The available choices for this question. Must have 2-4 options. Each option should be a distinct, mutually exclusive choice (unless multiSelect is enabled). There should be no 'Other' option, that will be provided automatically.
913
+ *
914
+ * @minItems 2
915
+ * @maxItems 4
916
+ */
917
+ options:
918
+ | [
919
+ {
920
+ /**
921
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
922
+ */
923
+ label: string;
924
+ /**
925
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
926
+ */
927
+ description: string;
928
+ },
929
+ {
930
+ /**
931
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
932
+ */
933
+ label: string;
934
+ /**
935
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
936
+ */
937
+ description: string;
938
+ }
939
+ ]
940
+ | [
941
+ {
942
+ /**
943
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
944
+ */
945
+ label: string;
946
+ /**
947
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
948
+ */
949
+ description: string;
950
+ },
951
+ {
952
+ /**
953
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
954
+ */
955
+ label: string;
956
+ /**
957
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
958
+ */
959
+ description: string;
960
+ },
961
+ {
962
+ /**
963
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
964
+ */
965
+ label: string;
966
+ /**
967
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
968
+ */
969
+ description: string;
970
+ }
971
+ ]
972
+ | [
973
+ {
974
+ /**
975
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
976
+ */
977
+ label: string;
978
+ /**
979
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
980
+ */
981
+ description: string;
982
+ },
983
+ {
984
+ /**
985
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
986
+ */
987
+ label: string;
988
+ /**
989
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
990
+ */
991
+ description: string;
992
+ },
993
+ {
994
+ /**
995
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
996
+ */
997
+ label: string;
998
+ /**
999
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1000
+ */
1001
+ description: string;
1002
+ },
1003
+ {
1004
+ /**
1005
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1006
+ */
1007
+ label: string;
1008
+ /**
1009
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1010
+ */
1011
+ description: string;
1012
+ }
1013
+ ];
1014
+ /**
1015
+ * Set to true to allow the user to select multiple options instead of just one. Use when choices are not mutually exclusive.
1016
+ */
1017
+ multiSelect: boolean;
1018
+ }
1019
+ ]
1020
+ | [
1021
+ {
1022
+ /**
1023
+ * The complete question to ask the user. Should be clear, specific, and end with a question mark. Example: "Which library should we use for date formatting?" If multiSelect is true, phrase it accordingly, e.g. "Which features do you want to enable?"
1024
+ */
1025
+ question: string;
1026
+ /**
1027
+ * Very short label displayed as a chip/tag (max 12 chars). Examples: "Auth method", "Library", "Approach".
1028
+ */
1029
+ header: string;
1030
+ /**
1031
+ * The available choices for this question. Must have 2-4 options. Each option should be a distinct, mutually exclusive choice (unless multiSelect is enabled). There should be no 'Other' option, that will be provided automatically.
1032
+ *
1033
+ * @minItems 2
1034
+ * @maxItems 4
1035
+ */
1036
+ options:
1037
+ | [
1038
+ {
1039
+ /**
1040
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1041
+ */
1042
+ label: string;
1043
+ /**
1044
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1045
+ */
1046
+ description: string;
1047
+ },
1048
+ {
1049
+ /**
1050
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1051
+ */
1052
+ label: string;
1053
+ /**
1054
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1055
+ */
1056
+ description: string;
1057
+ }
1058
+ ]
1059
+ | [
1060
+ {
1061
+ /**
1062
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1063
+ */
1064
+ label: string;
1065
+ /**
1066
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1067
+ */
1068
+ description: string;
1069
+ },
1070
+ {
1071
+ /**
1072
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1073
+ */
1074
+ label: string;
1075
+ /**
1076
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1077
+ */
1078
+ description: string;
1079
+ },
1080
+ {
1081
+ /**
1082
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1083
+ */
1084
+ label: string;
1085
+ /**
1086
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1087
+ */
1088
+ description: string;
1089
+ }
1090
+ ]
1091
+ | [
1092
+ {
1093
+ /**
1094
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1095
+ */
1096
+ label: string;
1097
+ /**
1098
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1099
+ */
1100
+ description: string;
1101
+ },
1102
+ {
1103
+ /**
1104
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1105
+ */
1106
+ label: string;
1107
+ /**
1108
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1109
+ */
1110
+ description: string;
1111
+ },
1112
+ {
1113
+ /**
1114
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1115
+ */
1116
+ label: string;
1117
+ /**
1118
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1119
+ */
1120
+ description: string;
1121
+ },
1122
+ {
1123
+ /**
1124
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1125
+ */
1126
+ label: string;
1127
+ /**
1128
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1129
+ */
1130
+ description: string;
1131
+ }
1132
+ ];
1133
+ /**
1134
+ * Set to true to allow the user to select multiple options instead of just one. Use when choices are not mutually exclusive.
1135
+ */
1136
+ multiSelect: boolean;
1137
+ },
1138
+ {
1139
+ /**
1140
+ * The complete question to ask the user. Should be clear, specific, and end with a question mark. Example: "Which library should we use for date formatting?" If multiSelect is true, phrase it accordingly, e.g. "Which features do you want to enable?"
1141
+ */
1142
+ question: string;
1143
+ /**
1144
+ * Very short label displayed as a chip/tag (max 12 chars). Examples: "Auth method", "Library", "Approach".
1145
+ */
1146
+ header: string;
1147
+ /**
1148
+ * The available choices for this question. Must have 2-4 options. Each option should be a distinct, mutually exclusive choice (unless multiSelect is enabled). There should be no 'Other' option, that will be provided automatically.
1149
+ *
1150
+ * @minItems 2
1151
+ * @maxItems 4
1152
+ */
1153
+ options:
1154
+ | [
1155
+ {
1156
+ /**
1157
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1158
+ */
1159
+ label: string;
1160
+ /**
1161
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1162
+ */
1163
+ description: string;
1164
+ },
1165
+ {
1166
+ /**
1167
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1168
+ */
1169
+ label: string;
1170
+ /**
1171
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1172
+ */
1173
+ description: string;
1174
+ }
1175
+ ]
1176
+ | [
1177
+ {
1178
+ /**
1179
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1180
+ */
1181
+ label: string;
1182
+ /**
1183
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1184
+ */
1185
+ description: string;
1186
+ },
1187
+ {
1188
+ /**
1189
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1190
+ */
1191
+ label: string;
1192
+ /**
1193
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1194
+ */
1195
+ description: string;
1196
+ },
1197
+ {
1198
+ /**
1199
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1200
+ */
1201
+ label: string;
1202
+ /**
1203
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1204
+ */
1205
+ description: string;
1206
+ }
1207
+ ]
1208
+ | [
1209
+ {
1210
+ /**
1211
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1212
+ */
1213
+ label: string;
1214
+ /**
1215
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1216
+ */
1217
+ description: string;
1218
+ },
1219
+ {
1220
+ /**
1221
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1222
+ */
1223
+ label: string;
1224
+ /**
1225
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1226
+ */
1227
+ description: string;
1228
+ },
1229
+ {
1230
+ /**
1231
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1232
+ */
1233
+ label: string;
1234
+ /**
1235
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1236
+ */
1237
+ description: string;
1238
+ },
1239
+ {
1240
+ /**
1241
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1242
+ */
1243
+ label: string;
1244
+ /**
1245
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1246
+ */
1247
+ description: string;
1248
+ }
1249
+ ];
1250
+ /**
1251
+ * Set to true to allow the user to select multiple options instead of just one. Use when choices are not mutually exclusive.
1252
+ */
1253
+ multiSelect: boolean;
1254
+ },
1255
+ {
1256
+ /**
1257
+ * The complete question to ask the user. Should be clear, specific, and end with a question mark. Example: "Which library should we use for date formatting?" If multiSelect is true, phrase it accordingly, e.g. "Which features do you want to enable?"
1258
+ */
1259
+ question: string;
1260
+ /**
1261
+ * Very short label displayed as a chip/tag (max 12 chars). Examples: "Auth method", "Library", "Approach".
1262
+ */
1263
+ header: string;
1264
+ /**
1265
+ * The available choices for this question. Must have 2-4 options. Each option should be a distinct, mutually exclusive choice (unless multiSelect is enabled). There should be no 'Other' option, that will be provided automatically.
1266
+ *
1267
+ * @minItems 2
1268
+ * @maxItems 4
1269
+ */
1270
+ options:
1271
+ | [
1272
+ {
1273
+ /**
1274
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1275
+ */
1276
+ label: string;
1277
+ /**
1278
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1279
+ */
1280
+ description: string;
1281
+ },
1282
+ {
1283
+ /**
1284
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1285
+ */
1286
+ label: string;
1287
+ /**
1288
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1289
+ */
1290
+ description: string;
1291
+ }
1292
+ ]
1293
+ | [
1294
+ {
1295
+ /**
1296
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1297
+ */
1298
+ label: string;
1299
+ /**
1300
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1301
+ */
1302
+ description: string;
1303
+ },
1304
+ {
1305
+ /**
1306
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1307
+ */
1308
+ label: string;
1309
+ /**
1310
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1311
+ */
1312
+ description: string;
1313
+ },
1314
+ {
1315
+ /**
1316
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1317
+ */
1318
+ label: string;
1319
+ /**
1320
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1321
+ */
1322
+ description: string;
1323
+ }
1324
+ ]
1325
+ | [
1326
+ {
1327
+ /**
1328
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1329
+ */
1330
+ label: string;
1331
+ /**
1332
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1333
+ */
1334
+ description: string;
1335
+ },
1336
+ {
1337
+ /**
1338
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1339
+ */
1340
+ label: string;
1341
+ /**
1342
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1343
+ */
1344
+ description: string;
1345
+ },
1346
+ {
1347
+ /**
1348
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1349
+ */
1350
+ label: string;
1351
+ /**
1352
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1353
+ */
1354
+ description: string;
1355
+ },
1356
+ {
1357
+ /**
1358
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1359
+ */
1360
+ label: string;
1361
+ /**
1362
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1363
+ */
1364
+ description: string;
1365
+ }
1366
+ ];
1367
+ /**
1368
+ * Set to true to allow the user to select multiple options instead of just one. Use when choices are not mutually exclusive.
1369
+ */
1370
+ multiSelect: boolean;
1371
+ },
1372
+ {
1373
+ /**
1374
+ * The complete question to ask the user. Should be clear, specific, and end with a question mark. Example: "Which library should we use for date formatting?" If multiSelect is true, phrase it accordingly, e.g. "Which features do you want to enable?"
1375
+ */
1376
+ question: string;
1377
+ /**
1378
+ * Very short label displayed as a chip/tag (max 12 chars). Examples: "Auth method", "Library", "Approach".
1379
+ */
1380
+ header: string;
1381
+ /**
1382
+ * The available choices for this question. Must have 2-4 options. Each option should be a distinct, mutually exclusive choice (unless multiSelect is enabled). There should be no 'Other' option, that will be provided automatically.
1383
+ *
1384
+ * @minItems 2
1385
+ * @maxItems 4
1386
+ */
1387
+ options:
1388
+ | [
1389
+ {
1390
+ /**
1391
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1392
+ */
1393
+ label: string;
1394
+ /**
1395
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1396
+ */
1397
+ description: string;
1398
+ },
1399
+ {
1400
+ /**
1401
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1402
+ */
1403
+ label: string;
1404
+ /**
1405
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1406
+ */
1407
+ description: string;
1408
+ }
1409
+ ]
1410
+ | [
1411
+ {
1412
+ /**
1413
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1414
+ */
1415
+ label: string;
1416
+ /**
1417
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1418
+ */
1419
+ description: string;
1420
+ },
1421
+ {
1422
+ /**
1423
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1424
+ */
1425
+ label: string;
1426
+ /**
1427
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1428
+ */
1429
+ description: string;
1430
+ },
1431
+ {
1432
+ /**
1433
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1434
+ */
1435
+ label: string;
1436
+ /**
1437
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1438
+ */
1439
+ description: string;
1440
+ }
1441
+ ]
1442
+ | [
1443
+ {
1444
+ /**
1445
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1446
+ */
1447
+ label: string;
1448
+ /**
1449
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1450
+ */
1451
+ description: string;
1452
+ },
1453
+ {
1454
+ /**
1455
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1456
+ */
1457
+ label: string;
1458
+ /**
1459
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1460
+ */
1461
+ description: string;
1462
+ },
1463
+ {
1464
+ /**
1465
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1466
+ */
1467
+ label: string;
1468
+ /**
1469
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1470
+ */
1471
+ description: string;
1472
+ },
1473
+ {
1474
+ /**
1475
+ * The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.
1476
+ */
1477
+ label: string;
1478
+ /**
1479
+ * Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.
1480
+ */
1481
+ description: string;
1482
+ }
1483
+ ];
1484
+ /**
1485
+ * Set to true to allow the user to select multiple options instead of just one. Use when choices are not mutually exclusive.
1486
+ */
1487
+ multiSelect: boolean;
1488
+ }
1489
+ ];
1490
+ /**
1491
+ * User answers collected by the permission component
1492
+ */
1493
+ answers?: {
1494
+ [k: string]: string;
1495
+ };
1496
+ }