talkops-opscloud 0.3.0b1__tar.gz → 0.3.0b2__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.
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/PKG-INFO +17 -17
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/pyproject.toml +17 -17
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/interactive.py +7 -1
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/settings.py +9 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/server/server.py +30 -7
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/server/server_graph.py +2 -16
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/config_manager.py +5 -4
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/conftest.py +2 -4
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_config.py +2 -2
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/uv.lock +17 -17
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/.dockerignore +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/.env.example +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/.github/workflows/ci.yml +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/.github/workflows/release-pypi.yml +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/.gitignore +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/.python-version +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/LICENSE +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/README.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/Configuration.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/approval-mode.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/cli-reference.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/config.toml.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/credentials.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/goal-and-rubrics.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/hooks.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/mcp-tools.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/memory-and-skills.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/model-providers.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/overview.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/plugins.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/quickstart.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/remote-sandboxes.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/subagents.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/scripts/install.sh +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/__main__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/_constants.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/_debug.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/_debug_buffer.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/_textual_patches.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/_version.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/agent/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/agent/config.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/agent/factory.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/approval_mode.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/backend/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/backend/composite.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/backend/local.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/backend/registry.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/backend/sandbox_config.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/backend/sandbox_factory.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/built_in_skills/remember/SKILL.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/built_in_skills/skill-creator/SKILL.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/built_in_skills/skill-creator/scripts/init_skill.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/built_in_skills/skill-creator/scripts/quick_validate.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/commands/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/commands/auth.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/commands/doctor.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/commands/mcp.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/commands/threads.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/main.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/non_interactive.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/server_manager.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/_base.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/_guards.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/_router.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/_types.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/auth.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/bug.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/clear.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/cloud.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/compact.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/config_cmd.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/context.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/cost.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/doctor.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/effort.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/exit_cmd.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/fast.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/help_cmd.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/mcp.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/model.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/permissions.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/plugins.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/pool.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/resume.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/skills.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/agents.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/btw.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/copy.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/goal.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/loop.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/memory.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/review.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/rubric.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/runtime.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/skill_creator.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/skill_invoke.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/tasks.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/trace.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/ui_toggles.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/version.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/registry.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/adapters/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/adapters/postgres.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/adapters/sqlite.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/aws.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/cloud_profiles.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/env_vars.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/langsmith.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/manifest.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/metadata.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/paths.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/plugins.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/store.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/store_factory.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/toml_config.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/editor.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/exceptions.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/file_ops.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/hooks/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/hooks/env.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/hooks/interrupt.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/hooks/models/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/hooks/models/adapters.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/hooks/models/config.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/hooks/models/domain.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/hooks/models/transport.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/hooks/tools.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/input.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/integrations/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/integrations/base.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/integrations/content_filter.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/integrations/event_bus.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/integrations/hooks.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/integrations/identity.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/integrations/notifications.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/integrations/stream_bridge.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/integrations/thread_store.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/json_types.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/config.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/discovery.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/mcp_info.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/middleware.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/preload.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/raw_config.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/semantic_profiler.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/session_manager.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/trust.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/memory/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/memory/branch.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/memory/guard.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/memory/onboarding.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/memory/registry.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/memory/store.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/_repository_bounds.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/ask_user.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/auto_mode.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/auto_mode_hitl.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/compaction.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/configurable_model.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/cost_tracking.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/glm_stall_recovery.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/goal_criteria.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/goal_state_notice.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/goal_tools.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/headless_mcp_guard.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/jev_model_router.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/local_context.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/mcp_context.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/mcp_middleware.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/memory_guard.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/model_retry.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/registry.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/reliable_rubric.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/resume_state.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/server_hooks.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/shell_allow_list.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/skills.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/subagent_artifacts.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/subagent_telemetry.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/subagents.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/tool_filter.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/unified_system_message.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/model/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/model/config.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/model/factory.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/model/pool.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/model/reasoning.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/offload.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/output.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/_json.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/adapters/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/adapters/agents.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/adapters/commands.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/adapters/mcp.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/adapters/skills.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/commands_cli.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/discovery.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/manifest.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/marketplace.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/models.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/project_plugins.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/protocol.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/store.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/substitution.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/project_utils.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/prompts/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/prompts/system.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/prompts/templates/system_prompt.md +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/prompts/types.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/rubrics/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/rubrics/evaluator.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/rubrics/evidence_extractor.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/rubrics/generator.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/rubrics/jev_compiler.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/rubrics/jev_grader.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/rubrics/middleware.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/schema/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/schema/interrupts.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/security/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/security/approval_mode.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/security/approval_mode_source.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/security/cli_ast_evaluator.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/security/jev_classifier.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/security/shell_safety.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/security/unicode_security.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/security/url_validation.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/server/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/server/_server_config.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/skills/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/skills/commands.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/skills/invocation.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/skills/load.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/skills/loader.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/skills/merge.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/skills/registry.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/skills/sources.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/skills/trust.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/state/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/state/base.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/state/cloud_context.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/state/goal_channels.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/state/goal_state_limits.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/state/resume_state.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/state/service_context.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/state/session.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/state/state_migration.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/subagents/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/subagents/loader.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/subagents/subagents_parser.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/subagents/types.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/tools/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/tools/catalog.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/tools/display.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/tools/fetch_url.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/tools/goal_tools.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/tools/registry.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/tools/thread.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/tools/web_search.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/app.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/app.tcss +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/clipboard.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/command_registry.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/message_store.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/permission_store.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/preferences.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/prompt_manager.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/remote_client.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/textual_adapter.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/theme.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/ui_help.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/_ask_user_types.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/_copy_spans.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/_inline_prompt.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/_js_eval_display.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/_links.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/_tool_stream.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/agent_selector.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/approval.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/ask_user.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/auth.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/auth_manager.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/auto_mode_notice.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/autocomplete.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/chat_input.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/cloud_selector.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/debug_console.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/devops_renderers.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/diff.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/effort_selector.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/goal_review.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/goal_status.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/infra_panel.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/install_confirm.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/loading.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/mcp_viewer.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/messages.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/model_selector.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/notification_center.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/notification_settings.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/operation_card.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/permissions_manager.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/plugin_manager.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/pool_selector.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/preamble.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/skills_viewer.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/status.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/subagent_panel.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/theme_selector.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/thread_selector.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/toast.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/tool_display.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/tool_renderers.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/tool_widgets.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/welcome.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/welcome_popup.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/utils/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/utils/cost_estimation.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/utils/git.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/utils/logger.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/utils/session_stats.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/utils/startup_error.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/evals/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/evals/datasets/aws_cloud_ops.yaml +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/evals/evaluators/__init__.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/evals/evaluators/output_evaluator.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/evals/evaluators/trajectory_evaluator.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/evals/runners/test_eval_runner.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/integration_tests/test_agent_lifecycle.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/integration_tests/test_server_lifecycle.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_agent_factory.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_approval_widget.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_ask_user.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_ast_evaluator.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_backend.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_checkpointer.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_cli_enhancements.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_cli_rubric.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_cloud_command.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_commands.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_cost_tracking.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_default_marketplace.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_goal_criteria.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_goal_state_limits.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_goal_state_notice.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_grader_tools.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_hitl.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_integrations_and_hooks.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_interrupt_schemas.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_jev_model_router.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_jev_rubrics.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_local_context.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_logging.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_mcp.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_mcp_middleware.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_mcp_viewer_and_command.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_memory.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_memory_enhancements.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_middleware_stack.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_model_providers.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_model_retry.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_plugin_agent_skill_mcp_scoping.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_plugin_manager_search.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_plugins.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_project_plugins.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_prompts_and_schema.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_reliable_rubric.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_reload_restart.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_resume_state.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_resumed_thread_latency_fix.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_rubrics.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_security.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_server.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_server_hooks.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_skill_creator.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_skills.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_state.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_subagents.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_tool_filter.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_tools.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_tui_app.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_utils.py +0 -0
- {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/uv-requirements.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: talkops-opscloud
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.0b2
|
|
4
4
|
Summary: Extensible Terminal Multi-Agent Framework for Cloud Operations & DevOps Coding
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Requires-Python: >=3.12
|
|
@@ -8,7 +8,7 @@ Requires-Dist: agent-client-protocol>=0.11.0
|
|
|
8
8
|
Requires-Dist: aiosqlite>=0.22.1
|
|
9
9
|
Requires-Dist: anyio>=4.14.2
|
|
10
10
|
Requires-Dist: bashlex>=0.18
|
|
11
|
-
Requires-Dist: boto3>=1.
|
|
11
|
+
Requires-Dist: boto3>=1.43.51
|
|
12
12
|
Requires-Dist: colorama>=0.4.6
|
|
13
13
|
Requires-Dist: deepagents-acp>=0.0.9
|
|
14
14
|
Requires-Dist: deepagents[quickjs]>=0.7.1
|
|
@@ -45,24 +45,24 @@ Requires-Dist: loguru>=0.7.3
|
|
|
45
45
|
Requires-Dist: markdown-it-py>=4.2.0
|
|
46
46
|
Requires-Dist: markdownify>=1.2.3
|
|
47
47
|
Requires-Dist: mcp>=1.28.1
|
|
48
|
-
Requires-Dist: packaging>=
|
|
49
|
-
Requires-Dist: pillow>=
|
|
48
|
+
Requires-Dist: packaging>=26.2
|
|
49
|
+
Requires-Dist: pillow>=12.3.0
|
|
50
50
|
Requires-Dist: psycopg[binary]>=3.2.0
|
|
51
|
-
Requires-Dist: pydantic>=2.
|
|
52
|
-
Requires-Dist: pygments>=2.
|
|
53
|
-
Requires-Dist: pyperclip>=1.
|
|
54
|
-
Requires-Dist: python-dotenv>=1.
|
|
55
|
-
Requires-Dist: pyyaml>=6.0.
|
|
56
|
-
Requires-Dist: requests>=2.
|
|
51
|
+
Requires-Dist: pydantic>=2.13.4
|
|
52
|
+
Requires-Dist: pygments>=2.20.0
|
|
53
|
+
Requires-Dist: pyperclip>=1.11.0
|
|
54
|
+
Requires-Dist: python-dotenv>=1.2.2
|
|
55
|
+
Requires-Dist: pyyaml>=6.0.3
|
|
56
|
+
Requires-Dist: requests>=2.34.2
|
|
57
57
|
Requires-Dist: rich-pixels>=3.0.0
|
|
58
|
-
Requires-Dist: rich>=
|
|
59
|
-
Requires-Dist: tavily-python>=0.
|
|
60
|
-
Requires-Dist: textual>=8.
|
|
61
|
-
Requires-Dist: tomli-w>=1.
|
|
58
|
+
Requires-Dist: rich>=15.0.0
|
|
59
|
+
Requires-Dist: tavily-python>=0.7.26
|
|
60
|
+
Requires-Dist: textual>=8.2.8
|
|
61
|
+
Requires-Dist: tomli-w>=1.2.0
|
|
62
62
|
Requires-Dist: tomli>=1.1.0
|
|
63
|
-
Requires-Dist: typing-extensions>=4.
|
|
64
|
-
Requires-Dist: urllib3>=2.
|
|
65
|
-
Requires-Dist: uuid-utils>=0.
|
|
63
|
+
Requires-Dist: typing-extensions>=4.16.0
|
|
64
|
+
Requires-Dist: urllib3>=2.7.0
|
|
65
|
+
Requires-Dist: uuid-utils>=0.17.0
|
|
66
66
|
Provides-Extra: dev
|
|
67
67
|
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
|
|
68
68
|
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "talkops-opscloud"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.0b2"
|
|
4
4
|
description = "Extensible Terminal Multi-Agent Framework for Cloud Operations & DevOps Coding"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.12"
|
|
@@ -8,7 +8,7 @@ dependencies = [
|
|
|
8
8
|
"agent-client-protocol>=0.11.0",
|
|
9
9
|
"aiosqlite>=0.22.1",
|
|
10
10
|
"anyio>=4.14.2",
|
|
11
|
-
"boto3>=1.
|
|
11
|
+
"boto3>=1.43.51",
|
|
12
12
|
"deepagents[quickjs]>=0.7.1",
|
|
13
13
|
"deepagents-acp>=0.0.9",
|
|
14
14
|
"filelock>=3.18.0",
|
|
@@ -27,22 +27,22 @@ dependencies = [
|
|
|
27
27
|
"markdown-it-py>=4.2.0",
|
|
28
28
|
"markdownify>=1.2.3",
|
|
29
29
|
"mcp>=1.28.1",
|
|
30
|
-
"packaging>=
|
|
31
|
-
"pillow>=
|
|
32
|
-
"pydantic>=2.
|
|
33
|
-
"pygments>=2.
|
|
34
|
-
"pyperclip>=1.
|
|
35
|
-
"python-dotenv>=1.
|
|
36
|
-
"pyyaml>=6.0.
|
|
37
|
-
"requests>=2.
|
|
38
|
-
"rich>=
|
|
30
|
+
"packaging>=26.2",
|
|
31
|
+
"pillow>=12.3.0",
|
|
32
|
+
"pydantic>=2.13.4",
|
|
33
|
+
"pygments>=2.20.0",
|
|
34
|
+
"pyperclip>=1.11.0",
|
|
35
|
+
"python-dotenv>=1.2.2",
|
|
36
|
+
"pyyaml>=6.0.3",
|
|
37
|
+
"requests>=2.34.2",
|
|
38
|
+
"rich>=15.0.0",
|
|
39
39
|
"rich-pixels>=3.0.0",
|
|
40
|
-
"tavily-python>=0.
|
|
41
|
-
"textual>=8.
|
|
42
|
-
"tomli-w>=1.
|
|
43
|
-
"typing-extensions>=4.
|
|
44
|
-
"urllib3>=2.
|
|
45
|
-
"uuid-utils>=0.
|
|
40
|
+
"tavily-python>=0.7.26",
|
|
41
|
+
"textual>=8.2.8",
|
|
42
|
+
"tomli-w>=1.2.0",
|
|
43
|
+
"typing-extensions>=4.16.0",
|
|
44
|
+
"urllib3>=2.7.0",
|
|
45
|
+
"uuid-utils>=0.17.0",
|
|
46
46
|
"genai-prices>=0.1.0",
|
|
47
47
|
"bashlex>=0.18",
|
|
48
48
|
"colorama>=0.4.6",
|
|
@@ -102,7 +102,13 @@ def run_interactive(
|
|
|
102
102
|
trust_project_mcp=trust_project_mcp,
|
|
103
103
|
)
|
|
104
104
|
proc = ServerProcess(config)
|
|
105
|
-
|
|
105
|
+
try:
|
|
106
|
+
url = proc.start()
|
|
107
|
+
except Exception as e:
|
|
108
|
+
logger.warning("Could not start server immediately: %s", e)
|
|
109
|
+
proc = None
|
|
110
|
+
url = None
|
|
111
|
+
defer_server_start = True
|
|
106
112
|
|
|
107
113
|
effective_prompt = initial_prompt
|
|
108
114
|
if initial_skill and not effective_prompt:
|
|
@@ -612,6 +612,14 @@ def reload_settings() -> Settings:
|
|
|
612
612
|
return _settings
|
|
613
613
|
|
|
614
614
|
|
|
615
|
+
def reset_settings_for_testing() -> None:
|
|
616
|
+
"""Reset the global Settings singleton and bootstrap state (for tests)."""
|
|
617
|
+
global _settings
|
|
618
|
+
with _settings_lock:
|
|
619
|
+
_settings = None
|
|
620
|
+
_bootstrap_state.done = False
|
|
621
|
+
|
|
622
|
+
|
|
615
623
|
async def reload_from_store(store: Any) -> Settings:
|
|
616
624
|
"""Replace the global Settings instance with one hydrated from the store."""
|
|
617
625
|
global _settings
|
|
@@ -828,6 +836,7 @@ __all__ = [
|
|
|
828
836
|
"parse_shell_allow_list",
|
|
829
837
|
"reload_from_store",
|
|
830
838
|
"reload_settings",
|
|
839
|
+
"reset_settings_for_testing",
|
|
831
840
|
"resolve_env_var",
|
|
832
841
|
"settings",
|
|
833
842
|
"sync_aws_env_aliases",
|
|
@@ -58,11 +58,28 @@ def generate_langgraph_json(
|
|
|
58
58
|
server_graph_file.write_text(server_graph_code, encoding="utf-8")
|
|
59
59
|
|
|
60
60
|
# Link or create checkpointer.py in output_dir (connects to sessions.db)
|
|
61
|
+
from opscloud.state.session import get_db_path
|
|
62
|
+
|
|
63
|
+
db_path = str(get_db_path())
|
|
64
|
+
os.environ["OPSCLOUD_SERVER_DB_PATH"] = db_path
|
|
65
|
+
|
|
61
66
|
checkpointer_file = output_dir / "checkpointer.py"
|
|
62
|
-
checkpointer_code =
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
67
|
+
checkpointer_code = f'''\
|
|
68
|
+
"""Persistent SQLite checkpointer for the LangGraph dev server."""
|
|
69
|
+
|
|
70
|
+
import os
|
|
71
|
+
from contextlib import asynccontextmanager
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
@asynccontextmanager
|
|
75
|
+
async def create_checkpointer():
|
|
76
|
+
"""Yield an AsyncSqliteSaver connected to the sessions DB."""
|
|
77
|
+
from langgraph.checkpoint.sqlite.aio import AsyncSqliteSaver
|
|
78
|
+
|
|
79
|
+
path = os.environ.get("OPSCLOUD_SERVER_DB_PATH") or {repr(db_path)}
|
|
80
|
+
async with AsyncSqliteSaver.from_conn_string(path) as saver:
|
|
81
|
+
yield saver
|
|
82
|
+
'''
|
|
66
83
|
checkpointer_file.write_text(checkpointer_code, encoding="utf-8")
|
|
67
84
|
return target
|
|
68
85
|
|
|
@@ -102,9 +119,15 @@ class ServerProcess:
|
|
|
102
119
|
|
|
103
120
|
env = os.environ.copy()
|
|
104
121
|
env.update(self.config.to_env())
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
122
|
+
|
|
123
|
+
# If in a dev repository checkout, ensure src/ is on PYTHONPATH.
|
|
124
|
+
# Otherwise, in a packaged/installed release, do not inject arbitrary cwd/src.
|
|
125
|
+
repo_src = Path.cwd() / "src" / "opscloud"
|
|
126
|
+
if repo_src.is_dir() and (Path.cwd() / "pyproject.toml").is_file():
|
|
127
|
+
src_path = str(Path.cwd() / "src")
|
|
128
|
+
env["PYTHONPATH"] = f"{src_path}:{env.get('PYTHONPATH', '')}" if "PYTHONPATH" in env else src_path
|
|
129
|
+
else:
|
|
130
|
+
env.pop("PYTHONPATH", None)
|
|
108
131
|
|
|
109
132
|
server_log_level = getattr(self.config, "server_log_level", "WARNING") or "WARNING"
|
|
110
133
|
# Silence noisy startup/profiler heartbeats in LangGraph API by defaulting LOG_LEVEL to WARNING
|
|
@@ -63,30 +63,16 @@ def _make_graph_sync() -> Any:
|
|
|
63
63
|
_precompiled_graph: Any = None
|
|
64
64
|
_graph_lock = asyncio.Lock()
|
|
65
65
|
|
|
66
|
-
# When running in server mode (ServerProcess sets OPSCLOUD_SERVER_ASSISTANT_ID),
|
|
67
|
-
# eagerly compile the graph during module import / container startup.
|
|
68
|
-
# Official LangChain guidance: "Move expensive initialization (API clients, DB connections,
|
|
69
|
-
# model loading) from graph factory if you are seeing API slowness. Export an already-compiled
|
|
70
|
-
# CompiledGraph instance... or keep factory functions lightweight since they run on every invocation."
|
|
71
|
-
if "OPSCLOUD_SERVER_ASSISTANT_ID" in os.environ:
|
|
72
|
-
try:
|
|
73
|
-
_precompiled_graph = _make_graph_sync()
|
|
74
|
-
except Exception as exc:
|
|
75
|
-
logger.critical("Failed to precompile server graph during startup: %s", exc, exc_info=True)
|
|
76
|
-
print(f"Failed to precompile server graph during startup: {exc}", file=sys.stderr)
|
|
77
|
-
raise
|
|
78
|
-
|
|
79
|
-
|
|
80
66
|
async def make_graph() -> Any:
|
|
81
67
|
"""Return the agent graph for `langgraph dev`.
|
|
82
68
|
|
|
83
|
-
|
|
69
|
+
Compiles the agent graph lazily on first invocation and caches the CompiledGraph instance
|
|
70
|
+
to serve subsequent requests in <1ms without per-request compilation latency.
|
|
84
71
|
"""
|
|
85
72
|
global _precompiled_graph
|
|
86
73
|
if _precompiled_graph is not None:
|
|
87
74
|
return _precompiled_graph
|
|
88
75
|
|
|
89
|
-
# Fallback for environments where OPSCLOUD_SERVER_ASSISTANT_ID wasn't pre-set
|
|
90
76
|
async with _graph_lock:
|
|
91
77
|
if _precompiled_graph is None:
|
|
92
78
|
_precompiled_graph = await asyncio.to_thread(_make_graph_sync)
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/config_manager.py
RENAMED
|
@@ -514,13 +514,14 @@ class ConfigManagerScreen(ModalScreen[None]):
|
|
|
514
514
|
current_profile=self._settings.aws_profile,
|
|
515
515
|
)
|
|
516
516
|
|
|
517
|
-
def _on_cloud_result(result: str | None) -> None:
|
|
517
|
+
def _on_cloud_result(result: tuple[str, str | None] | None) -> None:
|
|
518
518
|
if result:
|
|
519
519
|
from opscloud.config.cloud_profiles import set_active_aws_profile
|
|
520
520
|
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
self.
|
|
521
|
+
profile_name = result[0] if isinstance(result, tuple) else str(result)
|
|
522
|
+
set_active_aws_profile(profile_name, persist=True)
|
|
523
|
+
self._settings.aws_profile = profile_name
|
|
524
|
+
self.post_message(self.SettingChanged("aws.profile", profile_name))
|
|
524
525
|
self._refresh_options()
|
|
525
526
|
|
|
526
527
|
self.app.push_screen(screen, callback=_on_cloud_result)
|
|
@@ -26,11 +26,9 @@ def clean_environment(monkeypatch):
|
|
|
26
26
|
os.environ.clear()
|
|
27
27
|
os.environ.update(old_env)
|
|
28
28
|
try:
|
|
29
|
-
from opscloud.config import
|
|
29
|
+
from opscloud.config.settings import reset_settings_for_testing
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
_settings_mod._settings = None
|
|
33
|
-
_settings_mod._bootstrap_state.done = False
|
|
31
|
+
reset_settings_for_testing()
|
|
34
32
|
except Exception:
|
|
35
33
|
pass
|
|
36
34
|
try:
|
|
@@ -410,8 +410,8 @@ def test_get_aws_credentials_dict():
|
|
|
410
410
|
|
|
411
411
|
|
|
412
412
|
def test_langsmith_project_name(monkeypatch):
|
|
413
|
-
monkeypatch.
|
|
414
|
-
monkeypatch.
|
|
413
|
+
monkeypatch.setenv("LANGSMITH_API_KEY", "")
|
|
414
|
+
monkeypatch.setenv("LANGCHAIN_API_KEY", "")
|
|
415
415
|
assert get_langsmith_project_name() is None
|
|
416
416
|
|
|
417
417
|
monkeypatch.setenv("LANGSMITH_API_KEY", "lsv2_pt_test")
|
|
@@ -4844,7 +4844,7 @@ wheels = [
|
|
|
4844
4844
|
|
|
4845
4845
|
[[package]]
|
|
4846
4846
|
name = "talkops-opscloud"
|
|
4847
|
-
version = "0.3.
|
|
4847
|
+
version = "0.3.0b2"
|
|
4848
4848
|
source = { editable = "." }
|
|
4849
4849
|
dependencies = [
|
|
4850
4850
|
{ name = "agent-client-protocol" },
|
|
@@ -4946,7 +4946,7 @@ requires-dist = [
|
|
|
4946
4946
|
{ name = "aiosqlite", specifier = ">=0.22.1" },
|
|
4947
4947
|
{ name = "anyio", specifier = ">=4.14.2" },
|
|
4948
4948
|
{ name = "bashlex", specifier = ">=0.18" },
|
|
4949
|
-
{ name = "boto3", specifier = ">=1.
|
|
4949
|
+
{ name = "boto3", specifier = ">=1.43.51" },
|
|
4950
4950
|
{ name = "colorama", specifier = ">=0.4.6" },
|
|
4951
4951
|
{ name = "daytona", marker = "extra == 'sandboxes'", specifier = ">=0.217.0" },
|
|
4952
4952
|
{ name = "deepagents", extras = ["quickjs"], specifier = ">=0.7.1" },
|
|
@@ -4989,29 +4989,29 @@ requires-dist = [
|
|
|
4989
4989
|
{ name = "markdownify", specifier = ">=1.2.3" },
|
|
4990
4990
|
{ name = "mcp", specifier = ">=1.28.1" },
|
|
4991
4991
|
{ name = "modal", marker = "extra == 'sandboxes'", specifier = ">=1.5.5" },
|
|
4992
|
-
{ name = "packaging", specifier = ">=
|
|
4993
|
-
{ name = "pillow", specifier = ">=
|
|
4992
|
+
{ name = "packaging", specifier = ">=26.2" },
|
|
4993
|
+
{ name = "pillow", specifier = ">=12.3.0" },
|
|
4994
4994
|
{ name = "psycopg", extras = ["binary"], specifier = ">=3.2.0" },
|
|
4995
|
-
{ name = "pydantic", specifier = ">=2.
|
|
4996
|
-
{ name = "pygments", specifier = ">=2.
|
|
4997
|
-
{ name = "pyperclip", specifier = ">=1.
|
|
4995
|
+
{ name = "pydantic", specifier = ">=2.13.4" },
|
|
4996
|
+
{ name = "pygments", specifier = ">=2.20.0" },
|
|
4997
|
+
{ name = "pyperclip", specifier = ">=1.11.0" },
|
|
4998
4998
|
{ name = "pytest", marker = "extra == 'dev'", specifier = ">=8.0" },
|
|
4999
4999
|
{ name = "pytest-asyncio", marker = "extra == 'dev'", specifier = ">=0.24" },
|
|
5000
5000
|
{ name = "pytest-cov", marker = "extra == 'dev'", specifier = ">=5.0" },
|
|
5001
5001
|
{ name = "pytest-timeout", marker = "extra == 'dev'", specifier = ">=2.3" },
|
|
5002
5002
|
{ name = "pytest-xdist", marker = "extra == 'dev'", specifier = ">=3.5" },
|
|
5003
|
-
{ name = "python-dotenv", specifier = ">=1.
|
|
5004
|
-
{ name = "pyyaml", specifier = ">=6.0.
|
|
5005
|
-
{ name = "requests", specifier = ">=2.
|
|
5006
|
-
{ name = "rich", specifier = ">=
|
|
5003
|
+
{ name = "python-dotenv", specifier = ">=1.2.2" },
|
|
5004
|
+
{ name = "pyyaml", specifier = ">=6.0.3" },
|
|
5005
|
+
{ name = "requests", specifier = ">=2.34.2" },
|
|
5006
|
+
{ name = "rich", specifier = ">=15.0.0" },
|
|
5007
5007
|
{ name = "rich-pixels", specifier = ">=3.0.0" },
|
|
5008
|
-
{ name = "tavily-python", specifier = ">=0.
|
|
5009
|
-
{ name = "textual", specifier = ">=8.
|
|
5008
|
+
{ name = "tavily-python", specifier = ">=0.7.26" },
|
|
5009
|
+
{ name = "textual", specifier = ">=8.2.8" },
|
|
5010
5010
|
{ name = "tomli", specifier = ">=1.1.0" },
|
|
5011
|
-
{ name = "tomli-w", specifier = ">=1.
|
|
5012
|
-
{ name = "typing-extensions", specifier = ">=4.
|
|
5013
|
-
{ name = "urllib3", specifier = ">=2.
|
|
5014
|
-
{ name = "uuid-utils", specifier = ">=0.
|
|
5011
|
+
{ name = "tomli-w", specifier = ">=1.2.0" },
|
|
5012
|
+
{ name = "typing-extensions", specifier = ">=4.16.0" },
|
|
5013
|
+
{ name = "urllib3", specifier = ">=2.7.0" },
|
|
5014
|
+
{ name = "uuid-utils", specifier = ">=0.17.0" },
|
|
5015
5015
|
]
|
|
5016
5016
|
provides-extras = ["dev", "test-integration", "sandboxes"]
|
|
5017
5017
|
|
|
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
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/goal-and-rubrics.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/memory-and-skills.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/remote-sandboxes.md
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
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/backend/sandbox_config.py
RENAMED
|
File without changes
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/backend/sandbox_factory.py
RENAMED
|
File without changes
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/built_in_skills/remember/SKILL.md
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
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/config_cmd.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/exit_cmd.py
RENAMED
|
File without changes
|
|
File without changes
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/help_cmd.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/permissions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/__init__.py
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
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/runtime.py
RENAMED
|
File without changes
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/skill_creator.py
RENAMED
|
File without changes
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/skill_invoke.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/ui_toggles.py
RENAMED
|
File without changes
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/version.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/adapters/__init__.py
RENAMED
|
File without changes
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/adapters/postgres.py
RENAMED
|
File without changes
|
{talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/adapters/sqlite.py
RENAMED
|
File without changes
|