imbi-api 2.40.0__tar.gz → 2.41.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {imbi_api-2.40.0 → imbi_api-2.41.0}/PKG-INFO +3 -3
- {imbi_api-2.40.0 → imbi_api-2.41.0}/pyproject.toml +3 -3
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/agents.py +39 -1
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/harness.py +596 -3
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/project_deployments.py +165 -11
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/projects.py +1 -82
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/harness/__init__.py +4 -0
- imbi_api-2.41.0/src/imbi/api/harness/egress.py +171 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/harness/schemata.toml +67 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/harness/store.py +296 -1
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/prompts/release_notes_system.md +64 -7
- imbi_api-2.41.0/tests/endpoints/test_harness_egress.py +470 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_project_deployments.py +248 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_projects.py +0 -56
- {imbi_api-2.40.0 → imbi_api-2.41.0}/.gitignore +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/README.md +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/moon.yml +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/README.md +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/agent_tasks/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/agent_tasks/log.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/agent_tasks/schemata.toml +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/agent_tasks/store.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/agent_tasks/sweeper.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/agent_tools.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/app.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/agent_api.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/agent_api_routes.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/authorization_codes.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/autonomous.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/internal_services.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/local_auth.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/login_providers.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/membership.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/models.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/oauth.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/oauth_clients.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/organizations.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/password.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/permissions.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/principals.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/seed.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/sessions.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/tokens.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/auth/totp.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/backfill_embeddings.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/blueprint_attributes.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/blueprint_compliance.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/commit_pushed_at_repair.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/commit_sync/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/commit_sync/queue.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/commit_sync/service.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/component_facts.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/deployment_status_repair.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/deployment_sweeper.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/deployment_sync/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/deployment_sync/queue.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/deployment_sync/service.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/documents/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/documents/read_sweeper.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/domain/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/domain/models.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/domain/scoring.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/drift.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/email/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/email/client.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/email/dependencies.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/email/models.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/email/templates/base.html +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/email/templates/base.txt +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/email/templates/password_reset.html +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/email/templates/password_reset.txt +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/email/templates/welcome.html +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/email/templates/welcome.txt +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/email/templates.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/_credentials.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/_document_events.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/_document_history.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/_document_reads.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/_document_scope.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/_helpers.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/_json_fields.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/_pagination.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/_request_urls.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/_search_index.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/admin.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/admin_plugins.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/agent_platform.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/agent_task_harness.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/agent_tasks.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/agent_usage.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/ai_models.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/ai_providers.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/api_keys.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/auth.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/auth_providers.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/blueprints.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/client_credentials.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/comments.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/components.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/dashboard.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/document_analytics.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/document_likes.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/document_presence.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/document_templates.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/document_versions.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/documents.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/environments.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/events.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/graph_query.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/iggy_connectors.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/integrations.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/link_definitions.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/local_auth.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/maintenance.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/mcp_servers.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/mfa.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/oauth_metadata.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/operations_log.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/organizations.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/plugin_edges.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/plugin_entities.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/plugins.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/project_analysis.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/project_commit_sync.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/project_configuration.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/project_incidents.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/project_integrations.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/project_lifecycle.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/project_logs.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/project_plugins.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/project_pr_sync.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/project_types.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/prompts.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/pull_requests.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/releases.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/roles.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/sa_api_keys.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/scoring.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/scoring_policies.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/search.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/secret_broker.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/service_accounts.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/status.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/tags.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/teams.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/uploads.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/user_activity.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/users.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/webhooks.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/workflow_runs.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/endpoints/workflows.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/entrypoint.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/graph_ids.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/graph_sql.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/harness/auth.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/harness/marketplaces.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/harness/metrics.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/harness/platform.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/harness/sweeper.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/harness/tokens.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/identity/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/identity/attribution.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/identity/endpoints.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/identity/errors.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/identity/flows.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/identity/host_integration.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/identity/models.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/identity/repository.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/identity/resolution.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/identity/state.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/identity/sweeper.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/iggy_metrics.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/lifespans.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/llm/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/llm/dependencies.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/maintenance/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/maintenance/log.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/maintenance/operations.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/maintenance/registry.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/maintenance/state.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/maintenance/worker.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/mcp_test.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/middleware/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/middleware/rate_limit.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/models.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/openapi.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/orphan_releases.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/plugins/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/plugins/assignment_writer.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/plugins/assignments.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/plugins/credentials.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/plugins/installer.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/plugins/lifecycle.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/plugins/lifecycle_dispatch.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/plugins/reload.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/plugins/resolution.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/plugins/schemas.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/pr_sync/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/pr_sync/queue.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/pr_sync/service.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/prompts/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/prompts/seed.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/py.typed +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/relationships.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/release_promote/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/release_promote/queue.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/release_promote/service.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/sbom.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/scoring/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/scoring/queue.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/secret_broker/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/secret_broker/audit.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/secret_broker/broker.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/secret_broker/github_app.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/secret_broker/providers.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/secret_broker/schemata.toml +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/secret_broker/store.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/settings.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/storage/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/storage/client.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/storage/dependencies.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/storage/thumbnails.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/storage/validation.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/user_document_orgs.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/workflows/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/workflows/runs.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/workflows/runtime_schemata.toml +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/workflows/schemata.toml +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/workflows/store.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/src/imbi/api/workflows/sweeper.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/auth/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/auth/test_authentication.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/auth/test_authorization.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/auth/test_encryption.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/auth/test_internal_services.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/auth/test_login_providers.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/auth/test_membership.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/auth/test_oauth.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/auth/test_oauth_server.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/auth/test_organizations.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/auth/test_permissions.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/auth/test_seed.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/auth/test_sessions.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/auth/test_totp.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/clickhouse/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/clickhouse/test_client.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/clickhouse/test_init.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/clickhouse/test_privacy.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/email/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/email/test_audit_clickhouse.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/email/test_client.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/email/test_init.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/email/test_integration.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/email/test_models.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/email/test_templates.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_admin.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_admin_plugins.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_agent_api.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_agent_platform.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_agent_task_actions.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_agent_task_harness.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_agent_task_log.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_agent_task_relations.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_agent_tasks.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_agent_usage.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_agents.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_ai_models.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_ai_providers.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_api_keys.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_auth.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_auth_providers.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_blueprints.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_client_credentials.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_comments.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_components.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_credentials.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_cross_org_reads.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_dashboard.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_document_analytics.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_document_likes.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_document_presence.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_document_reads.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_document_reads_sql.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_document_templates.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_document_versions.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_documents.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_environments.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_events.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_github_app_repository.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_graph_query.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_harness.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_harness_secrets.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_iggy_connectors.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_init.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_integrations.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_json_fields.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_link_definitions.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_local_auth.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_maintenance.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_mcp_servers.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_mfa.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_operations_log.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_organizations.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_pagination.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_plugin_label_validation.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_plugins.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_project_analysis.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_project_commit_sync.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_project_configuration.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_project_deployments_autonomous.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_project_incidents.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_project_integrations.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_project_lifecycle.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_project_logs.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_project_plugins.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_project_response_surfacing.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_project_types.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_projects_helpers.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_prompt_decisions.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_prompts.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_pull_requests.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_releases.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_request_urls.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_roles.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_sa_api_keys.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_scoring.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_scoring_policies.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_search.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_search_index.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_secret_broker.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_service_accounts.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_service_writeback.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_status.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_tags.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_teams.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_uploads.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_user_activity.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_users.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_webhooks.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_workflow_run_history.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_workflow_runs.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_workflow_triggers.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/endpoints/test_workflows.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/fixtures/marketplaces/claude-code.json +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/fixtures/sbom/npm-realistic.json +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/fixtures/sbom/pypi-realistic.json +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/fixtures/sbom/tiny.json +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/identity/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/identity/test_endpoints.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/identity/test_errors.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/identity/test_flows.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/identity/test_host_integration.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/identity/test_repository.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/identity/test_resolution.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/identity/test_state.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/identity/test_sweeper.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/middleware/test_rate_limit.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/secret_support.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/storage/__init__.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/storage/test_client.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/storage/test_init.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/storage/test_thumbnails.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/storage/test_validation.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/support.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_agent_platform.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_agent_task_events_e2e.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_agent_tools.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_app.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_assignment_writer.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_auth_settings.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_backfill_embeddings.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_blueprint_attributes.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_blueprint_compliance.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_blueprints.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_commit_pushed_at_repair.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_commit_sync_queue.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_commit_sync_service.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_component_facts.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_deployment_status_repair.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_deployment_sweeper.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_deployment_sync_queue.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_deployment_sync_service.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_drift.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_entrypoint.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_graph_ids.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_graph_sql.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_identity_attribution.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_iggy_metrics.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_init.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_installer.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_lifecycle_dispatch.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_lifespans.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_maintenance_log.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_maintenance_operations.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_maintenance_state.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_maintenance_worker.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_models.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_openapi.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_orphan_releases.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_plugin_schemas.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_plugins.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_plugins_assignments.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_plugins_credentials.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_pr_sync_queue.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_pr_sync_service.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_projects_drift_ranges.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_prompt_seed.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_pull_requests_pending_deploy.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_release_promote_service.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_sbom.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_scoring_queue.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_scoring_triggers.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_secret_broker.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_secret_github_app.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_secret_github_app_live.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_secret_providers.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_settings.py +0 -0
- {imbi_api-2.40.0 → imbi_api-2.41.0}/tests/test_workflow_reconcile.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: imbi-api
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.41.0
|
|
4
4
|
Summary: Imbi is a DevOps Service Management Platform designed to provide an efficient way to manage a large environment that contains many services and applications.
|
|
5
5
|
Author-email: Alex Campbell <alexc@aweber.com>, Dave Shawley <daves@aweber.com>, "Gavin M. Roy" <gavinr@aweber.com>
|
|
6
6
|
License-Expression: BSD-3-Clause
|
|
@@ -19,8 +19,8 @@ Requires-Dist: cyclonedx-python-lib<12,>=11.7
|
|
|
19
19
|
Requires-Dist: fastapi
|
|
20
20
|
Requires-Dist: filetype
|
|
21
21
|
Requires-Dist: httpx<1,>=0.28.1
|
|
22
|
-
Requires-Dist: imbi-common[databases,llm,mcp,sentry,server]==2.
|
|
23
|
-
Requires-Dist: imbi-plugin-github==2.
|
|
22
|
+
Requires-Dist: imbi-common[databases,llm,mcp,sentry,server]==2.41.0
|
|
23
|
+
Requires-Dist: imbi-plugin-github==2.41.0
|
|
24
24
|
Requires-Dist: jinja2
|
|
25
25
|
Requires-Dist: jsonpatch>=1.33
|
|
26
26
|
Requires-Dist: limits<6,>=5
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "imbi-api"
|
|
3
|
-
version = "2.
|
|
3
|
+
version = "2.41.0"
|
|
4
4
|
description = "Imbi is a DevOps Service Management Platform designed to provide an efficient way to manage a large environment that contains many services and applications."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.14"
|
|
@@ -28,8 +28,8 @@ dependencies = [
|
|
|
28
28
|
"fastapi",
|
|
29
29
|
"filetype",
|
|
30
30
|
"httpx>=0.28.1,<1",
|
|
31
|
-
"imbi-common[databases,llm,mcp,sentry,server]==2.
|
|
32
|
-
"imbi-plugin-github==2.
|
|
31
|
+
"imbi-common[databases,llm,mcp,sentry,server]==2.41.0",
|
|
32
|
+
"imbi-plugin-github==2.41.0",
|
|
33
33
|
"jinja2",
|
|
34
34
|
"jsonpatch>=1.33",
|
|
35
35
|
"limits>=5,<6",
|
|
@@ -839,7 +839,9 @@ async def _check_platform(
|
|
|
839
839
|
422: A secret reference does not parse, a new GitHub App
|
|
840
840
|
binding is not an enabled ``github_app`` binding of the
|
|
841
841
|
org, the settings widen the organization's agent
|
|
842
|
-
platform configuration,
|
|
842
|
+
platform configuration, a plugin cannot be pinned, or a
|
|
843
|
+
new egress destination is unknown, global, or not for
|
|
844
|
+
the org.
|
|
843
845
|
|
|
844
846
|
"""
|
|
845
847
|
try:
|
|
@@ -864,6 +866,7 @@ async def _check_platform(
|
|
|
864
866
|
raise _unprocessable(
|
|
865
867
|
f'Secret binding {binding!r} or its provider is disabled'
|
|
866
868
|
)
|
|
869
|
+
await _check_egress(store, org_id, settings, current)
|
|
867
870
|
_version, config = await platform.load(store, org_id)
|
|
868
871
|
problems = platform.widenings(config, settings)
|
|
869
872
|
if problems:
|
|
@@ -883,6 +886,41 @@ async def _check_platform(
|
|
|
883
886
|
return settings.model_copy(update={'plugins': plugins})
|
|
884
887
|
|
|
885
888
|
|
|
889
|
+
async def _check_egress(
|
|
890
|
+
store: harness.HarnessStore,
|
|
891
|
+
org_id: str,
|
|
892
|
+
settings: models.AgentSettings,
|
|
893
|
+
current: models.AgentSettings | None,
|
|
894
|
+
) -> None:
|
|
895
|
+
"""Check the egress destinations that ``settings`` adds.
|
|
896
|
+
|
|
897
|
+
A destination that the agent has already keeps passing, so a
|
|
898
|
+
later change to it does not block an unrelated save.
|
|
899
|
+
|
|
900
|
+
Raises:
|
|
901
|
+
422: A new destination is not live, is global (every chain
|
|
902
|
+
has it), or is not for the organization.
|
|
903
|
+
|
|
904
|
+
"""
|
|
905
|
+
added = set(settings.egress_destinations) - set(
|
|
906
|
+
current.egress_destinations if current else []
|
|
907
|
+
)
|
|
908
|
+
if not added:
|
|
909
|
+
return
|
|
910
|
+
rows = {row['slug']: row for row in await store.egress_destinations()}
|
|
911
|
+
problems: list[str] = []
|
|
912
|
+
for slug in sorted(added):
|
|
913
|
+
row = rows.get(slug)
|
|
914
|
+
if row is None:
|
|
915
|
+
problems.append(f'{slug!r} not found')
|
|
916
|
+
elif row['is_global']:
|
|
917
|
+
problems.append(f'{slug!r} is global')
|
|
918
|
+
elif row['organization_ids'] and org_id not in row['organization_ids']:
|
|
919
|
+
problems.append(f'{slug!r} is not for this organization')
|
|
920
|
+
if problems:
|
|
921
|
+
raise _unprocessable('Egress destinations: ' + '; '.join(problems))
|
|
922
|
+
|
|
923
|
+
|
|
886
924
|
def _version_conflict_detail(n: int) -> str:
|
|
887
925
|
return (
|
|
888
926
|
f'Version {n} of this agent was saved by another request; '
|