@studyfetch/sdk 1.8.0 → 1.10.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.
@@ -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' },
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,432 @@ 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
+ * Total number of flashcards to generate
608
+ */
609
+ totalFlashcards?: number;
610
+
611
+ /**
612
+ * View mode for flashcards
613
+ */
614
+ viewMode?: 'spaced_repetition' | 'normal';
615
+ }
616
+
617
+ export interface ScenariosConfigDto {
618
+ /**
619
+ * Scenario characters
620
+ */
621
+ characters?: Array<ScenariosConfigDto.Character>;
622
+
623
+ /**
624
+ * Scenario context
625
+ */
626
+ context?: string;
627
+
628
+ /**
629
+ * Enable history
630
+ */
631
+ enableHistory?: boolean;
632
+
633
+ /**
634
+ * Enable voice
635
+ */
636
+ enableVoice?: boolean;
637
+
638
+ /**
639
+ * Final answer prompt
640
+ */
641
+ finalAnswerPrompt?: string;
642
+
643
+ /**
644
+ * Folder IDs
645
+ */
646
+ folders?: Array<string>;
647
+
648
+ /**
649
+ * Scenario format
650
+ */
651
+ format?: string;
652
+
653
+ /**
654
+ * Scenario goal
655
+ */
656
+ goal?: string;
657
+
658
+ /**
659
+ * Character ID for greeting
660
+ */
661
+ greetingCharacterId?: string;
662
+
663
+ /**
664
+ * Greeting message
665
+ */
666
+ greetingMessage?: string;
667
+
668
+ /**
669
+ * Material IDs
670
+ */
671
+ materials?: Array<string>;
672
+
673
+ /**
674
+ * Placeholder text
675
+ */
676
+ placeholderText?: string;
677
+
678
+ /**
679
+ * Requires final answer
680
+ */
681
+ requiresFinalAnswer?: boolean;
682
+
683
+ /**
684
+ * Available tools
685
+ */
686
+ tools?: Array<ScenariosConfigDto.Tool>;
687
+ }
688
+
689
+ export namespace ScenariosConfigDto {
690
+ export interface Character {
691
+ /**
692
+ * Character ID
693
+ */
694
+ id: string;
695
+
696
+ /**
697
+ * Character name
698
+ */
699
+ name: string;
700
+
701
+ /**
702
+ * Character role
703
+ */
704
+ role: string;
705
+
706
+ /**
707
+ * Character description
708
+ */
709
+ description?: string;
710
+ }
711
+
712
+ export interface Tool {
713
+ /**
714
+ * Tool ID
715
+ */
716
+ id: string;
717
+
718
+ /**
719
+ * Tool name
720
+ */
721
+ name: string;
722
+
723
+ /**
724
+ * Tool description
725
+ */
726
+ description?: string;
727
+ }
728
+ }
729
+
730
+ export interface PracticeTestConfigDto {
731
+ /**
732
+ * Question types
733
+ */
734
+ questionTypes: Array<string>;
735
+
736
+ /**
737
+ * AI generation mode
738
+ */
739
+ aiGenerationMode?: 'balanced' | 'comprehensive' | 'focused' | 'adaptive';
740
+
741
+ /**
742
+ * Allow retakes
743
+ */
744
+ allowRetakes?: boolean;
745
+
746
+ /**
747
+ * Difficulty level
748
+ */
749
+ difficulty?: 'easy' | 'medium' | 'hard' | 'mixed';
750
+
751
+ /**
752
+ * Folder IDs
753
+ */
754
+ folders?: Array<string>;
755
+
756
+ /**
757
+ * Material IDs
758
+ */
759
+ materials?: Array<string>;
760
+
761
+ /**
762
+ * Maximum attempts allowed
763
+ */
764
+ maxAttempts?: number;
765
+
766
+ /**
767
+ * Passing score percentage
768
+ */
769
+ passingScore?: number;
770
+
771
+ /**
772
+ * Distribution of question types
773
+ */
774
+ questionDistribution?: PracticeTestConfigDto.QuestionDistribution;
775
+
776
+ /**
777
+ * Number of questions per test
778
+ */
779
+ questionsPerTest?: number;
780
+
781
+ /**
782
+ * Randomize answer order
783
+ */
784
+ randomizeAnswers?: boolean;
785
+
786
+ /**
787
+ * Randomize question order
788
+ */
789
+ randomizeQuestions?: boolean;
790
+
791
+ /**
792
+ * Show correct answers after submission
793
+ */
794
+ showCorrectAnswers?: boolean;
795
+
796
+ /**
797
+ * Show explanations for answers
798
+ */
799
+ showExplanations?: boolean;
800
+
801
+ /**
802
+ * Time limit in minutes
803
+ */
804
+ timeLimit?: number;
805
+ }
806
+
807
+ export namespace PracticeTestConfigDto {
808
+ /**
809
+ * Distribution of question types
810
+ */
811
+ export interface QuestionDistribution {
812
+ /**
813
+ * Number of fill in the blank questions
814
+ */
815
+ fillinblank?: number;
816
+
817
+ /**
818
+ * Number of free response questions
819
+ */
820
+ frq?: number;
821
+
822
+ /**
823
+ * Number of multiple choice questions
824
+ */
825
+ multiplechoice?: number;
826
+
827
+ /**
828
+ * Number of short answer questions
829
+ */
830
+ shortanswer?: number;
831
+
832
+ /**
833
+ * Number of true/false questions
834
+ */
835
+ truefalse?: number;
836
+ }
837
+ }
838
+
839
+ export interface AudioRecapConfigDto {
840
+ /**
841
+ * Folder IDs
842
+ */
843
+ folders?: Array<string>;
844
+
845
+ /**
846
+ * Audio format
847
+ */
848
+ format?: 'podcast' | 'summary' | 'lecture';
849
+
850
+ /**
851
+ * Material IDs
852
+ */
853
+ materials?: Array<string>;
854
+
855
+ /**
856
+ * Playback speed
857
+ */
858
+ speed?: number;
859
+
860
+ /**
861
+ * Voice to use for audio
862
+ */
863
+ voice?: string;
864
+ }
865
+
866
+ export interface ExplainersConfigDto {
867
+ /**
868
+ * Folder IDs
869
+ */
870
+ folders?: Array<string>;
871
+
872
+ /**
873
+ * Material IDs
874
+ */
875
+ materials?: Array<string>;
876
+ }
877
+
878
+ export interface UploadsConfigDto {
879
+ /**
880
+ * Folder ID where uploads will be stored
881
+ */
882
+ folderId: string;
883
+
884
+ /**
885
+ * Folder IDs
886
+ */
887
+ folders?: Array<string>;
888
+
889
+ /**
890
+ * Material IDs
891
+ */
892
+ materials?: Array<string>;
893
+ }
894
+
895
+ export interface TutorMeConfigDto {
896
+ /**
897
+ * Enable video
898
+ */
899
+ enableVideo?: boolean;
900
+
901
+ /**
902
+ * Enable voice
903
+ */
904
+ enableVoice?: boolean;
905
+
906
+ /**
907
+ * Folder IDs
908
+ */
909
+ folders?: Array<string>;
910
+
911
+ /**
912
+ * Material IDs
913
+ */
914
+ materials?: Array<string>;
915
+
916
+ /**
917
+ * Session duration in minutes
918
+ */
919
+ sessionDuration?: number;
920
+
921
+ /**
922
+ * Tutor personality
923
+ */
924
+ tutorPersonality?: string;
925
+ }
926
+ }
927
+
462
928
  export interface ComponentUpdateParams {
463
929
  /**
464
930
  * Component status
@@ -493,9 +959,9 @@ export interface ComponentEmbedParams {
493
959
  features?: ComponentEmbedParams.Features;
494
960
 
495
961
  /**
496
- * Group ID for collaboration
962
+ * Group IDs for collaboration
497
963
  */
498
- groupId?: string;
964
+ groupIds?: Array<string>;
499
965
 
500
966
  /**
501
967
  * Embed height (e.g., "400px", "100vh")
@@ -65,7 +65,7 @@ export class Flashcards extends APIResource {
65
65
  * @example
66
66
  * ```ts
67
67
  * await client.v1.flashcards.getDue('componentId', {
68
- * groupId: 'groupId',
68
+ * groupIds: 'groupIds',
69
69
  * });
70
70
  * ```
71
71
  */
@@ -272,9 +272,9 @@ export namespace FlashcardBatchProcessParams {
272
272
 
273
273
  export interface FlashcardGetAllParams {
274
274
  /**
275
- * Group ID
275
+ * Group IDs (comma-separated)
276
276
  */
277
- groupId?: string;
277
+ groupIds?: string;
278
278
 
279
279
  /**
280
280
  * Max number of cards
@@ -293,7 +293,7 @@ export interface FlashcardGetAllParams {
293
293
  }
294
294
 
295
295
  export interface FlashcardGetDueParams {
296
- groupId: string;
296
+ groupIds: string;
297
297
 
298
298
  /**
299
299
  * Max number of cards
@@ -308,9 +308,9 @@ export interface FlashcardGetDueParams {
308
308
 
309
309
  export interface FlashcardGetStatsParams {
310
310
  /**
311
- * Group ID
311
+ * Group IDs (comma-separated)
312
312
  */
313
- groupId?: string;
313
+ groupIds?: string;
314
314
 
315
315
  /**
316
316
  * User ID
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '1.8.0'; // x-release-please-version
1
+ export const VERSION = '1.10.0'; // x-release-please-version
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.8.0";
1
+ export declare const VERSION = "1.10.0";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.mts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.mts","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"version.d.mts","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,WAAW,CAAC"}
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.8.0";
1
+ export declare const VERSION = "1.10.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,WAAW,CAAC"}
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '1.8.0'; // x-release-please-version
4
+ exports.VERSION = '1.10.0'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,OAAO,CAAC,CAAC,2BAA2B"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,QAAQ,CAAC,CAAC,2BAA2B"}
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '1.8.0'; // x-release-please-version
1
+ export const VERSION = '1.10.0'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map
package/version.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,2BAA2B"}
1
+ {"version":3,"file":"version.mjs","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,2BAA2B"}