qca-sdk 0.0.1.dev5__tar.gz → 0.1.0__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 (638) hide show
  1. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/PKG-INFO +23 -15
  2. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/README.md +22 -14
  3. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/common/live.py +5 -5
  4. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/pyproject.toml +1 -1
  5. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/common/_base_client.py +26 -26
  6. qca_sdk-0.1.0/src/qca/common/_resumable_streaming.py +244 -0
  7. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/sessions/events.py +80 -0
  8. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/sessions/events.py +86 -2
  9. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_event_stream_params.py +1 -0
  10. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca_sdk.egg-info/PKG-INFO +23 -15
  11. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca_sdk.egg-info/SOURCES.txt +2 -0
  12. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/tests/test_client.py +22 -9
  13. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/tests/test_examples.py +4 -4
  14. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/tests/test_pagination.py +7 -6
  15. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/tests/test_resource_surface.py +3 -2
  16. qca_sdk-0.1.0/tests/test_resumable_streaming.py +572 -0
  17. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/tests/test_streaming.py +3 -1
  18. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/.env.live.example +0 -0
  19. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/LICENSE +0 -0
  20. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/MANIFEST.in +0 -0
  21. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/Makefile +0 -0
  22. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/__init__.py +0 -0
  23. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/common/__init__.py +0 -0
  24. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/conftest.py +0 -0
  25. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/forward/__init__.py +0 -0
  26. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/forward/__main__.py +0 -0
  27. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/forward/_cleanup.py +0 -0
  28. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/forward/async_session.py +0 -0
  29. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/forward/batch.py +0 -0
  30. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/forward/memory.py +0 -0
  31. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/forward/models.py +0 -0
  32. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/forward/resources.py +0 -0
  33. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/forward/schedule.py +0 -0
  34. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/forward/session.py +0 -0
  35. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/forward/test_live.py +0 -0
  36. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/managed/__init__.py +0 -0
  37. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/managed/__main__.py +0 -0
  38. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/managed/_cleanup.py +0 -0
  39. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/managed/async_session.py +0 -0
  40. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/managed/deployment.py +0 -0
  41. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/managed/dream.py +0 -0
  42. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/managed/memory.py +0 -0
  43. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/managed/models.py +0 -0
  44. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/managed/resources.py +0 -0
  45. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/managed/session.py +0 -0
  46. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/examples/managed/test_live.py +0 -0
  47. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/setup.cfg +0 -0
  48. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/__init__.py +0 -0
  49. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/_version.py +0 -0
  50. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/common/__init__.py +0 -0
  51. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/common/_exceptions.py +0 -0
  52. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/common/_files.py +0 -0
  53. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/common/_models.py +0 -0
  54. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/common/_platform.py +0 -0
  55. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/common/_resource.py +0 -0
  56. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/common/_response.py +0 -0
  57. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/common/_streaming.py +0 -0
  58. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/common/_types.py +0 -0
  59. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/common/_utils.py +0 -0
  60. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/common/credentials.py +0 -0
  61. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/common/pagination.py +0 -0
  62. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/__init__.py +0 -0
  63. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/_client.py +0 -0
  64. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/__init__.py +0 -0
  65. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/batches/__init__.py +0 -0
  66. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/batches/batches.py +0 -0
  67. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/batches/tasks.py +0 -0
  68. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/channel_pairings.py +0 -0
  69. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/channels/__init__.py +0 -0
  70. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/channels/channels.py +0 -0
  71. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/channels/qr_sessions.py +0 -0
  72. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/environments.py +0 -0
  73. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/files.py +0 -0
  74. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/identities/__init__.py +0 -0
  75. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/identities/configs.py +0 -0
  76. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/identities/identities.py +0 -0
  77. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/identities/memory_stores.py +0 -0
  78. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/memory_stores/__init__.py +0 -0
  79. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/memory_stores/memories.py +0 -0
  80. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/memory_stores/memory_stores.py +0 -0
  81. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/memory_stores/memory_versions.py +0 -0
  82. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/models.py +0 -0
  83. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/schedule_runs.py +0 -0
  84. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/schedules.py +0 -0
  85. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/sessions/__init__.py +0 -0
  86. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/sessions/resources.py +0 -0
  87. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/sessions/sessions.py +0 -0
  88. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/sessions/threads/__init__.py +0 -0
  89. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/sessions/threads/events.py +0 -0
  90. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/sessions/threads/threads.py +0 -0
  91. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/skills/__init__.py +0 -0
  92. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/skills/skills.py +0 -0
  93. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/skills/versions.py +0 -0
  94. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/templates.py +0 -0
  95. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/vaults/__init__.py +0 -0
  96. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/vaults/credentials.py +0 -0
  97. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/resources/vaults/vaults.py +0 -0
  98. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/__init__.py +0 -0
  99. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/batch.py +0 -0
  100. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/batch_cancel_params.py +0 -0
  101. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/batch_create_params.py +0 -0
  102. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/batch_file.py +0 -0
  103. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/batch_list_params.py +0 -0
  104. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/batch_request_counts.py +0 -0
  105. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/batch_task.py +0 -0
  106. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/batch_task_artifacts_item.py +0 -0
  107. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/batch_task_error.py +0 -0
  108. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/batch_task_list_params.py +0 -0
  109. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/batch_task_usage.py +0 -0
  110. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/batch_usage.py +0 -0
  111. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/channel.py +0 -0
  112. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/channel_channel_config.py +0 -0
  113. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/channel_channel_config_response_options.py +0 -0
  114. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/channel_create_params.py +0 -0
  115. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/channel_identity_resolution.py +0 -0
  116. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/channel_list_params.py +0 -0
  117. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/channel_pairing.py +0 -0
  118. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/channel_pairing_create_params.py +0 -0
  119. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/channel_qr_session.py +0 -0
  120. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/channel_qr_session_create_params.py +0 -0
  121. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/channel_update_params.py +0 -0
  122. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/content_block_param.py +0 -0
  123. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/deleted_channel.py +0 -0
  124. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/deleted_channel_pairing.py +0 -0
  125. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/deleted_identity.py +0 -0
  126. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/deleted_memory.py +0 -0
  127. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/deleted_memory_store.py +0 -0
  128. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/deleted_memory_store_mount.py +0 -0
  129. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/deleted_skill_version.py +0 -0
  130. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/effective_config.py +0 -0
  131. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/effective_config_agent.py +0 -0
  132. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/effective_config_agent_tools_item.py +0 -0
  133. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/effective_config_agent_tools_item_configs_item.py +0 -0
  134. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/effective_config_session.py +0 -0
  135. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/effective_config_session_resources_item.py +0 -0
  136. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/environment.py +0 -0
  137. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/environment_config.py +0 -0
  138. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/environment_config_packages.py +0 -0
  139. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/environment_create_params.py +0 -0
  140. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/environment_list_params.py +0 -0
  141. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/environment_update_params.py +0 -0
  142. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/environment_variable_override.py +0 -0
  143. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/environment_variable_override_param.py +0 -0
  144. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/file_list_params.py +0 -0
  145. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/file_metadata.py +0 -0
  146. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/file_upload_params.py +0 -0
  147. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/git_hub_repository.py +0 -0
  148. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/git_hub_repository_param.py +0 -0
  149. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/identity.py +0 -0
  150. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/identity_clear_params.py +0 -0
  151. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/identity_clear_response.py +0 -0
  152. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/identity_clear_response_summary.py +0 -0
  153. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/identity_config.py +0 -0
  154. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/identity_config_list_params.py +0 -0
  155. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/identity_config_spec.py +0 -0
  156. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/identity_config_spec_param.py +0 -0
  157. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/identity_config_upsert_params.py +0 -0
  158. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/identity_create_params.py +0 -0
  159. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/identity_list_params.py +0 -0
  160. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/identity_list_templates_response.py +0 -0
  161. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/identity_memory_store_list_response.py +0 -0
  162. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/identity_memory_store_mount_params.py +0 -0
  163. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/identity_stats.py +0 -0
  164. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/identity_template.py +0 -0
  165. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/identity_update_params.py +0 -0
  166. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/image_source_param.py +0 -0
  167. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/mcp_server.py +0 -0
  168. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/mcp_server_override.py +0 -0
  169. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/mcp_server_override_param.py +0 -0
  170. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/mcp_server_param.py +0 -0
  171. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/memory.py +0 -0
  172. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/memory_store.py +0 -0
  173. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/memory_store_create_params.py +0 -0
  174. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/memory_store_list_params.py +0 -0
  175. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/memory_store_memory_create_params.py +0 -0
  176. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/memory_store_memory_list_params.py +0 -0
  177. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/memory_store_memory_update_params.py +0 -0
  178. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/memory_store_memory_version_list_params.py +0 -0
  179. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/memory_store_mount.py +0 -0
  180. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/memory_store_update_params.py +0 -0
  181. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/memory_version.py +0 -0
  182. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/model.py +0 -0
  183. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/model_config.py +0 -0
  184. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/model_config_param.py +0 -0
  185. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/model_list_response.py +0 -0
  186. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/multiagent_config.py +0 -0
  187. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/multiagent_config_param.py +0 -0
  188. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/multiagent_entry.py +0 -0
  189. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/multiagent_entry_param.py +0 -0
  190. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/permission_policy.py +0 -0
  191. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/permission_policy_param.py +0 -0
  192. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/resource_binding.py +0 -0
  193. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/resource_binding_param.py +0 -0
  194. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule.py +0 -0
  195. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_archive_many_params.py +0 -0
  196. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_archive_many_response.py +0 -0
  197. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_archive_params.py +0 -0
  198. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_create_params.py +0 -0
  199. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_execution.py +0 -0
  200. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_initial_events_item.py +0 -0
  201. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_list_params.py +0 -0
  202. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_pause_params.py +0 -0
  203. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_paused_reason.py +0 -0
  204. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_run.py +0 -0
  205. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_run_list_params.py +0 -0
  206. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_run_params.py +0 -0
  207. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_run_retrieve_params.py +0 -0
  208. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_run_trigger_context.py +0 -0
  209. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_sinks_item.py +0 -0
  210. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_sinks_item_target.py +0 -0
  211. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_trigger_policy.py +0 -0
  212. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_unpause_params.py +0 -0
  213. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/schedule_update_params.py +0 -0
  214. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session.py +0 -0
  215. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_archive_params.py +0 -0
  216. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_cancel_params.py +0 -0
  217. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_config.py +0 -0
  218. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_create_params.py +0 -0
  219. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_create_params_config_param.py +0 -0
  220. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_event.py +0 -0
  221. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_event_list_params.py +0 -0
  222. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_event_param.py +0 -0
  223. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_event_send_params.py +0 -0
  224. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_event_send_response.py +0 -0
  225. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_event_stream_params.py +0 -0
  226. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_list_params.py +0 -0
  227. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_resource.py +0 -0
  228. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_resource_add_params.py +0 -0
  229. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_resource_spec_param.py +0 -0
  230. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_stats.py +0 -0
  231. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_template.py +0 -0
  232. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_thread.py +0 -0
  233. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_thread_archive_params.py +0 -0
  234. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_thread_event_list_params.py +0 -0
  235. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_thread_event_stream_params.py +0 -0
  236. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_thread_list_params.py +0 -0
  237. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_thread_stop_reason.py +0 -0
  238. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_update_params.py +0 -0
  239. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_update_params_config_param.py +0 -0
  240. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/session_usage.py +0 -0
  241. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/skill.py +0 -0
  242. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/skill_binding.py +0 -0
  243. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/skill_binding_param.py +0 -0
  244. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/skill_create_params.py +0 -0
  245. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/skill_list_params.py +0 -0
  246. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/skill_override.py +0 -0
  247. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/skill_override_param.py +0 -0
  248. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/skill_retrieve_params.py +0 -0
  249. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/skill_update_params.py +0 -0
  250. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/skill_version.py +0 -0
  251. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/skill_version_create_params.py +0 -0
  252. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/skill_version_list_params.py +0 -0
  253. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/system_override.py +0 -0
  254. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/system_override_param.py +0 -0
  255. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/template.py +0 -0
  256. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/template_archive_params.py +0 -0
  257. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/template_clone_params.py +0 -0
  258. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/template_create_params.py +0 -0
  259. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/template_list_params.py +0 -0
  260. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/template_update_params.py +0 -0
  261. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/tool.py +0 -0
  262. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/tool_config.py +0 -0
  263. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/tool_config_param.py +0 -0
  264. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/tool_override.py +0 -0
  265. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/tool_override_param.py +0 -0
  266. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/tool_param.py +0 -0
  267. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/vault.py +0 -0
  268. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/vault_create_params.py +0 -0
  269. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/vault_credential.py +0 -0
  270. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/vault_credential_auth.py +0 -0
  271. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/vault_credential_create_params.py +0 -0
  272. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/vault_credential_list_params.py +0 -0
  273. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/forward/types/vault_list_params.py +0 -0
  274. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/__init__.py +0 -0
  275. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/_client.py +0 -0
  276. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/__init__.py +0 -0
  277. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/agents/__init__.py +0 -0
  278. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/agents/agents.py +0 -0
  279. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/agents/versions.py +0 -0
  280. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/deployment_runs.py +0 -0
  281. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/deployments.py +0 -0
  282. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/dreams.py +0 -0
  283. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/environments/__init__.py +0 -0
  284. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/environments/environments.py +0 -0
  285. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/environments/work.py +0 -0
  286. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/files.py +0 -0
  287. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/memory_stores/__init__.py +0 -0
  288. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/memory_stores/memories.py +0 -0
  289. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/memory_stores/memory_stores.py +0 -0
  290. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/memory_stores/memory_versions.py +0 -0
  291. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/models.py +0 -0
  292. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/sessions/__init__.py +0 -0
  293. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/sessions/resources.py +0 -0
  294. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/sessions/sessions.py +0 -0
  295. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/sessions/threads/__init__.py +0 -0
  296. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/sessions/threads/events.py +0 -0
  297. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/sessions/threads/threads.py +0 -0
  298. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/skills/__init__.py +0 -0
  299. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/skills/skills.py +0 -0
  300. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/skills/versions.py +0 -0
  301. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/vaults/__init__.py +0 -0
  302. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/vaults/credentials.py +0 -0
  303. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/resources/vaults/vaults.py +0 -0
  304. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/__init__.py +0 -0
  305. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/actor_union.py +0 -0
  306. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/advisor_params.py +0 -0
  307. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent.py +0 -0
  308. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_archive_params.py +0 -0
  309. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_create_params.py +0 -0
  310. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_list_params.py +0 -0
  311. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_mcp_tool_result_event_content_union.py +0 -0
  312. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_message_event_content_union.py +0 -0
  313. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_params.py +0 -0
  314. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_reference.py +0 -0
  315. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_retrieve_params.py +0 -0
  316. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_skill_union.py +0 -0
  317. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_thread_message_received_event_content_union.py +0 -0
  318. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_thread_message_received_event_content_union_source.py +0 -0
  319. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_thread_message_sent_event_content_union.py +0 -0
  320. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_thread_message_sent_event_content_union_source.py +0 -0
  321. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_tool_config_union.py +0 -0
  322. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_tool_config_union_permission_policy.py +0 -0
  323. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_tool_result_event_content_union.py +0 -0
  324. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_tool_union.py +0 -0
  325. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_tool_union_default_config.py +0 -0
  326. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_tool_union_default_config_permission_policy.py +0 -0
  327. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_toolset20260401_params.py +0 -0
  328. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_toolset_default_config_params.py +0 -0
  329. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_update_params.py +0 -0
  330. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_version_list_params.py +0 -0
  331. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/agent_with_overrides_params.py +0 -0
  332. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/always_allow_policy_param.py +0 -0
  333. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/always_ask_policy_param.py +0 -0
  334. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/base64_document_source_param.py +0 -0
  335. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/base64_image_source_param.py +0 -0
  336. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/bash_tool_config_params.py +0 -0
  337. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/branch_checkout_param.py +0 -0
  338. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/budget_limit.py +0 -0
  339. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/budget_limit_param.py +0 -0
  340. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/cache_creation_usage.py +0 -0
  341. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/capability_support.py +0 -0
  342. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/cloud_config_networking_union.py +0 -0
  343. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/cloud_config_params.py +0 -0
  344. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/commit_checkout_param.py +0 -0
  345. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/context_management_capability.py +0 -0
  346. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/credential.py +0 -0
  347. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/credential_auth_union.py +0 -0
  348. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/credential_validation.py +0 -0
  349. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/custom_skill_params.py +0 -0
  350. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/custom_tool_input_schema.py +0 -0
  351. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/custom_tool_input_schema_param.py +0 -0
  352. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/custom_tool_params.py +0 -0
  353. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/delete_session_resource.py +0 -0
  354. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deleted_credential.py +0 -0
  355. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deleted_file.py +0 -0
  356. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deleted_memory.py +0 -0
  357. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deleted_memory_store.py +0 -0
  358. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deleted_session.py +0 -0
  359. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deleted_skill.py +0 -0
  360. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deleted_skill_version.py +0 -0
  361. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deleted_vault.py +0 -0
  362. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/delta_content.py +0 -0
  363. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment.py +0 -0
  364. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment_archive_params.py +0 -0
  365. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment_create_params.py +0 -0
  366. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment_initial_event_union.py +0 -0
  367. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment_list_params.py +0 -0
  368. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment_pause_params.py +0 -0
  369. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment_paused_reason_error_union.py +0 -0
  370. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment_paused_reason_union.py +0 -0
  371. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment_retrieve_params.py +0 -0
  372. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment_run.py +0 -0
  373. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment_run_error_union.py +0 -0
  374. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment_run_list_params.py +0 -0
  375. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment_run_params.py +0 -0
  376. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment_run_retrieve_params.py +0 -0
  377. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment_unpause_params.py +0 -0
  378. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment_update_params.py +0 -0
  379. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment_user_define_outcome_event_rubric_union.py +0 -0
  380. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment_user_message_event_content_union.py +0 -0
  381. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/deployment_user_message_event_content_union_source.py +0 -0
  382. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/document_block_param.py +0 -0
  383. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/dream.py +0 -0
  384. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/dream_archive_params.py +0 -0
  385. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/dream_cancel_params.py +0 -0
  386. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/dream_create_params.py +0 -0
  387. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/dream_error.py +0 -0
  388. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/dream_input_union.py +0 -0
  389. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/dream_list_params.py +0 -0
  390. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/dream_memory_store_input_param.py +0 -0
  391. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/dream_model_config.py +0 -0
  392. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/dream_model_config_param.py +0 -0
  393. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/dream_output.py +0 -0
  394. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/dream_retrieve_params.py +0 -0
  395. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/dream_sessions_input_param.py +0 -0
  396. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/dream_usage.py +0 -0
  397. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/edit_tool_config_params.py +0 -0
  398. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/effort_capability.py +0 -0
  399. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/effort_high_param.py +0 -0
  400. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/effort_low_param.py +0 -0
  401. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/effort_max_param.py +0 -0
  402. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/effort_medium_param.py +0 -0
  403. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/effort_xhigh_param.py +0 -0
  404. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment.py +0 -0
  405. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_archive_params.py +0 -0
  406. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_config_union.py +0 -0
  407. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_create_params.py +0 -0
  408. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_delete_params.py +0 -0
  409. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_delete_response.py +0 -0
  410. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_list_params.py +0 -0
  411. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_retrieve_params.py +0 -0
  412. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_update_params.py +0 -0
  413. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_variable_auth_response_networking_union.py +0 -0
  414. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_variable_create_params.py +0 -0
  415. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_variable_update_params.py +0 -0
  416. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_work_ack_params.py +0 -0
  417. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_work_heartbeat_params.py +0 -0
  418. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_work_list_params.py +0 -0
  419. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_work_poll_params.py +0 -0
  420. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_work_retrieve_params.py +0 -0
  421. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_work_stats_params.py +0 -0
  422. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_work_stop_params.py +0 -0
  423. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/environment_work_update_params.py +0 -0
  424. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/file_delete_params.py +0 -0
  425. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/file_document_source_param.py +0 -0
  426. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/file_download_params.py +0 -0
  427. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/file_get_metadata_params.py +0 -0
  428. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/file_image_source_param.py +0 -0
  429. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/file_list_params.py +0 -0
  430. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/file_metadata.py +0 -0
  431. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/file_resource.py +0 -0
  432. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/file_resource_params.py +0 -0
  433. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/file_rubric_params.py +0 -0
  434. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/file_scope.py +0 -0
  435. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/file_upload_params.py +0 -0
  436. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/git_hub_repository_resource_checkout_union.py +0 -0
  437. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/git_hub_repository_resource_config_checkout_union.py +0 -0
  438. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/git_hub_repository_resource_params.py +0 -0
  439. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/glob_tool_config_params.py +0 -0
  440. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/grep_tool_config_params.py +0 -0
  441. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/image_block_param.py +0 -0
  442. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/injection_location_params.py +0 -0
  443. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/injection_location_response.py +0 -0
  444. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/injection_location_update_params.py +0 -0
  445. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/limited_credential_networking_params.py +0 -0
  446. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/limited_network_params.py +0 -0
  447. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/mcp_probe.py +0 -0
  448. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/mcp_server_url_definition.py +0 -0
  449. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/mcp_tool_config.py +0 -0
  450. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/mcp_tool_config_params.py +0 -0
  451. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/mcp_tool_config_permission_policy_union.py +0 -0
  452. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/mcp_toolset_default_config_params.py +0 -0
  453. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/mcp_toolset_params.py +0 -0
  454. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/mcpo_auth_create_params.py +0 -0
  455. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/mcpo_auth_refresh_params.py +0 -0
  456. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/mcpo_auth_refresh_response.py +0 -0
  457. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/mcpo_auth_refresh_response_token_endpoint_auth_union.py +0 -0
  458. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/mcpo_auth_refresh_update_params.py +0 -0
  459. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/mcpo_auth_update_params.py +0 -0
  460. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory.py +0 -0
  461. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory_list_item_union.py +0 -0
  462. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory_store.py +0 -0
  463. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory_store_archive_params.py +0 -0
  464. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory_store_create_params.py +0 -0
  465. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory_store_delete_params.py +0 -0
  466. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory_store_list_params.py +0 -0
  467. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory_store_memory_create_params.py +0 -0
  468. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory_store_memory_delete_params.py +0 -0
  469. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory_store_memory_list_params.py +0 -0
  470. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory_store_memory_retrieve_params.py +0 -0
  471. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory_store_memory_update_params.py +0 -0
  472. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory_store_memory_version_list_params.py +0 -0
  473. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory_store_memory_version_redact_params.py +0 -0
  474. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory_store_memory_version_retrieve_params.py +0 -0
  475. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory_store_resource_param.py +0 -0
  476. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory_store_retrieve_params.py +0 -0
  477. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory_store_update_params.py +0 -0
  478. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/memory_version.py +0 -0
  479. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/model_capabilities.py +0 -0
  480. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/model_config.py +0 -0
  481. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/model_config_effort_union.py +0 -0
  482. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/model_config_params.py +0 -0
  483. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/model_info.py +0 -0
  484. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/model_list_params.py +0 -0
  485. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/monetary_amount.py +0 -0
  486. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/monetary_amount_param.py +0 -0
  487. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/multiagent.py +0 -0
  488. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/multiagent_agent_union.py +0 -0
  489. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/multiagent_params.py +0 -0
  490. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/multiagent_self_params.py +0 -0
  491. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/outcome_evaluation_resource.py +0 -0
  492. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/output_behavior_create_new_param.py +0 -0
  493. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/output_behavior_union.py +0 -0
  494. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/output_behavior_update_existing_param.py +0 -0
  495. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/packages.py +0 -0
  496. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/packages_params.py +0 -0
  497. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/plain_text_document_source_param.py +0 -0
  498. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/precondition_param.py +0 -0
  499. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/qoder_skill_params.py +0 -0
  500. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/read_tool_config_params.py +0 -0
  501. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/redacted_block_param.py +0 -0
  502. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/refresh_http_response.py +0 -0
  503. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/refresh_object.py +0 -0
  504. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/schedule.py +0 -0
  505. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/schedule_params.py +0 -0
  506. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/search_result_block_param.py +0 -0
  507. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/search_result_citations.py +0 -0
  508. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/search_result_citations_param.py +0 -0
  509. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/search_result_content.py +0 -0
  510. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/search_result_content_param.py +0 -0
  511. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/self_hosted_config_params.py +0 -0
  512. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/self_hosted_work.py +0 -0
  513. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/self_hosted_work_heartbeat_response.py +0 -0
  514. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/self_hosted_work_queue_stats.py +0 -0
  515. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/send_session_events.py +0 -0
  516. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/send_session_events_data_union.py +0 -0
  517. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/server_tool_usage.py +0 -0
  518. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session.py +0 -0
  519. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_agent.py +0 -0
  520. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_agent_skill_union.py +0 -0
  521. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_agent_tool_union.py +0 -0
  522. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_agent_tool_union_default_config.py +0 -0
  523. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_agent_tool_union_default_config_permission_policy.py +0 -0
  524. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_agent_update_param.py +0 -0
  525. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_archive_params.py +0 -0
  526. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_create_params.py +0 -0
  527. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_delete_params.py +0 -0
  528. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_error_event_error_union.py +0 -0
  529. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_error_event_error_union_retry_status.py +0 -0
  530. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_event.py +0 -0
  531. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_event_list_params.py +0 -0
  532. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_event_send_params.py +0 -0
  533. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_event_stop_reason.py +0 -0
  534. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_event_usage.py +0 -0
  535. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_list_params.py +0 -0
  536. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_multiagent_coordinator.py +0 -0
  537. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_multiagent_coordinator_agent_union.py +0 -0
  538. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_resource_add_params.py +0 -0
  539. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_resource_config_union.py +0 -0
  540. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_resource_delete_params.py +0 -0
  541. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_resource_get_response_union.py +0 -0
  542. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_resource_list_params.py +0 -0
  543. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_resource_retrieve_params.py +0 -0
  544. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_resource_union.py +0 -0
  545. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_resource_update_params.py +0 -0
  546. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_resource_update_response_union.py +0 -0
  547. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_retrieve_params.py +0 -0
  548. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_stats.py +0 -0
  549. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_stream_event.py +0 -0
  550. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_stream_event_stop_reason.py +0 -0
  551. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_stream_event_usage.py +0 -0
  552. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_thread.py +0 -0
  553. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_thread_agent_skill_union.py +0 -0
  554. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_thread_agent_tool_union.py +0 -0
  555. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_thread_agent_tool_union_default_config.py +0 -0
  556. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_thread_agent_tool_union_default_config_permission_policy.py +0 -0
  557. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_thread_agent_union.py +0 -0
  558. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_thread_archive_params.py +0 -0
  559. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_thread_event_list_params.py +0 -0
  560. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_thread_event_stream_params.py +0 -0
  561. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_thread_list_params.py +0 -0
  562. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_thread_retrieve_params.py +0 -0
  563. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_thread_stats.py +0 -0
  564. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_thread_usage.py +0 -0
  565. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_update_params.py +0 -0
  566. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_usage.py +0 -0
  567. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/session_work_data.py +0 -0
  568. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/skill.py +0 -0
  569. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/skill_create_params.py +0 -0
  570. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/skill_delete_params.py +0 -0
  571. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/skill_list_params.py +0 -0
  572. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/skill_retrieve_params.py +0 -0
  573. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/skill_source.py +0 -0
  574. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/skill_version.py +0 -0
  575. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/skill_version_create_params.py +0 -0
  576. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/skill_version_delete_params.py +0 -0
  577. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/skill_version_download_params.py +0 -0
  578. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/skill_version_list_params.py +0 -0
  579. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/skill_version_retrieve_params.py +0 -0
  580. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/span_model_usage.py +0 -0
  581. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/start_event_preview_union.py +0 -0
  582. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/static_bearer_create_params.py +0 -0
  583. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/static_bearer_update_params.py +0 -0
  584. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/stream_session_thread_events_union.py +0 -0
  585. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/stream_session_thread_events_union_stop_reason.py +0 -0
  586. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/stream_session_thread_events_union_usage.py +0 -0
  587. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/system_content_block.py +0 -0
  588. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/system_content_block_param.py +0 -0
  589. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/system_message_event_params.py +0 -0
  590. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/text_block.py +0 -0
  591. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/text_block_param.py +0 -0
  592. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/text_rubric_params.py +0 -0
  593. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/thinking_capability.py +0 -0
  594. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/thinking_types.py +0 -0
  595. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/token_endpoint_auth_basic_param.py +0 -0
  596. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/token_endpoint_auth_basic_update_param.py +0 -0
  597. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/token_endpoint_auth_none_param.py +0 -0
  598. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/token_endpoint_auth_post_param.py +0 -0
  599. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/token_endpoint_auth_post_update_param.py +0 -0
  600. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/trigger_context_union.py +0 -0
  601. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/unrestricted_credential_networking_params.py +0 -0
  602. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/unrestricted_network_param.py +0 -0
  603. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/url_document_source_param.py +0 -0
  604. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/url_image_source_param.py +0 -0
  605. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/urlmcp_server_params.py +0 -0
  606. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/user_custom_tool_result_event_content_union.py +0 -0
  607. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/user_custom_tool_result_event_params.py +0 -0
  608. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/user_define_outcome_event_params.py +0 -0
  609. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/user_define_outcome_event_rubric_union.py +0 -0
  610. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/user_interrupt_event_params.py +0 -0
  611. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/user_location.py +0 -0
  612. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/user_location_param.py +0 -0
  613. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/user_message_event_content_union.py +0 -0
  614. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/user_message_event_content_union_source.py +0 -0
  615. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/user_message_event_params.py +0 -0
  616. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/user_tool_confirmation_event_params.py +0 -0
  617. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/user_tool_result_event_content_union.py +0 -0
  618. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/user_tool_result_event_params.py +0 -0
  619. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/vault.py +0 -0
  620. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/vault_archive_params.py +0 -0
  621. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/vault_create_params.py +0 -0
  622. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/vault_credential_archive_params.py +0 -0
  623. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/vault_credential_create_params.py +0 -0
  624. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/vault_credential_delete_params.py +0 -0
  625. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/vault_credential_list_params.py +0 -0
  626. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/vault_credential_mcpo_auth_validate_params.py +0 -0
  627. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/vault_credential_retrieve_params.py +0 -0
  628. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/vault_credential_update_params.py +0 -0
  629. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/vault_delete_params.py +0 -0
  630. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/vault_list_params.py +0 -0
  631. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/vault_retrieve_params.py +0 -0
  632. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/web_fetch_tool_config_params.py +0 -0
  633. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/web_search_tool_config_params.py +0 -0
  634. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/managed/types/write_tool_config_params.py +0 -0
  635. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca/py.typed +0 -0
  636. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca_sdk.egg-info/dependency_links.txt +0 -0
  637. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca_sdk.egg-info/requires.txt +0 -0
  638. {qca_sdk-0.0.1.dev5 → qca_sdk-0.1.0}/src/qca_sdk.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qca-sdk
