qca-sdk 0.0.1.dev5__tar.gz → 0.2.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 (654) hide show
  1. qca_sdk-0.2.0/Makefile +33 -0
  2. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/PKG-INFO +66 -19
  3. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/README.md +61 -17
  4. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/common/live.py +5 -112
  5. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/forward/__main__.py +6 -0
  6. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/forward/batch.py +19 -47
  7. qca_sdk-0.2.0/examples/forward/conversation.py +70 -0
  8. qca_sdk-0.2.0/examples/forward/identity_config.py +80 -0
  9. qca_sdk-0.2.0/examples/forward/memory.py +92 -0
  10. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/forward/resources.py +27 -18
  11. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/forward/schedule.py +10 -9
  12. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/forward/session.py +12 -17
  13. qca_sdk-0.2.0/examples/forward/streaming_deltas.py +84 -0
  14. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/managed/__main__.py +6 -0
  15. qca_sdk-0.2.0/examples/managed/conversation.py +66 -0
  16. qca_sdk-0.2.0/examples/managed/custom_tools.py +129 -0
  17. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/managed/deployment.py +8 -11
  18. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/managed/dream.py +5 -10
  19. qca_sdk-0.2.0/examples/managed/memory.py +83 -0
  20. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/managed/resources.py +27 -18
  21. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/managed/session.py +12 -17
  22. qca_sdk-0.2.0/examples/managed/streaming_deltas.py +80 -0
  23. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/pyproject.toml +11 -5
  24. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/__init__.py +6 -0
  25. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/common/__init__.py +6 -0
  26. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/common/_base_client.py +51 -43
  27. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/common/_exceptions.py +10 -0
  28. qca_sdk-0.2.0/src/qca/common/_models.py +79 -0
  29. qca_sdk-0.2.0/src/qca/common/_resumable_streaming.py +244 -0
  30. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/common/_streaming.py +7 -6
  31. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/sessions/events.py +80 -0
  32. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/sessions/events.py +86 -2
  33. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_event_stream_params.py +1 -0
  34. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca_sdk.egg-info/PKG-INFO +66 -19
  35. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca_sdk.egg-info/SOURCES.txt +15 -5
  36. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca_sdk.egg-info/requires.txt +5 -1
  37. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/tests/test_client.py +33 -11
  38. qca_sdk-0.2.0/tests/test_docs_check.py +21 -0
  39. qca_sdk-0.2.0/tests/test_generate_docs.py +56 -0
  40. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/tests/test_pagination.py +8 -7
  41. qca_sdk-0.2.0/tests/test_public_contract.py +192 -0
  42. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/tests/test_resource_surface.py +13 -2
  43. qca_sdk-0.2.0/tests/test_response_alignment.py +264 -0
  44. qca_sdk-0.2.0/tests/test_resumable_streaming.py +572 -0
  45. qca_sdk-0.2.0/tests/test_scenarios_offline.py +196 -0
  46. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/tests/test_streaming.py +5 -3
  47. qca_sdk-0.2.0/tests/test_strict_integration_offline.py +90 -0
  48. qca_sdk-0.0.1.dev5/Makefile +0 -27
  49. qca_sdk-0.0.1.dev5/examples/conftest.py +0 -25
  50. qca_sdk-0.0.1.dev5/examples/forward/memory.py +0 -66
  51. qca_sdk-0.0.1.dev5/examples/forward/test_live.py +0 -12
  52. qca_sdk-0.0.1.dev5/examples/managed/memory.py +0 -52
  53. qca_sdk-0.0.1.dev5/examples/managed/test_live.py +0 -12
  54. qca_sdk-0.0.1.dev5/src/qca/common/_models.py +0 -33
  55. qca_sdk-0.0.1.dev5/tests/test_examples.py +0 -506
  56. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/.env.live.example +0 -0
  57. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/LICENSE +0 -0
  58. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/MANIFEST.in +0 -0
  59. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/__init__.py +0 -0
  60. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/common/__init__.py +0 -0
  61. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/forward/__init__.py +0 -0
  62. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/forward/_cleanup.py +0 -0
  63. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/forward/async_session.py +0 -0
  64. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/forward/models.py +0 -0
  65. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/managed/__init__.py +0 -0
  66. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/managed/_cleanup.py +0 -0
  67. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/managed/async_session.py +0 -0
  68. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/examples/managed/models.py +0 -0
  69. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/setup.cfg +0 -0
  70. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/_version.py +0 -0
  71. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/common/_files.py +0 -0
  72. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/common/_platform.py +0 -0
  73. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/common/_resource.py +0 -0
  74. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/common/_response.py +0 -0
  75. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/common/_types.py +0 -0
  76. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/common/_utils.py +0 -0
  77. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/common/credentials.py +0 -0
  78. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/common/pagination.py +0 -0
  79. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/__init__.py +0 -0
  80. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/_client.py +0 -0
  81. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/__init__.py +0 -0
  82. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/batches/__init__.py +0 -0
  83. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/batches/batches.py +0 -0
  84. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/batches/tasks.py +0 -0
  85. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/channel_pairings.py +0 -0
  86. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/channels/__init__.py +0 -0
  87. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/channels/channels.py +0 -0
  88. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/channels/qr_sessions.py +0 -0
  89. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/environments.py +0 -0
  90. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/files.py +0 -0
  91. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/identities/__init__.py +0 -0
  92. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/identities/configs.py +0 -0
  93. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/identities/identities.py +0 -0
  94. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/identities/memory_stores.py +0 -0
  95. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/memory_stores/__init__.py +0 -0
  96. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/memory_stores/memories.py +0 -0
  97. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/memory_stores/memory_stores.py +0 -0
  98. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/memory_stores/memory_versions.py +0 -0
  99. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/models.py +0 -0
  100. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/schedule_runs.py +0 -0
  101. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/schedules.py +0 -0
  102. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/sessions/__init__.py +0 -0
  103. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/sessions/resources.py +0 -0
  104. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/sessions/sessions.py +0 -0
  105. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/sessions/threads/__init__.py +0 -0
  106. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/sessions/threads/events.py +0 -0
  107. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/sessions/threads/threads.py +0 -0
  108. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/skills/__init__.py +0 -0
  109. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/skills/skills.py +0 -0
  110. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/skills/versions.py +0 -0
  111. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/templates.py +0 -0
  112. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/vaults/__init__.py +0 -0
  113. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/vaults/credentials.py +0 -0
  114. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/resources/vaults/vaults.py +0 -0
  115. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/__init__.py +0 -0
  116. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/batch.py +0 -0
  117. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/batch_cancel_params.py +0 -0
  118. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/batch_create_params.py +0 -0
  119. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/batch_file.py +0 -0
  120. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/batch_list_params.py +0 -0
  121. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/batch_request_counts.py +0 -0
  122. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/batch_task.py +0 -0
  123. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/batch_task_artifacts_item.py +0 -0
  124. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/batch_task_error.py +0 -0
  125. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/batch_task_list_params.py +0 -0
  126. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/batch_task_usage.py +0 -0
  127. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/batch_usage.py +0 -0
  128. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/channel.py +0 -0
  129. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/channel_channel_config.py +0 -0
  130. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/channel_channel_config_response_options.py +0 -0
  131. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/channel_create_params.py +0 -0
  132. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/channel_identity_resolution.py +0 -0
  133. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/channel_list_params.py +0 -0
  134. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/channel_pairing.py +0 -0
  135. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/channel_pairing_create_params.py +0 -0
  136. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/channel_qr_session.py +0 -0
  137. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/channel_qr_session_create_params.py +0 -0
  138. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/channel_update_params.py +0 -0
  139. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/content_block_param.py +0 -0
  140. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/deleted_channel.py +0 -0
  141. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/deleted_channel_pairing.py +0 -0
  142. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/deleted_identity.py +0 -0
  143. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/deleted_memory.py +0 -0
  144. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/deleted_memory_store.py +0 -0
  145. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/deleted_memory_store_mount.py +0 -0
  146. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/deleted_skill_version.py +0 -0
  147. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/effective_config.py +0 -0
  148. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/effective_config_agent.py +0 -0
  149. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/effective_config_agent_tools_item.py +0 -0
  150. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/effective_config_agent_tools_item_configs_item.py +0 -0
  151. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/effective_config_session.py +0 -0
  152. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/effective_config_session_resources_item.py +0 -0
  153. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/environment.py +0 -0
  154. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/environment_config.py +0 -0
  155. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/environment_config_packages.py +0 -0
  156. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/environment_create_params.py +0 -0
  157. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/environment_list_params.py +0 -0
  158. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/environment_update_params.py +0 -0
  159. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/environment_variable_override.py +0 -0
  160. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/environment_variable_override_param.py +0 -0
  161. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/file_list_params.py +0 -0
  162. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/file_metadata.py +0 -0
  163. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/file_upload_params.py +0 -0
  164. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/git_hub_repository.py +0 -0
  165. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/git_hub_repository_param.py +0 -0
  166. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/identity.py +0 -0
  167. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/identity_clear_params.py +0 -0
  168. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/identity_clear_response.py +0 -0
  169. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/identity_clear_response_summary.py +0 -0
  170. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/identity_config.py +0 -0
  171. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/identity_config_list_params.py +0 -0
  172. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/identity_config_spec.py +0 -0
  173. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/identity_config_spec_param.py +0 -0
  174. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/identity_config_upsert_params.py +0 -0
  175. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/identity_create_params.py +0 -0
  176. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/identity_list_params.py +0 -0
  177. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/identity_list_templates_response.py +0 -0
  178. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/identity_memory_store_list_response.py +0 -0
  179. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/identity_memory_store_mount_params.py +0 -0
  180. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/identity_stats.py +0 -0
  181. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/identity_template.py +0 -0
  182. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/identity_update_params.py +0 -0
  183. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/image_source_param.py +0 -0
  184. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/mcp_server.py +0 -0
  185. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/mcp_server_override.py +0 -0
  186. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/mcp_server_override_param.py +0 -0
  187. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/mcp_server_param.py +0 -0
  188. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/memory.py +0 -0
  189. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/memory_store.py +0 -0
  190. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/memory_store_create_params.py +0 -0
  191. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/memory_store_list_params.py +0 -0
  192. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/memory_store_memory_create_params.py +0 -0
  193. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/memory_store_memory_list_params.py +0 -0
  194. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/memory_store_memory_update_params.py +0 -0
  195. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/memory_store_memory_version_list_params.py +0 -0
  196. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/memory_store_mount.py +0 -0
  197. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/memory_store_update_params.py +0 -0
  198. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/memory_version.py +0 -0
  199. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/model.py +0 -0
  200. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/model_config.py +0 -0
  201. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/model_config_param.py +0 -0
  202. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/model_list_response.py +0 -0
  203. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/multiagent_config.py +0 -0
  204. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/multiagent_config_param.py +0 -0
  205. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/multiagent_entry.py +0 -0
  206. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/multiagent_entry_param.py +0 -0
  207. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/permission_policy.py +0 -0
  208. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/permission_policy_param.py +0 -0
  209. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/resource_binding.py +0 -0
  210. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/resource_binding_param.py +0 -0
  211. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule.py +0 -0
  212. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_archive_many_params.py +0 -0
  213. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_archive_many_response.py +0 -0
  214. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_archive_params.py +0 -0
  215. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_create_params.py +0 -0
  216. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_execution.py +0 -0
  217. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_initial_events_item.py +0 -0
  218. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_list_params.py +0 -0
  219. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_pause_params.py +0 -0
  220. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_paused_reason.py +0 -0
  221. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_run.py +0 -0
  222. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_run_list_params.py +0 -0
  223. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_run_params.py +0 -0
  224. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_run_retrieve_params.py +0 -0
  225. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_run_trigger_context.py +0 -0
  226. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_sinks_item.py +0 -0
  227. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_sinks_item_target.py +0 -0
  228. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_trigger_policy.py +0 -0
  229. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_unpause_params.py +0 -0
  230. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/schedule_update_params.py +0 -0
  231. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session.py +0 -0
  232. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_archive_params.py +0 -0
  233. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_cancel_params.py +0 -0
  234. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_config.py +0 -0
  235. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_create_params.py +0 -0
  236. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_create_params_config_param.py +0 -0
  237. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_event.py +0 -0
  238. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_event_list_params.py +0 -0
  239. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_event_param.py +0 -0
  240. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_event_send_params.py +0 -0
  241. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_event_send_response.py +0 -0
  242. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_event_stream_params.py +0 -0
  243. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_list_params.py +0 -0
  244. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_resource.py +0 -0
  245. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_resource_add_params.py +0 -0
  246. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_resource_spec_param.py +0 -0
  247. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_stats.py +0 -0
  248. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_template.py +0 -0
  249. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_thread.py +0 -0
  250. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_thread_archive_params.py +0 -0
  251. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_thread_event_list_params.py +0 -0
  252. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_thread_event_stream_params.py +0 -0
  253. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_thread_list_params.py +0 -0
  254. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_thread_stop_reason.py +0 -0
  255. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_update_params.py +0 -0
  256. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_update_params_config_param.py +0 -0
  257. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/session_usage.py +0 -0
  258. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/skill.py +0 -0
  259. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/skill_binding.py +0 -0
  260. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/skill_binding_param.py +0 -0
  261. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/skill_create_params.py +0 -0
  262. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/skill_list_params.py +0 -0
  263. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/skill_override.py +0 -0
  264. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/skill_override_param.py +0 -0
  265. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/skill_retrieve_params.py +0 -0
  266. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/skill_update_params.py +0 -0
  267. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/skill_version.py +0 -0
  268. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/skill_version_create_params.py +0 -0
  269. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/skill_version_list_params.py +0 -0
  270. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/system_override.py +0 -0
  271. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/system_override_param.py +0 -0
  272. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/template.py +0 -0
  273. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/template_archive_params.py +0 -0
  274. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/template_clone_params.py +0 -0
  275. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/template_create_params.py +0 -0
  276. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/template_list_params.py +0 -0
  277. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/template_update_params.py +0 -0
  278. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/tool.py +0 -0
  279. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/tool_config.py +0 -0
  280. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/tool_config_param.py +0 -0
  281. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/tool_override.py +0 -0
  282. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/tool_override_param.py +0 -0
  283. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/tool_param.py +0 -0
  284. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/vault.py +0 -0
  285. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/vault_create_params.py +0 -0
  286. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/vault_credential.py +0 -0
  287. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/vault_credential_auth.py +0 -0
  288. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/vault_credential_create_params.py +0 -0
  289. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/vault_credential_list_params.py +0 -0
  290. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/forward/types/vault_list_params.py +0 -0
  291. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/__init__.py +0 -0
  292. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/_client.py +0 -0
  293. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/__init__.py +0 -0
  294. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/agents/__init__.py +0 -0
  295. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/agents/agents.py +0 -0
  296. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/agents/versions.py +0 -0
  297. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/deployment_runs.py +0 -0
  298. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/deployments.py +0 -0
  299. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/dreams.py +0 -0
  300. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/environments/__init__.py +0 -0
  301. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/environments/environments.py +0 -0
  302. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/environments/work.py +0 -0
  303. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/files.py +0 -0
  304. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/memory_stores/__init__.py +0 -0
  305. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/memory_stores/memories.py +0 -0
  306. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/memory_stores/memory_stores.py +0 -0
  307. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/memory_stores/memory_versions.py +0 -0
  308. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/models.py +0 -0
  309. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/sessions/__init__.py +0 -0
  310. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/sessions/resources.py +0 -0
  311. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/sessions/sessions.py +0 -0
  312. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/sessions/threads/__init__.py +0 -0
  313. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/sessions/threads/events.py +0 -0
  314. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/sessions/threads/threads.py +0 -0
  315. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/skills/__init__.py +0 -0
  316. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/skills/skills.py +0 -0
  317. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/skills/versions.py +0 -0
  318. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/vaults/__init__.py +0 -0
  319. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/vaults/credentials.py +0 -0
  320. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/resources/vaults/vaults.py +0 -0
  321. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/__init__.py +0 -0
  322. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/actor_union.py +0 -0
  323. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/advisor_params.py +0 -0
  324. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent.py +0 -0
  325. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_archive_params.py +0 -0
  326. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_create_params.py +0 -0
  327. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_list_params.py +0 -0
  328. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_mcp_tool_result_event_content_union.py +0 -0
  329. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_message_event_content_union.py +0 -0
  330. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_params.py +0 -0
  331. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_reference.py +0 -0
  332. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_retrieve_params.py +0 -0
  333. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_skill_union.py +0 -0
  334. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_thread_message_received_event_content_union.py +0 -0
  335. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_thread_message_received_event_content_union_source.py +0 -0
  336. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_thread_message_sent_event_content_union.py +0 -0
  337. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_thread_message_sent_event_content_union_source.py +0 -0
  338. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_tool_config_union.py +0 -0
  339. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_tool_config_union_permission_policy.py +0 -0
  340. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_tool_result_event_content_union.py +0 -0
  341. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_tool_union.py +0 -0
  342. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_tool_union_default_config.py +0 -0
  343. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_tool_union_default_config_permission_policy.py +0 -0
  344. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_toolset20260401_params.py +0 -0
  345. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_toolset_default_config_params.py +0 -0
  346. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_update_params.py +0 -0
  347. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_version_list_params.py +0 -0
  348. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/agent_with_overrides_params.py +0 -0
  349. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/always_allow_policy_param.py +0 -0
  350. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/always_ask_policy_param.py +0 -0
  351. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/base64_document_source_param.py +0 -0
  352. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/base64_image_source_param.py +0 -0
  353. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/bash_tool_config_params.py +0 -0
  354. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/branch_checkout_param.py +0 -0
  355. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/budget_limit.py +0 -0
  356. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/budget_limit_param.py +0 -0
  357. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/cache_creation_usage.py +0 -0
  358. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/capability_support.py +0 -0
  359. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/cloud_config_networking_union.py +0 -0
  360. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/cloud_config_params.py +0 -0
  361. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/commit_checkout_param.py +0 -0
  362. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/context_management_capability.py +0 -0
  363. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/credential.py +0 -0
  364. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/credential_auth_union.py +0 -0
  365. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/credential_validation.py +0 -0
  366. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/custom_skill_params.py +0 -0
  367. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/custom_tool_input_schema.py +0 -0
  368. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/custom_tool_input_schema_param.py +0 -0
  369. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/custom_tool_params.py +0 -0
  370. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/delete_session_resource.py +0 -0
  371. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deleted_credential.py +0 -0
  372. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deleted_file.py +0 -0
  373. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deleted_memory.py +0 -0
  374. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deleted_memory_store.py +0 -0
  375. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deleted_session.py +0 -0
  376. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deleted_skill.py +0 -0
  377. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deleted_skill_version.py +0 -0
  378. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deleted_vault.py +0 -0
  379. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/delta_content.py +0 -0
  380. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment.py +0 -0
  381. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment_archive_params.py +0 -0
  382. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment_create_params.py +0 -0
  383. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment_initial_event_union.py +0 -0
  384. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment_list_params.py +0 -0
  385. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment_pause_params.py +0 -0
  386. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment_paused_reason_error_union.py +0 -0
  387. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment_paused_reason_union.py +0 -0
  388. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment_retrieve_params.py +0 -0
  389. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment_run.py +0 -0
  390. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment_run_error_union.py +0 -0
  391. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment_run_list_params.py +0 -0
  392. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment_run_params.py +0 -0
  393. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment_run_retrieve_params.py +0 -0
  394. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment_unpause_params.py +0 -0
  395. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment_update_params.py +0 -0
  396. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment_user_define_outcome_event_rubric_union.py +0 -0
  397. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment_user_message_event_content_union.py +0 -0
  398. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/deployment_user_message_event_content_union_source.py +0 -0
  399. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/document_block_param.py +0 -0
  400. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/dream.py +0 -0
  401. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/dream_archive_params.py +0 -0
  402. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/dream_cancel_params.py +0 -0
  403. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/dream_create_params.py +0 -0
  404. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/dream_error.py +0 -0
  405. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/dream_input_union.py +0 -0
  406. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/dream_list_params.py +0 -0
  407. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/dream_memory_store_input_param.py +0 -0
  408. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/dream_model_config.py +0 -0
  409. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/dream_model_config_param.py +0 -0
  410. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/dream_output.py +0 -0
  411. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/dream_retrieve_params.py +0 -0
  412. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/dream_sessions_input_param.py +0 -0
  413. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/dream_usage.py +0 -0
  414. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/edit_tool_config_params.py +0 -0
  415. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/effort_capability.py +0 -0
  416. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/effort_high_param.py +0 -0
  417. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/effort_low_param.py +0 -0
  418. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/effort_max_param.py +0 -0
  419. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/effort_medium_param.py +0 -0
  420. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/effort_xhigh_param.py +0 -0
  421. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment.py +0 -0
  422. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_archive_params.py +0 -0
  423. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_config_union.py +0 -0
  424. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_create_params.py +0 -0
  425. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_delete_params.py +0 -0
  426. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_delete_response.py +0 -0
  427. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_list_params.py +0 -0
  428. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_retrieve_params.py +0 -0
  429. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_update_params.py +0 -0
  430. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_variable_auth_response_networking_union.py +0 -0
  431. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_variable_create_params.py +0 -0
  432. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_variable_update_params.py +0 -0
  433. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_work_ack_params.py +0 -0
  434. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_work_heartbeat_params.py +0 -0
  435. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_work_list_params.py +0 -0
  436. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_work_poll_params.py +0 -0
  437. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_work_retrieve_params.py +0 -0
  438. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_work_stats_params.py +0 -0
  439. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_work_stop_params.py +0 -0
  440. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/environment_work_update_params.py +0 -0
  441. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/file_delete_params.py +0 -0
  442. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/file_document_source_param.py +0 -0
  443. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/file_download_params.py +0 -0
  444. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/file_get_metadata_params.py +0 -0
  445. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/file_image_source_param.py +0 -0
  446. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/file_list_params.py +0 -0
  447. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/file_metadata.py +0 -0
  448. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/file_resource.py +0 -0
  449. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/file_resource_params.py +0 -0
  450. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/file_rubric_params.py +0 -0
  451. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/file_scope.py +0 -0
  452. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/file_upload_params.py +0 -0
  453. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/git_hub_repository_resource_checkout_union.py +0 -0
  454. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/git_hub_repository_resource_config_checkout_union.py +0 -0
  455. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/git_hub_repository_resource_params.py +0 -0
  456. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/glob_tool_config_params.py +0 -0
  457. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/grep_tool_config_params.py +0 -0
  458. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/image_block_param.py +0 -0
  459. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/injection_location_params.py +0 -0
  460. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/injection_location_response.py +0 -0
  461. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/injection_location_update_params.py +0 -0
  462. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/limited_credential_networking_params.py +0 -0
  463. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/limited_network_params.py +0 -0
  464. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/mcp_probe.py +0 -0
  465. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/mcp_server_url_definition.py +0 -0
  466. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/mcp_tool_config.py +0 -0
  467. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/mcp_tool_config_params.py +0 -0
  468. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/mcp_tool_config_permission_policy_union.py +0 -0
  469. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/mcp_toolset_default_config_params.py +0 -0
  470. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/mcp_toolset_params.py +0 -0
  471. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/mcpo_auth_create_params.py +0 -0
  472. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/mcpo_auth_refresh_params.py +0 -0
  473. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/mcpo_auth_refresh_response.py +0 -0
  474. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/mcpo_auth_refresh_response_token_endpoint_auth_union.py +0 -0
  475. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/mcpo_auth_refresh_update_params.py +0 -0
  476. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/mcpo_auth_update_params.py +0 -0
  477. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory.py +0 -0
  478. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory_list_item_union.py +0 -0
  479. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory_store.py +0 -0
  480. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory_store_archive_params.py +0 -0
  481. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory_store_create_params.py +0 -0
  482. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory_store_delete_params.py +0 -0
  483. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory_store_list_params.py +0 -0
  484. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory_store_memory_create_params.py +0 -0
  485. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory_store_memory_delete_params.py +0 -0
  486. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory_store_memory_list_params.py +0 -0
  487. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory_store_memory_retrieve_params.py +0 -0
  488. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory_store_memory_update_params.py +0 -0
  489. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory_store_memory_version_list_params.py +0 -0
  490. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory_store_memory_version_redact_params.py +0 -0
  491. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory_store_memory_version_retrieve_params.py +0 -0
  492. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory_store_resource_param.py +0 -0
  493. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory_store_retrieve_params.py +0 -0
  494. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory_store_update_params.py +0 -0
  495. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/memory_version.py +0 -0
  496. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/model_capabilities.py +0 -0
  497. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/model_config.py +0 -0
  498. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/model_config_effort_union.py +0 -0
  499. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/model_config_params.py +0 -0
  500. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/model_info.py +0 -0
  501. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/model_list_params.py +0 -0
  502. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/monetary_amount.py +0 -0
  503. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/monetary_amount_param.py +0 -0
  504. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/multiagent.py +0 -0
  505. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/multiagent_agent_union.py +0 -0
  506. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/multiagent_params.py +0 -0
  507. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/multiagent_self_params.py +0 -0
  508. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/outcome_evaluation_resource.py +0 -0
  509. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/output_behavior_create_new_param.py +0 -0
  510. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/output_behavior_union.py +0 -0
  511. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/output_behavior_update_existing_param.py +0 -0
  512. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/packages.py +0 -0
  513. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/packages_params.py +0 -0
  514. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/plain_text_document_source_param.py +0 -0
  515. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/precondition_param.py +0 -0
  516. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/qoder_skill_params.py +0 -0
  517. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/read_tool_config_params.py +0 -0
  518. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/redacted_block_param.py +0 -0
  519. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/refresh_http_response.py +0 -0
  520. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/refresh_object.py +0 -0
  521. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/schedule.py +0 -0
  522. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/schedule_params.py +0 -0
  523. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/search_result_block_param.py +0 -0
  524. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/search_result_citations.py +0 -0
  525. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/search_result_citations_param.py +0 -0
  526. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/search_result_content.py +0 -0
  527. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/search_result_content_param.py +0 -0
  528. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/self_hosted_config_params.py +0 -0
  529. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/self_hosted_work.py +0 -0
  530. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/self_hosted_work_heartbeat_response.py +0 -0
  531. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/self_hosted_work_queue_stats.py +0 -0
  532. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/send_session_events.py +0 -0
  533. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/send_session_events_data_union.py +0 -0
  534. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/server_tool_usage.py +0 -0
  535. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session.py +0 -0
  536. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_agent.py +0 -0
  537. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_agent_skill_union.py +0 -0
  538. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_agent_tool_union.py +0 -0
  539. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_agent_tool_union_default_config.py +0 -0
  540. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_agent_tool_union_default_config_permission_policy.py +0 -0
  541. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_agent_update_param.py +0 -0
  542. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_archive_params.py +0 -0
  543. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_create_params.py +0 -0
  544. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_delete_params.py +0 -0
  545. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_error_event_error_union.py +0 -0
  546. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_error_event_error_union_retry_status.py +0 -0
  547. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_event.py +0 -0
  548. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_event_list_params.py +0 -0
  549. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_event_send_params.py +0 -0
  550. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_event_stop_reason.py +0 -0
  551. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_event_usage.py +0 -0
  552. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_list_params.py +0 -0
  553. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_multiagent_coordinator.py +0 -0
  554. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_multiagent_coordinator_agent_union.py +0 -0
  555. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_resource_add_params.py +0 -0
  556. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_resource_config_union.py +0 -0
  557. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_resource_delete_params.py +0 -0
  558. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_resource_get_response_union.py +0 -0
  559. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_resource_list_params.py +0 -0
  560. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_resource_retrieve_params.py +0 -0
  561. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_resource_union.py +0 -0
  562. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_resource_update_params.py +0 -0
  563. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_resource_update_response_union.py +0 -0
  564. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_retrieve_params.py +0 -0
  565. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_stats.py +0 -0
  566. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_stream_event.py +0 -0
  567. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_stream_event_stop_reason.py +0 -0
  568. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_stream_event_usage.py +0 -0
  569. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_thread.py +0 -0
  570. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_thread_agent_skill_union.py +0 -0
  571. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_thread_agent_tool_union.py +0 -0
  572. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_thread_agent_tool_union_default_config.py +0 -0
  573. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_thread_agent_tool_union_default_config_permission_policy.py +0 -0
  574. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_thread_agent_union.py +0 -0
  575. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_thread_archive_params.py +0 -0
  576. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_thread_event_list_params.py +0 -0
  577. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_thread_event_stream_params.py +0 -0
  578. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_thread_list_params.py +0 -0
  579. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_thread_retrieve_params.py +0 -0
  580. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_thread_stats.py +0 -0
  581. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_thread_usage.py +0 -0
  582. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_update_params.py +0 -0
  583. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_usage.py +0 -0
  584. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/session_work_data.py +0 -0
  585. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/skill.py +0 -0
  586. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/skill_create_params.py +0 -0
  587. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/skill_delete_params.py +0 -0
  588. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/skill_list_params.py +0 -0
  589. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/skill_retrieve_params.py +0 -0
  590. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/skill_source.py +0 -0
  591. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/skill_version.py +0 -0
  592. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/skill_version_create_params.py +0 -0
  593. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/skill_version_delete_params.py +0 -0
  594. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/skill_version_download_params.py +0 -0
  595. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/skill_version_list_params.py +0 -0
  596. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/skill_version_retrieve_params.py +0 -0
  597. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/span_model_usage.py +0 -0
  598. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/start_event_preview_union.py +0 -0
  599. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/static_bearer_create_params.py +0 -0
  600. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/static_bearer_update_params.py +0 -0
  601. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/stream_session_thread_events_union.py +0 -0
  602. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/stream_session_thread_events_union_stop_reason.py +0 -0
  603. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/stream_session_thread_events_union_usage.py +0 -0
  604. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/system_content_block.py +0 -0
  605. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/system_content_block_param.py +0 -0
  606. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/system_message_event_params.py +0 -0
  607. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/text_block.py +0 -0
  608. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/text_block_param.py +0 -0
  609. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/text_rubric_params.py +0 -0
  610. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/thinking_capability.py +0 -0
  611. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/thinking_types.py +0 -0
  612. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/token_endpoint_auth_basic_param.py +0 -0
  613. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/token_endpoint_auth_basic_update_param.py +0 -0
  614. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/token_endpoint_auth_none_param.py +0 -0
  615. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/token_endpoint_auth_post_param.py +0 -0
  616. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/token_endpoint_auth_post_update_param.py +0 -0
  617. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/trigger_context_union.py +0 -0
  618. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/unrestricted_credential_networking_params.py +0 -0
  619. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/unrestricted_network_param.py +0 -0
  620. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/url_document_source_param.py +0 -0
  621. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/url_image_source_param.py +0 -0
  622. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/urlmcp_server_params.py +0 -0
  623. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/user_custom_tool_result_event_content_union.py +0 -0
  624. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/user_custom_tool_result_event_params.py +0 -0
  625. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/user_define_outcome_event_params.py +0 -0
  626. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/user_define_outcome_event_rubric_union.py +0 -0
  627. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/user_interrupt_event_params.py +0 -0
  628. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/user_location.py +0 -0
  629. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/user_location_param.py +0 -0
  630. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/user_message_event_content_union.py +0 -0
  631. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/user_message_event_content_union_source.py +0 -0
  632. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/user_message_event_params.py +0 -0
  633. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/user_tool_confirmation_event_params.py +0 -0
  634. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/user_tool_result_event_content_union.py +0 -0
  635. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/user_tool_result_event_params.py +0 -0
  636. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/vault.py +0 -0
  637. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/vault_archive_params.py +0 -0
  638. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/vault_create_params.py +0 -0
  639. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/vault_credential_archive_params.py +0 -0
  640. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/vault_credential_create_params.py +0 -0
  641. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/vault_credential_delete_params.py +0 -0
  642. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/vault_credential_list_params.py +0 -0
  643. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/vault_credential_mcpo_auth_validate_params.py +0 -0
  644. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/vault_credential_retrieve_params.py +0 -0
  645. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/vault_credential_update_params.py +0 -0
  646. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/vault_delete_params.py +0 -0
  647. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/vault_list_params.py +0 -0
  648. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/vault_retrieve_params.py +0 -0
  649. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/web_fetch_tool_config_params.py +0 -0
  650. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/web_search_tool_config_params.py +0 -0
  651. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/managed/types/write_tool_config_params.py +0 -0
  652. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca/py.typed +0 -0
  653. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca_sdk.egg-info/dependency_links.txt +0 -0
  654. {qca_sdk-0.0.1.dev5 → qca_sdk-0.2.0}/src/qca_sdk.egg-info/top_level.txt +0 -0
