studyfetch-sdk 0.1.0a3__tar.gz → 0.1.0a4__tar.gz

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 (205) hide show
  1. studyfetch_sdk-0.1.0a4/.release-please-manifest.json +3 -0
  2. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/CHANGELOG.md +8 -0
  3. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/PKG-INFO +1 -1
  4. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/pyproject.toml +1 -1
  5. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_version.py +1 -1
  6. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/chat/chat.py +7 -7
  7. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/components.py +9 -8
  8. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/flashcards.py +16 -16
  9. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/chat_send_message_params.py +3 -3
  10. studyfetch_sdk-0.1.0a4/src/studyfetch_sdk/types/v1/component_create_params.py +321 -0
  11. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/component_create_response.py +3 -1
  12. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/component_embed_params.py +3 -2
  13. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/component_list_response.py +3 -1
  14. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/component_retrieve_response.py +3 -1
  15. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/component_update_response.py +3 -1
  16. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/flashcard_get_all_params.py +2 -2
  17. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/flashcard_get_due_params.py +1 -1
  18. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/flashcard_get_stats_params.py +2 -2
  19. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/test_chat.py +2 -2
  20. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/test_components.py +38 -10
  21. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/test_flashcards.py +14 -14
  22. studyfetch_sdk-0.1.0a3/.release-please-manifest.json +0 -3
  23. studyfetch_sdk-0.1.0a3/src/studyfetch_sdk/types/v1/component_create_params.py +0 -29
  24. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/.gitignore +0 -0
  25. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/CONTRIBUTING.md +0 -0
  26. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/LICENSE +0 -0
  27. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/README.md +0 -0
  28. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/SECURITY.md +0 -0
  29. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/api.md +0 -0
  30. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/bin/check-release-environment +0 -0
  31. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/bin/publish-pypi +0 -0
  32. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/examples/.keep +0 -0
  33. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/mypy.ini +0 -0
  34. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/noxfile.py +0 -0
  35. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/release-please-config.json +0 -0
  36. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/requirements-dev.lock +0 -0
  37. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/requirements.lock +0 -0
  38. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/__init__.py +0 -0
  39. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_base_client.py +0 -0
  40. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_client.py +0 -0
  41. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_compat.py +0 -0
  42. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_constants.py +0 -0
  43. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_exceptions.py +0 -0
  44. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_files.py +0 -0
  45. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_models.py +0 -0
  46. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_qs.py +0 -0
  47. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_resource.py +0 -0
  48. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_response.py +0 -0
  49. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_streaming.py +0 -0
  50. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_types.py +0 -0
  51. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_utils/__init__.py +0 -0
  52. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_utils/_logs.py +0 -0
  53. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_utils/_proxy.py +0 -0
  54. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_utils/_reflection.py +0 -0
  55. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_utils/_resources_proxy.py +0 -0
  56. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_utils/_streams.py +0 -0
  57. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_utils/_sync.py +0 -0
  58. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_utils/_transform.py +0 -0
  59. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_utils/_typing.py +0 -0
  60. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/_utils/_utils.py +0 -0
  61. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/lib/.keep +0 -0
  62. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/py.typed +0 -0
  63. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/__init__.py +0 -0
  64. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/__init__.py +0 -0
  65. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/audio_recaps/__init__.py +0 -0
  66. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/audio_recaps/audio_recaps.py +0 -0
  67. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/audio_recaps/sections.py +0 -0
  68. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/auth/__init__.py +0 -0
  69. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/auth/auth.py +0 -0
  70. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/auth/number_2fa.py +0 -0
  71. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/chat/__init__.py +0 -0
  72. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/chat/sessions.py +0 -0
  73. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/chat/test.py +0 -0
  74. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/embed/__init__.py +0 -0
  75. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/embed/component.py +0 -0
  76. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/embed/embed.py +0 -0
  77. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/explainers.py +0 -0
  78. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/folders.py +0 -0
  79. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/materials/__init__.py +0 -0
  80. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/materials/bulk.py +0 -0
  81. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/materials/materials.py +0 -0
  82. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/materials/test.py +0 -0
  83. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/materials/upload.py +0 -0
  84. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/scenarios/__init__.py +0 -0
  85. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/scenarios/component.py +0 -0
  86. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/scenarios/scenarios.py +0 -0
  87. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/scenarios/sessions.py +0 -0
  88. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/scenarios/submissions/__init__.py +0 -0
  89. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/scenarios/submissions/submissions.py +0 -0
  90. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/scenarios/submissions/user.py +0 -0
  91. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/tests/__init__.py +0 -0
  92. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/tests/component.py +0 -0
  93. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/tests/tests.py +0 -0
  94. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/upload/__init__.py +0 -0
  95. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/upload/component.py +0 -0
  96. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/upload/upload.py +0 -0
  97. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/usage.py +0 -0
  98. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/resources/v1/v1.py +0 -0
  99. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/__init__.py +0 -0
  100. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/__init__.py +0 -0
  101. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/admin/__init__.py +0 -0
  102. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/admin/organizations/__init__.py +0 -0
  103. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/admin/organizations/models/__init__.py +0 -0
  104. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/audio_recaps/__init__.py +0 -0
  105. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/auth/__init__.py +0 -0
  106. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/auth/number_2fa_send_code_params.py +0 -0
  107. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/chat/__init__.py +0 -0
  108. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/chat/session_retrieve_params.py +0 -0
  109. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/chat_retrieve_session_params.py +0 -0
  110. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/chat_stream_params.py +0 -0
  111. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/component_embed_response.py +0 -0
  112. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/component_list_params.py +0 -0
  113. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/component_update_params.py +0 -0
  114. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/embed/__init__.py +0 -0
  115. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/embed/component_interact_params.py +0 -0
  116. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/embed/component_retrieve_params.py +0 -0
  117. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/embed_get_theme_params.py +0 -0
  118. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/embed_verify_params.py +0 -0
  119. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/explainer_handle_webhook_params.py +0 -0
  120. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/flashcard_batch_process_params.py +0 -0
  121. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/flashcard_batch_process_response.py +0 -0
  122. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/flashcard_get_algorithm_info_response.py +0 -0
  123. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/flashcard_get_types_response.py +0 -0
  124. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/flashcard_rate_params.py +0 -0
  125. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/folder_create_params.py +0 -0
  126. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/folder_list_params.py +0 -0
  127. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/folder_update_params.py +0 -0
  128. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/material_create_params.py +0 -0
  129. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/material_create_response.py +0 -0
  130. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/material_get_download_url_params.py +0 -0
  131. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/material_list_params.py +0 -0
  132. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/material_list_response.py +0 -0
  133. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/material_retrieve_response.py +0 -0
  134. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/materials/__init__.py +0 -0
  135. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/materials/upload_upload_file_params.py +0 -0
  136. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/materials/upload_upload_file_response.py +0 -0
  137. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/materials/upload_upload_from_url_params.py +0 -0
  138. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/materials/upload_upload_from_url_response.py +0 -0
  139. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/organizations/__init__.py +0 -0
  140. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/organizations/logo/__init__.py +0 -0
  141. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/organizations/profile/__init__.py +0 -0
  142. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/organizations/team/__init__.py +0 -0
  143. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/scenario_create_params.py +0 -0
  144. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/scenario_update_params.py +0 -0
  145. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/scenarios/__init__.py +0 -0
  146. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/scenarios/component_update_params.py +0 -0
  147. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/scenarios/submissions/__init__.py +0 -0
  148. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/test_create_params.py +0 -0
  149. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/test_retake_params.py +0 -0
  150. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/test_submit_answer_params.py +0 -0
  151. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/test_submit_params.py +0 -0
  152. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/tests/__init__.py +0 -0
  153. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/upload/__init__.py +0 -0
  154. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/usage_get_stats_params.py +0 -0
  155. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/usage_get_summary_params.py +0 -0
  156. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/src/studyfetch_sdk/types/v1/usage_list_events_params.py +0 -0
  157. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/__init__.py +0 -0
  158. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/__init__.py +0 -0
  159. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/__init__.py +0 -0
  160. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/audio_recaps/__init__.py +0 -0
  161. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/audio_recaps/test_sections.py +0 -0
  162. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/auth/__init__.py +0 -0
  163. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/auth/test_number_2fa.py +0 -0
  164. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/chat/__init__.py +0 -0
  165. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/chat/test_sessions.py +0 -0
  166. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/chat/test_test.py +0 -0
  167. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/embed/__init__.py +0 -0
  168. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/embed/test_component.py +0 -0
  169. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/materials/__init__.py +0 -0
  170. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/materials/test_bulk.py +0 -0
  171. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/materials/test_test.py +0 -0
  172. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/materials/test_upload.py +0 -0
  173. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/scenarios/__init__.py +0 -0
  174. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/scenarios/submissions/__init__.py +0 -0
  175. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/scenarios/submissions/test_user.py +0 -0
  176. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/scenarios/test_component.py +0 -0
  177. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/scenarios/test_sessions.py +0 -0
  178. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/test_audio_recaps.py +0 -0
  179. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/test_auth.py +0 -0
  180. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/test_embed.py +0 -0
  181. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/test_explainers.py +0 -0
  182. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/test_folders.py +0 -0
  183. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/test_materials.py +0 -0
  184. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/test_scenarios.py +0 -0
  185. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/test_tests.py +0 -0
  186. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/test_usage.py +0 -0
  187. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/tests/__init__.py +0 -0
  188. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/tests/test_component.py +0 -0
  189. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/upload/__init__.py +0 -0
  190. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/api_resources/v1/upload/test_component.py +0 -0
  191. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/conftest.py +0 -0
  192. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/sample_file.txt +0 -0
  193. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/test_client.py +0 -0
  194. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/test_deepcopy.py +0 -0
  195. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/test_extract_files.py +0 -0
  196. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/test_files.py +0 -0
  197. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/test_models.py +0 -0
  198. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/test_qs.py +0 -0
  199. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/test_required_args.py +0 -0
  200. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/test_response.py +0 -0
  201. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/test_streaming.py +0 -0
  202. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/test_transform.py +0 -0
  203. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/test_utils/test_proxy.py +0 -0
  204. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/test_utils/test_typing.py +0 -0
  205. {studyfetch_sdk-0.1.0a3 → studyfetch_sdk-0.1.0a4}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.0-alpha.4"
