stackgen-sdk 0.4.0rc28__tar.gz → 0.4.0rc30__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.
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/PKG-INFO +1 -1
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/_http.py +39 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/_version.py +2 -2
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/aiden/models.py +59 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/aiden/namespace.py +40 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/aiden/resources.py +58 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/aiden/webhook_ops.py +74 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/.openapi-generator/FILES +9 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/__init__.py +6 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/api/aiden_api.py +5387 -3636
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/__init__.py +3 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/agent_info.py +13 -1
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/register_agent_request.py +13 -1
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/secret_sub_category.py +1 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/skill.py +1 -1
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/skill_summary.py +1 -1
- stackgen_sdk-0.4.0rc30/src/stackgen/generated/models/test_model_request.py +98 -0
- stackgen_sdk-0.4.0rc30/src/stackgen/generated/models/test_model_response.py +89 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/update_agent_request.py +19 -2
- stackgen_sdk-0.4.0rc30/src/stackgen/generated/models/update_session_metadata_request.py +106 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/.gitignore +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/README.md +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/pyproject.toml +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/__init__.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/aiden/__init__.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/aiden/ask.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/aiden/audit.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/aiden/integration_secrets.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/aiden/run_status.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/aiden/runs.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/aiden/sessions.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/aiden/steer.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/aiden/subscribe.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/aiden/subscribe_frames.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/aiden/transient.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/aiden/webhook.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/aiden/workflow_builder.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/aiden/workflow_publish.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/cli.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/client.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/config.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/errors.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/.openapi-generator/VERSION +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/.openapi-generator-ignore +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/api/__init__.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/api/sre_api.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/api/vault_api.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/api_client.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/api_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/configuration.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/exceptions.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/activate_break_glass_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/agent_app_mcp_binding.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/agent_health_check.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/agent_health_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/agent_lifecycle_status.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/agent_model_config.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/agent_schedule.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/agent_status.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/alert_analysis_status.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/alert_attention.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/alert_categorization_summary.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/alert_role.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/alert_sort_by.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/alert_status.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/alert_summary.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/alert_sync_run_status.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/alert_v1.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/approval_item.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/artifact_info.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/ask_execution_mode.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/ask_guild_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/ask_guild_route_decision.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/ask_guild_route_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/ask_guild_start_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/attach_policy_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/audit_event.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/audit_event_list_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/audit_facets.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/auto_approve_tool_rule.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/autonomy_budget_config.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/autonomy_budget_snapshot.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/autonomy_budget_tier.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/autonomy_budget_tier_reason.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/break_glass_state.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/candidate_type.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/chat_channel_selector.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/chat_subscription.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/chat_subscription_list_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/chat_subscription_target_type.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/chat_subscription_trigger_type.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/combining_algorithm.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/combining_algorithm_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/container_image.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/cost_band.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/create_chat_subscription_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/create_document_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/create_knowledge_base_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/create_policy_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/create_remote_runner_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/create_remote_runner_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/create_schedule_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/create_skill_companion_file.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/create_skill_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/create_webhook_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/dag_edge.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/dag_node.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/diary_compression.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/diary_config.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/discovered_tool.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/document_ingest_status.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/document_ingest_workflow_status.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/document_processing_status.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/duration_band.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/entity_ref.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/error_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/eval_config.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/evaluate_policy_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/evaluate_policy_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/execution_list_item.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/execution_meta.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/execution_structured_output.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/execution_tool_call.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/execution_tool_call_list.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/external_secret_reference.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/fork_session_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/git_config.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/guild_integration.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/guild_json_error.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/guild_platform_config.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/hal_guard_config.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/health_check_status.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/hitl_config.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/ingested_document.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/ingested_document1.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/integration_availability_reason.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/integration_availability_status.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/integration_mcp_auth_promotion.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/integration_remote_runner.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/integration_scope.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/integration_sidecar_launch.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/integration_test_result.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/integration_type_info.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/investigate_alert_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/investigate_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/investigation.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/investigation_evidence.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/investigation_evidence_kind.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/investigation_evidence_source.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/investigation_hypothesis.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/investigation_plain_summary.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/investigation_prior_incident.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/investigation_recommended_next_step.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/investigation_ref.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/investigation_status.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/investigation_structured_hypothesis_entry.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/investigation_structured_limitation_entry.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/investigation_structured_rca.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/investigation_triage_metadata.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/judge_execution_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/key_definition_type.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/knowledge_base.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/knowledge_config.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/knowledge_item.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/knowledge_item_backend.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/knowledge_item_operation.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/knowledge_type.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/list_alerts_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/list_investigations_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/list_remote_runner_tasks_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/list_remote_runners_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/llm_provider_type.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/metadata.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/middleware_config.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/middleware_config_circuit_breaker.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/middleware_config_concurrency.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/middleware_config_context_mode.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/middleware_config_context_mode_per_tool_value.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/middleware_config_metrics.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/middleware_config_rate_limit.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/middleware_config_retry.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/middleware_config_sanitize.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/middleware_config_timeout.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/middleware_config_tracing.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/middleware_config_validation.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/model_pricing.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/model_provider_config.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/navigation_mode.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/o_auth_support.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/owner_type.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/pagination.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/persona_variant_config.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/pii_redaction_config.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/pii_regex_rule.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/policy.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/policy_evaluation_input.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/policy_evaluation_input_agent.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/policy_evaluation_input_approver.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/policy_evaluation_input_environment.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/policy_evaluation_input_principal.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/policy_evaluation_input_project_membership.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/policy_evaluation_input_requester.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/policy_evaluation_input_tool.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/policy_evaluation_outcome.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/policy_type.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/qualified_candidate.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/rca_config.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/reasoning_effort_setting.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/registered_model.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/remote_runner_info.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/remote_runner_task_info.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/resolve_approval_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/run_workflow_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/run_workflow_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/runbook_config.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/runner_capability.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/runner_status.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/runtime_approval_binding.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/runtime_approval_item.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/scan_finding.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/schedule_history.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/schedule_run_list_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/schedule_run_status.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/schedule_source.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/schedule_target_type.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/secret.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/session.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/session_activity_status.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/session_export.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/session_export_part.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/session_export_part_kind.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/session_list_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/session_responder_kind.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/session_summary.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/sidecar_health_probes.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/signal_severity.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/skill_file.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/stage_binding.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/stage_expectation.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/start_ask_guild200_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/start_chat_json_body.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/start_chat_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/subagent_spawn_contract.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/supported_formats.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/supported_formats_keys_inner.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/sync_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/task_error_category.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/task_status.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/terminate_session_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/toggle_chat_subscription_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/trace_dag_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/trigger_schedule202_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/trigger_webhook202_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/update_chat_subscription_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/update_secret_by_id_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/upsert_integration_request.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/version_status.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/webhook.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/webhook_run.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/webhook_run_detail.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/webhook_run_list_response.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/workflow.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/workflow_metadata.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/workflow_output_contract.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/workflow_run_expectations.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/workflow_stage.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/workflow_tool_middleware.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/workflow_tool_middleware_circuit_breaker.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/workflow_tool_middleware_concurrency.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/workflow_trigger.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/models/workflow_trigger_type.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/rest.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/logging.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/orgs/__init__.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/orgs/namespace.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/sre/__init__.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/sre/namespace.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/vault/__init__.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/vault/metadata.py +0 -0
- {stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/vault/namespace.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: stackgen-sdk
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.0rc30
|
|
4
4
|
Summary: StackGen SDK — Aiden, SRE, and Vault from one client
|
|
5
5
|
Project-URL: Homepage, https://appcd-dev.github.io/stackgen-sdk/
|
|
6
6
|
Project-URL: Documentation, https://appcd-dev.github.io/stackgen-sdk/
|
|
@@ -228,6 +228,45 @@ def request(
|
|
|
228
228
|
raise HttpError(f"{method} {url} -> {err}") from err
|
|
229
229
|
|
|
230
230
|
|
|
231
|
+
def build_multipart_body(
|
|
232
|
+
fields: dict[str, str],
|
|
233
|
+
files: list[dict[str, Any]] | None = None,
|
|
234
|
+
) -> tuple[bytes, str]:
|
|
235
|
+
"""Build a ``multipart/form-data`` body by hand (stdlib has no encoder).
|
|
236
|
+
|
|
237
|
+
``files`` entries look like ``{"field_name", "filename", "content",
|
|
238
|
+
"content_type"}`` (``content_type`` optional, defaults to
|
|
239
|
+
``application/octet-stream``). Returns ``(body_bytes, content_type)``.
|
|
240
|
+
"""
|
|
241
|
+
boundary = f"----stackgenSdk{time.time_ns():x}{os.getpid():x}"
|
|
242
|
+
crlf = b"\r\n"
|
|
243
|
+
parts: list[bytes] = []
|
|
244
|
+
for name, value in fields.items():
|
|
245
|
+
if value is None:
|
|
246
|
+
continue
|
|
247
|
+
parts.append(
|
|
248
|
+
f'--{boundary}\r\nContent-Disposition: form-data; name="{name}"\r\n\r\n{value}\r\n'.encode(
|
|
249
|
+
"utf-8"
|
|
250
|
+
)
|
|
251
|
+
)
|
|
252
|
+
for file in files or []:
|
|
253
|
+
content_type = file.get("content_type") or "application/octet-stream"
|
|
254
|
+
header = (
|
|
255
|
+
f"--{boundary}\r\n"
|
|
256
|
+
f'Content-Disposition: form-data; name="{file["field_name"]}"; '
|
|
257
|
+
f'filename="{file["filename"]}"\r\n'
|
|
258
|
+
f"Content-Type: {content_type}\r\n\r\n"
|
|
259
|
+
).encode("utf-8")
|
|
260
|
+
content = file["content"]
|
|
261
|
+
if isinstance(content, str):
|
|
262
|
+
content = content.encode("utf-8")
|
|
263
|
+
parts.append(header)
|
|
264
|
+
parts.append(content)
|
|
265
|
+
parts.append(crlf)
|
|
266
|
+
parts.append(f"--{boundary}--\r\n".encode("utf-8"))
|
|
267
|
+
return b"".join(parts), f"multipart/form-data; boundary={boundary}"
|
|
268
|
+
|
|
269
|
+
|
|
231
270
|
def as_list(payload: Any) -> list[dict[str, Any]]:
|
|
232
271
|
if isinstance(payload, list):
|
|
233
272
|
return [item for item in payload if isinstance(item, dict)]
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.4.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 4, 0, '
|
|
21
|
+
__version__ = version = '0.4.0rc30'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 4, 0, 'rc30')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -203,6 +203,65 @@ class ModelRegistry:
|
|
|
203
203
|
)
|
|
204
204
|
return {"provider": chosen, "model": model}
|
|
205
205
|
|
|
206
|
+
def test_model(
|
|
207
|
+
self,
|
|
208
|
+
*,
|
|
209
|
+
provider_name: str,
|
|
210
|
+
model_id: str,
|
|
211
|
+
variant: str | None = None,
|
|
212
|
+
max_tokens: int | None = None,
|
|
213
|
+
temperature: float | None = None,
|
|
214
|
+
reasoning_effort: str | None = None,
|
|
215
|
+
) -> dict[str, Any]:
|
|
216
|
+
"""POST /guild/api/v1/models/test — probe a config without registering it.
|
|
217
|
+
|
|
218
|
+
Runs a small generation call against the provider and returns
|
|
219
|
+
``{"success", "message"}``, or raises ``HttpError(400)`` with the
|
|
220
|
+
provider's error on an invalid configuration.
|
|
221
|
+
"""
|
|
222
|
+
body: dict[str, Any] = {"provider_name": provider_name, "model_id": model_id}
|
|
223
|
+
if variant is not None:
|
|
224
|
+
body["variant"] = variant
|
|
225
|
+
if max_tokens is not None:
|
|
226
|
+
body["max_tokens"] = max_tokens
|
|
227
|
+
if temperature is not None:
|
|
228
|
+
body["temperature"] = temperature
|
|
229
|
+
if reasoning_effort is not None:
|
|
230
|
+
body["reasoning_effort"] = reasoning_effort
|
|
231
|
+
out = self._json("POST", "/models/test", body)
|
|
232
|
+
if not isinstance(out, dict):
|
|
233
|
+
raise HttpError(f"unexpected test model payload: {out!r}")
|
|
234
|
+
return out
|
|
235
|
+
|
|
236
|
+
def delete_model(self, name: str, *, scope: str | None = None) -> None:
|
|
237
|
+
"""DELETE /guild/api/v1/models/{name}.
|
|
238
|
+
|
|
239
|
+
Pass ``scope`` (``TENANT`` / ``PROJECT``) to target a non-default
|
|
240
|
+
owner level. Raises ``HttpError(404)`` when the model is missing.
|
|
241
|
+
"""
|
|
242
|
+
enc = urllib.parse.quote(name, safe="")
|
|
243
|
+
params: dict[str, Any] = {"orgId": self._org()}
|
|
244
|
+
if scope:
|
|
245
|
+
params["scope"] = scope
|
|
246
|
+
url = f"{self._config.aiden_url()}/api/v1/models/{enc}?{urllib.parse.urlencode(params)}"
|
|
247
|
+
_http.request(url, self._config.api_token, method="DELETE", expect_json=False)
|
|
248
|
+
|
|
249
|
+
def delete_provider(self, name: str, *, scope: str | None = None) -> None:
|
|
250
|
+
"""DELETE /guild/api/v1/model-providers/{name}.
|
|
251
|
+
|
|
252
|
+
Delete every model under the provider first — Guild 404s on an
|
|
253
|
+
unknown provider but does not cascade-delete its models.
|
|
254
|
+
"""
|
|
255
|
+
enc = urllib.parse.quote(name, safe="")
|
|
256
|
+
params: dict[str, Any] = {"orgId": self._org()}
|
|
257
|
+
if scope:
|
|
258
|
+
params["scope"] = scope
|
|
259
|
+
url = (
|
|
260
|
+
f"{self._config.aiden_url()}/api/v1/model-providers/{enc}"
|
|
261
|
+
f"?{urllib.parse.urlencode(params)}"
|
|
262
|
+
)
|
|
263
|
+
_http.request(url, self._config.api_token, method="DELETE", expect_json=False)
|
|
264
|
+
|
|
206
265
|
def get_model(self, name: str) -> dict[str, Any]:
|
|
207
266
|
"""GET /guild/api/v1/models/{name}."""
|
|
208
267
|
enc = urllib.parse.quote(name, safe="")
|
|
@@ -154,6 +154,46 @@ class AidenNamespace:
|
|
|
154
154
|
"""POST /guild/api/v1/sessions/{sessionId}/terminate."""
|
|
155
155
|
return self._webhook_ops.terminate_session(session_id, reason=reason)
|
|
156
156
|
|
|
157
|
+
def update_session(
|
|
158
|
+
self,
|
|
159
|
+
session_id: str,
|
|
160
|
+
*,
|
|
161
|
+
title: str | None = None,
|
|
162
|
+
starred: bool | None = None,
|
|
163
|
+
archived: bool | None = None,
|
|
164
|
+
) -> dict[str, Any]:
|
|
165
|
+
"""PATCH /guild/api/v1/sessions/{sessionId}/metadata — rename, star/unstar,
|
|
166
|
+
or archive/unarchive. Only the fields you pass change."""
|
|
167
|
+
return self._webhook_ops.update_session(
|
|
168
|
+
session_id, title=title, starred=starred, archived=archived
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
def download_session_attachment(
|
|
172
|
+
self, session_id: str, attachment_id: str, output_path: str
|
|
173
|
+
) -> Path:
|
|
174
|
+
"""Download a chat attachment by its stable ``attachment_id`` (the UUID
|
|
175
|
+
half of an ``attachment://<session_id>/<attachment_id>`` handle)."""
|
|
176
|
+
return self._webhook_ops.download_session_attachment(
|
|
177
|
+
session_id, attachment_id, output_path
|
|
178
|
+
)
|
|
179
|
+
|
|
180
|
+
def delete_session_attachments(self, session_id: str) -> None:
|
|
181
|
+
"""Delete every stored chat attachment for a session."""
|
|
182
|
+
self._webhook_ops.delete_session_attachments(session_id)
|
|
183
|
+
|
|
184
|
+
def start_agent_chat_with_files(
|
|
185
|
+
self,
|
|
186
|
+
agent_name: str,
|
|
187
|
+
*,
|
|
188
|
+
message: str = "",
|
|
189
|
+
session_id: str | None = None,
|
|
190
|
+
files: list[dict[str, Any]],
|
|
191
|
+
) -> dict[str, Any]:
|
|
192
|
+
"""Start a chat turn with one or more file attachments (multipart)."""
|
|
193
|
+
return self._resources.start_agent_chat_with_files(
|
|
194
|
+
agent_name, message=message, session_id=session_id, files=files
|
|
195
|
+
)
|
|
196
|
+
|
|
157
197
|
def run_ask_and_download_artifact(
|
|
158
198
|
self,
|
|
159
199
|
message: str,
|
|
@@ -351,6 +351,64 @@ class AidenResources:
|
|
|
351
351
|
)
|
|
352
352
|
return record
|
|
353
353
|
|
|
354
|
+
def start_agent_chat_with_files(
|
|
355
|
+
self,
|
|
356
|
+
agent_name: str,
|
|
357
|
+
*,
|
|
358
|
+
message: str = "",
|
|
359
|
+
session_id: str | None = None,
|
|
360
|
+
files: list[dict[str, Any]],
|
|
361
|
+
) -> dict[str, Any]:
|
|
362
|
+
"""POST /agents/{name}/chat/start as ``multipart/form-data``.
|
|
363
|
+
|
|
364
|
+
``files`` entries are ``{"filename", "content", "content_type"}``
|
|
365
|
+
(``content`` is ``bytes``; ``content_type`` optional). Send multiple
|
|
366
|
+
files by adding multiple entries — Guild accepts many ``file`` parts
|
|
367
|
+
per request (cap 10, 3 MiB each for inline agents, 10 MiB for
|
|
368
|
+
reference agents, 40 MiB total).
|
|
369
|
+
|
|
370
|
+
There is no list-attachments endpoint: the returned
|
|
371
|
+
``attachment://<session_id>/<attachment_id>`` handle for each file
|
|
372
|
+
surfaces later in the turn's content (tool-call args, or ask the model
|
|
373
|
+
to repeat it) or the execution debug ZIP
|
|
374
|
+
(:meth:`AidenNamespace.download_execution_debug_zip`). Once you have
|
|
375
|
+
an ``attachment_id``, use :meth:`AidenNamespace.download_session_attachment`
|
|
376
|
+
/ :meth:`AidenNamespace.delete_session_attachments`.
|
|
377
|
+
"""
|
|
378
|
+
if not files:
|
|
379
|
+
raise ValueError("start_agent_chat_with_files requires at least one file")
|
|
380
|
+
fields: dict[str, str] = {"message": message}
|
|
381
|
+
if session_id:
|
|
382
|
+
fields["session_id"] = session_id
|
|
383
|
+
multipart_files = [
|
|
384
|
+
{
|
|
385
|
+
"field_name": "file",
|
|
386
|
+
"filename": f["filename"],
|
|
387
|
+
"content": f["content"],
|
|
388
|
+
"content_type": f.get("content_type"),
|
|
389
|
+
}
|
|
390
|
+
for f in files
|
|
391
|
+
]
|
|
392
|
+
body, content_type = _http.build_multipart_body(fields, multipart_files)
|
|
393
|
+
data = _http.request(
|
|
394
|
+
self._url(f"/agents/{agent_name}/chat/start"),
|
|
395
|
+
self._config.api_token,
|
|
396
|
+
method="POST",
|
|
397
|
+
body=body,
|
|
398
|
+
content_type=content_type,
|
|
399
|
+
transient_retry_budget_ms=self._config.transient_retry_budget_ms,
|
|
400
|
+
)
|
|
401
|
+
record = _as_object(data, "startAgentChatWithFiles")
|
|
402
|
+
self._config.emit_session_started(
|
|
403
|
+
{
|
|
404
|
+
"kind": "chat",
|
|
405
|
+
"session_id": record.get("session_id") or record.get("sessionId"),
|
|
406
|
+
"trace_id": record.get("trace_id") or record.get("traceId"),
|
|
407
|
+
"agent": agent_name,
|
|
408
|
+
}
|
|
409
|
+
)
|
|
410
|
+
return record
|
|
411
|
+
|
|
354
412
|
def list_chat_subscriptions(self, **params: Any) -> list[dict[str, Any]]:
|
|
355
413
|
return _http.as_list(self._get("/platforms/chat/subscriptions", params))
|
|
356
414
|
|
|
@@ -254,6 +254,80 @@ class WebhookOps:
|
|
|
254
254
|
out.append({"name": name, "path": str(dest), "meta": meta})
|
|
255
255
|
return out
|
|
256
256
|
|
|
257
|
+
def update_session(
|
|
258
|
+
self,
|
|
259
|
+
session_id: str,
|
|
260
|
+
*,
|
|
261
|
+
title: str | None = None,
|
|
262
|
+
starred: bool | None = None,
|
|
263
|
+
archived: bool | None = None,
|
|
264
|
+
) -> dict[str, Any]:
|
|
265
|
+
"""PATCH /guild/api/v1/sessions/{sessionId}/metadata.
|
|
266
|
+
|
|
267
|
+
Only the keyword args you pass are written; omit ``title`` /
|
|
268
|
+
``starred`` / ``archived`` to leave them unchanged. Pass
|
|
269
|
+
``title=""`` to clear a previously set title and revert to the
|
|
270
|
+
original prompt snippet. Returns the updated ``SessionSummary``.
|
|
271
|
+
"""
|
|
272
|
+
patch: dict[str, Any] = {}
|
|
273
|
+
if title is not None:
|
|
274
|
+
patch["title"] = title
|
|
275
|
+
if starred is not None:
|
|
276
|
+
patch["starred"] = starred
|
|
277
|
+
if archived is not None:
|
|
278
|
+
patch["archived"] = archived
|
|
279
|
+
url = (
|
|
280
|
+
f"{self._config.aiden_url()}/api/v1/sessions/{session_id}/metadata"
|
|
281
|
+
f"{_http.query(self._config.org_id)}"
|
|
282
|
+
)
|
|
283
|
+
data = _http.request(
|
|
284
|
+
url,
|
|
285
|
+
self._config.api_token,
|
|
286
|
+
method="PATCH",
|
|
287
|
+
body=json.dumps(patch).encode("utf-8"),
|
|
288
|
+
content_type="application/json",
|
|
289
|
+
)
|
|
290
|
+
if not isinstance(data, dict):
|
|
291
|
+
raise StackgenError(f"unexpected update session payload: {data!r}")
|
|
292
|
+
return data
|
|
293
|
+
|
|
294
|
+
def download_session_attachment(
|
|
295
|
+
self,
|
|
296
|
+
session_id: str,
|
|
297
|
+
attachment_id: str,
|
|
298
|
+
output_path: str,
|
|
299
|
+
) -> Path:
|
|
300
|
+
"""GET .../sessions/{sessionId}/attachments/{attachmentId}/download.
|
|
301
|
+
|
|
302
|
+
``attachment_id`` is the UUID half of an
|
|
303
|
+
``attachment://<session_id>/<attachment_id>`` handle — see
|
|
304
|
+
:meth:`AidenResources.start_agent_chat_with_files`. Writes the
|
|
305
|
+
stored bytes (original content type) to ``output_path``.
|
|
306
|
+
"""
|
|
307
|
+
encoded = urllib.parse.quote(attachment_id, safe="")
|
|
308
|
+
url = (
|
|
309
|
+
f"{self._config.aiden_url()}/api/v1/sessions/{session_id}/attachments/"
|
|
310
|
+
f"{encoded}/download"
|
|
311
|
+
)
|
|
312
|
+
raw = _http.request(url, self._config.api_token, expect_json=False)
|
|
313
|
+
dest = Path(output_path)
|
|
314
|
+
dest.parent.mkdir(parents=True, exist_ok=True)
|
|
315
|
+
dest.write_bytes(raw)
|
|
316
|
+
return dest
|
|
317
|
+
|
|
318
|
+
def delete_session_attachments(self, session_id: str) -> None:
|
|
319
|
+
"""DELETE .../sessions/{sessionId}/attachments.
|
|
320
|
+
|
|
321
|
+
Removes every stored chat attachment (and best-effort RAG vector
|
|
322
|
+
rows) for the session. Raises ``HttpError(404)`` when no attachment
|
|
323
|
+
session exists for ``session_id``.
|
|
324
|
+
"""
|
|
325
|
+
url = (
|
|
326
|
+
f"{self._config.aiden_url()}/api/v1/sessions/{session_id}/attachments"
|
|
327
|
+
f"{_http.query(self._config.org_id)}"
|
|
328
|
+
)
|
|
329
|
+
_http.request(url, self._config.api_token, method="DELETE", expect_json=False)
|
|
330
|
+
|
|
257
331
|
def export_session(
|
|
258
332
|
self,
|
|
259
333
|
session_id: str,
|
{stackgen_sdk-0.4.0rc28 → stackgen_sdk-0.4.0rc30}/src/stackgen/generated/.openapi-generator/FILES
RENAMED
|
@@ -213,6 +213,8 @@ stackgen/generated/docs/SyncResponse.md
|
|
|
213
213
|
stackgen/generated/docs/TaskErrorCategory.md
|
|
214
214
|
stackgen/generated/docs/TaskStatus.md
|
|
215
215
|
stackgen/generated/docs/TerminateSessionResponse.md
|
|
216
|
+
stackgen/generated/docs/TestModelRequest.md
|
|
217
|
+
stackgen/generated/docs/TestModelResponse.md
|
|
216
218
|
stackgen/generated/docs/ToggleChatSubscriptionRequest.md
|
|
217
219
|
stackgen/generated/docs/TraceDAGResponse.md
|
|
218
220
|
stackgen/generated/docs/TriggerSchedule202Response.md
|
|
@@ -220,6 +222,7 @@ stackgen/generated/docs/TriggerWebhook202Response.md
|
|
|
220
222
|
stackgen/generated/docs/UpdateAgentRequest.md
|
|
221
223
|
stackgen/generated/docs/UpdateChatSubscriptionRequest.md
|
|
222
224
|
stackgen/generated/docs/UpdateSecretByIdRequest.md
|
|
225
|
+
stackgen/generated/docs/UpdateSessionMetadataRequest.md
|
|
223
226
|
stackgen/generated/docs/UpsertIntegrationRequest.md
|
|
224
227
|
stackgen/generated/docs/VaultApi.md
|
|
225
228
|
stackgen/generated/docs/VersionStatus.md
|
|
@@ -442,6 +445,8 @@ stackgen/generated/models/sync_response.py
|
|
|
442
445
|
stackgen/generated/models/task_error_category.py
|
|
443
446
|
stackgen/generated/models/task_status.py
|
|
444
447
|
stackgen/generated/models/terminate_session_response.py
|
|
448
|
+
stackgen/generated/models/test_model_request.py
|
|
449
|
+
stackgen/generated/models/test_model_response.py
|
|
445
450
|
stackgen/generated/models/toggle_chat_subscription_request.py
|
|
446
451
|
stackgen/generated/models/trace_dag_response.py
|
|
447
452
|
stackgen/generated/models/trigger_schedule202_response.py
|
|
@@ -449,6 +454,7 @@ stackgen/generated/models/trigger_webhook202_response.py
|
|
|
449
454
|
stackgen/generated/models/update_agent_request.py
|
|
450
455
|
stackgen/generated/models/update_chat_subscription_request.py
|
|
451
456
|
stackgen/generated/models/update_secret_by_id_request.py
|
|
457
|
+
stackgen/generated/models/update_session_metadata_request.py
|
|
452
458
|
stackgen/generated/models/upsert_integration_request.py
|
|
453
459
|
stackgen/generated/models/version_status.py
|
|
454
460
|
stackgen/generated/models/webhook.py
|
|
@@ -672,6 +678,8 @@ stackgen/generated/test/test_sync_response.py
|
|
|
672
678
|
stackgen/generated/test/test_task_error_category.py
|
|
673
679
|
stackgen/generated/test/test_task_status.py
|
|
674
680
|
stackgen/generated/test/test_terminate_session_response.py
|
|
681
|
+
stackgen/generated/test/test_test_model_request.py
|
|
682
|
+
stackgen/generated/test/test_test_model_response.py
|
|
675
683
|
stackgen/generated/test/test_toggle_chat_subscription_request.py
|
|
676
684
|
stackgen/generated/test/test_trace_dag_response.py
|
|
677
685
|
stackgen/generated/test/test_trigger_schedule202_response.py
|
|
@@ -679,6 +687,7 @@ stackgen/generated/test/test_trigger_webhook202_response.py
|
|
|
679
687
|
stackgen/generated/test/test_update_agent_request.py
|
|
680
688
|
stackgen/generated/test/test_update_chat_subscription_request.py
|
|
681
689
|
stackgen/generated/test/test_update_secret_by_id_request.py
|
|
690
|
+
stackgen/generated/test/test_update_session_metadata_request.py
|
|
682
691
|
stackgen/generated/test/test_upsert_integration_request.py
|
|
683
692
|
stackgen/generated/test/test_vault_api.py
|
|
684
693
|
stackgen/generated/test/test_version_status.py
|
|
@@ -233,6 +233,8 @@ __all__ = [
|
|
|
233
233
|
"TaskErrorCategory",
|
|
234
234
|
"TaskStatus",
|
|
235
235
|
"TerminateSessionResponse",
|
|
236
|
+
"TestModelRequest",
|
|
237
|
+
"TestModelResponse",
|
|
236
238
|
"ToggleChatSubscriptionRequest",
|
|
237
239
|
"TraceDAGResponse",
|
|
238
240
|
"TriggerSchedule202Response",
|
|
@@ -240,6 +242,7 @@ __all__ = [
|
|
|
240
242
|
"UpdateAgentRequest",
|
|
241
243
|
"UpdateChatSubscriptionRequest",
|
|
242
244
|
"UpdateSecretByIdRequest",
|
|
245
|
+
"UpdateSessionMetadataRequest",
|
|
243
246
|
"UpsertIntegrationRequest",
|
|
244
247
|
"VersionStatus",
|
|
245
248
|
"Webhook",
|
|
@@ -478,6 +481,8 @@ from stackgen.generated.models.sync_response import SyncResponse as SyncResponse
|
|
|
478
481
|
from stackgen.generated.models.task_error_category import TaskErrorCategory as TaskErrorCategory
|
|
479
482
|
from stackgen.generated.models.task_status import TaskStatus as TaskStatus
|
|
480
483
|
from stackgen.generated.models.terminate_session_response import TerminateSessionResponse as TerminateSessionResponse
|
|
484
|
+
from stackgen.generated.models.test_model_request import TestModelRequest as TestModelRequest
|
|
485
|
+
from stackgen.generated.models.test_model_response import TestModelResponse as TestModelResponse
|
|
481
486
|
from stackgen.generated.models.toggle_chat_subscription_request import ToggleChatSubscriptionRequest as ToggleChatSubscriptionRequest
|
|
482
487
|
from stackgen.generated.models.trace_dag_response import TraceDAGResponse as TraceDAGResponse
|
|
483
488
|
from stackgen.generated.models.trigger_schedule202_response import TriggerSchedule202Response as TriggerSchedule202Response
|
|
@@ -485,6 +490,7 @@ from stackgen.generated.models.trigger_webhook202_response import TriggerWebhook
|
|
|
485
490
|
from stackgen.generated.models.update_agent_request import UpdateAgentRequest as UpdateAgentRequest
|
|
486
491
|
from stackgen.generated.models.update_chat_subscription_request import UpdateChatSubscriptionRequest as UpdateChatSubscriptionRequest
|
|
487
492
|
from stackgen.generated.models.update_secret_by_id_request import UpdateSecretByIdRequest as UpdateSecretByIdRequest
|
|
493
|
+
from stackgen.generated.models.update_session_metadata_request import UpdateSessionMetadataRequest as UpdateSessionMetadataRequest
|
|
488
494
|
from stackgen.generated.models.upsert_integration_request import UpsertIntegrationRequest as UpsertIntegrationRequest
|
|
489
495
|
from stackgen.generated.models.version_status import VersionStatus as VersionStatus
|
|
490
496
|
from stackgen.generated.models.webhook import Webhook as Webhook
|