@studyfetch/sdk 1.9.0 → 1.11.0

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 (69) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/package.json +1 -1
  3. package/resources/v1/components.d.mts +425 -6
  4. package/resources/v1/components.d.mts.map +1 -1
  5. package/resources/v1/components.d.ts +425 -6
  6. package/resources/v1/components.d.ts.map +1 -1
  7. package/resources/v1/components.js +1 -1
  8. package/resources/v1/components.mjs +1 -1
  9. package/resources/v1/explainers.d.mts +116 -5
  10. package/resources/v1/explainers.d.mts.map +1 -1
  11. package/resources/v1/explainers.d.ts +116 -5
  12. package/resources/v1/explainers.d.ts.map +1 -1
  13. package/resources/v1/explainers.js +14 -6
  14. package/resources/v1/explainers.js.map +1 -1
  15. package/resources/v1/explainers.mjs +14 -6
  16. package/resources/v1/explainers.mjs.map +1 -1
  17. package/resources/v1/index.d.mts +1 -1
  18. package/resources/v1/index.d.mts.map +1 -1
  19. package/resources/v1/index.d.ts +1 -1
  20. package/resources/v1/index.d.ts.map +1 -1
  21. package/resources/v1/index.js.map +1 -1
  22. package/resources/v1/index.mjs +1 -1
  23. package/resources/v1/index.mjs.map +1 -1
  24. package/resources/v1/scenarios/component.d.mts +51 -3
  25. package/resources/v1/scenarios/component.d.mts.map +1 -1
  26. package/resources/v1/scenarios/component.d.ts +51 -3
  27. package/resources/v1/scenarios/component.d.ts.map +1 -1
  28. package/resources/v1/scenarios/component.js +4 -4
  29. package/resources/v1/scenarios/component.js.map +1 -1
  30. package/resources/v1/scenarios/component.mjs +4 -4
  31. package/resources/v1/scenarios/component.mjs.map +1 -1
  32. package/resources/v1/scenarios/index.d.mts +1 -1
  33. package/resources/v1/scenarios/index.d.mts.map +1 -1
  34. package/resources/v1/scenarios/index.d.ts +1 -1
  35. package/resources/v1/scenarios/index.d.ts.map +1 -1
  36. package/resources/v1/scenarios/index.js.map +1 -1
  37. package/resources/v1/scenarios/index.mjs +1 -1
  38. package/resources/v1/scenarios/index.mjs.map +1 -1
  39. package/resources/v1/scenarios/scenarios.d.mts +123 -9
  40. package/resources/v1/scenarios/scenarios.d.mts.map +1 -1
  41. package/resources/v1/scenarios/scenarios.d.ts +123 -9
  42. package/resources/v1/scenarios/scenarios.d.ts.map +1 -1
  43. package/resources/v1/scenarios/scenarios.js +19 -10
  44. package/resources/v1/scenarios/scenarios.js.map +1 -1
  45. package/resources/v1/scenarios/scenarios.mjs +19 -10
  46. package/resources/v1/scenarios/scenarios.mjs.map +1 -1
  47. package/resources/v1/v1.d.mts +2 -2
  48. package/resources/v1/v1.d.mts.map +1 -1
  49. package/resources/v1/v1.d.ts +2 -2
  50. package/resources/v1/v1.d.ts.map +1 -1
  51. package/resources/v1/v1.js.map +1 -1
  52. package/resources/v1/v1.mjs +1 -1
  53. package/resources/v1/v1.mjs.map +1 -1
  54. package/src/resources/v1/components.ts +562 -6
  55. package/src/resources/v1/explainers.ts +141 -8
  56. package/src/resources/v1/index.ts +6 -1
  57. package/src/resources/v1/scenarios/component.ts +63 -5
  58. package/src/resources/v1/scenarios/index.ts +6 -1
  59. package/src/resources/v1/scenarios/scenarios.ts +150 -12
  60. package/src/resources/v1/v1.ts +7 -1
  61. package/src/version.ts +1 -1
  62. package/version.d.mts +1 -1
  63. package/version.d.mts.map +1 -1
  64. package/version.d.ts +1 -1
  65. package/version.d.ts.map +1 -1
  66. package/version.js +1 -1
  67. package/version.js.map +1 -1
  68. package/version.mjs +1 -1
  69. package/version.mjs.map +1 -1
