devops-bot-sdk 1.6.86__tar.gz → 1.6.87__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.
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/PKG-INFO +1 -1
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/devops_bot_sdk.egg-info/PKG-INFO +1 -1
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/__init__.py +2 -2
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/helpdesk_kb.md +39 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/README.md +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/devops_bot_sdk.egg-info/SOURCES.txt +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/devops_bot_sdk.egg-info/dependency_links.txt +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/devops_bot_sdk.egg-info/entry_points.txt +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/devops_bot_sdk.egg-info/requires.txt +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/devops_bot_sdk.egg-info/top_level.txt +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/pyproject.toml +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/activity/__init__.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/activity/classifier.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/activity/collectors/__init__.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/activity/collectors/common.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/activity/collectors/linux_auditd.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/activity/collectors/macos_eslogger.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/activity/collectors/windows_eventlog.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/activity/models.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/activity/os_setup.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/activity/recorder.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/activity/redact.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/activity/settings.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/activity/shipper.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/activity/spool.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agentd.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/__init__.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/activity.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/builder.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/chat.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/connectors.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/engines/__init__.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/engines/claude_code.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/engines/http.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/engines/mcp.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/engines/n8n.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/engines/shell.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/integrations.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/inventory.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/library/__init__.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/manifest.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/prompt_studio.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/prompt_template.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/prompt_vars.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/run_log.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/schedules.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/secrets.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/ticket_run.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/usage.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/agents/varstore.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/browser_profile.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/claude_usage.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/cli.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/client.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/collectors/__init__.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/collectors/files.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/collectors/process.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/collectors/screenshot.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/config.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/crucial.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/custom_agents.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/departments.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/design_verify/__init__.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/design_verify/assets.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/design_verify/bootstrap.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/design_verify/browser.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/design_verify/compare.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/design_verify/loop.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/estimator.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/exceptions.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/fallback_handoff.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/firewall.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/formats.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/git_ops.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/github_fetch.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/github_ingest.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/graph_recon.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/graphify.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/helpdesk.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/hooks/__init__.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/hooks/crucial_guard.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/intake.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ipc/__init__.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ipc/electron_bridge.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ipc/handlers.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/journal.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/local_exec.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/memory_guard.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/models/__init__.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/models/envelope.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/models/requests.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/models/responses.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/models/snapshots.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/phase_timer.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/plan_run.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/platform_compat.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/prd_progress.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/proof_readers.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/providers.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/py.typed +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/resume.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/router.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/run_auto.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/schedule_tickets.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/scheduler.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/self_report.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/self_report_local.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/sse.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/swagger.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/task_file.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/task_types.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/test.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/test_pipeline.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ticket_fields.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/tickets.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/tiers/__init__.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/tiers/mini_agent.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/__init__.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/api.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/dashboard.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/health.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/ip_allowlist.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/jobs.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/models.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/runner.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/security.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/server.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/service.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/session.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/setup_manager.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/static/agents.html +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/static/app.js +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/static/chat.html +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/static/custom-agents.html +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/static/default-agents.html +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/static/help.html +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/static/index.html +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/static/report.html +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/static/runs.html +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/static/schedules.html +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/static/setup.html +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/static/styles.css +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/static/tickets.html +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/ui/swagger.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/updater.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/url_access.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/vps_health.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/vps_identity.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/sdk/write_hook.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/setup.cfg +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_activity_claude_runs.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_activity_collectors.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_activity_core.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_activity_live_tracking.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_activity_macos.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_activity_os_setup.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_activity_pipeline.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_agent_activity.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_agent_activity_tracking.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_agent_chat_features.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_agent_crud_cli.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_agent_listing.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_agent_prompt_async.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_agent_prompt_models.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_agent_run_ticket.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_agent_schedules.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_agent_workspace_settings.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_agents_connectors_builder.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_allowed_tools_config.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_auto_agent_dispatch.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_auto_ticket_queue.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_browser_profile.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_cheap_tier.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_claude_usage_gate.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_client_jira_projects.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_config_token_diagnostics.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_configure_token_owner.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_console_encoding.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_crash_recovery.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_create_safe_retry.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_departments.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_done_transition.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_epic_decompose_run.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_epic_inherited_agent_id.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_epic_session_isolation.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_estimator.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_fallback_cli.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_fallback_cli_upgrade.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_firewall_open_on_update.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_formats.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_git_action.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_github_fetch.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_github_ingest.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_graph_recon.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_graphify_build.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_graphify_hook_install.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_health.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_helpdesk.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_intake_job_outcome.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_intake_plan_review.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_journal.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_limit_fallback_handoff.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_local_exec_provider.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_mcp_route_contract.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_memory_guard.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_panel_help.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_panel_ticket_schedules.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_phase_timer.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_plan_new_command.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_plan_run_activity.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_pr_identity.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_prd_artifact.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_project_path_resolution.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_proof_readers.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_providers.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_recon_session_isolation.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_resume.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_router.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_run_auto_agent_only.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_run_outputs.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_run_verdict_is_honest.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_schedule_api.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_schedule_outputs_and_plans.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_schedule_tickets.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_scheduler.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_scheduler_transient_retry.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_self_report.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_service_token_warning.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_stale_panel_restart.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_swagger_command.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_task_file_and_plan_run.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_task_file_format_doc.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_ticket_cli.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_ticket_fields.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_ticket_run_resolve_by_id.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_ticket_schedule_and_agent.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_ticket_speed_fixes.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_tier_flag_parity.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_ui_gate.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_ui_lifespan.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_update_timer.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_updater_extras.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_updater_ignores_cwd.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_updater_pep668.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_updater_reports_the_truth.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_url_access.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_vps_health.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_vps_only_reporting.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_windows_loop_identity.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_windows_panel_task.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_windows_stop_and_pidfile.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_windows_task_paths.py +0 -0
- {devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/tests/test_write_hook.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""AgentOS Desktop SDK — thin HTTPS/SSE client for the Electron app.
|
|
2
2
|
|
|
3
|
-
Version: 1.6.
|
|
3
|
+
Version: 1.6.87
|
|
4
4
|
|
|
5
5
|
Public surface:
|
|
6
6
|
BackendClient.from_config() — create client from ~/.agentos/config.toml
|
|
@@ -34,7 +34,7 @@ Rules:
|
|
|
34
34
|
- All data egress through submit_webhook only
|
|
35
35
|
"""
|
|
36
36
|
|
|
37
|
-
__version__ = "1.6.
|
|
37
|
+
__version__ = "1.6.87" # SINGLE SOURCE OF TRUTH — bump on every change; pyproject,
|
|
38
38
|
__author__ = "AgentOS" # sdk.client.SDK_VERSION and the UI server version all read this.
|
|
39
39
|
|
|
40
40
|
from sdk.client import BackendClient
|
|
@@ -101,6 +101,45 @@ the fix is not in their code, `agentos-auto update` installs the latest.
|
|
|
101
101
|
unresolved".** The `agentId` on the ticket could not be resolved
|
|
102
102
|
(`handlers._resolve_ticket_agent`); check the agent exists with
|
|
103
103
|
`agentos agent list`, or run with an explicit `--agent NAME`.
|
|
104
|
+
- **AI Draftsman fallback (`ad`) fails with `RATE_LIMIT: 429 RESOURCE_EXHAUSTED`.**
|
|
105
|
+
The text is Vertex's, but measured on 2026-10-24 the cause was Azure: the
|
|
106
|
+
gateway's `gpt-5.4` deployment (eastus) over its tokens-per-minute quota, then
|
|
107
|
+
every fallback model, with only the last error shown. Client side, `ad` 1.1.2
|
|
108
|
+
retries that error itself (5/10/20/40s); the SDK keeps machines on it —
|
|
109
|
+
`local_exec.FALLBACK_MIN_VERSION` is `(1, 1, 2)` and an older `ad` is upgraded
|
|
110
|
+
on `agentos-auto update`, or now with `agentos fallback install`. Check with
|
|
111
|
+
`agentos fallback status`. Server side (ai-draftsman-ml-b2b), rate-limited
|
|
112
|
+
deployments cool down and requests wait for capacity instead of failing, once
|
|
113
|
+
that change is deployed. Large prompts (a long ticket, `agentos help`) hit the
|
|
114
|
+
limit sooner; retrying a minute later usually works.
|
|
115
|
+
- **`agentos-auto update` says "still on vX — the upgrade did not take" but pip
|
|
116
|
+
exited 0.** Fixed in `updater._fresh_python_argv`: the post-install check ran
|
|
117
|
+
`python -c`, which reads the current directory first, so run from inside a
|
|
118
|
+
checkout of this repo it read the checkout's leftover `devops_bot_sdk.egg-info`
|
|
119
|
+
instead of the install. On an older SDK: run the update from any other folder,
|
|
120
|
+
or delete `devops_bot_sdk.egg-info` in the checkout (generated, git-ignored).
|
|
121
|
+
The install itself had worked.
|
|
122
|
+
- **After `agentos-auto update`: "no systemd unit 'agentos-ui' — restart the panel
|
|
123
|
+
manually", "could not read the firewall state (needs root …) … sudo ufw allow
|
|
124
|
+
8765/tcp", "VPS health: not reported — not_assigned_vps".** Not errors. The
|
|
125
|
+
update restarts the panel so it runs the new code (`sdk/ui/service.py`), checks
|
|
126
|
+
the panel's port is open for remote access (`sdk/firewall.py` — it never runs
|
|
127
|
+
sudo itself, so unprivileged it prints the command instead), and reports VPS
|
|
128
|
+
health only from the VPS assigned to the account (`sdk/vps_health.py`). On a
|
|
129
|
+
laptop or any machine that is not the assigned VPS all three are expected and
|
|
130
|
+
need no action; on the VPS, open the port with the printed command if the panel
|
|
131
|
+
must be reachable remotely, and restart `agentos-ui` if it runs by hand.
|
|
132
|
+
|
|
133
|
+
## Help in the control panel
|
|
134
|
+
|
|
135
|
+
The panel's **Help** page (`/help.html`, "Help" in the nav; `sdk/ui/static/help.html`)
|
|
136
|
+
is the same helper as `agentos help`: describe the problem, the answer shows which
|
|
137
|
+
engine answered (claude or the AI Draftsman fallback), follow-ups stay in the same
|
|
138
|
+
case. **Collect diagnostics only** = `agentos doctor`; **Download bundle for your
|
|
139
|
+
admin** = a zip of the case's diagnostics, errors and logs (no SDK source). API:
|
|
140
|
+
`POST /api/ui/help/ask` (a job), `POST /api/ui/help/doctor`,
|
|
141
|
+
`GET /api/ui/help/case/{name}/bundle` (`sdk/ui/api.py`). It runs on the machine the
|
|
142
|
+
panel runs on, so it reads that machine's logs.
|
|
104
143
|
|
|
105
144
|
## Useful commands (all verified to exist)
|
|
106
145
|
|
|
File without changes
|
|
File without changes
|
{devops_bot_sdk-1.6.86 → devops_bot_sdk-1.6.87}/devops_bot_sdk.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|