3
- Version: 0.0.1.dev5
3
+ Version: 0.1.0
4
4
  Summary: Typed synchronous and asynchronous clients for Qoder Cloud Agents
5
5
  Author: Qoder
6
6
  License-Expression: MIT
@@ -44,7 +44,7 @@ The API is exposed in two modes, and each has its own client, resources, and typ
44
44
  python -m pip install qca-sdk
45
45
  ```
46
46
 
47
- The distribution is named `qca-sdk`; the import package is `qca`. The package is still in pre-release, so the command above resolves to the latest `0.0.1.devN` build. To work from a checkout of this repository instead:
47
+ The distribution is named `qca-sdk`; the import package is `qca`. The package is pre-1.0, so the command above resolves to the latest `0.1.x` release. To work from a checkout of this repository instead:
48
48
 
49
49
  ```bash
50
50
  python -m pip install .
@@ -86,7 +86,7 @@ Explicit arguments take precedence over environment variables. The clients never
86
86
 
87
87
  ```python
88
88
  client = Forward(
89
- access_token="your-access-token",
89
+ pat="your-access-token",
90
90
  base_url="https://api.qoder.com.cn/api/v1/forward",
91
91
  timeout=30.0,
92
92
  max_retries=2,
@@ -190,21 +190,29 @@ Reuse one `session_id` for the whole conversation, and reuse one idempotency key
190
190
 
191
191
  ## Resuming a stream
192
192
 
193
- The SDK does not reconnect a dropped stream on its own. Persist `stream.last_event_id` and pass it back as `last_event_id` on the next call; the server replays from there, so you never have to resend a message it already accepted.
193
+ The low-level `stream()` method exposes `stream.last_event_id` but does not reconnect. Use the handwritten `resumable_stream()` helper to reconnect automatically after EOF, timeouts, transient transport failures, and retryable HTTP statuses. It checkpoints only complete events and sends the latest checkpoint as `Last-Event-ID`; close it with a context manager when finished.
194
194
 
195
195
  ```python