qca_sdk-0.2.0/Makefile ADDED
@@ -0,0 +1,33 @@
1
+ PYTHON ?= python3
2
+ LIVE_ENV_FILE ?= .env.live
3
+ .DEFAULT_GOAL := test
4
+
5
+ .PHONY: test lint typecheck build docs docs-check test-live test-live-managed test-live-all
6
+
7
+ test:
8
+ $(PYTHON) -m pytest -q
9
+
10
+ docs:
11
+ uv run --python 3.12 --extra dev --locked python scripts/generate-docs.py
12
+
13
+ docs-check:
14
+ uv run --python 3.12 --extra dev --locked python scripts/docs-check.py
15
+
16
+ lint:
17
+ $(PYTHON) -m ruff check src tests examples scripts
18
+ $(PYTHON) -m ruff format --check src tests examples scripts
19
+
20
+ typecheck:
21
+ $(PYTHON) -m mypy src/qca scripts
22
+
23
+ build:
24
+ $(PYTHON) -m build
25
+
26
+ test-live:
27
+ QODER_RUN_LIVE=1 QODER_LIVE_ENV_FILE="$(LIVE_ENV_FILE)" $(PYTHON) -m pytest tests/integration/test_forward.py -m integration -v
28
+
29
+ test-live-managed:
30
+ QODER_RUN_LIVE=1 QODER_LIVE_ENV_FILE="$(LIVE_ENV_FILE)" $(PYTHON) -m pytest tests/integration/test_managed.py -m integration -v
31
+
32
+ test-live-all:
33
+ QODER_RUN_LIVE=1 QODER_LIVE_ENV_FILE="$(LIVE_ENV_FILE)" $(PYTHON) -m pytest tests/integration -m integration -v
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qca-sdk
3
- Version: 0.0.1.dev5
3
+ Version: 0.2.0
4
4
  Summary: Typed synchronous and asynchronous clients for Qoder Cloud Agents
