qca-sdk 0.0.1.dev4__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.
- qca_sdk-0.0.1.dev4/.env.live.example +15 -0
- qca_sdk-0.0.1.dev4/LICENSE +21 -0
- qca_sdk-0.0.1.dev4/MANIFEST.in +4 -0
- qca_sdk-0.0.1.dev4/Makefile +27 -0
- qca_sdk-0.0.1.dev4/PKG-INFO +411 -0
- qca_sdk-0.0.1.dev4/README.md +379 -0
- qca_sdk-0.0.1.dev4/examples/__init__.py +1 -0
- qca_sdk-0.0.1.dev4/examples/common/__init__.py +1 -0
- qca_sdk-0.0.1.dev4/examples/common/live.py +327 -0
- qca_sdk-0.0.1.dev4/examples/conftest.py +25 -0
- qca_sdk-0.0.1.dev4/examples/forward/__init__.py +1 -0
- qca_sdk-0.0.1.dev4/examples/forward/__main__.py +24 -0
- qca_sdk-0.0.1.dev4/examples/forward/_cleanup.py +13 -0
- qca_sdk-0.0.1.dev4/examples/forward/async_session.py +37 -0
- qca_sdk-0.0.1.dev4/examples/forward/batch.py +130 -0
- qca_sdk-0.0.1.dev4/examples/forward/memory.py +66 -0
- qca_sdk-0.0.1.dev4/examples/forward/models.py +19 -0
- qca_sdk-0.0.1.dev4/examples/forward/resources.py +78 -0
- qca_sdk-0.0.1.dev4/examples/forward/schedule.py +70 -0
- qca_sdk-0.0.1.dev4/examples/forward/session.py +70 -0
- qca_sdk-0.0.1.dev4/examples/forward/test_live.py +12 -0
- qca_sdk-0.0.1.dev4/examples/managed/__init__.py +1 -0
- qca_sdk-0.0.1.dev4/examples/managed/__main__.py +24 -0
- qca_sdk-0.0.1.dev4/examples/managed/_cleanup.py +13 -0
- qca_sdk-0.0.1.dev4/examples/managed/async_session.py +37 -0
- qca_sdk-0.0.1.dev4/examples/managed/deployment.py +49 -0
- qca_sdk-0.0.1.dev4/examples/managed/dream.py +76 -0
- qca_sdk-0.0.1.dev4/examples/managed/memory.py +52 -0
- qca_sdk-0.0.1.dev4/examples/managed/models.py +19 -0
- qca_sdk-0.0.1.dev4/examples/managed/resources.py +69 -0
- qca_sdk-0.0.1.dev4/examples/managed/session.py +66 -0
- qca_sdk-0.0.1.dev4/examples/managed/test_live.py +12 -0
- qca_sdk-0.0.1.dev4/pyproject.toml +64 -0
- qca_sdk-0.0.1.dev4/setup.cfg +4 -0
- qca_sdk-0.0.1.dev4/src/qca/__init__.py +50 -0
- qca_sdk-0.0.1.dev4/src/qca/_version.py +8 -0
- qca_sdk-0.0.1.dev4/src/qca/common/__init__.py +43 -0
- qca_sdk-0.0.1.dev4/src/qca/common/_base_client.py +450 -0
- qca_sdk-0.0.1.dev4/src/qca/common/_exceptions.py +97 -0
- qca_sdk-0.0.1.dev4/src/qca/common/_files.py +38 -0
- qca_sdk-0.0.1.dev4/src/qca/common/_models.py +33 -0
- qca_sdk-0.0.1.dev4/src/qca/common/_resource.py +35 -0
- qca_sdk-0.0.1.dev4/src/qca/common/_response.py +220 -0
- qca_sdk-0.0.1.dev4/src/qca/common/_streaming.py +143 -0
- qca_sdk-0.0.1.dev4/src/qca/common/_types.py +25 -0
- qca_sdk-0.0.1.dev4/src/qca/common/_utils.py +73 -0
- qca_sdk-0.0.1.dev4/src/qca/common/credentials.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/common/pagination.py +118 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/__init__.py +7 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/_client.py +142 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/__init__.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/batches/__init__.py +4 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/batches/batches.py +308 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/batches/tasks.py +71 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/channel_pairings.py +111 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/channels/__init__.py +4 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/channels/channels.py +336 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/channels/qr_sessions.py +106 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/environments.py +305 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/files.py +272 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/identities/__init__.py +6 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/identities/configs.py +249 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/identities/identities.py +570 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/identities/memory_stores.py +186 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/memory_stores/__init__.py +6 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/memory_stores/memories.py +290 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/memory_stores/memory_stores.py +321 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/memory_stores/memory_versions.py +179 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/models.py +58 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/schedule_runs.py +149 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/schedules.py +545 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/sessions/__init__.py +6 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/sessions/events.py +208 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/sessions/resources.py +66 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/sessions/sessions.py +417 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/sessions/threads/__init__.py +4 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/sessions/threads/events.py +128 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/sessions/threads/threads.py +177 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/skills/__init__.py +4 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/skills/skills.py +335 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/skills/versions.py +253 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/templates.py +426 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/vaults/__init__.py +4 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/vaults/credentials.py +227 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/resources/vaults/vaults.py +217 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/__init__.py +205 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/batch.py +35 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/batch_cancel_params.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/batch_create_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/batch_file.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/batch_list_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/batch_request_counts.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/batch_task.py +24 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/batch_task_artifacts_item.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/batch_task_error.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/batch_task_list_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/batch_task_usage.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/batch_usage.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/channel.py +27 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/channel_channel_config.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/channel_channel_config_response_options.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/channel_create_params.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/channel_identity_resolution.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/channel_list_params.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/channel_pairing.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/channel_pairing_create_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/channel_qr_session.py +19 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/channel_qr_session_create_params.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/channel_update_params.py +16 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/content_block_param.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/deleted_channel.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/deleted_channel_pairing.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/deleted_identity.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/deleted_memory.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/deleted_memory_store.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/deleted_memory_store_mount.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/deleted_skill_version.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/effective_config.py +23 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/effective_config_agent.py +19 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/effective_config_agent_tools_item.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/effective_config_agent_tools_item_configs_item.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/effective_config_session.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/effective_config_session_resources_item.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/environment.py +24 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/environment_config.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/environment_config_packages.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/environment_create_params.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/environment_list_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/environment_update_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/environment_variable_override.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/environment_variable_override_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/file_list_params.py +16 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/file_metadata.py +22 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/file_upload_params.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/git_hub_repository.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/git_hub_repository_param.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/identity.py +19 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/identity_clear_params.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/identity_clear_response.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/identity_clear_response_summary.py +16 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/identity_config.py +25 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/identity_config_list_params.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/identity_config_spec.py +31 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/identity_config_spec_param.py +31 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/identity_config_upsert_params.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/identity_create_params.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/identity_list_params.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/identity_list_templates_response.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/identity_memory_store_list_response.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/identity_memory_store_mount_params.py +9 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/identity_stats.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/identity_template.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/identity_update_params.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/image_source_param.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/mcp_server.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/mcp_server_override.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/mcp_server_override_param.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/mcp_server_param.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/memory.py +21 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/memory_store.py +25 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/memory_store_create_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/memory_store_list_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/memory_store_memory_create_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/memory_store_memory_list_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/memory_store_memory_update_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/memory_store_memory_version_list_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/memory_store_mount.py +20 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/memory_store_update_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/memory_version.py +23 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/model.py +23 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/model_config.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/model_config_param.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/model_list_response.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/multiagent_config.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/multiagent_config_param.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/multiagent_entry.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/multiagent_entry_param.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/permission_policy.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/permission_policy_param.py +9 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/resource_binding.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/resource_binding_param.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule.py +34 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_archive_many_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_archive_many_response.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_archive_params.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_create_params.py +21 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_execution.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_initial_events_item.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_list_params.py +19 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_pause_params.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_paused_reason.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_run.py +33 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_run_list_params.py +20 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_run_params.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_run_retrieve_params.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_run_trigger_context.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_sinks_item.py +16 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_sinks_item_target.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_trigger_policy.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_unpause_params.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/schedule_update_params.py +20 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session.py +33 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_archive_params.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_cancel_params.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_config.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_create_params.py +21 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_create_params_config_param.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_event.py +52 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_event_list_params.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_event_param.py +24 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_event_send_params.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_event_send_response.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_event_stream_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_list_params.py +27 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_resource.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_resource_add_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_resource_spec_param.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_stats.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_template.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_thread.py +27 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_thread_archive_params.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_thread_event_list_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_thread_event_stream_params.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_thread_list_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_thread_stop_reason.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_update_params.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_update_params_config_param.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/session_usage.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/skill.py +23 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/skill_binding.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/skill_binding_param.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/skill_create_params.py +20 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/skill_list_params.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/skill_override.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/skill_override_param.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/skill_retrieve_params.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/skill_update_params.py +16 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/skill_version.py +22 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/skill_version_create_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/skill_version_list_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/system_override.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/system_override_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/template.py +39 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/template_archive_params.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/template_clone_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/template_create_params.py +35 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/template_list_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/template_update_params.py +35 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/tool.py +21 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/tool_config.py +16 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/tool_config_param.py +16 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/tool_override.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/tool_override_param.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/tool_param.py +21 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/vault.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/vault_create_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/vault_credential.py +22 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/vault_credential_auth.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/vault_credential_create_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/vault_credential_list_params.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/forward/types/vault_list_params.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/__init__.py +7 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/_client.py +115 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/__init__.py +10 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/agents/__init__.py +4 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/agents/agents.py +386 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/agents/versions.py +71 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/deployment_runs.py +160 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/deployments.py +552 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/dreams.py +303 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/environments/__init__.py +4 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/environments/environments.py +359 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/environments/work.py +449 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/files.py +295 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/memory_stores/__init__.py +6 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/memory_stores/memories.py +358 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/memory_stores/memory_stores.py +362 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/memory_stores/memory_versions.py +228 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/models.py +71 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/sessions/__init__.py +6 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/sessions/events.py +240 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/sessions/resources.py +303 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/sessions/sessions.py +472 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/sessions/threads/__init__.py +4 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/sessions/threads/events.py +141 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/sessions/threads/threads.py +185 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/skills/__init__.py +4 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/skills/skills.py +254 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/skills/versions.py +273 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/vaults/__init__.py +4 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/vaults/credentials.py +437 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/resources/vaults/vaults.py +296 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/__init__.py +421 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/actor_union.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/advisor_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent.py +33 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_archive_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_create_params.py +31 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_list_params.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_mcp_tool_result_event_content_union.py +21 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_message_event_content_union.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_reference.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_retrieve_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_skill_union.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_thread_message_received_event_content_union.py +20 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_thread_message_received_event_content_union_source.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_thread_message_sent_event_content_union.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_thread_message_sent_event_content_union_source.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_tool_config_union.py +22 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_tool_config_union_permission_policy.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_tool_result_event_content_union.py +21 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_tool_union.py +25 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_tool_union_default_config.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_tool_union_default_config_permission_policy.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_toolset20260401_params.py +37 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_toolset_default_config_params.py +16 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_update_params.py +32 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_version_list_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/agent_with_overrides_params.py +27 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/always_allow_policy_param.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/always_ask_policy_param.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/base64_document_source_param.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/base64_image_source_param.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/bash_tool_config_params.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/branch_checkout_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/budget_limit.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/budget_limit_param.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/cache_creation_usage.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/capability_support.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/cloud_config_networking_union.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/cloud_config_params.py +19 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/commit_checkout_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/context_management_capability.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/credential.py +23 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/credential_auth_union.py +23 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/credential_validation.py +23 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/custom_skill_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/custom_tool_input_schema.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/custom_tool_input_schema_param.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/custom_tool_params.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/delete_session_resource.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deleted_credential.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deleted_file.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deleted_memory.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deleted_memory_store.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deleted_session.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deleted_skill.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deleted_skill_version.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deleted_vault.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/delta_content.py +16 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment.py +37 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment_archive_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment_create_params.py +36 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment_initial_event_union.py +20 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment_list_params.py +22 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment_pause_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment_paused_reason_error_union.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment_paused_reason_union.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment_retrieve_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment_run.py +24 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment_run_error_union.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment_run_list_params.py +24 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment_run_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment_run_retrieve_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment_unpause_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment_update_params.py +34 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment_user_define_outcome_event_rubric_union.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment_user_message_event_content_union.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/deployment_user_message_event_content_union_source.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/document_block_param.py +22 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/dream.py +33 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/dream_archive_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/dream_cancel_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/dream_create_params.py +23 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/dream_error.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/dream_input_union.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/dream_list_params.py +19 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/dream_memory_store_input_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/dream_model_config.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/dream_model_config_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/dream_output.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/dream_retrieve_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/dream_sessions_input_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/dream_usage.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/edit_tool_config_params.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/effort_capability.py +19 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/effort_high_param.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/effort_low_param.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/effort_max_param.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/effort_medium_param.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/effort_xhigh_param.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment.py +23 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_archive_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_config_union.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_create_params.py +21 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_delete_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_delete_response.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_list_params.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_retrieve_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_update_params.py +21 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_variable_auth_response_networking_union.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_variable_create_params.py +20 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_variable_update_params.py +19 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_work_ack_params.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_work_heartbeat_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_work_list_params.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_work_poll_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_work_retrieve_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_work_stats_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_work_stop_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/environment_work_update_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/file_delete_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/file_document_source_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/file_download_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/file_get_metadata_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/file_image_source_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/file_list_params.py +19 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/file_metadata.py +25 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/file_resource.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/file_resource_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/file_rubric_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/file_scope.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/file_upload_params.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/git_hub_repository_resource_checkout_union.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/git_hub_repository_resource_config_checkout_union.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/git_hub_repository_resource_params.py +19 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/glob_tool_config_params.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/grep_tool_config_params.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/image_block_param.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/injection_location_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/injection_location_response.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/injection_location_update_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/limited_credential_networking_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/limited_network_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/mcp_probe.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/mcp_server_url_definition.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/mcp_tool_config.py +16 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/mcp_tool_config_params.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/mcp_tool_config_permission_policy_union.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/mcp_toolset_default_config_params.py +16 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/mcp_toolset_params.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/mcpo_auth_create_params.py +19 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/mcpo_auth_refresh_params.py +23 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/mcpo_auth_refresh_response.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/mcpo_auth_refresh_response_token_endpoint_auth_union.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/mcpo_auth_refresh_update_params.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/mcpo_auth_update_params.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory.py +22 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory_list_item_union.py +21 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory_store.py +19 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory_store_archive_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory_store_create_params.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory_store_delete_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory_store_list_params.py +19 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory_store_memory_create_params.py +16 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory_store_memory_delete_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory_store_memory_list_params.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory_store_memory_retrieve_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory_store_memory_update_params.py +21 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory_store_memory_version_list_params.py +23 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory_store_memory_version_redact_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory_store_memory_version_retrieve_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory_store_resource_param.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory_store_retrieve_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory_store_update_params.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/memory_version.py +27 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/model_capabilities.py +25 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/model_config.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/model_config_effort_union.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/model_config_params.py +39 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/model_info.py +30 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/model_list_params.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/monetary_amount.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/monetary_amount_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/multiagent.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/multiagent_agent_union.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/multiagent_params.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/multiagent_self_params.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/outcome_evaluation_resource.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/output_behavior_create_new_param.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/output_behavior_union.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/output_behavior_update_existing_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/packages.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/packages_params.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/plain_text_document_source_param.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/precondition_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/qoder_skill_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/read_tool_config_params.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/redacted_block_param.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/refresh_http_response.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/refresh_object.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/schedule.py +16 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/schedule_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/search_result_block_param.py +19 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/search_result_citations.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/search_result_citations_param.py +9 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/search_result_content.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/search_result_content_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/self_hosted_config_params.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/self_hosted_work.py +26 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/self_hosted_work_heartbeat_response.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/self_hosted_work_queue_stats.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/send_session_events.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/send_session_events_data_union.py +39 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/server_tool_usage.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session.py +37 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_agent.py +28 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_agent_skill_union.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_agent_tool_union.py +25 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_agent_tool_union_default_config.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_agent_tool_union_default_config_permission_policy.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_agent_update_param.py +24 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_archive_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_create_params.py +31 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_delete_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_error_event_error_union.py +19 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_error_event_error_union_retry_status.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_event.py +77 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_event_list_params.py +23 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_event_send_params.py +34 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_event_stop_reason.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_event_stream_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_event_usage.py +24 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_list_params.py +26 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_multiagent_coordinator.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_multiagent_coordinator_agent_union.py +26 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_resource_add_params.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_resource_config_union.py +21 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_resource_delete_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_resource_get_response_union.py +27 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_resource_list_params.py +16 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_resource_retrieve_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_resource_union.py +27 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_resource_update_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_resource_update_response_union.py +27 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_retrieve_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_stats.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_stream_event.py +82 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_stream_event_stop_reason.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_stream_event_usage.py +24 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_thread.py +27 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_thread_agent_skill_union.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_thread_agent_tool_union.py +25 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_thread_agent_tool_union_default_config.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_thread_agent_tool_union_default_config_permission_policy.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_thread_agent_union.py +26 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_thread_archive_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_thread_event_list_params.py +16 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_thread_event_stream_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_thread_list_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_thread_retrieve_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_thread_stats.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_thread_usage.py +22 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_update_params.py +22 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_usage.py +22 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/session_work_data.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/skill.py +22 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/skill_create_params.py +17 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/skill_delete_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/skill_list_params.py +19 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/skill_retrieve_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/skill_source.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/skill_version.py +19 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/skill_version_create_params.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/skill_version_delete_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/skill_version_download_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/skill_version_list_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/skill_version_retrieve_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/span_model_usage.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/start_event_preview_union.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/static_bearer_create_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/static_bearer_update_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/stream_session_thread_events_union.py +82 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/stream_session_thread_events_union_stop_reason.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/stream_session_thread_events_union_usage.py +24 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/system_content_block.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/system_content_block_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/system_message_event_params.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/text_block.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/text_block_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/text_rubric_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/thinking_capability.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/thinking_types.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/token_endpoint_auth_basic_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/token_endpoint_auth_basic_update_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/token_endpoint_auth_none_param.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/token_endpoint_auth_post_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/token_endpoint_auth_post_update_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/trigger_context_union.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/unrestricted_credential_networking_params.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/unrestricted_network_param.py +11 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/url_document_source_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/url_image_source_param.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/urlmcp_server_params.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/user_custom_tool_result_event_content_union.py +21 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/user_custom_tool_result_event_params.py +20 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/user_define_outcome_event_params.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/user_define_outcome_event_rubric_union.py +13 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/user_interrupt_event_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/user_location.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/user_location_param.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/user_message_event_content_union.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/user_message_event_content_union_source.py +15 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/user_message_event_params.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/user_tool_confirmation_event_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/user_tool_result_event_content_union.py +21 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/user_tool_result_event_params.py +20 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/vault.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/vault_archive_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/vault_create_params.py +14 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/vault_credential_archive_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/vault_credential_create_params.py +20 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/vault_credential_delete_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/vault_credential_list_params.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/vault_credential_mcpo_auth_validate_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/vault_credential_retrieve_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/vault_credential_update_params.py +19 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/vault_delete_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/vault_list_params.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/vault_retrieve_params.py +12 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/web_fetch_tool_config_params.py +21 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/web_search_tool_config_params.py +22 -0
- qca_sdk-0.0.1.dev4/src/qca/managed/types/write_tool_config_params.py +18 -0
- qca_sdk-0.0.1.dev4/src/qca/py.typed +0 -0
- qca_sdk-0.0.1.dev4/src/qca_sdk.egg-info/PKG-INFO +411 -0
- qca_sdk-0.0.1.dev4/src/qca_sdk.egg-info/SOURCES.txt +633 -0
- qca_sdk-0.0.1.dev4/src/qca_sdk.egg-info/dependency_links.txt +1 -0
- qca_sdk-0.0.1.dev4/src/qca_sdk.egg-info/requires.txt +11 -0
- qca_sdk-0.0.1.dev4/src/qca_sdk.egg-info/top_level.txt +1 -0
- qca_sdk-0.0.1.dev4/tests/test_client.py +488 -0
- qca_sdk-0.0.1.dev4/tests/test_examples.py +506 -0
- qca_sdk-0.0.1.dev4/tests/test_pagination.py +120 -0
- qca_sdk-0.0.1.dev4/tests/test_resource_surface.py +182 -0
- qca_sdk-0.0.1.dev4/tests/test_streaming.py +169 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Separate test accounts are supported. Do not commit real PATs.
|
|
2
|
+
QODER_FORWARD_PAT=
|
|
3
|
+
QODER_FORWARD_BASE_URL=https://api.qoder.com.cn/api/v1/forward
|
|
4
|
+
QODER_FORWARD_MODEL=
|
|
5
|
+
|
|
6
|
+
QODER_MANAGED_PAT=
|
|
7
|
+
QODER_MANAGED_BASE_URL=https://api.qoder.com.cn/api/v1/cloud
|
|
8
|
+
QODER_MANAGED_MODEL=
|
|
9
|
+
|
|
10
|
+
# Optional fallback for either mode.
|
|
11
|
+
QODER_PAT=
|
|
12
|
+
|
|
13
|
+
# pytest live tests require explicit opt-in in the process environment:
|
|
14
|
+
# QODER_RUN_LIVE=1 python -m pytest examples -m live -v
|
|
15
|
+
# Scenarios other than models create resources and may consume model credits.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Qoder
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
PYTHON ?= python3
|
|
2
|
+
LIVE_ENV_FILE ?= .env.live
|
|
3
|
+
.DEFAULT_GOAL := test
|
|
4
|
+
|
|
5
|
+
.PHONY: test lint typecheck build test-live test-live-managed test-live-all
|
|
6
|
+
|
|
7
|
+
test:
|
|
8
|
+
$(PYTHON) -m pytest -q
|
|
9
|
+
|
|
10
|
+
lint:
|
|
11
|
+
$(PYTHON) -m ruff check src tests examples
|
|
12
|
+
$(PYTHON) -m ruff format --check src tests examples
|
|
13
|
+
|
|
14
|
+
typecheck:
|
|
15
|
+
$(PYTHON) -m mypy src/qca
|
|
16
|
+
|
|
17
|
+
build:
|
|
18
|
+
$(PYTHON) -m build
|
|
19
|
+
|
|
20
|
+
test-live:
|
|
21
|
+
QODER_RUN_LIVE=1 QODER_LIVE_ENV_FILE="$(LIVE_ENV_FILE)" $(PYTHON) -m pytest examples/forward -m live -v
|
|
22
|
+
|
|
23
|
+
test-live-managed:
|
|
24
|
+
QODER_RUN_LIVE=1 QODER_LIVE_ENV_FILE="$(LIVE_ENV_FILE)" $(PYTHON) -m pytest examples/managed -m live -v
|
|
25
|
+
|
|
26
|
+
test-live-all:
|
|
27
|
+
QODER_RUN_LIVE=1 QODER_LIVE_ENV_FILE="$(LIVE_ENV_FILE)" $(PYTHON) -m pytest examples -m live -v
|
|
@@ -0,0 +1,411 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: qca-sdk
|
|
3
|
+
Version: 0.0.1.dev4
|
|
4
|
+
Summary: Typed synchronous and asynchronous clients for Qoder Cloud Agents
|
|
5
|
+
Author: Qoder
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Repository, https://github.com/QoderAI/qoder-cloud-agents-sdk-python
|
|
8
|
+
Project-URL: Issues, https://github.com/QoderAI/qoder-cloud-agents-sdk-python/issues
|
|
9
|
+
Keywords: Qoder,Cloud Agents,Forward,Managed
|
|
10
|
+
Classifier: Development Status :: 3 - Alpha
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
+
Classifier: Typing :: Typed
|
|
18
|
+
Requires-Python: >=3.10
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
License-File: LICENSE
|
|
21
|
+
Requires-Dist: httpx<1,>=0.27
|
|
22
|
+
Requires-Dist: pydantic<3,>=2.11
|
|
23
|
+
Requires-Dist: typing-extensions<5,>=4.12
|
|
24
|
+
Requires-Dist: anyio<5,>=4
|
|
25
|
+
Provides-Extra: dev
|
|
26
|
+
Requires-Dist: pytest>=8; extra == "dev"
|
|
27
|
+
Requires-Dist: pytest-asyncio>=0.24; extra == "dev"
|
|
28
|
+
Requires-Dist: ruff>=0.11; extra == "dev"
|
|
29
|
+
Requires-Dist: mypy>=1.15; extra == "dev"
|
|
30
|
+
Requires-Dist: build>=1.2; extra == "dev"
|
|
31
|
+
Dynamic: license-file
|
|
32
|
+
|
|
33
|
+
# Qoder Cloud Agents Python SDK
|
|
34
|
+
|
|
35
|
+
[](https://pypi.org/project/qca-sdk/)
|
|
36
|
+
|
|
37
|
+
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.
|
|
38
|
+
|
|
39
|
+
The API is exposed in two modes, and each has its own client, resources, and types. Forward is multi-tenant: sessions are created from an Identity and a Template, and it adds Schedule, Batch, and Channel. Managed is single-tenant: sessions are created from an Agent and an Environment, and it adds Deployment, Dream, and the Work API for self-hosted environments.
|
|
40
|
+
|
|
41
|
+
## Installation
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
python -m pip install qca-sdk
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
The distribution is named `qca-sdk`; the import package is `qca`. The package is still in pre-release, so the command above resolves to the latest `0.0.1.devN` build. To work from a checkout of this repository instead:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
python -m pip install .
|
|
51
|
+
python -m pip install -e '.[dev]' # development environment
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Requirements
|
|
55
|
+
|
|
56
|
+
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
|
+
|
|
58
|
+
## Usage
|
|
59
|
+
|
|
60
|
+
```python
|
|
61
|
+
from qca import Forward
|
|
62
|
+
|
|
63
|
+
with Forward() as client:
|
|
64
|
+
for model in client.models.list().data:
|
|
65
|
+
if model.is_enabled:
|
|
66
|
+
print(model.id)
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
```python
|
|
70
|
+
from qca import Managed
|
|
71
|
+
|
|
72
|
+
with Managed() as client:
|
|
73
|
+
for agent in client.agents.list(limit=20):
|
|
74
|
+
print(agent.id, agent.name)
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Both clients read their token from the environment. `from qca.forward import Client` and `from qca.managed import Client` are equivalent entry points.
|
|
78
|
+
|
|
79
|
+
| Setting | Forward | Managed |
|
|
80
|
+
|---|---|---|
|
|
81
|
+
| Token | `QODER_PAT` | `QODER_PAT` |
|
|
82
|
+
| Base URL | `QODER_FORWARD_BASE_URL` | `QODER_MANAGED_BASE_URL` |
|
|
83
|
+
| Default base URL | `https://api.qoder.com/api/v1/forward/` | `https://api.qoder.com/api/v1/cloud/` |
|
|
84
|
+
|
|
85
|
+
Explicit arguments take precedence over environment variables. The clients never read `.env` files; only the examples load `.env.live`. Other regions, including China, have to be configured explicitly:
|
|
86
|
+
|
|
87
|
+
```python
|
|
88
|
+
client = Forward(
|
|
89
|
+
access_token="your-access-token",
|
|
90
|
+
base_url="https://api.qoder.com.cn/api/v1/forward",
|
|
91
|
+
timeout=30.0,
|
|
92
|
+
max_retries=2,
|
|
93
|
+
)
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
A client owns an HTTP connection pool, so it should be closed when you are done with it — either through the context manager above or with `client.close()`.
|
|
97
|
+
|
|
98
|
+
## Async usage
|
|
99
|
+
|
|
100
|
+
`AsyncForward` and `AsyncManaged` are built on `httpx.AsyncClient`. Requests, retry backoff, and SSE reads are all native async I/O; only local file reads are delegated to a worker thread.
|
|
101
|
+
|
|
102
|
+
```python
|
|
103
|
+
import asyncio
|
|
104
|
+
from qca import AsyncManaged
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
async def main() -> None:
|
|
108
|
+
async with AsyncManaged() as client:
|
|
109
|
+
async for agent in client.agents.list(limit=20):
|
|
110
|
+
print(agent.id)
|
|
111
|
+
|
|
112
|
+
first_page = await client.sessions.list(limit=10)
|
|
113
|
+
print(first_page.data)
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
asyncio.run(main())
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Every method shown in this document has an async counterpart with the same name and signature. Async streams are opened with `async with await client.sessions.events.stream(...)`.
|
|
120
|
+
|
|
121
|
+
## Sessions
|
|
122
|
+
|
|
123
|
+
A session is the unit of agent execution. Forward materializes one from an Identity and a Template:
|
|
124
|
+
|
|
125
|
+
```python
|
|
126
|
+
from qca import Forward
|
|
127
|
+
|
|
128
|
+
with Forward() as client:
|
|
129
|
+
environment = client.environments.create(name="demo", config={"type": "cloud"})
|
|
130
|
+
identity = client.identities.create(external_id="example-user", name="Example User")
|
|
131
|
+
template = client.templates.create(
|
|
132
|
+
name="assistant",
|
|
133
|
+
environment_id=environment.id,
|
|
134
|
+
model="ultimate", # use a model enabled for the current account
|
|
135
|
+
system="Answer questions from the material you can read.",
|
|
136
|
+
tools=[{"type": "agent_toolset_20260401"}],
|
|
137
|
+
)
|
|
138
|
+
session = client.sessions.create(identity_id=identity.id, template_id=template.id)
|
|
139
|
+
print(session.id)
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Managed creates one from an Agent and an Environment:
|
|
143
|
+
|
|
144
|
+
```python
|
|
145
|
+
from qca import Managed
|
|
146
|
+
|
|
147
|
+
with Managed() as client:
|
|
148
|
+
environment = client.environments.create(name="demo", config={"type": "cloud"})
|
|
149
|
+
agent = client.agents.create(
|
|
150
|
+
name="assistant",
|
|
151
|
+
model={"id": "ultimate"},
|
|
152
|
+
system="Answer questions from the material you can read.",
|
|
153
|
+
tools=[{"type": "agent_toolset_20260401"}],
|
|
154
|
+
)
|
|
155
|
+
session = client.sessions.create(environment_id=environment.id, agent=agent.id)
|
|
156
|
+
print(session.id)
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Both snippets create billable resources on the server. Template names are unique within an account, and templates and sessions cannot be deleted — only archived — so give them distinct names rather than reusing one. Runnable scenarios with assertions and cleanup live in the `examples/` directory.
|
|
160
|
+
|
|
161
|
+
## Streaming
|
|
162
|
+
|
|
163
|
+
Send events to a session, then read the server's response as an SSE stream. The code below works with either client.
|
|
164
|
+
|
|
165
|
+
```python
|
|
166
|
+
from uuid import uuid4
|
|
167
|
+
|
|
168
|
+
sent = client.sessions.events.send(
|
|
169
|
+
session_id,
|
|
170
|
+
events=[{"type": "user.message", "content": [{"type": "text", "text": "Hello"}]}],
|
|
171
|
+
idempotency_key=uuid4().hex,
|
|
172
|
+
)
|
|
173
|
+
|
|
174
|
+
with client.sessions.events.stream(
|
|
175
|
+
session_id,
|
|
176
|
+
last_event_id=sent.data[0].id,
|
|
177
|
+
event_deltas=["agent.message"],
|
|
178
|
+
) as stream:
|
|
179
|
+
for event in stream:
|
|
180
|
+
if event.type == "agent.message":
|
|
181
|
+
print(event.to_json())
|
|
182
|
+
elif event.type == "session.status_idle":
|
|
183
|
+
print(event.stop_reason)
|
|
184
|
+
break
|
|
185
|
+
elif event.type in ("session.error", "session.status_terminated"):
|
|
186
|
+
raise RuntimeError(f"Session stopped: {event.type}")
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Reuse one `session_id` for the whole conversation, and reuse one idempotency key across HTTP retries of the same logical message. `event_deltas` opts into incremental events for the listed types; those previews are not deduplicated, and the final event repeats the complete content, so render deltas but treat the final event as the source of truth. An idle status does not by itself mean success — the session may be waiting for a confirmation or have reached its budget, so check `stop_reason` and the final reply.
|
|
190
|
+
|
|
191
|
+
## Resuming a stream
|
|
192
|
+
|
|
193
|
+
The SDK does not reconnect a dropped stream on its own. Persist `stream.last_event_id` and pass it back as `last_event_id` on the next call; the server replays from there, so you never have to resend a message it already accepted.
|
|
194
|
+
|
|
195
|
+
```python
|
|
196
|
+
from qca import APIConnectionError
|
|
197
|
+
|
|
198
|
+
last_event_id = None
|
|
199
|
+
try:
|
|
200
|
+
with client.sessions.events.stream(session_id, last_event_id=last_event_id) as stream:
|
|
201
|
+
for event in stream:
|
|
202
|
+
last_event_id = stream.last_event_id
|
|
203
|
+
print(event.type)
|
|
204
|
+
except APIConnectionError:
|
|
205
|
+
pass # reconnect with the last_event_id recorded above
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Events are also readable after the fact through `client.sessions.events.list(session_id)`, which paginates like any other list method.
|
|
209
|
+
|
|
210
|
+
## Handling errors
|
|
211
|
+
|
|
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`.
|
|
213
|
+
|
|
214
|
+
```python
|
|
215
|
+
from qca import APIConnectionError, APIStatusError, APITimeoutError
|
|
216
|
+
|
|
217
|
+
try:
|
|
218
|
+
session = client.sessions.retrieve("sess-id", timeout=10)
|
|
219
|
+
except APITimeoutError:
|
|
220
|
+
print("The request timed out")
|
|
221
|
+
except APIConnectionError:
|
|
222
|
+
print("The connection failed")
|
|
223
|
+
except APIStatusError as exc:
|
|
224
|
+
print(exc.status_code, exc.message, exc.code, exc.type, exc.request_id)
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
| Status | Exception |
|
|
228
|
+
|---|---|
|
|
229
|
+
| 400 | `BadRequestError` |
|
|
230
|
+
| 401 | `AuthenticationError` |
|
|
231
|
+
| 403 | `PermissionDeniedError` |
|
|
232
|
+
| 404 | `NotFoundError` |
|
|
233
|
+
| 409 | `ConflictError` |
|
|
234
|
+
| 422 | `UnprocessableEntityError` |
|
|
235
|
+
| 429 | `RateLimitError` |
|
|
236
|
+
| 5xx | `InternalServerError` |
|
|
237
|
+
| other | `APIStatusError` |
|
|
238
|
+
|
|
239
|
+
`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
|
+
|
|
241
|
+
## Request IDs
|
|
242
|
+
|
|
243
|
+
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.
|
|
244
|
+
|
|
245
|
+
```python
|
|
246
|
+
identity = client.identities.retrieve("identity-id")
|
|
247
|
+
print(identity._request_id)
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
## Retries
|
|
251
|
+
|
|
252
|
+
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
|
+
|
|
254
|
+
```python
|
|
255
|
+
client = Forward(max_retries=0) # disable for all requests
|
|
256
|
+
client.with_options(max_retries=5).sessions.list() # or override per call site
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
`with_options` returns a separately configured client that shares the original connection pool, so closing either one closes that pool.
|
|
260
|
+
|
|
261
|
+
## Timeouts
|
|
262
|
+
|
|
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.
|
|
264
|
+
|
|
265
|
+
```python
|
|
266
|
+
client = Forward(timeout=30.0)
|
|
267
|
+
client.sessions.retrieve("sess-id", timeout=5.0) # per request
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
Timeouts apply per HTTP phase and per attempt, not to the whole call including retries. End-to-end deadlines are the caller's responsibility; async code can wrap a call in `asyncio.wait_for`.
|
|
271
|
+
|
|
272
|
+
## Long-running sessions
|
|
273
|
+
|
|
274
|
+
An agent run can take minutes, and the read timeout applies to each read from the stream, not to the stream as a whole. A session that stays silent longer than the read timeout raises `APITimeoutError` even though it is still running, so raise the timeout when you open a long stream and resume with `last_event_id` if the connection drops anyway.
|
|
275
|
+
|
|
276
|
+
```python
|
|
277
|
+
with client.sessions.events.stream(session_id, timeout=None) as stream:
|
|
278
|
+
...
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
## Auto-pagination
|
|
282
|
+
|
|
283
|
+
List methods return a page that iterates across page boundaries for you.
|
|
284
|
+
|
|
285
|
+
```python
|
|
286
|
+
page = client.sessions.list(limit=20)
|
|
287
|
+
print(page.data) # just this page
|
|
288
|
+
print(page.has_next_page())
|
|
289
|
+
|
|
290
|
+
for session in page: # fetches subsequent pages as needed
|
|
291
|
+
print(session.id)
|
|
292
|
+
|
|
293
|
+
for page in client.sessions.list().iter_pages():
|
|
294
|
+
print(len(page.data))
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
Cursor pagination with `after_id` / `before_id` and page-token pagination with `next_page` are both handled, and filters are carried into subsequent requests. The SDK raises rather than looping forever if a cursor stops advancing. A few endpoints, such as Models, return an unpaginated list; read those through `.data`.
|
|
298
|
+
|
|
299
|
+
## Nested resources
|
|
300
|
+
|
|
301
|
+
For a nested resource the target ID may be passed positionally, while ancestor IDs are always keyword arguments.
|
|
302
|
+
|
|
303
|
+
```python
|
|
304
|
+
credential = client.vaults.credentials.retrieve("credential-id", vault_id="vault-id")
|
|
305
|
+
memory = client.memory_stores.memories.retrieve("memory-id", memory_store_id="store-id")
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
## File uploads and downloads
|
|
309
|
+
|
|
310
|
+
Uploads accept `bytes`, a binary file object, a `Path`, or a `(filename, content[, content type])` tuple. Content is buffered so it can be replayed on retry; a file object you open stays yours to close.
|
|
311
|
+
|
|
312
|
+
```python
|
|
313
|
+
from pathlib import Path
|
|
314
|
+
|
|
315
|
+
file = client.files.upload(file=Path("report.txt"))
|
|
316
|
+
|
|
317
|
+
skill = client.skills.create(files=[("example/SKILL.md", b"---\nname: example\n---\nExample skill")])
|
|
318
|
+
|
|
319
|
+
with client.files.download(file.id) as content:
|
|
320
|
+
content.write_to_file("downloaded.txt")
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
Relative paths are preserved in the multipart filename, which is how a Skill keeps its directory layout. A file download first requests a temporary link and then streams from object storage; API credentials, default headers, and cookies are not sent to the storage host. Async downloads are awaited: `response = await client.files.download(...)`, then `await response.write_to_file(...)`.
|
|
324
|
+
|
|
325
|
+
## Default headers and query parameters
|
|
326
|
+
|
|
327
|
+
Headers and query parameters can be set for every request on a client, or for one request.
|
|
328
|
+
|
|
329
|
+
```python
|
|
330
|
+
client = Forward(default_headers={"X-Trace-Id": "abc"}, default_query={"debug": "1"})
|
|
331
|
+
|
|
332
|
+
client.sessions.list(extra_headers={"X-Trace-Id": "override"}, extra_query={"debug": "0"})
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
Every method accepts `extra_headers`, `extra_query`, `extra_body`, and `timeout`. These values are applied last, so they override anything the method itself would send — including the `Authorization` header.
|
|
336
|
+
|
|
337
|
+
## Type system
|
|
338
|
+
|
|
339
|
+
Request parameters are `TypedDict`s, declared per mode in `types/*_params.py`. Pass plain dicts for nested parameters, and pass the matching string, dict, or list for a union. Responses are Pydantic models: read fields as attributes, and unknown fields the server adds are preserved rather than dropped.
|
|
340
|
+
|
|
341
|
+
```python
|
|
342
|
+
from qca import NOT_GIVEN
|
|
343
|
+
|
|
344
|
+
client.identities.update("identity-id", name=NOT_GIVEN) # omit the field
|
|
345
|
+
client.identities.update("identity-id", name=None) # send null
|
|
346
|
+
client.identities.update("identity-id", enabled=False) # send false
|
|
347
|
+
|
|
348
|
+
identity = client.identities.retrieve("identity-id")
|
|
349
|
+
print(identity.to_dict(), identity.to_json())
|
|
350
|
+
print("name" in identity.model_fields_set) # tells a missing field from an explicit null
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
An omitted argument is left out of the request body entirely, while `None` is serialized as `null`; empty strings, empty arrays, empty objects, `0`, and `false` are all sent as given. Whether a field can actually be cleared is decided by the server.
|
|
354
|
+
|
|
355
|
+
## Advanced usage
|
|
356
|
+
|
|
357
|
+
Prefix any method with `with_raw_response` to get the status code and headers alongside the parsed body.
|
|
358
|
+
|
|
359
|
+
```python
|
|
360
|
+
raw = client.models.with_raw_response.list()
|
|
361
|
+
print(raw.status_code, raw.headers)
|
|
362
|
+
models = raw.parse()
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
Use `with_streaming_response` when the headers have to be inspected before the body is read, or when the body should be consumed in chunks. The connection is released when the context exits.
|
|
366
|
+
|
|
367
|
+
```python
|
|
368
|
+
with client.models.with_streaming_response.list() as response:
|
|
369
|
+
print(response.headers)
|
|
370
|
+
models = response.parse()
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
The async forms are `await raw.parse()` and `async with client.models.with_streaming_response.list()`; a streaming body can also be iterated with `iter_bytes()` or `iter_lines()`.
|
|
374
|
+
|
|
375
|
+
## HTTP client
|
|
376
|
+
|
|
377
|
+
Pass your own `httpx.Client` (or `httpx.AsyncClient`) to control proxies, transports, TLS, and connection limits.
|
|
378
|
+
|
|
379
|
+
```python
|
|
380
|
+
import httpx
|
|
381
|
+
from qca import Forward
|
|
382
|
+
|
|
383
|
+
with Forward(http_client=httpx.Client(proxy="http://localhost:8080")) as client:
|
|
384
|
+
print(client.models.list().data)
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
For tokens that expire, pass a credential provider instead of a static token. Its `get_token()` is called on every HTTP attempt, so a refreshed token takes effect without rebuilding the client; async clients also accept an async `get_token()`.
|
|
388
|
+
|
|
389
|
+
```python
|
|
390
|
+
client = Forward(credential=my_credential)
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
A static `access_token` takes precedence over a provider, and an explicit `Authorization` header takes precedence over both.
|
|
394
|
+
|
|
395
|
+
## Versioning
|
|
396
|
+
|
|
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.
|
|
398
|
+
|
|
399
|
+
```python
|
|
400
|
+
import qca
|
|
401
|
+
|
|
402
|
+
print(qca.__version__)
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
## Resources
|
|
406
|
+
|
|
407
|
+
Runnable scenarios live in `examples/`, organized by mode, with one file per scenario and its run command at the top of the file. Bug reports and feature requests belong in [GitHub Issues](https://github.com/QoderAI/qoder-cloud-agents-sdk-python/issues).
|
|
408
|
+
|
|
409
|
+
## License
|
|
410
|
+
|
|
411
|
+
Released under the [MIT License](LICENSE).
|