3
+ }
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.4 (2025-07-19)
4
+
5
+ Full Changelog: [v0.1.0-alpha.3...v0.1.0-alpha.4](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/compare/v0.1.0-alpha.3...v0.1.0-alpha.4)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([481cfc3](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/commit/481cfc3854d683aabcc8776410fbc7dce47f2f91))
10
+
3
11
  ## 0.1.0-alpha.3 (2025-07-18)
4
12
 
5
13
  Full Changelog: [v0.1.0-alpha.2...v0.1.0-alpha.3](https://github.com/GoStudyFetchGo/studyfetch-sdk-python/compare/v0.1.0-alpha.2...v0.1.0-alpha.3)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: studyfetch_sdk
3
- Version: 0.1.0a3
3
+ Version: 0.1.0a4
4
4
  Summary: The official Python library for the studyfetch-sdk API
5
5
  Project-URL: Homepage, https://github.com/GoStudyFetchGo/studyfetch-sdk-python
6
6
  Project-URL: Repository, https://github.com/GoStudyFetchGo/studyfetch-sdk-python
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "studyfetch_sdk"
3
- version = "0.1.0-alpha.3"
3
+ version = "0.1.0-alpha.4"
4
4
  description = "The official Python library for the studyfetch-sdk API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "studyfetch_sdk"
4
- __version__ = "0.1.0-alpha.3" # x-release-please-version
4
+ __version__ = "0.1.0-alpha.4" # x-release-please-version
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Iterable
5
+ from typing import List, Iterable
6
6
 
7
7
  import httpx
8
8
 
@@ -148,7 +148,7 @@ class ChatResource(SyncAPIResource):
148
148
  message: chat_send_message_params.Message,
149
149
  x_component_id: str,
150
150
  context: object | NotGiven = NOT_GIVEN,
151
- group_id: str | NotGiven = NOT_GIVEN,
151
+ group_ids: List[str] | NotGiven = NOT_GIVEN,
152
152
  session_id: str | NotGiven = NOT_GIVEN,
153
153
  user_id: str | NotGiven = NOT_GIVEN,
154
154
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -166,7 +166,7 @@ class ChatResource(SyncAPIResource):
166
166
 
167
167
  context: Additional context data
168
168
 
169
- group_id: Group ID for collaboration
169
+ group_ids: Group IDs for collaboration
170
170
 
171
171
  session_id: Session ID for conversation continuity
172
172
 
@@ -189,7 +189,7 @@ class ChatResource(SyncAPIResource):
189
189
  "component_id": component_id,
190
190
  "message": message,
191
191
  "context": context,
192
- "group_id": group_id,
192
+ "group_ids": group_ids,
193
193
  "session_id": session_id,
194
194
  "user_id": user_id,
195
195
  },