196
- from qca import APIConnectionError
196
+ with client.sessions.events.resumable_stream(
197
+ session_id,
198
+ last_event_id=saved_event_id,
199
+ event_deltas=["agent.message"],
200
+ ) as stream:
201
+ for event in stream:
202
+ saved_event_id = stream.last_event_id
203
+ print(event.type)
204
+ ```
197
205
 
198
- last_event_id = None
199
- try:
200
- with client.sessions.events.stream(session_id, last_event_id=last_event_id) as stream:
201
- for event in stream:
202
- last_event_id = stream.last_event_id
203
- print(event.type)
204
- except APIConnectionError:
205
- pass # reconnect with the last_event_id recorded above
206
+ The async form is a native async iterator and context manager; unlike `stream()`, constructing it does not require `await`:
207
+
208
+ ```python
209
+ async with client.sessions.events.resumable_stream(session_id) as stream:
210
+ async for event in stream:
211
+ print(event.type)
206
212
  ```
207
213
 
214
+ The helper retries until closed, cancelled, or it receives `session.status_terminated` / `session.deleted`. It uses jittered exponential backoff and the same HTTP retry classification as the client (in particular, `409` is not retried). It does not query event history, discard an invalid cursor, or deduplicate event IDs because multiple preview deltas may share one ID.
215
+
208
216
  Events are also readable after the fact through `client.sessions.events.list(session_id)`, which paginates like any other list method.
209
217
 
210
218
  ## Handling errors
@@ -390,11 +398,11 @@ For tokens that expire, pass a credential provider instead of a static token. It
390
398
  client = Forward(credential=my_credential)
391
399
  ```