5
5
  Author: Qoder
6
6
  License-Expression: MIT
@@ -27,11 +27,16 @@ Requires-Dist: pytest>=8; extra == "dev"
27
27
  Requires-Dist: pytest-asyncio>=0.24; extra == "dev"
28
28
  Requires-Dist: ruff>=0.11; extra == "dev"
29
29
  Requires-Dist: mypy>=1.15; extra == "dev"
30
- Requires-Dist: build>=1.2; extra == "dev"
30
+ Requires-Dist: build==1.6.1; extra == "dev"
31
+ Requires-Dist: pydoc-markdown<5,>=4; extra == "dev"
32
+ Provides-Extra: release
33
+ Requires-Dist: twine==7.0.0; extra == "release"
31
34
  Dynamic: license-file
32
35
 
33
36
  # Qoder Cloud Agents Python SDK
34
37
 
38
+ [Changelog](CHANGELOG.md) · [Releases](https://github.com/QoderAI/qoder-cloud-agents-sdk-python/releases)
39
+
35
40
  [![PyPI version](https://img.shields.io/pypi/v/qca-sdk.svg)](https://pypi.org/project/qca-sdk/)
36
41
 
37
42
  The Qoder Cloud Agents Python SDK provides access to the Qoder Cloud Agents API from Python 3.10+. It ships synchronous and natively asynchronous clients, typed request parameters and response models, automatic pagination, SSE streaming, and file transfer.
@@ -44,7 +49,7 @@ The API is exposed in two modes, and each has its own client, resources, and typ
44
49
  python -m pip install qca-sdk
45
50
  ```
46
51
 
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:
52
+ 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
53
 
49
54
  ```bash
50
55
  python -m pip install .
@@ -55,6 +60,22 @@ python -m pip install -e '.[dev]' # development environment
55
60
 
56
61
  Python 3.10 or newer. The runtime dependencies are `httpx`, `pydantic` v2, `anyio`, and `typing-extensions`; the package is typed and ships `py.typed`.
57
62
 
63
+ ## Generating documentation
64
+
65
+ The API reference under `docs/api/` is generated from the public source and
66
+ committed. Regenerate and verify it with:
67
+
68
+ ```bash
69
+ make docs # regenerate docs/api/ from src/qca
70
+ make docs-check # regenerate + drift/link/snippet checks (offline)
71
+ ```
72
+
73
+ Under the hood these run `pydoc-markdown` via `uv` on a pinned Python 3.12:
74
+
75
+ ```bash
76
+ uv run --python 3.12 --extra dev --locked pydoc-markdown pydoc-markdown.yml
77
+ ```
78
+
58
79
  ## Usage
59
80
 
60
81
  ```python
@@ -86,7 +107,7 @@ Explicit arguments take precedence over environment variables. The clients never
86
107
 
87
108
  ```python
88
109
  client = Forward(
89
- access_token="your-access-token",
110
+ pat="your-access-token",
90
111
  base_url="https://api.qoder.com.cn/api/v1/forward",
91
112
  timeout=30.0,
92
113
  max_retries=2,
@@ -190,26 +211,34 @@ Reuse one `session_id` for the whole conversation, and reuse one idempotency key
190
211
 
191
212
  ## Resuming a stream
192
213
 
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.
214
+ 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
215
 
195
216
  ```python
196
- from qca import APIConnectionError
217
+ with client.sessions.events.resumable_stream(
218
+ session_id,
219
+ last_event_id=saved_event_id,
220
+ event_deltas=["agent.message"],
221
+ ) as stream:
222
+ for event in stream:
223
+ saved_event_id = stream.last_event_id
224
+ print(event.type)
225
+ ```
197
226
 
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
227
+ The async form is a native async iterator and context manager; unlike `stream()`, constructing it does not require `await`:
228
+
229
+ ```python
230
+ async with client.sessions.events.resumable_stream(session_id) as stream:
231
+ async for event in stream:
232
+ print(event.type)
206
233
  ```
207
234
 
235
+ 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.
236
+
208
237
  Events are also readable after the fact through `client.sessions.events.list(session_id)`, which paginates like any other list method.
209
238
 
210
239
  ## Handling errors
211
240
 
212
- `APIConnectionError` is raised when the request never reached the API; `APITimeoutError` is its timeout subclass. A non-2xx status raises an `APIStatusError` subclass, and a response that cannot be decoded into its declared type raises `APIResponseValidationError`. All of them derive from `qca.APIError`.
241
+ `APIConnectionError` is raised when the request never reached the API; `APITimeoutError` is its timeout subclass. A non-2xx status raises an `APIStatusError` subclass. Invalid JSON, invalid download URLs, and response schema mismatches when strict response validation is enabled raise `APIResponseValidationError`. All of them derive from `qca.APIError`.
213
242
 
214
243
  ```python
215
244
  from qca import APIConnectionError, APIStatusError, APITimeoutError
@@ -231,13 +260,29 @@ except APIStatusError as exc:
231
260
  | 403 | `PermissionDeniedError` |
232
261
  | 404 | `NotFoundError` |
233
262
  | 409 | `ConflictError` |
263
+ | 413 | `RequestTooLargeError` |
234
264
  | 422 | `UnprocessableEntityError` |
235
265
  | 429 | `RateLimitError` |
236
- | 5xx | `InternalServerError` |
266
+ | 529 | `OverloadedError` |
267
+ | other 5xx | `InternalServerError` |
237
268
  | other | `APIStatusError` |
238
269
 
239
270
  `code` and `type` are read from the error body and are `None` when the server omits them, so log `message` and `request_id` as well. A non-JSON error body is kept verbatim in `.body`.
240
271
 
272
+ `RequestTooLargeError` and `OverloadedError` inherit directly from `APIStatusError`, matching Anthropic. Code that previously caught `InternalServerError` for status 529 should now catch `OverloadedError` as well, or catch `APIStatusError` for all HTTP errors.
273
+
274
+ ## Response validation
275
+
276
+ By default, responses are constructed into models without requiring every field to match the declared schema, matching Anthropic's Python SDK. Nested objects are still converted to models and unknown fields are retained. Unexpected field values may keep their original type, so type annotations describe the expected API schema rather than guaranteeing the runtime value.
277
+
278
+ To require Pydantic response validation and raise `APIResponseValidationError` on a schema mismatch, enable the constructor option:
279
+
280
+ ```python
281
+ client = Forward(_strict_response_validation=True)
282
+ ```
283
+
284
+ The option is available on `Forward`, `Managed`, `AsyncForward`, and `AsyncManaged`, and is preserved by `with_options`, raw and streaming response views, pagination, and SSE parsing. Invalid JSON and invalid download URLs still raise `APIResponseValidationError` in either mode. Direct construction or validation of model classes continues to use Pydantic validation.
285
+
241
286
  ## Request IDs
242
287
 
243
288
  Every response model carries the `x-request-id` of the call that produced it, and errors expose the same value. Include it when reporting a problem.
@@ -251,6 +296,8 @@ print(identity._request_id)
251
296
 
252
297
  Certain errors are retried twice by default with exponential backoff. GET and HEAD requests, and any request carrying an idempotency key, are retried on connection errors, 408, 429, and 5xx; other requests are retried on 429 only. A 409 is never retried automatically, and an SSE stream that has already been established is never retried. Within those rules the SDK honors `x-should-retry` and a valid `Retry-After-Ms` or `Retry-After`.
253
298
 
299
+ Positive server-requested delays, including values over 60 seconds, are honored up to 4,294,967 seconds, matching Anthropic's Python SDK. A numeric `Retry-After-Ms` takes precedence over `Retry-After`, which accepts seconds or an HTTP date. Zero, negative, or invalid delays fall back to exponential backoff. A server-requested wait can therefore exceed the timeout configured for an individual HTTP attempt.
300
+
254
301
  ```python
255
302
  client = Forward(max_retries=0) # disable for all requests
256
303
  client.with_options(max_retries=5).sessions.list() # or override per call site
@@ -260,7 +307,7 @@ client.with_options(max_retries=5).sessions.list() # or override per call site
260
307
 
261
308
  ## Timeouts
262
309
 
263
- The default timeout is 10 seconds to connect and 60 seconds for each subsequent phase. Pass a float of seconds, an `httpx.Timeout`, or `None` to disable.
310
+ The default timeout is 5 seconds to connect and 600 seconds each for reading data, writing data, and acquiring a connection from the pool, matching Anthropic's Python SDK. These are phase timeouts, not a total request deadline. Pass a float of seconds, an `httpx.Timeout`, or `None` to disable.
264
311
 
265
312
  ```python
266
313
  client = Forward(timeout=30.0)
@@ -390,11 +437,11 @@ For tokens that expire, pass a credential provider instead of a static token. It
390
437
  client = Forward(credential=my_credential)
391
438
  ```
392
439
 
393
- A static `access_token` takes precedence over a provider, and an explicit `Authorization` header takes precedence over both.
440
+ A static `pat` takes precedence over a provider, and an explicit `Authorization` header takes precedence over both.
394
441
 
395
442
  ## Versioning
396
443
 
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.
444
+ This project follows [Semantic Versioning](https://semver.org). It is pre-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
445
 
399
446
  ```python
400
447
  import qca
@@ -1,5 +1,7 @@
1
1
  # Qoder Cloud Agents Python SDK
2
2
 
3
+ [Changelog](CHANGELOG.md) · [Releases](https://github.com/QoderAI/qoder-cloud-agents-sdk-python/releases)
4
+
3
5
  [![PyPI version](https://img.shields.io/pypi/v/qca-sdk.svg)](https://pypi.org/project/qca-sdk/)
4
6
 
5
7
  The Qoder Cloud Agents Python SDK provides access to the Qoder Cloud Agents API from Python 3.10+. It ships synchronous and natively asynchronous clients, typed request parameters and response models, automatic pagination, SSE streaming, and file transfer.
@@ -12,7 +14,7 @@ The API is exposed in two modes, and each has its own client, resources, and typ
12
14
  python -m pip install qca-sdk
13
15
  ```
14
16
 
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:
17
+ 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
18
 
17
19
  ```bash
18
20
  python -m pip install .
@@ -23,6 +25,22 @@ python -m pip install -e '.[dev]' # development environment
23
25
 
24
26
  Python 3.10 or newer. The runtime dependencies are `httpx`, `pydantic` v2, `anyio`, and `typing-extensions`; the package is typed and ships `py.typed`.
25
27
 
28
+ ## Generating documentation
29
+
30
+ The API reference under `docs/api/` is generated from the public source and
31
+ committed. Regenerate and verify it with:
32
+
33
+ ```bash
34
+ make docs # regenerate docs/api/ from src/qca
35
+ make docs-check # regenerate + drift/link/snippet checks (offline)
36
+ ```
37
+
38
+ Under the hood these run `pydoc-markdown` via `uv` on a pinned Python 3.12:
39
+
40
+ ```bash
41
+ uv run --python 3.12 --extra dev --locked pydoc-markdown pydoc-markdown.yml
42
+ ```
43
+
26
44
  ## Usage
27
45
 
28
46
  ```python
@@ -54,7 +72,7 @@ Explicit arguments take precedence over environment variables. The clients never
54
72
 
55
73
  ```python
56
74
  client = Forward(
57
- access_token="your-access-token",
75
+ pat="your-access-token",
58
76
  base_url="https://api.qoder.com.cn/api/v1/forward",
59
77
  timeout=30.0,
60
78
  max_retries=2,
@@ -158,26 +176,34 @@ Reuse one `session_id` for the whole conversation, and reuse one idempotency key
158
176
 
159
177
  ## Resuming a stream
160
178
 
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.
179
+ 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
180
 
163
181
  ```python
164
- from qca import APIConnectionError
182
+ with client.sessions.events.resumable_stream(
183
+ session_id,
184
+ last_event_id=saved_event_id,
185
+ event_deltas=["agent.message"],
186
+ ) as stream:
187
+ for event in stream:
188
+ saved_event_id = stream.last_event_id
189
+ print(event.type)
190
+ ```
165
191
 
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
192
+ The async form is a native async iterator and context manager; unlike `stream()`, constructing it does not require `await`:
193
+
194
+ ```python
195
+ async with client.sessions.events.resumable_stream(session_id) as stream:
196
+ async for event in stream:
197
+ print(event.type)
174
198
  ```
175
199
 
200
+ 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.
201
+
176
202
  Events are also readable after the fact through `client.sessions.events.list(session_id)`, which paginates like any other list method.
177
203
 
178
204
  ## Handling errors
179
205
 
180
- `APIConnectionError` is raised when the request never reached the API; `APITimeoutError` is its timeout subclass. A non-2xx status raises an `APIStatusError` subclass, and a response that cannot be decoded into its declared type raises `APIResponseValidationError`. All of them derive from `qca.APIError`.
206
+ `APIConnectionError` is raised when the request never reached the API; `APITimeoutError` is its timeout subclass. A non-2xx status raises an `APIStatusError` subclass. Invalid JSON, invalid download URLs, and response schema mismatches when strict response validation is enabled raise `APIResponseValidationError`. All of them derive from `qca.APIError`.
181
207
 
182
208
  ```python
183
209
  from qca import APIConnectionError, APIStatusError, APITimeoutError
@@ -199,13 +225,29 @@ except APIStatusError as exc:
199
225
  | 403 | `PermissionDeniedError` |
200
226
  | 404 | `NotFoundError` |
201
227
  | 409 | `ConflictError` |
228
+ | 413 | `RequestTooLargeError` |
202
229
  | 422 | `UnprocessableEntityError` |
203
230
  | 429 | `RateLimitError` |
204
- | 5xx | `InternalServerError` |
231
+ | 529 | `OverloadedError` |
232
+ | other 5xx | `InternalServerError` |
205
233
  | other | `APIStatusError` |
206
234
 
207
235
  `code` and `type` are read from the error body and are `None` when the server omits them, so log `message` and `request_id` as well. A non-JSON error body is kept verbatim in `.body`.
208
236
 
237
+ `RequestTooLargeError` and `OverloadedError` inherit directly from `APIStatusError`, matching Anthropic. Code that previously caught `InternalServerError` for status 529 should now catch `OverloadedError` as well, or catch `APIStatusError` for all HTTP errors.
238
+
239
+ ## Response validation
240
+
241
+ By default, responses are constructed into models without requiring every field to match the declared schema, matching Anthropic's Python SDK. Nested objects are still converted to models and unknown fields are retained. Unexpected field values may keep their original type, so type annotations describe the expected API schema rather than guaranteeing the runtime value.
242
+
243
+ To require Pydantic response validation and raise `APIResponseValidationError` on a schema mismatch, enable the constructor option:
244
+
245
+ ```python
246
+ client = Forward(_strict_response_validation=True)
247
+ ```
248
+
249
+ The option is available on `Forward`, `Managed`, `AsyncForward`, and `AsyncManaged`, and is preserved by `with_options`, raw and streaming response views, pagination, and SSE parsing. Invalid JSON and invalid download URLs still raise `APIResponseValidationError` in either mode. Direct construction or validation of model classes continues to use Pydantic validation.
250
+
209
251
  ## Request IDs
210
252
 
211
253
  Every response model carries the `x-request-id` of the call that produced it, and errors expose the same value. Include it when reporting a problem.
@@ -219,6 +261,8 @@ print(identity._request_id)
219
261
 
220
262
  Certain errors are retried twice by default with exponential backoff. GET and HEAD requests, and any request carrying an idempotency key, are retried on connection errors, 408, 429, and 5xx; other requests are retried on 429 only. A 409 is never retried automatically, and an SSE stream that has already been established is never retried. Within those rules the SDK honors `x-should-retry` and a valid `Retry-After-Ms` or `Retry-After`.
221
263
 
264
+ Positive server-requested delays, including values over 60 seconds, are honored up to 4,294,967 seconds, matching Anthropic's Python SDK. A numeric `Retry-After-Ms` takes precedence over `Retry-After`, which accepts seconds or an HTTP date. Zero, negative, or invalid delays fall back to exponential backoff. A server-requested wait can therefore exceed the timeout configured for an individual HTTP attempt.
265
+
222
266
  ```python
223
267
  client = Forward(max_retries=0) # disable for all requests
224
268
  client.with_options(max_retries=5).sessions.list() # or override per call site
@@ -228,7 +272,7 @@ client.with_options(max_retries=5).sessions.list() # or override per call site
228
272
 
229
273
  ## Timeouts
230
274
 
231
- The default timeout is 10 seconds to connect and 60 seconds for each subsequent phase. Pass a float of seconds, an `httpx.Timeout`, or `None` to disable.
275
+ The default timeout is 5 seconds to connect and 600 seconds each for reading data, writing data, and acquiring a connection from the pool, matching Anthropic's Python SDK. These are phase timeouts, not a total request deadline. Pass a float of seconds, an `httpx.Timeout`, or `None` to disable.
232
276
 
233
277
  ```python
234
278
  client = Forward(timeout=30.0)
@@ -358,11 +402,11 @@ For tokens that expire, pass a credential provider instead of a static token. It
358
402
  client = Forward(credential=my_credential)
359
403
  ```
360
404
 
361
- A static `access_token` takes precedence over a provider, and an explicit `Authorization` header takes precedence over both.
405
+ A static `pat` takes precedence over a provider, and an explicit `Authorization` header takes precedence over both.
362
406
 
363
407
  ## Versioning
364
408
 
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.
409
+ This project follows [Semantic Versioning](https://semver.org). It is pre-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
410
 
367
411
  ```python
368
412
  import qca
@@ -3,7 +3,6 @@ from __future__ import annotations
3
3
  import argparse
4
4
  import json
5
5
  import os
6
- import random
7
6
  import re
8
7
  import sys
9
8
  import time
@@ -56,7 +55,7 @@ def read_env(path: str | Path) -> dict[str, str]:
56
55
  @dataclass
57
56
  class Config:
58
57
  mode: str
59
- access_token: str = field(repr=False)
58
+ pat: str = field(repr=False)
60
59
  base_url: str = ""
61
60
  model: str = ""
62
61
  timeout: float = 300
@@ -89,7 +88,7 @@ class Config:
89
88
  return cls(mode, token, str(url), values.get(prefix + "MODEL", ""), timeout)
90
89
 
91
90
  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)
91
+ return dict(pat=self.pat, base_url=self.base_url, max_retries=0, timeout=30)
93
92
 
94
93
 
95
94
  def safe_error(error: BaseException, token: str = "") -> str:
@@ -163,7 +162,7 @@ class Run:
163
162
  try:
164
163
  action()
165
164
  except Exception as error:
166
- failures.append(f"{kind} {resource_id}: {safe_error(error, self.config.access_token)}")
165
+ failures.append(f"{kind} {resource_id}: {safe_error(error, self.config.pat)}")
167
166
  self.cleanups.clear()
168
167
  if failures:
169
168
  raise RuntimeError("Cleanup failed:\n" + "\n".join(failures))
@@ -171,89 +170,6 @@ class Run:
171
170
  self.output("cleanup", "completed")
172
171
 
173
172
 
174
- @dataclass
175
- class TurnResult:
176
- text: str = ""
177
- last_id: str = ""
178
- tool_used: bool = False
179
- complete: bool = False
180
-
181
- def observe(self, event: Any) -> None:
182
- if hasattr(event, "to_dict"):
183
- event = event.to_dict(mode="json")
184
- kind = event.get("type")
185
- if event.get("id"):
186
- self.last_id = event["id"]
187
- if kind in ("session.error", "session.status_terminated"):
188
- raise AssertionError(f"Execution failed: {kind}, event_id={self.last_id}")
189
- if kind in ("agent.tool_use", "agent.mcp_tool_use"):
190
- self.tool_used = True
191
- elif kind == "agent.message":
192
- # Only the latest completed assistant message can satisfy assertions.
193
- self.text = "\n".join(
194
- block.get("text", "") for block in event.get("content", []) if block.get("type") == "text"
195
- )
196
- elif kind == "session.status_idle":
197
- reason = event.get("stop_reason")
198
- reason = reason.get("type") if isinstance(reason, dict) else reason
199
- if reason not in (None, "", "end_turn", "stop_sequence"):
200
- raise AssertionError(f"Execution stopped early: {reason}, event_id={self.last_id}")
201
- self.complete = bool(self.text)
202
-
203
- def verify(self, expected: list[str], require_tool: bool = False) -> None:
204
- if not self.complete:
205
- raise AssertionError(f"No idle state after assistant output; last_event_id={self.last_id}")
206
- if not all(value in self.text for value in expected):
207
- raise AssertionError(f"Assistant output is missing expected values; last_event_id={self.last_id}")
208
- if require_tool and not self.tool_used:
209
- raise AssertionError(f"No actual tool execution; last_event_id={self.last_id}")
210
-
211
-
212
- def wait_reply(events: Any, run: Run, session_id: str, after: str = "") -> TurnResult:
213
- result = TurnResult(last_id=after)
214
- while not result.complete:
215
- run.remaining()
216
- page = events.list(
217
- session_id,
218
- order="asc",
219
- limit=100,
220
- extra_query={"after_id": result.last_id or None, "include_tool_calls": True},
221
- timeout=min(run.remaining(), 30),
222
- )
223
- for index, event in enumerate(page):
224
- if index >= 2000:
225
- raise AssertionError("Event polling exceeded 2000 events")
226
- result.observe(event)
227
- if result.complete:
228
- break
229
- if not result.complete:
230
- run.pause()
231
- run.output("assistant", result.text)
232
- return result
233
-
234
-
235
- def turn(
236
- events: Any,
237
- run: Run,
238
- session_id: str,
239
- prompt: str,
240
- expected: list[str],
241
- *,
242
- require_tool: bool = False,
243
- ) -> TurnResult:
244
- run.output("user", prompt)
245
- result = events.send(
246
- session_id,
247
- events=[{"type": "user.message", "content": [{"type": "text", "text": prompt}]}],
248
- extra_headers={"Idempotency-Key": name("event")},
249
- )
250
- if len(result.data) != 1 or not result.data[0].id:
251
- raise AssertionError("Send must return exactly one user event ID")
252
- reply = wait_reply(events, run, session_id, result.data[0].id)
253
- reply.verify(expected, require_tool)
254
- return reply
255
-
256
-
257
173
  def choose_model(models: Any, requested: str) -> str:
258
174
  enabled = [model.id for model in models.data if model.is_enabled and model.id]
259
175
  if requested:
@@ -265,29 +181,6 @@ def choose_model(models: Any, requested: str) -> str:
265
181
  return "ultimate" if "ultimate" in enabled else sorted(enabled)[0]
266
182
 
267
183
 
268
- @dataclass
269
- class ProjectMemory:
270
- project: str = field(default_factory=lambda: "青禾订单-" + marker()[:6])
271
- release_time: str = field(default_factory=lambda: f"{random.randrange(20, 24):02}:{random.randrange(60):02}")
272
- contact: str = field(default_factory=lambda: random.choice(["林岚", "陈朔", "叶澄", "苏棠"]))
273
- rollback_version: str = field(
274
- default_factory=lambda: f"v2.{random.randrange(100, 1000)}.{random.randrange(100, 1000)}"
275
- )
276
- path = "projects/release-conventions.md"
277
-
278
- def content(self) -> str:
279
- return f"---\nname: release-conventions\ndescription: {self.project} 的项目发布约定\nmetadata:\n type: project\n---\n\n# {self.project}\n\n- 北京时间 {self.release_time} 开始发布。\n- 发布异常时联系值班负责人{self.contact}。\n- 回滚使用已验证的稳定版本 {self.rollback_version}。\n\nWhy: 在值班窗口发布,并使用验证过的版本恢复服务。\nHow to apply: 为这个项目拟定发布计划时遵循以上约定。\n"
280
-
281
- def index(self) -> str:
282
- return f"- [{self.project} 发布约定]({self.path}) — 发布窗口、异常联系人与回滚约定。\n"
283
-
284
- def prompt(self) -> str:
285
- return f"请根据你记得的项目约定,为「{self.project}」拟一份简短上线安排,涵盖开始时间、异常联系和回滚处理。不要执行发布;缺少信息时请明确说明。"
286
-
287
- def expected(self) -> list[str]:
288
- return [self.release_time, self.contact, self.rollback_version]
289
-
290
-
291
184
  def run_cli(mode: str, client_type: Any, scenarios: dict[str, Callable[[Any, Run], None]]) -> None:
292
185
  parser = argparse.ArgumentParser(description=f"Qoder {mode} SDK examples")
293
186
  parser.add_argument("--env", default=".env.live")
@@ -314,9 +207,9 @@ def run_cli(mode: str, client_type: Any, scenarios: dict[str, Callable[[Any, Run
314
207
  try:
315
208
  context.cleanup()
316
209
  except Exception as error:
317
- errors.append(safe_error(error, config.access_token))
210
+ errors.append(safe_error(error, config.pat))
318
211
  except Exception as error:
319
- errors.insert(0, safe_error(error, config.access_token))
212
+ errors.insert(0, safe_error(error, config.pat))
320
213
  results.append({"scenario": scenario, "passed": not errors, "outputs": context.outputs, "errors": errors})
321
214
  if args.output == "text":
322
215
  print(f"{scenario}: {'FAIL' if errors else 'PASS'}")
@@ -4,19 +4,25 @@ from examples.common.live import run_cli
4
4
  from qca import Forward
5
5
 
6
6
  from .batch import run as batch
7
+ from .conversation import run as conversation
8
+ from .identity_config import run as identity_config
7
9
  from .memory import run as memory
8
10
  from .models import run as models
9
11
  from .resources import run as resources
10
12
  from .schedule import run as schedule
11
13
  from .session import run as session
14
+ from .streaming_deltas import run as streaming_deltas
12
15
 
13
16
  SCENARIOS = {
14
17
  "models": models,
15
18
  "session": session,
19
+ "conversation": conversation,
16
20
  "resources": resources,
21
+ "identity_config": identity_config,
17
22
  "memory": memory,
18
23
  "schedule": schedule,
19
24
  "batch": batch,
25
+ "streaming_deltas": streaming_deltas,
20
26
  }
21
27
 
22
28