@@ -360,7 +360,7 @@ class AsyncChatResource(AsyncAPIResource):
360
360
  message: chat_send_message_params.Message,
361
361
  x_component_id: str,
362
362
  context: object | NotGiven = NOT_GIVEN,
363
- group_id: str | NotGiven = NOT_GIVEN,
363
+ group_ids: List[str] | NotGiven = NOT_GIVEN,
364
364
  session_id: str | NotGiven = NOT_GIVEN,
365
365
  user_id: str | NotGiven = NOT_GIVEN,
366
366
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -378,7 +378,7 @@ class AsyncChatResource(AsyncAPIResource):
378
378
 
379
379
  context: Additional context data
380
380
 
381
- group_id: Group ID for collaboration
381
+ group_ids: Group IDs for collaboration
382
382
 
383
383
  session_id: Session ID for conversation continuity
384
384
 
@@ -401,7 +401,7 @@ class AsyncChatResource(AsyncAPIResource):
401
401
  "component_id": component_id,
402
402
  "message": message,
403
403
  "context": context,
404
- "group_id": group_id,
404
+ "group_ids": group_ids,
405
405
  "session_id": session_id,
406
406
  "user_id": user_id,
407
407
  },
@@ -2,6 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from typing import List
5
6
  from typing_extensions import Literal