392
400
 
393
- A static `access_token` takes precedence over a provider, and an explicit `Authorization` header takes precedence over both.
401
+ A static `pat` takes precedence over a provider, and an explicit `Authorization` header takes precedence over both.
394
402
 
395
403
  ## Versioning
396
404
 
397
- This project follows [Semantic Versioning](https://semver.org). It is pre-1.0 and currently published as `0.0.1.devN`, so the public surface may still change between releases. Anything prefixed with an underscore is internal and may change at any time.
405
+ This project follows [Semantic Versioning](https://semver.org). It is pre-1.0 and currently published as `0.1.0`, so the public surface may still change between releases. Anything prefixed with an underscore is internal and may change at any time.
398
406
 
399
407
  ```python
400
408
  import qca
@@ -12,7 +12,7 @@ The API is exposed in two modes, and each has its own client, resources, and typ
12
12
  python -m pip install qca-sdk
13
13
  ```
14
14
 
15
- The distribution is named `qca-sdk`; the import package is `qca`. The package is still in pre-release, so the command above resolves to the latest `0.0.1.devN` build. To work from a checkout of this repository instead:
15
+ The distribution is named `qca-sdk`; the import package is `qca`. The package is pre-1.0, so the command above resolves to the latest `0.1.x` release. To work from a checkout of this repository instead:
16
16
 
17
17
  ```bash
18
18
  python -m pip install .
@@ -54,7 +54,7 @@ Explicit arguments take precedence over environment variables. The clients never
54
54
 
55
55
  ```python
56
56
  client = Forward(
57
- access_token="your-access-token",
57
+ pat="your-access-token",
58
58
  base_url="https://api.qoder.com.cn/api/v1/forward",
59
59
  timeout=30.0,
60
60
  max_retries=2,
@@ -158,21 +158,29 @@ Reuse one `session_id` for the whole conversation, and reuse one idempotency key
158
158
 
159
159
  ## Resuming a stream
160
160
 
161
- The SDK does not reconnect a dropped stream on its own. Persist `stream.last_event_id` and pass it back as `last_event_id` on the next call; the server replays from there, so you never have to resend a message it already accepted.
161
+ The low-level `stream()` method exposes `stream.last_event_id` but does not reconnect. Use the handwritten `resumable_stream()` helper to reconnect automatically after EOF, timeouts, transient transport failures, and retryable HTTP statuses. It checkpoints only complete events and sends the latest checkpoint as `Last-Event-ID`; close it with a context manager when finished.
162
162
 
163
163
  ```python
164
- from qca import APIConnectionError
164
+ with client.sessions.events.resumable_stream(
165
+ session_id,
166
+ last_event_id=saved_event_id,
167
+ event_deltas=["agent.message"],
168
+ ) as stream:
169
+ for event in stream:
170
+ saved_event_id = stream.last_event_id
171
+ print(event.type)
172
+ ```
165
173
 
166
- last_event_id = None
167
- try:
168
- with client.sessions.events.stream(session_id, last_event_id=last_event_id) as stream:
169
- for event in stream:
170
- last_event_id = stream.last_event_id
171
- print(event.type)
172
- except APIConnectionError:
173
- pass # reconnect with the last_event_id recorded above
174
+ The async form is a native async iterator and context manager; unlike `stream()`, constructing it does not require `await`:
175
+
176
+ ```python
177
+ async with client.sessions.events.resumable_stream(session_id) as stream:
178
+ async for event in stream:
179
+ print(event.type)
174
180
  ```
175
181
 
182
+ The helper retries until closed, cancelled, or it receives `session.status_terminated` / `session.deleted`. It uses jittered exponential backoff and the same HTTP retry classification as the client (in particular, `409` is not retried). It does not query event history, discard an invalid cursor, or deduplicate event IDs because multiple preview deltas may share one ID.
183
+
176
184
  Events are also readable after the fact through `client.sessions.events.list(session_id)`, which paginates like any other list method.
177
185
 
178
186
  ## Handling errors
@@ -358,11 +366,11 @@ For tokens that expire, pass a credential provider instead of a static token. It
358
366
  client = Forward(credential=my_credential)
359
367
  ```
360
368
 
361
- A static `access_token` takes precedence over a provider, and an explicit `Authorization` header takes precedence over both.
369
+ A static `pat` takes precedence over a provider, and an explicit `Authorization` header takes precedence over both.
362
370
 
363
371
  ## Versioning
364
372
 
365
- This project follows [Semantic Versioning](https://semver.org). It is pre-1.0 and currently published as `0.0.1.devN`, so the public surface may still change between releases. Anything prefixed with an underscore is internal and may change at any time.
373
+ This project follows [Semantic Versioning](https://semver.org). It is pre-1.0 and currently published as `0.1.0`, so the public surface may still change between releases. Anything prefixed with an underscore is internal and may change at any time.
366
374
 
367
375
  ```python
368
376
  import qca
@@ -56,7 +56,7 @@ def read_env(path: str | Path) -> dict[str, str]:
56
56
  @dataclass
57
57
  class Config:
58
58
  mode: str
59
- access_token: str = field(repr=False)
59
+ pat: str = field(repr=False)
60
60
  base_url: str = ""
61
61
  model: str = ""
62
62
  timeout: float = 300
@@ -89,7 +89,7 @@ class Config:
89
89
  return cls(mode, token, str(url), values.get(prefix + "MODEL", ""), timeout)
90
90
 
91
91
  def client_options(self) -> dict[str, Any]:
92
- return dict(access_token=self.access_token, base_url=self.base_url, max_retries=0, timeout=30)
92
+ return dict(pat=self.pat, base_url=self.base_url, max_retries=0, timeout=30)
93
93
 
94
94
 
95
95
  def safe_error(error: BaseException, token: str = "") -> str:
@@ -163,7 +163,7 @@ class Run:
163
163
  try:
164
164
  action()
165
165
  except Exception as error:
166
- failures.append(f"{kind} {resource_id}: {safe_error(error, self.config.access_token)}")
166
+ failures.append(f"{kind} {resource_id}: {safe_error(error, self.config.pat)}")
167
167
  self.cleanups.clear()
168
168
  if failures:
169
169
  raise RuntimeError("Cleanup failed:\n" + "\n".join(failures))
@@ -314,9 +314,9 @@ def run_cli(mode: str, client_type: Any, scenarios: dict[str, Callable[[Any, Run
314
314
  try:
315
315
  context.cleanup()
316
316
  except Exception as error:
317
- errors.append(safe_error(error, config.access_token))
317
+ errors.append(safe_error(error, config.pat))
318
318
  except Exception as error:
319
- errors.insert(0, safe_error(error, config.access_token))
319
+ errors.insert(0, safe_error(error, config.pat))
320
320
  results.append({"scenario": scenario, "passed": not errors, "outputs": context.outputs, "errors": errors})
321
321
  if args.output == "text":
322
322
  print(f"{scenario}: {'FAIL' if errors else 'PASS'}")
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "qca-sdk"
3
- version = "0.0.1.dev5"
3
+ version = "0.1.0"
4
4
  description = "Typed synchronous and asynchronous clients for Qoder Cloud Agents"
5
5
  authors = [{name = "Qoder"}]
6
6
  license = "MIT"
@@ -54,7 +54,7 @@ class BaseClient:
54
54
  def _configure(
55
55
  self,
56
56
  *,
57
- access_token: str | None,
57
+ pat: str | None,
58
58
  base_url: str | httpx.URL | None,
59
59
  timeout: float | httpx.Timeout | None,
60
60
  max_retries: int,
@@ -64,7 +64,7 @@ class BaseClient:
64
64
  ) -> None:
65
65
  if not isinstance(max_retries, int) or isinstance(max_retries, bool) or max_retries < 0:
66
66
  raise ValueError("max_retries must be a non-negative integer")
67
- self.access_token = access_token if access_token is not None else os.environ.get("QODER_PAT")
67
+ self.pat = pat if pat is not None else os.environ.get("QODER_PAT")
68
68
  self.credential = credential
69
69
  self.base_url = httpx.URL(base_url or os.environ.get(self._base_url_env) or self._default_base_url)
70
70
  if self.base_url.scheme not in ("http", "https") or not self.base_url.host or self.base_url.userinfo:
@@ -80,7 +80,7 @@ class BaseClient:
80
80
 
81
81
  def _copy(self, *, raw: bool = False, streaming: bool = False, **overrides: Any) -> Self:
82
82
  options = dict(
83
- access_token=self.access_token,
83
+ pat=self.pat,
84
84
  base_url=self.base_url,
85
85
  timeout=self.timeout,
86
86
  max_retries=self.max_retries,
@@ -98,16 +98,14 @@ class BaseClient:
98
98
  def with_options(
99
99
  self,
100
100
  *,
101
- access_token: str | NotGiven = NOT_GIVEN,
101
+ pat: str | NotGiven = NOT_GIVEN,
102
102
  base_url: str | httpx.URL | NotGiven = NOT_GIVEN,
103
103
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
104
104
  max_retries: int | NotGiven = NOT_GIVEN,
105
105
  default_headers: Mapping[str, str] | NotGiven = NOT_GIVEN,
106
106
  default_query: Mapping[str, Any] | NotGiven = NOT_GIVEN,
107
107
  ) -> Self:
108
- values: dict[str, Any] = dict(
109
- access_token=access_token, base_url=base_url, timeout=timeout, max_retries=max_retries
110
- )
108
+ values: dict[str, Any] = dict(pat=pat, base_url=base_url, timeout=timeout, max_retries=max_retries)
111
109
  if not isinstance(default_headers, NotGiven):
112
110
  values["default_headers"] = {**self.default_headers, **default_headers}
113
111
  if not isinstance(default_query, NotGiven):
@@ -120,6 +118,17 @@ class BaseClient:
120
118
  def is_closed(self) -> bool:
121
119
  return self._client.is_closed
122
120
 
121
+ def _validate_headers(self, headers: httpx.Headers) -> None:
122
+ if headers.get("Authorization"):
123
+ return
124
+ if self.credential is not None:
125
+ return
126
+
127
+ raise TypeError(
128
+ "Could not resolve authentication method. Expected one of pat or credential to be set, "
129
+ "or the QODER_PAT environment variable to be configured."
130
+ )
131
+
123
132
  def _headers(self, options: dict[str, Any], token: str | None) -> httpx.Headers:
124
133
  headers = httpx.Headers(
125
134
  {
@@ -134,6 +143,7 @@ class BaseClient:
134
143
  for source in (self.default_headers, options.get("headers", {})):
135
144
  for key, value in source.items():
136
145
  headers[key] = ",".join(str(v) for v in value) if isinstance(value, (list, tuple)) else str(value)
146
+ self._validate_headers(headers)
137
147
  return headers
138
148
 
139
149
  def _request_args(
@@ -243,7 +253,7 @@ class SyncAPIClient(BaseClient):
243
253
  def __init__(
244
254
  self,
245
255
  *,
246
- access_token: str | None = None,
256
+ pat: str | None = None,
247
257
  base_url: str | httpx.URL | None = None,
248
258
  timeout: float | httpx.Timeout | None = DEFAULT_TIMEOUT,
249
259
  max_retries: int = 2,
@@ -253,7 +263,7 @@ class SyncAPIClient(BaseClient):
253
263
  credential: Credential | None = None,
254
264
  ) -> None:
255
265
  self._configure(
256
- access_token=access_token,
266
+ pat=pat,
257
267
  base_url=base_url,
258
268
  timeout=timeout,
259
269
  max_retries=max_retries,
@@ -270,12 +280,7 @@ class SyncAPIClient(BaseClient):
270
280
  for attempt in range(self.max_retries + 1):
271
281
  if track_retries and attempt:
272
282
  request.headers["X-Qoder-Retry-Count"] = str(attempt)
273
- if (
274
- not storage
275
- and self.credential
276
- and not self.access_token
277
- and "Authorization" not in self.default_headers
278
- ):
283
+ if not storage and self.credential and not self.pat and "Authorization" not in self.default_headers:
279
284
  # Dynamic credentials can rotate between retries. Explicit request
280
285
  # headers still take priority and are marked by request().
281
286
  if not request.extensions.get("qca_explicit_auth"):
@@ -315,7 +320,7 @@ class SyncAPIClient(BaseClient):
315
320
  download_link: bool = False,
316
321
  file_fields: list[str] | None = None,
317
322
  ) -> Any:
318
- args = self._request_args(method, path, options, self.access_token, file_fields)
323
+ args = self._request_args(method, path, options, self.pat, file_fields)
319
324
  if stream:
320
325
  args["headers"]["Accept"] = "text/event-stream"
321
326
  request = self._client.build_request(**args)
@@ -361,7 +366,7 @@ class AsyncAPIClient(BaseClient):
361
366
  def __init__(
362
367
  self,
363
368
  *,
364
- access_token: str | None = None,
369
+ pat: str | None = None,
365
370
  base_url: str | httpx.URL | None = None,
366
371
  timeout: float | httpx.Timeout | None = DEFAULT_TIMEOUT,
367
372
  max_retries: int = 2,
@@ -371,7 +376,7 @@ class AsyncAPIClient(BaseClient):
371
376
  credential: Credential | AsyncCredential | None = None,
372
377
  ) -> None:
373
378
  self._configure(
374
- access_token=access_token,
379
+ pat=pat,
375
380
  base_url=base_url,
376
381
  timeout=timeout,
377
382
  max_retries=max_retries,
@@ -388,12 +393,7 @@ class AsyncAPIClient(BaseClient):
388
393
  for attempt in range(self.max_retries + 1):
389
394
  if track_retries and attempt:
390
395
  request.headers["X-Qoder-Retry-Count"] = str(attempt)
391
- if (
392
- not storage
393
- and self.credential
394
- and not self.access_token
395
- and not request.extensions.get("qca_explicit_auth")
396
- ):
396
+ if not storage and self.credential and not self.pat and not request.extensions.get("qca_explicit_auth"):
397
397
  token = self.credential.get_token()
398
398
  if inspect.isawaitable(token):
399
399
  token = await token
@@ -436,10 +436,10 @@ class AsyncAPIClient(BaseClient):
436
436
  if file_fields:
437
437
  # Reading local file objects should not block the event loop.
438
438
  args = await anyio.to_thread.run_sync(
439
- lambda: self._request_args(method, path, options, self.access_token, file_fields)
439
+ lambda: self._request_args(method, path, options, self.pat, file_fields)
440
440
  )
441
441
  else:
442
- args = self._request_args(method, path, options, self.access_token, None)
442
+ args = self._request_args(method, path, options, self.pat, None)
443
443
  if stream:
444
444
  args["headers"]["Accept"] = "text/event-stream"
445
445
  request = self._client.build_request(**args)
@@ -0,0 +1,244 @@
1
+ from __future__ import annotations
2
+
3
+ import random
4
+ import threading
5
+ from collections.abc import AsyncIterator, Awaitable, Callable, Iterator
6
+ from time import monotonic
7
+ from typing import Generic, TypeVar
8
+
9
+ import anyio
10
+ import httpx
11
+
12
+ from ._exceptions import APIConnectionError, APIStatusError
13
+ from ._streaming import AsyncStream, Stream
14
+
15
+ T = TypeVar("T")
16
+
17
+ _INITIAL_BACKOFF = 0.5
18
+ _MAX_BACKOFF = 10.0
19
+ _HEALTHY_RESET_AFTER = 5.0
20
+ _TERMINAL_EVENT_TYPES = frozenset({"session.status_terminated", "session.deleted"})
21
+
22
+ Retryable = Callable[[httpx.Request, httpx.Response | None], bool]
23
+
24
+
25
+ def _is_terminal_event(event: object) -> bool:
26
+ return getattr(event, "type", None) in _TERMINAL_EVENT_TYPES
27
+
28
+
29
+ class ResumableStream(Generic[T], Iterator[T]):
30
+ def __init__(
31
+ self,
32
+ *,
33
+ open_stream: Callable[[str | None], Stream[T]],
34
+ retryable: Retryable,
35
+ last_event_id: str | None,
36
+ ) -> None:
37
+ self._open_stream = open_stream
38
+ self._retryable = retryable
39
+ self._last_event_id = last_event_id
40
+ self._backoff = _INITIAL_BACKOFF
41
+ self._closed = threading.Event()
42
+ self._stream: Stream[T] | None = None
43
+ self._iterator = self._iter_events()
44
+
45
+ @property
46
+ def last_event_id(self) -> str | None:
47
+ return self._last_event_id
48
+
49
+ def __next__(self) -> T:
50
+ return next(self._iterator)
51
+
52
+ def _iter_events(self) -> Iterator[T]:
53
+ while not self._closed.is_set():
54
+ connected_at: float | None = None
55
+ connected_for: float | None = None
56
+ stream: Stream[T] | None = None
57
+ try:
58
+ stream = self._open_stream(self._last_event_id)
59
+ self._stream = stream
60
+ connected_at = monotonic()
61
+ if self._closed.is_set():
62
+ return
63
+ for event in stream:
64
+ if self._closed.is_set():
65
+ return
66
+ if stream.last_event_id:
67
+ self._last_event_id = stream.last_event_id
68
+ terminal = _is_terminal_event(event)
69
+ yield event
70
+ if terminal:
71
+ return
72
+ except APIConnectionError as exc:
73
+ if self._closed.is_set():
74
+ return
75
+ if not self._retryable(exc.request, None):
76
+ raise
77
+ except APIStatusError as exc:
78
+ if self._closed.is_set():
79
+ return
80
+ if not self._retryable(exc.request, exc.response):
81
+ raise
82
+ finally:
83
+ if connected_at is not None:
84
+ connected_for = monotonic() - connected_at
85
+ if stream is not None:
86
+ stream.close()
87
+ self._stream = None
88
+
89
+ if self._closed.is_set():
90
+ return
91
+ if connected_for is not None and connected_for >= _HEALTHY_RESET_AFTER:
92
+ self._backoff = _INITIAL_BACKOFF
93
+ delay = random.uniform(self._backoff / 2, self._backoff)
94
+ self._backoff = min(self._backoff * 2, _MAX_BACKOFF)
95
+ if self._closed.wait(delay):
96
+ return
97
+
98
+ def close(self) -> None:
99
+ self._closed.set()
100
+ if self._stream is not None:
101
+ self._stream.close()
102
+
103
+ def __enter__(self) -> ResumableStream[T]:
104
+ return self
105
+
106
+ def __exit__(self, *_: object) -> None:
107
+ self.close()
108
+
109
+
110
+ class AsyncResumableStream(Generic[T], AsyncIterator[T]):
111
+ def __init__(
112
+ self,
113
+ *,
114
+ open_stream: Callable[[str | None], Awaitable[AsyncStream[T]]],
115
+ retryable: Retryable,
116
+ last_event_id: str | None,
117
+ ) -> None:
118
+ self._open_stream = open_stream
119
+ self._retryable = retryable
120
+ self._last_event_id = last_event_id
121
+ self._backoff = _INITIAL_BACKOFF
122
+ self._closed = False
123
+ self._close_event: anyio.Event | None = None
124
+ self._cancel_scope: anyio.CancelScope | None = None
125
+ self._stream: AsyncStream[T] | None = None
126
+ self._iterator = self._iter_events()
127
+
128
+ @property
129
+ def last_event_id(self) -> str | None:
130
+ return self._last_event_id
131
+
132
+ async def __anext__(self) -> T:
133
+ return await self._iterator.__anext__()
134
+
135
+ async def _open_next_stream(self) -> AsyncStream[T] | None:
136
+ stream: AsyncStream[T] | None = None
137
+ with anyio.CancelScope() as cancel_scope:
138
+ self._cancel_scope = cancel_scope
139
+ if self._closed:
140
+ cancel_scope.cancel()
141
+ try:
142
+ stream = await self._open_stream(self._last_event_id)
143
+ finally:
144
+ if self._cancel_scope is cancel_scope:
145
+ self._cancel_scope = None
146
+ return stream
147
+
148
+ async def _next_event(self, stream: AsyncStream[T]) -> tuple[bool, T | None]:
149
+ event: T | None = None
150
+ exhausted = False
151
+ with anyio.CancelScope() as cancel_scope:
152
+ self._cancel_scope = cancel_scope
153
+ if self._closed:
154
+ cancel_scope.cancel()
155
+ try:
156
+ event = await stream.__anext__()
157
+ except StopAsyncIteration:
158
+ exhausted = True
159
+ finally:
160
+ if self._cancel_scope is cancel_scope:
161
+ self._cancel_scope = None
162
+ return exhausted, event
163
+
164
+ async def _close_stream(self, stream: AsyncStream[T]) -> None:
165
+ if self._stream is not stream:
166
+ return
167
+ self._stream = None
168
+ await stream.close()
169
+
170
+ async def _iter_events(self) -> AsyncIterator[T]:
171
+ while not self._closed:
172
+ connected_at: float | None = None
173
+ connected_for: float | None = None
174
+ stream: AsyncStream[T] | None = None
175
+ try:
176
+ stream = await self._open_next_stream()
177
+ if stream is None:
178
+ return
179
+ self._stream = stream
180
+ connected_at = monotonic()
181
+ if self._closed:
182
+ return
183
+ while not self._closed:
184
+ exhausted, event = await self._next_event(stream)
185
+ if self._closed:
186
+ return
187
+ if exhausted:
188
+ break
189
+ if event is None:
190
+ raise RuntimeError("stream read was interrupted without closing")
191
+ if stream.last_event_id:
192
+ self._last_event_id = stream.last_event_id
193
+ terminal = _is_terminal_event(event)
194
+ yield event
195
+ if terminal:
196
+ return
197
+ except APIConnectionError as exc:
198
+ if self._closed:
199
+ return
200
+ if not self._retryable(exc.request, None):
201
+ raise
202
+ except APIStatusError as exc:
203
+ if self._closed:
204
+ return
205
+ if not self._retryable(exc.request, exc.response):
206
+ raise
207
+ finally:
208
+ if connected_at is not None:
209
+ connected_for = monotonic() - connected_at
210
+ if stream is not None:
211
+ with anyio.CancelScope(shield=True):
212
+ await self._close_stream(stream)
213
+
214
+ if self._closed:
215
+ return
216
+ if connected_for is not None and connected_for >= _HEALTHY_RESET_AFTER:
217
+ self._backoff = _INITIAL_BACKOFF
218
+ delay = random.uniform(self._backoff / 2, self._backoff)
219
+ self._backoff = min(self._backoff * 2, _MAX_BACKOFF)
220
+ close_event = anyio.Event()
221
+ self._close_event = close_event
222
+ if self._closed:
223
+ close_event.set()
224
+ with anyio.move_on_after(delay):
225
+ await close_event.wait()
226
+ self._close_event = None
227
+
228
+ async def close(self) -> None:
229
+ if self._closed:
230
+ return
231
+ self._closed = True
232
+ if self._close_event is not None:
233
+ self._close_event.set()
234
+ if self._cancel_scope is not None:
235
+ self._cancel_scope.cancel()
236
+ if self._stream is not None:
237
+ with anyio.CancelScope(shield=True):
238
+ await self._close_stream(self._stream)
239
+
240
+ async def __aenter__(self) -> AsyncResumableStream[T]:
241
+ return self
242
+
243
+ async def __aexit__(self, *_: object) -> None:
244
+ await self.close()