@@ -13,7 +13,7 @@ export class Components extends APIResource {
13
13
  * @example
14
14
  * ```ts
15
15
  * const component = await client.v1.components.create({
16
- * config: {},
16
+ * config: { model: 'gpt-4o-mini-2024-07-18' },
17
17
  * name: 'My Study Component',
18
18
  * origin: 'chat',
19
19
  * type: 'chat',
@@ -177,7 +177,15 @@ export interface ComponentCreateResponse {
177
177
  /**
178
178
  * Component type
179
179
  */
180
- type: 'chat' | 'flashcards' | 'tests' | 'scenarios' | 'explainers' | 'audio-recap';
180
+ type:
181
+ | 'chat'
182
+ | 'flashcards'
183
+ | 'scenarios'
184
+ | 'practice_test'
185
+ | 'audio_recap'
186
+ | 'tutor_me'
187
+ | 'explainers'
188
+ | 'uploads';
181
189
 
182
190
  /**
183
191
  * Last update timestamp
@@ -234,7 +242,15 @@ export interface ComponentRetrieveResponse {
234
242
  /**
235
243
  * Component type
236
244
  */
237
- type: 'chat' | 'flashcards' | 'tests' | 'scenarios' | 'explainers' | 'audio-recap';
245
+ type:
246
+ | 'chat'
247
+ | 'flashcards'
248
+ | 'scenarios'
249
+ | 'practice_test'
250
+ | 'audio_recap'
251
+ | 'tutor_me'
252
+ | 'explainers'
253
+ | 'uploads';
238
254
 
239
255
  /**
240
256
  * Last update timestamp
@@ -291,7 +307,15 @@ export interface ComponentUpdateResponse {
291
307
  /**
292
308
  * Component type
293
309
  */
294
- type: 'chat' | 'flashcards' | 'tests' | 'scenarios' | 'explainers' | 'audio-recap';
310
+ type:
311
+ | 'chat'
312
+ | 'flashcards'
313
+ | 'scenarios'
314
+ | 'practice_test'
315
+ | 'audio_recap'
316
+ | 'tutor_me'
317
+ | 'explainers'
318
+ | 'uploads';
295
319
 
296
320
  /**
297
321
  * Last update timestamp
@@ -351,7 +375,15 @@ export namespace ComponentListResponse {
351
375
  /**
352
376
  * Component type
353
377
  */
354
- type: 'chat' | 'flashcards' | 'tests' | 'scenarios' | 'explainers' | 'audio-recap';
378
+ type:
379
+ | 'chat'
380
+ | 'flashcards'
381
+ | 'scenarios'
382
+ | 'practice_test'
383
+ | 'audio_recap'
384
+ | 'tutor_me'
385
+ | 'explainers'
386
+ | 'uploads';
355
387
 
356
388
  /**
357
389
  * Last update timestamp
@@ -423,7 +455,15 @@ export interface ComponentCreateParams {
423
455
  /**
424
456
  * Component-specific configuration
425
457
  */
426
- config: unknown;
458
+ config:
459
+ | ComponentCreateParams.ChatConfigDto
460
+ | ComponentCreateParams.FlashcardsConfigDto
461
+ | ComponentCreateParams.ScenariosConfigDto
462
+ | ComponentCreateParams.PracticeTestConfigDto
463
+ | ComponentCreateParams.AudioRecapConfigDto
464
+ | ComponentCreateParams.ExplainersConfigDto
465
+ | ComponentCreateParams.UploadsConfigDto
466
+ | ComponentCreateParams.TutorMeConfigDto;
427
467
 
428
468
  /**
429
469
  * Name of the component
@@ -459,6 +499,522 @@ export interface ComponentCreateParams {
459
499
  metadata?: unknown;
460
500
  }
461
501
 
502
+ export namespace ComponentCreateParams {
503
+ export interface ChatConfigDto {
504
+ /**
505
+ * AI model to use
506
+ */
507
+ model: string;
508
+
509
+ /**
510
+ * Enable component creation
511
+ */
512
+ enableComponentCreation?: boolean;
513
+
514
+ /**
515
+ * Enable follow-up questions
516
+ */
517
+ enableFollowUps?: boolean;
518
+
519
+ /**
520
+ * Enable conversation history
521
+ */
522
+ enableHistory?: boolean;
523
+
524
+ /**
525
+ * Enable RAG search
526
+ */
527
+ enableRAGSearch?: boolean;
528
+
529
+ /**
530
+ * Enable voice interactions
531
+ */
532
+ enableVoice?: boolean;
533
+
534
+ /**
535
+ * Enable web search
536
+ */
537
+ enableWebSearch?: boolean;
538
+
539
+ /**
540
+ * Folder IDs
541
+ */
542
+ folders?: Array<string>;
543
+
544
+ /**
545
+ * Material IDs
546
+ */
547
+ materials?: Array<string>;
548
+
549
+ /**
550
+ * Maximum steps for multi-step tool calls
551
+ */
552
+ maxSteps?: number;
553
+
554
+ /**
555
+ * Maximum tokens for response
556
+ */
557
+ maxTokens?: number;
558
+
559
+ /**
560
+ * System prompt for the chat
561
+ */
562
+ systemPrompt?: string;
563
+
564
+ /**
565
+ * Temperature for response generation
566
+ */
567
+ temperature?: number;
568
+ }
569
+
570
+ export interface FlashcardsConfigDto {
571
+ /**
572
+ * Types of flashcards
573
+ */
574
+ cardTypes?: Array<string>;
575
+
576
+ /**
577
+ * Difficulty level
578
+ */
579
+ difficulty?: 'easy' | 'medium' | 'hard' | 'mixed';
580
+
581
+ /**
582
+ * Enable spaced repetition
583
+ */
584
+ enableSpacedRepetition?: boolean;
585
+
586
+ /**
587
+ * Folder IDs
588
+ */
589
+ folders?: Array<string>;
590
+
591
+ /**
592
+ * Learning steps configuration
593
+ */
594
+ learningSteps?: string;
595
+
596
+ /**
597
+ * Material IDs
598
+ */
599
+ materials?: Array<string>;
600
+
601
+ /**
602
+ * Maximum review interval in days
603
+ */
604
+ maxReviewInterval?: number;
605
+
606
+ /**
607
+ * AI model to use for flashcard generation
608
+ */
609
+ model?: string;
610
+
611
+ /**
612
+ * Total number of flashcards to generate
613
+ */
614
+ totalFlashcards?: number;
615
+
616
+ /**
617
+ * View mode for flashcards
618
+ */
619
+ viewMode?: 'spaced_repetition' | 'normal';
620
+ }
621
+
622
+ export interface ScenariosConfigDto {
623
+ /**
624
+ * Scenario characters
625
+ */
626
+ characters?: Array<ScenariosConfigDto.Character>;
627
+
628
+ /**
629
+ * Scenario context
630
+ */
631
+ context?: string;
632
+
633
+ /**
634
+ * Enable history
635
+ */
636
+ enableHistory?: boolean;
637
+
638
+ /**
639
+ * Enable voice
640
+ */
641
+ enableVoice?: boolean;
642
+
643
+ /**
644
+ * Final answer prompt
645
+ */
646
+ finalAnswerPrompt?: string;
647
+
648
+ /**
649
+ * Folder IDs
650
+ */
651
+ folders?: Array<string>;
652
+
653
+ /**
654
+ * Scenario format
655
+ */
656
+ format?: string;
657
+
658
+ /**
659
+ * Scenario goal
660
+ */
661
+ goal?: string;
662
+
663
+ /**
664
+ * Character ID for greeting
665
+ */
666
+ greetingCharacterId?: string;
667
+
668
+ /**
669
+ * Greeting message
670
+ */
671
+ greetingMessage?: string;
672
+
673
+ /**
674
+ * Material IDs
675
+ */
676
+ materials?: Array<string>;
677
+
678
+ /**
679
+ * AI model to use for scenario generation
680
+ */
681
+ model?: string;
682
+
683
+ /**
684
+ * Placeholder text
685
+ */
686
+ placeholderText?: string;
687
+
688
+ /**
689
+ * Requires final answer
690
+ */
691
+ requiresFinalAnswer?: boolean;
692
+
693
+ /**
694
+ * Available tools
695
+ */
696
+ tools?: Array<ScenariosConfigDto.Tool>;
697
+ }
698
+
699
+ export namespace ScenariosConfigDto {
700
+ export interface Character {
701
+ /**
702
+ * Character ID
703
+ */
704
+ id: string;
705
+
706
+ /**
707
+ * Character name
708
+ */
709
+ name: string;
710
+
711
+ /**
712
+ * Character role
713
+ */
714
+ role: string;
715
+
716
+ /**
717
+ * Character description
718
+ */
719
+ description?: string;
720
+ }
721
+
722
+ export interface Tool {
723
+ /**
724
+ * Tool ID
725
+ */
726
+ id: string;
727
+
728
+ /**
729
+ * Tool name
730
+ */
731
+ name: string;
732
+
733
+ /**
734
+ * Data format provided by the tool
735
+ */
736
+ dataFormat?: string;
737
+
738
+ /**
739
+ * Tool description
740
+ */
741
+ description?: string;
742
+
743
+ /**
744
+ * Tool type
745
+ */
746
+ type?: string;
747
+ }
748
+ }
749
+
750
+ export interface PracticeTestConfigDto {
751
+ /**
752
+ * Question types
753
+ */
754
+ questionTypes: Array<string>;
755
+
756
+ /**
757
+ * AI generation mode
758
+ */
759
+ aiGenerationMode?: 'balanced' | 'comprehensive' | 'focused' | 'adaptive';
760
+
761
+ /**
762
+ * Allow retakes
763
+ */
764
+ allowRetakes?: boolean;
765
+
766
+ /**
767
+ * Difficulty level
768
+ */
769
+ difficulty?: 'easy' | 'medium' | 'hard' | 'mixed';
770
+
771
+ /**
772
+ * Folder IDs
773
+ */
774
+ folders?: Array<string>;
775
+
776
+ /**
777
+ * Material IDs
778
+ */
779
+ materials?: Array<string>;
780
+
781
+ /**
782
+ * Maximum attempts allowed
783
+ */
784
+ maxAttempts?: number;
785
+
786
+ /**
787
+ * AI model to use for question generation and grading
788
+ */
789
+ model?: string;
790
+
791
+ /**
792
+ * Passing score percentage
793
+ */
794
+ passingScore?: number;
795
+
796
+ /**
797
+ * Distribution of question types
798
+ */
799
+ questionDistribution?: PracticeTestConfigDto.QuestionDistribution;
800
+
801
+ /**
802
+ * Number of questions per test
803
+ */
804
+ questionsPerTest?: number;
805
+
806
+ /**
807
+ * Randomize answer order
808
+ */
809
+ randomizeAnswers?: boolean;
810
+
811
+ /**
812
+ * Randomize question order
813
+ */
814
+ randomizeQuestions?: boolean;
815
+
816
+ /**
817
+ * Show correct answers after submission
818
+ */
819
+ showCorrectAnswers?: boolean;
820
+
821
+ /**
822
+ * Show explanations for answers
823
+ */
824
+ showExplanations?: boolean;
825
+
826
+ /**
827
+ * Time limit in minutes
828
+ */
829
+ timeLimit?: number;
830
+ }
831
+
832
+ export namespace PracticeTestConfigDto {
833
+ /**
834
+ * Distribution of question types
835
+ */
836
+ export interface QuestionDistribution {
837
+ /**
838
+ * Number of fill in the blank questions
839
+ */
840
+ fillinblank?: number;
841
+
842
+ /**
843
+ * Number of free response questions
844
+ */
845
+ frq?: number;
846
+
847
+ /**
848
+ * Number of multiple choice questions
849
+ */
850
+ multiplechoice?: number;
851
+
852
+ /**
853
+ * Number of short answer questions
854
+ */
855
+ shortanswer?: number;
856
+
857
+ /**
858
+ * Number of true/false questions
859
+ */
860
+ truefalse?: number;
861
+ }
862
+ }
863
+
864
+ export interface AudioRecapConfigDto {
865
+ /**
866
+ * Duration of audio recap in minutes
867
+ */
868
+ duration?: number;
869
+
870
+ /**
871
+ * Folder IDs
872
+ */
873
+ folders?: Array<string>;
874
+
875
+ /**
876
+ * Enable multi-voice conversation mode
877
+ */
878
+ isMultiVoice?: boolean;
879
+
880
+ /**
881
+ * Material IDs
882
+ */
883
+ materials?: Array<string>;
884
+
885
+ /**
886
+ * AI model to use for generation
887
+ */
888
+ model?: string;
889
+
890
+ /**
891
+ * Number of parts to split the audio into
892
+ */
893
+ numParts?: number;
894
+
895
+ /**
896
+ * Type of audio recap
897
+ */
898
+ recapType?: 'SUMMARY' | 'LECTURE' | 'PODCAST' | 'AUDIO_BOOK';
899
+
900
+ /**
901
+ * Theme or style for the audio recap
902
+ */
903
+ theme?: string;
904
+
905
+ /**
906
+ * Specific topic to focus on
907
+ */
908
+ topic?: string;
909
+
910
+ /**
911
+ * Primary voice for narration
912
+ */
913
+ voice1?: string;
914
+
915
+ /**
916
+ * Secondary voice for multi-voice mode
917
+ */
918
+ voice2?: string;
919
+ }
920
+
921
+ export interface ExplainersConfigDto {
922
+ /**
923
+ * Folder IDs
924
+ */
925
+ folders?: Array<string>;
926
+
927
+ /**
928
+ * Enable image search for visuals
929
+ */
930
+ imageSearch?: boolean;
931
+
932
+ /**
933
+ * Material IDs
934
+ */
935
+ materials?: Array<string>;
936
+
937
+ /**
938
+ * AI model to use for generation
939
+ */
940
+ model?: string;
941
+
942
+ /**
943
+ * Video style
944
+ */
945
+ style?: string;
946
+
947
+ /**
948
+ * Target length in seconds
949
+ */
950
+ targetLength?: number;
951
+
952
+ /**
953
+ * Video title (defaults to component name if not provided)
954
+ */
955
+ title?: string;
956
+
957
+ /**
958
+ * Create vertical video format (9:16)
959
+ */
960
+ verticalVideo?: boolean;
961
+
962
+ /**
963
+ * Enable web search for additional content
964
+ */
965
+ webSearch?: boolean;
966
+ }
967
+
968
+ export interface UploadsConfigDto {
969
+ /**
970
+ * Folder ID where uploads will be stored
971
+ */
972
+ folderId: string;
973
+
974
+ /**
975
+ * Folder IDs
976
+ */
977
+ folders?: Array<string>;
978
+
979
+ /**
980
+ * Material IDs
981
+ */
982
+ materials?: Array<string>;
983
+ }
984
+
985
+ export interface TutorMeConfigDto {
986
+ /**
987
+ * Enable video
988
+ */
989
+ enableVideo?: boolean;
990
+
991
+ /**
992
+ * Enable voice
993
+ */
994
+ enableVoice?: boolean;
995
+
996
+ /**
997
+ * Folder IDs
998
+ */
999
+ folders?: Array<string>;
1000
+
1001
+ /**
1002
+ * Material IDs
1003
+ */
1004
+ materials?: Array<string>;
1005
+
1006
+ /**
1007
+ * Session duration in minutes
1008
+ */
1009
+ sessionDuration?: number;
1010
+
1011
+ /**
1012
+ * Tutor personality
1013
+ */
1014
+ tutorPersonality?: string;
1015
+ }
1016
+ }
1017
+
462
1018
  export interface ComponentUpdateParams {
463
1019
  /**
464
1020
  * Component status