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.
Files changed (395) hide show
  1. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/PKG-INFO +17 -17
  2. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/pyproject.toml +17 -17
  3. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/interactive.py +7 -1
  4. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/settings.py +9 -0
  5. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/server/server.py +30 -7
  6. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/server/server_graph.py +2 -16
  7. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/config_manager.py +5 -4
  8. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/conftest.py +2 -4
  9. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_config.py +2 -2
  10. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/uv.lock +17 -17
  11. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/.dockerignore +0 -0
  12. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/.env.example +0 -0
  13. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/.github/workflows/ci.yml +0 -0
  14. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/.github/workflows/release-pypi.yml +0 -0
  15. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/.gitignore +0 -0
  16. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/.python-version +0 -0
  17. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/LICENSE +0 -0
  18. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/README.md +0 -0
  19. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/Configuration.md +0 -0
  20. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/approval-mode.md +0 -0
  21. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/cli-reference.md +0 -0
  22. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/config.toml.md +0 -0
  23. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/credentials.md +0 -0
  24. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/goal-and-rubrics.md +0 -0
  25. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/hooks.md +0 -0
  26. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/mcp-tools.md +0 -0
  27. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/memory-and-skills.md +0 -0
  28. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/model-providers.md +0 -0
  29. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/overview.md +0 -0
  30. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/plugins.md +0 -0
  31. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/quickstart.md +0 -0
  32. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/remote-sandboxes.md +0 -0
  33. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/docs/opscloud-docs/subagents.md +0 -0
  34. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/scripts/install.sh +0 -0
  35. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/__init__.py +0 -0
  36. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/__main__.py +0 -0
  37. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/_constants.py +0 -0
  38. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/_debug.py +0 -0
  39. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/_debug_buffer.py +0 -0
  40. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/_textual_patches.py +0 -0
  41. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/_version.py +0 -0
  42. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/agent/__init__.py +0 -0
  43. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/agent/config.py +0 -0
  44. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/agent/factory.py +0 -0
  45. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/approval_mode.py +0 -0
  46. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/backend/__init__.py +0 -0
  47. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/backend/composite.py +0 -0
  48. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/backend/local.py +0 -0
  49. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/backend/registry.py +0 -0
  50. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/backend/sandbox_config.py +0 -0
  51. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/backend/sandbox_factory.py +0 -0
  52. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/built_in_skills/remember/SKILL.md +0 -0
  53. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/built_in_skills/skill-creator/SKILL.md +0 -0
  54. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/built_in_skills/skill-creator/scripts/init_skill.py +0 -0
  55. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/built_in_skills/skill-creator/scripts/quick_validate.py +0 -0
  56. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/__init__.py +0 -0
  57. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/commands/__init__.py +0 -0
  58. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/commands/auth.py +0 -0
  59. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/commands/doctor.py +0 -0
  60. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/commands/mcp.py +0 -0
  61. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/commands/threads.py +0 -0
  62. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/main.py +0 -0
  63. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/non_interactive.py +0 -0
  64. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/cli/server_manager.py +0 -0
  65. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/__init__.py +0 -0
  66. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/_base.py +0 -0
  67. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/_guards.py +0 -0
  68. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/_router.py +0 -0
  69. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/_types.py +0 -0
  70. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/__init__.py +0 -0
  71. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/auth.py +0 -0
  72. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/bug.py +0 -0
  73. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/clear.py +0 -0
  74. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/cloud.py +0 -0
  75. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/compact.py +0 -0
  76. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/config_cmd.py +0 -0
  77. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/context.py +0 -0
  78. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/cost.py +0 -0
  79. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/doctor.py +0 -0
  80. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/effort.py +0 -0
  81. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/exit_cmd.py +0 -0
  82. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/fast.py +0 -0
  83. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/help_cmd.py +0 -0
  84. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/mcp.py +0 -0
  85. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/model.py +0 -0
  86. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/permissions.py +0 -0
  87. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/plugins.py +0 -0
  88. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/pool.py +0 -0
  89. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/resume.py +0 -0
  90. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/core/skills.py +0 -0
  91. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/__init__.py +0 -0
  92. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/agents.py +0 -0
  93. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/btw.py +0 -0
  94. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/copy.py +0 -0
  95. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/goal.py +0 -0
  96. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/loop.py +0 -0
  97. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/memory.py +0 -0
  98. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/review.py +0 -0
  99. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/rubric.py +0 -0
  100. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/runtime.py +0 -0
  101. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/skill_creator.py +0 -0
  102. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/skill_invoke.py +0 -0
  103. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/tasks.py +0 -0
  104. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/trace.py +0 -0
  105. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/ui_toggles.py +0 -0
  106. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/power/version.py +0 -0
  107. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/commands/registry.py +0 -0
  108. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/__init__.py +0 -0
  109. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/adapters/__init__.py +0 -0
  110. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/adapters/postgres.py +0 -0
  111. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/adapters/sqlite.py +0 -0
  112. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/aws.py +0 -0
  113. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/cloud_profiles.py +0 -0
  114. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/env_vars.py +0 -0
  115. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/langsmith.py +0 -0
  116. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/manifest.py +0 -0
  117. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/metadata.py +0 -0
  118. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/paths.py +0 -0
  119. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/plugins.py +0 -0
  120. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/store.py +0 -0
  121. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/store_factory.py +0 -0
  122. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/config/toml_config.py +0 -0
  123. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/editor.py +0 -0
  124. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/exceptions.py +0 -0
  125. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/file_ops.py +0 -0
  126. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/hooks/__init__.py +0 -0
  127. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/hooks/env.py +0 -0
  128. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/hooks/interrupt.py +0 -0
  129. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/hooks/models/__init__.py +0 -0
  130. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/hooks/models/adapters.py +0 -0
  131. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/hooks/models/config.py +0 -0
  132. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/hooks/models/domain.py +0 -0
  133. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/hooks/models/transport.py +0 -0
  134. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/hooks/tools.py +0 -0
  135. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/input.py +0 -0
  136. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/integrations/__init__.py +0 -0
  137. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/integrations/base.py +0 -0
  138. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/integrations/content_filter.py +0 -0
  139. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/integrations/event_bus.py +0 -0
  140. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/integrations/hooks.py +0 -0
  141. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/integrations/identity.py +0 -0
  142. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/integrations/notifications.py +0 -0
  143. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/integrations/stream_bridge.py +0 -0
  144. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/integrations/thread_store.py +0 -0
  145. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/json_types.py +0 -0
  146. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/__init__.py +0 -0
  147. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/config.py +0 -0
  148. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/discovery.py +0 -0
  149. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/mcp_info.py +0 -0
  150. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/middleware.py +0 -0
  151. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/preload.py +0 -0
  152. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/raw_config.py +0 -0
  153. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/semantic_profiler.py +0 -0
  154. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/session_manager.py +0 -0
  155. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/mcp/trust.py +0 -0
  156. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/memory/__init__.py +0 -0
  157. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/memory/branch.py +0 -0
  158. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/memory/guard.py +0 -0
  159. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/memory/onboarding.py +0 -0
  160. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/memory/registry.py +0 -0
  161. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/memory/store.py +0 -0
  162. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/__init__.py +0 -0
  163. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/_repository_bounds.py +0 -0
  164. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/ask_user.py +0 -0
  165. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/auto_mode.py +0 -0
  166. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/auto_mode_hitl.py +0 -0
  167. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/compaction.py +0 -0
  168. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/configurable_model.py +0 -0
  169. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/cost_tracking.py +0 -0
  170. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/glm_stall_recovery.py +0 -0
  171. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/goal_criteria.py +0 -0
  172. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/goal_state_notice.py +0 -0
  173. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/goal_tools.py +0 -0
  174. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/headless_mcp_guard.py +0 -0
  175. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/jev_model_router.py +0 -0
  176. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/local_context.py +0 -0
  177. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/mcp_context.py +0 -0
  178. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/mcp_middleware.py +0 -0
  179. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/memory_guard.py +0 -0
  180. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/model_retry.py +0 -0
  181. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/registry.py +0 -0
  182. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/reliable_rubric.py +0 -0
  183. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/resume_state.py +0 -0
  184. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/server_hooks.py +0 -0
  185. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/shell_allow_list.py +0 -0
  186. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/skills.py +0 -0
  187. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/subagent_artifacts.py +0 -0
  188. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/subagent_telemetry.py +0 -0
  189. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/subagents.py +0 -0
  190. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/tool_filter.py +0 -0
  191. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/middleware/unified_system_message.py +0 -0
  192. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/model/__init__.py +0 -0
  193. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/model/config.py +0 -0
  194. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/model/factory.py +0 -0
  195. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/model/pool.py +0 -0
  196. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/model/reasoning.py +0 -0
  197. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/offload.py +0 -0
  198. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/output.py +0 -0
  199. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/__init__.py +0 -0
  200. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/_json.py +0 -0
  201. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/adapters/__init__.py +0 -0
  202. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/adapters/agents.py +0 -0
  203. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/adapters/commands.py +0 -0
  204. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/adapters/mcp.py +0 -0
  205. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/adapters/skills.py +0 -0
  206. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/commands_cli.py +0 -0
  207. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/discovery.py +0 -0
  208. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/manifest.py +0 -0
  209. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/marketplace.py +0 -0
  210. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/models.py +0 -0
  211. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/project_plugins.py +0 -0
  212. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/protocol.py +0 -0
  213. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/store.py +0 -0
  214. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/plugins/substitution.py +0 -0
  215. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/project_utils.py +0 -0
  216. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/prompts/__init__.py +0 -0
  217. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/prompts/system.py +0 -0
  218. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/prompts/templates/system_prompt.md +0 -0
  219. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/prompts/types.py +0 -0
  220. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/rubrics/__init__.py +0 -0
  221. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/rubrics/evaluator.py +0 -0
  222. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/rubrics/evidence_extractor.py +0 -0
  223. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/rubrics/generator.py +0 -0
  224. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/rubrics/jev_compiler.py +0 -0
  225. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/rubrics/jev_grader.py +0 -0
  226. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/rubrics/middleware.py +0 -0
  227. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/schema/__init__.py +0 -0
  228. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/schema/interrupts.py +0 -0
  229. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/security/__init__.py +0 -0
  230. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/security/approval_mode.py +0 -0
  231. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/security/approval_mode_source.py +0 -0
  232. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/security/cli_ast_evaluator.py +0 -0
  233. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/security/jev_classifier.py +0 -0
  234. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/security/shell_safety.py +0 -0
  235. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/security/unicode_security.py +0 -0
  236. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/security/url_validation.py +0 -0
  237. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/server/__init__.py +0 -0
  238. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/server/_server_config.py +0 -0
  239. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/skills/__init__.py +0 -0
  240. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/skills/commands.py +0 -0
  241. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/skills/invocation.py +0 -0
  242. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/skills/load.py +0 -0
  243. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/skills/loader.py +0 -0
  244. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/skills/merge.py +0 -0
  245. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/skills/registry.py +0 -0
  246. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/skills/sources.py +0 -0
  247. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/skills/trust.py +0 -0
  248. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/state/__init__.py +0 -0
  249. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/state/base.py +0 -0
  250. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/state/cloud_context.py +0 -0
  251. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/state/goal_channels.py +0 -0
  252. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/state/goal_state_limits.py +0 -0
  253. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/state/resume_state.py +0 -0
  254. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/state/service_context.py +0 -0
  255. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/state/session.py +0 -0
  256. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/state/state_migration.py +0 -0
  257. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/subagents/__init__.py +0 -0
  258. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/subagents/loader.py +0 -0
  259. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/subagents/subagents_parser.py +0 -0
  260. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/subagents/types.py +0 -0
  261. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/tools/__init__.py +0 -0
  262. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/tools/catalog.py +0 -0
  263. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/tools/display.py +0 -0
  264. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/tools/fetch_url.py +0 -0
  265. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/tools/goal_tools.py +0 -0
  266. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/tools/registry.py +0 -0
  267. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/tools/thread.py +0 -0
  268. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/tools/web_search.py +0 -0
  269. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/__init__.py +0 -0
  270. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/app.py +0 -0
  271. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/app.tcss +0 -0
  272. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/clipboard.py +0 -0
  273. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/command_registry.py +0 -0
  274. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/message_store.py +0 -0
  275. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/permission_store.py +0 -0
  276. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/preferences.py +0 -0
  277. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/prompt_manager.py +0 -0
  278. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/remote_client.py +0 -0
  279. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/textual_adapter.py +0 -0
  280. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/theme.py +0 -0
  281. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/ui_help.py +0 -0
  282. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/__init__.py +0 -0
  283. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/_ask_user_types.py +0 -0
  284. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/_copy_spans.py +0 -0
  285. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/_inline_prompt.py +0 -0
  286. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/_js_eval_display.py +0 -0
  287. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/_links.py +0 -0
  288. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/_tool_stream.py +0 -0
  289. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/agent_selector.py +0 -0
  290. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/approval.py +0 -0
  291. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/ask_user.py +0 -0
  292. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/auth.py +0 -0
  293. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/auth_manager.py +0 -0
  294. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/auto_mode_notice.py +0 -0
  295. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/autocomplete.py +0 -0
  296. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/chat_input.py +0 -0
  297. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/cloud_selector.py +0 -0
  298. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/debug_console.py +0 -0
  299. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/devops_renderers.py +0 -0
  300. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/diff.py +0 -0
  301. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/effort_selector.py +0 -0
  302. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/goal_review.py +0 -0
  303. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/goal_status.py +0 -0
  304. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/infra_panel.py +0 -0
  305. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/install_confirm.py +0 -0
  306. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/loading.py +0 -0
  307. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/mcp_viewer.py +0 -0
  308. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/messages.py +0 -0
  309. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/model_selector.py +0 -0
  310. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/notification_center.py +0 -0
  311. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/notification_settings.py +0 -0
  312. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/operation_card.py +0 -0
  313. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/permissions_manager.py +0 -0
  314. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/plugin_manager.py +0 -0
  315. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/pool_selector.py +0 -0
  316. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/preamble.py +0 -0
  317. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/skills_viewer.py +0 -0
  318. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/status.py +0 -0
  319. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/subagent_panel.py +0 -0
  320. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/theme_selector.py +0 -0
  321. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/thread_selector.py +0 -0
  322. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/toast.py +0 -0
  323. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/tool_display.py +0 -0
  324. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/tool_renderers.py +0 -0
  325. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/tool_widgets.py +0 -0
  326. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/welcome.py +0 -0
  327. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/ui/widgets/welcome_popup.py +0 -0
  328. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/utils/__init__.py +0 -0
  329. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/utils/cost_estimation.py +0 -0
  330. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/utils/git.py +0 -0
  331. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/utils/logger.py +0 -0
  332. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/utils/session_stats.py +0 -0
  333. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/src/opscloud/utils/startup_error.py +0 -0
  334. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/__init__.py +0 -0
  335. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/evals/__init__.py +0 -0
  336. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/evals/datasets/aws_cloud_ops.yaml +0 -0
  337. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/evals/evaluators/__init__.py +0 -0
  338. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/evals/evaluators/output_evaluator.py +0 -0
  339. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/evals/evaluators/trajectory_evaluator.py +0 -0
  340. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/evals/runners/test_eval_runner.py +0 -0
  341. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/integration_tests/test_agent_lifecycle.py +0 -0
  342. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/integration_tests/test_server_lifecycle.py +0 -0
  343. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_agent_factory.py +0 -0
  344. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_approval_widget.py +0 -0
  345. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_ask_user.py +0 -0
  346. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_ast_evaluator.py +0 -0
  347. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_backend.py +0 -0
  348. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_checkpointer.py +0 -0
  349. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_cli_enhancements.py +0 -0
  350. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_cli_rubric.py +0 -0
  351. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_cloud_command.py +0 -0
  352. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_commands.py +0 -0
  353. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_cost_tracking.py +0 -0
  354. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_default_marketplace.py +0 -0
  355. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_goal_criteria.py +0 -0
  356. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_goal_state_limits.py +0 -0
  357. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_goal_state_notice.py +0 -0
  358. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_grader_tools.py +0 -0
  359. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_hitl.py +0 -0
  360. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_integrations_and_hooks.py +0 -0
  361. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_interrupt_schemas.py +0 -0
  362. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_jev_model_router.py +0 -0
  363. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_jev_rubrics.py +0 -0
  364. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_local_context.py +0 -0
  365. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_logging.py +0 -0
  366. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_mcp.py +0 -0
  367. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_mcp_middleware.py +0 -0
  368. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_mcp_viewer_and_command.py +0 -0
  369. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_memory.py +0 -0
  370. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_memory_enhancements.py +0 -0
  371. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_middleware_stack.py +0 -0
  372. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_model_providers.py +0 -0
  373. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_model_retry.py +0 -0
  374. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_plugin_agent_skill_mcp_scoping.py +0 -0
  375. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_plugin_manager_search.py +0 -0
  376. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_plugins.py +0 -0
  377. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_project_plugins.py +0 -0
  378. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_prompts_and_schema.py +0 -0
  379. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_reliable_rubric.py +0 -0
  380. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_reload_restart.py +0 -0
  381. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_resume_state.py +0 -0
  382. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_resumed_thread_latency_fix.py +0 -0
  383. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_rubrics.py +0 -0
  384. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_security.py +0 -0
  385. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_server.py +0 -0
  386. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_server_hooks.py +0 -0
  387. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_skill_creator.py +0 -0
  388. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_skills.py +0 -0
  389. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_state.py +0 -0
  390. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_subagents.py +0 -0
  391. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_tool_filter.py +0 -0
  392. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_tools.py +0 -0
  393. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_tui_app.py +0 -0
  394. {talkops_opscloud-0.3.0b1 → talkops_opscloud-0.3.0b2}/tests/unit_tests/test_utils.py +0 -0
  395. {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.0b1
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.35.0
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>=24.0
49
- Requires-Dist: pillow>=11.0.0
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.10.0
52
- Requires-Dist: pygments>=2.18.0
53
- Requires-Dist: pyperclip>=1.9.0
54
- Requires-Dist: python-dotenv>=1.0.0
55
- Requires-Dist: pyyaml>=6.0.2
56
- Requires-Dist: requests>=2.32.0
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>=14.0.0
59
- Requires-Dist: tavily-python>=0.5.0
60
- Requires-Dist: textual>=8.0.0
61
- Requires-Dist: tomli-w>=1.1.0
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.12.0
64
- Requires-Dist: urllib3>=2.2.0
65
- Requires-Dist: uuid-utils>=0.10.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.0b1"
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.35.0",
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>=24.0",
31
- "pillow>=11.0.0",
32
- "pydantic>=2.10.0",
33
- "pygments>=2.18.0",
34
- "pyperclip>=1.9.0",
35
- "python-dotenv>=1.0.0",
36
- "pyyaml>=6.0.2",
37
- "requests>=2.32.0",
38
- "rich>=14.0.0",
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.5.0",
41
- "textual>=8.0.0",
42
- "tomli-w>=1.1.0",
43
- "typing-extensions>=4.12.0",
44
- "urllib3>=2.2.0",
45
- "uuid-utils>=0.10.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
- url = proc.start()
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
- "from opscloud.state.session import get_checkpointer\n"
64
- "create_checkpointer = get_checkpointer\n"
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
- # Ensure python path includes current package and src
106
- src_path = str(Path.cwd() / "src")
107
- env["PYTHONPATH"] = f"{src_path}:{env.get('PYTHONPATH', '')}" if "PYTHONPATH" in env else src_path
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
- Returns the pre-compiled graph in <1ms without incurring per-request compilation latency.
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)
@@ -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
- set_active_aws_profile(result, persist=True)
522
- self._settings.aws_profile = result
523
- self.post_message(self.SettingChanged("aws.profile", result))
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 settings as _settings_mod
29
+ from opscloud.config.settings import reset_settings_for_testing
30
30
 
31
- with _settings_mod._settings_lock:
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.delenv("LANGSMITH_API_KEY", raising=False)
414
- monkeypatch.delenv("LANGCHAIN_API_KEY", raising=False)
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.0b1"
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.35.0" },
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 = ">=24.0" },
4993
- { name = "pillow", specifier = ">=11.0.0" },
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.10.0" },
4996
- { name = "pygments", specifier = ">=2.18.0" },
4997
- { name = "pyperclip", specifier = ">=1.9.0" },
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.0.0" },
5004
- { name = "pyyaml", specifier = ">=6.0.2" },
5005
- { name = "requests", specifier = ">=2.32.0" },
5006
- { name = "rich", specifier = ">=14.0.0" },
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.5.0" },
5009
- { name = "textual", specifier = ">=8.0.0" },
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.1.0" },
5012
- { name = "typing-extensions", specifier = ">=4.12.0" },
5013
- { name = "urllib3", specifier = ">=2.2.0" },
5014
- { name = "uuid-utils", specifier = ">=0.10.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