6
7
 
7
8
  import httpx
@@ -50,7 +51,7 @@ class ComponentsResource(SyncAPIResource):
50
51
  def create(
51
52
  self,
52
53
  *,
53
- config: object,
54
+ config: component_create_params.Config,
54
55
  name: str,
55
56
  origin: Literal["chat", "classroom", "upload", "console", "api"],
56
57
  type: Literal[
@@ -322,7 +323,7 @@ class ComponentsResource(SyncAPIResource):
322
323
  *,
323
324
  expiry_hours: float | NotGiven = NOT_GIVEN,
324
325
  features: component_embed_params.Features | NotGiven = NOT_GIVEN,
325
- group_id: str | NotGiven = NOT_GIVEN,
326
+ group_ids: List[str] | NotGiven = NOT_GIVEN,
326
327
  height: str | NotGiven = NOT_GIVEN,
327
328
  session_id: str | NotGiven = NOT_GIVEN,
328
329
  theme: component_embed_params.Theme | NotGiven = NOT_GIVEN,
@@ -343,7 +344,7 @@ class ComponentsResource(SyncAPIResource):
343
344
 
344
345
  features: Feature toggles
345
346
 
346
- group_id: Group ID for collaboration
347
+ group_ids: Group IDs for collaboration
347
348
 
348
349
  height: Embed height (e.g., "400px", "100vh")
349
350
 
@@ -371,7 +372,7 @@ class ComponentsResource(SyncAPIResource):
371
372
  {
372
373
  "expiry_hours": expiry_hours,
373
374
  "features": features,
374
- "group_id": group_id,
375
+ "group_ids": group_ids,
375
376
  "height": height,
376
377
  "session_id": session_id,
377
378
  "theme": theme,
@@ -442,7 +443,7 @@ class AsyncComponentsResource(AsyncAPIResource):
442
443
  async def create(
443
444
  self,
444
445
  *,
445
- config: object,
446
+ config: component_create_params.Config,
446
447
  name: str,
447
448
  origin: Literal["chat", "classroom", "upload", "console", "api"],
448
449
  type: Literal[
@@ -714,7 +715,7 @@ class AsyncComponentsResource(AsyncAPIResource):
714
715
  *,
715
716
  expiry_hours: float | NotGiven = NOT_GIVEN,
716
717
  features: component_embed_params.Features | NotGiven = NOT_GIVEN,
717
- group_id: str | NotGiven = NOT_GIVEN,
718
+ group_ids: List[str] | NotGiven = NOT_GIVEN,
718
719
  height: str | NotGiven = NOT_GIVEN,
719
720
  session_id: str | NotGiven = NOT_GIVEN,
720
721
  theme: component_embed_params.Theme | NotGiven = NOT_GIVEN,
@@ -735,7 +736,7 @@ class AsyncComponentsResource(AsyncAPIResource):
735
736
 
736
737
  features: Feature toggles
737
738
 
738
- group_id: Group ID for collaboration
739
+ group_ids: Group IDs for collaboration
739
740
 
740
741
  height: Embed height (e.g., "400px", "100vh")
741
742
 
@@ -763,7 +764,7 @@ class AsyncComponentsResource(AsyncAPIResource):
763
764
  {
764
765
  "expiry_hours": expiry_hours,
765
766
  "features": features,
766
- "group_id": group_id,
767
+ "group_ids": group_ids,
767
768
  "height": height,
768
769
  "session_id": session_id,
769
770
  "theme": theme,
@@ -122,7 +122,7 @@ class FlashcardsResource(SyncAPIResource):
122
122
  self,
123
123
  component_id: str,
124
124
  *,
125
- group_id: str | NotGiven = NOT_GIVEN,
125
+ group_ids: str | NotGiven = NOT_GIVEN,
126
126
  limit: float | NotGiven = NOT_GIVEN,
127
127
  offset: float | NotGiven = NOT_GIVEN,
128
128
  user_id: str | NotGiven = NOT_GIVEN,
@@ -137,7 +137,7 @@ class FlashcardsResource(SyncAPIResource):
137
137
  Get all flashcards for component
138
138
 
139
139
  Args:
140
- group_id: Group ID
140
+ group_ids: Group IDs (comma-separated)
141
141
 
142
142
  limit: Max number of cards
143
143
 
@@ -165,7 +165,7 @@ class FlashcardsResource(SyncAPIResource):
165
165
  timeout=timeout,
166
166
  query=maybe_transform(
167
167
  {
168
- "group_id": group_id,
168
+ "group_ids": group_ids,
169
169
  "limit": limit,
170
170
  "offset": offset,
171
171
  "user_id": user_id,
@@ -180,7 +180,7 @@ class FlashcardsResource(SyncAPIResource):
180
180
  self,
181
181
  component_id: str,
182
182
  *,
183
- group_id: str,
183
+ group_ids: str,
184
184
  limit: float | NotGiven = NOT_GIVEN,
185
185
  user_id: str | NotGiven = NOT_GIVEN,
186
186
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -218,7 +218,7 @@ class FlashcardsResource(SyncAPIResource):
218
218
  timeout=timeout,
219
219
  query=maybe_transform(
220
220
  {
221
- "group_id": group_id,
221
+ "group_ids": group_ids,
222
222
  "limit": limit,
223
223
  "user_id": user_id,
224
224
  },
@@ -232,7 +232,7 @@ class FlashcardsResource(SyncAPIResource):
232
232
  self,
233
233
  component_id: str,
234
234
  *,
235
- group_id: str | NotGiven = NOT_GIVEN,
235
+ group_ids: str | NotGiven = NOT_GIVEN,
236
236
  user_id: str | NotGiven = NOT_GIVEN,
237
237
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
238
238
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -245,7 +245,7 @@ class FlashcardsResource(SyncAPIResource):
245
245
  Get flashcard statistics
246
246
 
247
247
  Args:
248
- group_id: Group ID
248
+ group_ids: Group IDs (comma-separated)
249
249
 
250
250
  user_id: User ID
251
251
 
@@ -269,7 +269,7 @@ class FlashcardsResource(SyncAPIResource):
269
269
  timeout=timeout,
270
270
  query=maybe_transform(
271
271
  {
272
- "group_id": group_id,
272
+ "group_ids": group_ids,
273
273
  "user_id": user_id,
274
274
  },
275
275
  flashcard_get_stats_params.FlashcardGetStatsParams,
@@ -444,7 +444,7 @@ class AsyncFlashcardsResource(AsyncAPIResource):
444
444
  self,
445
445
  component_id: str,
446
446
  *,
447
- group_id: str | NotGiven = NOT_GIVEN,
447
+ group_ids: str | NotGiven = NOT_GIVEN,
448
448
  limit: float | NotGiven = NOT_GIVEN,
449
449
  offset: float | NotGiven = NOT_GIVEN,
450
450
  user_id: str | NotGiven = NOT_GIVEN,
@@ -459,7 +459,7 @@ class AsyncFlashcardsResource(AsyncAPIResource):
459
459
  Get all flashcards for component
460
460
 
461
461
  Args:
462
- group_id: Group ID
462
+ group_ids: Group IDs (comma-separated)
463
463
 
464
464
  limit: Max number of cards
465
465
 
@@ -487,7 +487,7 @@ class AsyncFlashcardsResource(AsyncAPIResource):
487
487
  timeout=timeout,
488
488
  query=await async_maybe_transform(
489
489
  {
490
- "group_id": group_id,
490
+ "group_ids": group_ids,
491
491
  "limit": limit,
492
492
  "offset": offset,
493
493
  "user_id": user_id,
@@ -502,7 +502,7 @@ class AsyncFlashcardsResource(AsyncAPIResource):
502
502
  self,
503
503
  component_id: str,
504
504
  *,
505
- group_id: str,
505
+ group_ids: str,
506
506
  limit: float | NotGiven = NOT_GIVEN,
507
507
  user_id: str | NotGiven = NOT_GIVEN,
508
508
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -540,7 +540,7 @@ class AsyncFlashcardsResource(AsyncAPIResource):
540
540
  timeout=timeout,
541
541
  query=await async_maybe_transform(
542
542
  {
543
- "group_id": group_id,
543
+ "group_ids": group_ids,
544
544
  "limit": limit,
545
545
  "user_id": user_id,
546
546
  },
@@ -554,7 +554,7 @@ class AsyncFlashcardsResource(AsyncAPIResource):
554
554
  self,
555
555
  component_id: str,
556
556
  *,
557
- group_id: str | NotGiven = NOT_GIVEN,
557
+ group_ids: str | NotGiven = NOT_GIVEN,
558
558
  user_id: str | NotGiven = NOT_GIVEN,
559
559
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
560
560
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -567,7 +567,7 @@ class AsyncFlashcardsResource(AsyncAPIResource):
567
567
  Get flashcard statistics
568
568
 
569
569
  Args:
570
- group_id: Group ID
570
+ group_ids: Group IDs (comma-separated)
571
571
 
572
572
  user_id: User ID
573
573
 
@@ -591,7 +591,7 @@ class AsyncFlashcardsResource(AsyncAPIResource):
591
591
  timeout=timeout,
592
592
  query=await async_maybe_transform(
593
593
  {
594
- "group_id": group_id,
594
+ "group_ids": group_ids,
595
595
  "user_id": user_id,
596
596
  },
597
597
  flashcard_get_stats_params.FlashcardGetStatsParams,
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Iterable
5
+ from typing import List, Iterable
6
6
  from typing_extensions import Required, Annotated, TypedDict
7
7
 
8
8
  from ..._utils import PropertyInfo
@@ -22,8 +22,8 @@ class ChatSendMessageParams(TypedDict, total=False):
22
22
  context: object
23
23
  """Additional context data"""
24
24
 
25
- group_id: Annotated[str, PropertyInfo(alias="groupId")]
26
- """Group ID for collaboration"""
25
+ group_ids: Annotated[List[str], PropertyInfo(alias="groupIds")]
26
+ """Group IDs for collaboration"""
27
27
 
28
28
  session_id: Annotated[str, PropertyInfo(alias="sessionId")]
29
29
  """Session ID for conversation continuity"""
@@ -0,0 +1,321 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import List, Union, Iterable
6
+ from typing_extensions import Literal, Required, Annotated, TypeAlias, TypedDict
7
+
8
+ from ..._utils import PropertyInfo
9
+
10
+ __all__ = [
11
+ "ComponentCreateParams",
12
+ "Config",
13
+ "ConfigChatConfigDto",
14
+ "ConfigFlashcardsConfigDto",
15
+ "ConfigScenariosConfigDto",
16
+ "ConfigScenariosConfigDtoCharacter",
17
+ "ConfigScenariosConfigDtoTool",
18
+ "ConfigPracticeTestConfigDto",
19
+ "ConfigPracticeTestConfigDtoQuestionDistribution",
20
+ "ConfigAudioRecapConfigDto",
21
+ "ConfigExplainersConfigDto",
22
+ "ConfigUploadsConfigDto",
23
+ "ConfigTutorMeConfigDto",
24
+ ]
25
+
26
+
27
+ class ComponentCreateParams(TypedDict, total=False):
28
+ config: Required[Config]
29
+ """Component-specific configuration"""
30
+
31
+ name: Required[str]
32
+ """Name of the component"""
33
+
34
+ origin: Required[Literal["chat", "classroom", "upload", "console", "api"]]
35
+ """Origin of the component"""
36
+
37
+ type: Required[
38
+ Literal["chat", "flashcards", "scenarios", "practice_test", "audio_recap", "tutor_me", "explainers", "uploads"]
39
+ ]
40
+ """Type of component to create"""
41
+
42
+ description: str
43
+ """Component description"""
44
+
45
+ metadata: object
46
+ """Additional metadata"""
47
+
48
+
49
+ class ConfigChatConfigDto(TypedDict, total=False):
50
+ model: Required[str]
51
+ """AI model to use"""
52
+
53
+ enable_component_creation: Annotated[bool, PropertyInfo(alias="enableComponentCreation")]
54
+ """Enable component creation"""
55
+
56
+ enable_follow_ups: Annotated[bool, PropertyInfo(alias="enableFollowUps")]
57
+ """Enable follow-up questions"""
58
+
59
+ enable_history: Annotated[bool, PropertyInfo(alias="enableHistory")]
60
+ """Enable conversation history"""
61
+
62
+ enable_rag_search: Annotated[bool, PropertyInfo(alias="enableRAGSearch")]
63
+ """Enable RAG search"""
64
+
65
+ enable_voice: Annotated[bool, PropertyInfo(alias="enableVoice")]
66
+ """Enable voice interactions"""
67
+
68
+ enable_web_search: Annotated[bool, PropertyInfo(alias="enableWebSearch")]
69
+ """Enable web search"""
70
+
71
+ folders: List[str]
72
+ """Folder IDs"""
73
+
74
+ materials: List[str]
75
+ """Material IDs"""
76
+
77
+ max_steps: Annotated[float, PropertyInfo(alias="maxSteps")]
78
+ """Maximum steps for multi-step tool calls"""
79
+
80
+ max_tokens: Annotated[float, PropertyInfo(alias="maxTokens")]
81
+ """Maximum tokens for response"""
82
+
83
+ system_prompt: Annotated[str, PropertyInfo(alias="systemPrompt")]
84
+ """System prompt for the chat"""
85
+
86
+ temperature: float
87
+ """Temperature for response generation"""
88
+
89
+
90
+ class ConfigFlashcardsConfigDto(TypedDict, total=False):
91
+ card_types: Annotated[List[str], PropertyInfo(alias="cardTypes")]
92
+ """Types of flashcards"""
93
+
94
+ difficulty: Literal["easy", "medium", "hard", "mixed"]
95
+ """Difficulty level"""
96
+
97
+ enable_spaced_repetition: Annotated[bool, PropertyInfo(alias="enableSpacedRepetition")]
98
+ """Enable spaced repetition"""
99
+
100
+ folders: List[str]
101
+ """Folder IDs"""
102
+
103
+ learning_steps: Annotated[str, PropertyInfo(alias="learningSteps")]
104
+ """Learning steps configuration"""
105
+
106
+ materials: List[str]
107
+ """Material IDs"""
108
+
109
+ max_review_interval: Annotated[float, PropertyInfo(alias="maxReviewInterval")]
110
+ """Maximum review interval in days"""
111
+
112
+ total_flashcards: Annotated[float, PropertyInfo(alias="totalFlashcards")]
113
+ """Total number of flashcards to generate"""
114
+
115
+ view_mode: Annotated[Literal["spaced_repetition", "normal"], PropertyInfo(alias="viewMode")]
116
+ """View mode for flashcards"""
117
+
118
+
119
+ class ConfigScenariosConfigDtoCharacter(TypedDict, total=False):
120
+ id: Required[str]
121
+ """Character ID"""
122
+
123
+ name: Required[str]
124
+ """Character name"""
125
+
126
+ role: Required[str]
127
+ """Character role"""
128
+
129
+ description: str
130
+ """Character description"""
131
+
132
+
133
+ class ConfigScenariosConfigDtoTool(TypedDict, total=False):
134
+ id: Required[str]
135
+ """Tool ID"""
136
+
137
+ name: Required[str]
138
+ """Tool name"""
139
+
140
+ description: str
141
+ """Tool description"""
142
+
143
+
144
+ class ConfigScenariosConfigDto(TypedDict, total=False):
145
+ characters: Iterable[ConfigScenariosConfigDtoCharacter]
146
+ """Scenario characters"""
147
+
148
+ context: str
149
+ """Scenario context"""
150
+
151
+ enable_history: Annotated[bool, PropertyInfo(alias="enableHistory")]
152
+ """Enable history"""
153
+
154
+ enable_voice: Annotated[bool, PropertyInfo(alias="enableVoice")]
155
+ """Enable voice"""
156
+
157
+ final_answer_prompt: Annotated[str, PropertyInfo(alias="finalAnswerPrompt")]
158
+ """Final answer prompt"""
159
+
160
+ folders: List[str]
161
+ """Folder IDs"""
162
+
163
+ format: str
164
+ """Scenario format"""
165
+
166
+ goal: str
167
+ """Scenario goal"""
168
+
169
+ greeting_character_id: Annotated[str, PropertyInfo(alias="greetingCharacterId")]
170
+ """Character ID for greeting"""
171
+
172
+ greeting_message: Annotated[str, PropertyInfo(alias="greetingMessage")]
173
+ """Greeting message"""
174
+
175
+ materials: List[str]
176
+ """Material IDs"""
177
+
178
+ placeholder_text: Annotated[str, PropertyInfo(alias="placeholderText")]
179
+ """Placeholder text"""
180
+
181
+ requires_final_answer: Annotated[bool, PropertyInfo(alias="requiresFinalAnswer")]
182
+ """Requires final answer"""
183
+
184
+ tools: Iterable[ConfigScenariosConfigDtoTool]
185
+ """Available tools"""
186
+
187
+
188
+ class ConfigPracticeTestConfigDtoQuestionDistribution(TypedDict, total=False):
189
+ fillinblank: float
190
+ """Number of fill in the blank questions"""
191
+
192
+ frq: float
193
+ """Number of free response questions"""
194
+
195
+ multiplechoice: float
196
+ """Number of multiple choice questions"""
197
+
198
+ shortanswer: float
199
+ """Number of short answer questions"""
200
+
201
+ truefalse: float
202
+ """Number of true/false questions"""
203
+
204
+
205
+ class ConfigPracticeTestConfigDto(TypedDict, total=False):
206
+ question_types: Required[Annotated[List[str], PropertyInfo(alias="questionTypes")]]
207
+ """Question types"""
208
+
209
+ ai_generation_mode: Annotated[
210
+ Literal["balanced", "comprehensive", "focused", "adaptive"], PropertyInfo(alias="aiGenerationMode")
211
+ ]
212
+ """AI generation mode"""
213
+
214
+ allow_retakes: Annotated[bool, PropertyInfo(alias="allowRetakes")]
215
+ """Allow retakes"""
216
+
217
+ difficulty: Literal["easy", "medium", "hard", "mixed"]
218
+ """Difficulty level"""
219
+
220
+ folders: List[str]
221
+ """Folder IDs"""
222
+
223
+ materials: List[str]
224
+ """Material IDs"""
225
+
226
+ max_attempts: Annotated[float, PropertyInfo(alias="maxAttempts")]
227
+ """Maximum attempts allowed"""
228
+
229
+ passing_score: Annotated[float, PropertyInfo(alias="passingScore")]
230
+ """Passing score percentage"""
231
+
232
+ question_distribution: Annotated[
233
+ ConfigPracticeTestConfigDtoQuestionDistribution, PropertyInfo(alias="questionDistribution")
234
+ ]
235
+ """Distribution of question types"""
236
+
237
+ questions_per_test: Annotated[float, PropertyInfo(alias="questionsPerTest")]
238
+ """Number of questions per test"""
239
+
240
+ randomize_answers: Annotated[bool, PropertyInfo(alias="randomizeAnswers")]
241
+ """Randomize answer order"""
242
+
243
+ randomize_questions: Annotated[bool, PropertyInfo(alias="randomizeQuestions")]
244
+ """Randomize question order"""
245
+
246
+ show_correct_answers: Annotated[bool, PropertyInfo(alias="showCorrectAnswers")]
247
+ """Show correct answers after submission"""
248
+
249
+ show_explanations: Annotated[bool, PropertyInfo(alias="showExplanations")]
250
+ """Show explanations for answers"""
251
+
252
+ time_limit: Annotated[float, PropertyInfo(alias="timeLimit")]
253
+ """Time limit in minutes"""
254
+
255
+
256
+ class ConfigAudioRecapConfigDto(TypedDict, total=False):
257
+ folders: List[str]
258
+ """Folder IDs"""
259
+
260
+ format: Literal["podcast", "summary", "lecture"]
261
+ """Audio format"""
262
+
263
+ materials: List[str]
264
+ """Material IDs"""
265
+
266
+ speed: float
267
+ """Playback speed"""
268
+
269
+ voice: str
270
+ """Voice to use for audio"""
271
+
272
+
273
+ class ConfigExplainersConfigDto(TypedDict, total=False):
274
+ folders: List[str]
275
+ """Folder IDs"""
276
+
277
+ materials: List[str]
278
+ """Material IDs"""
279
+
280
+
281
+ class ConfigUploadsConfigDto(TypedDict, total=False):
282
+ folder_id: Required[Annotated[str, PropertyInfo(alias="folderId")]]
283
+ """Folder ID where uploads will be stored"""
284
+
285
+ folders: List[str]
286
+ """Folder IDs"""
287
+
288
+ materials: List[str]
289
+ """Material IDs"""
290
+
291
+
292
+ class ConfigTutorMeConfigDto(TypedDict, total=False):
293
+ enable_video: Annotated[bool, PropertyInfo(alias="enableVideo")]
294
+ """Enable video"""
295
+
296
+ enable_voice: Annotated[bool, PropertyInfo(alias="enableVoice")]
297
+ """Enable voice"""
298
+
299
+ folders: List[str]
300
+ """Folder IDs"""
301
+
302
+ materials: List[str]
303
+ """Material IDs"""
304
+
305
+ session_duration: Annotated[float, PropertyInfo(alias="sessionDuration")]
306
+ """Session duration in minutes"""
307
+
308
+ tutor_personality: Annotated[str, PropertyInfo(alias="tutorPersonality")]
309
+ """Tutor personality"""
310
+
311
+
312
+ Config: TypeAlias = Union[
313
+ ConfigChatConfigDto,
314
+ ConfigFlashcardsConfigDto,
315
+ ConfigScenariosConfigDto,
316
+ ConfigPracticeTestConfigDto,
317
+ ConfigAudioRecapConfigDto,
318
+ ConfigExplainersConfigDto,
319
+ ConfigUploadsConfigDto,
320
+ ConfigTutorMeConfigDto,
321
+ ]
@@ -33,7 +33,9 @@ class ComponentCreateResponse(BaseModel):
33
33
  status: Literal["active", "inactive", "draft"]
34
34
  """Component status"""
35
35
 
36
- type: Literal["chat", "flashcards", "tests", "scenarios", "explainers", "audio-recap"]
36
+ type: Literal[
37
+ "chat", "flashcards", "scenarios", "practice_test", "audio_recap", "tutor_me", "explainers", "uploads"
38
+ ]
37
39
  """Component type"""
38
40
 
39
41
  updated_at: datetime = FieldInfo(alias="updatedAt")