devsper 2.5.0__tar.gz → 2.6.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (709) hide show
  1. {devsper-2.5.0 → devsper-2.6.0}/CHANGELOG.md +14 -0
  2. {devsper-2.5.0 → devsper-2.6.0}/PKG-INFO +3 -1
  3. {devsper-2.5.0 → devsper-2.6.0}/devsper/agents/agent.py +2 -0
  4. {devsper-2.5.0 → devsper-2.6.0}/devsper/cli/main.py +50 -0
  5. {devsper-2.5.0 → devsper-2.6.0}/devsper/config/schema.py +2 -0
  6. {devsper-2.5.0 → devsper-2.6.0}/devsper/swarm/swarm.py +61 -0
  7. {devsper-2.5.0 → devsper-2.6.0}/devsper/telemetry/__init__.py +8 -0
  8. devsper-2.6.0/devsper/telemetry/trulens.py +119 -0
  9. {devsper-2.5.0 → devsper-2.6.0}/devsper.toml +2 -0
  10. {devsper-2.5.0 → devsper-2.6.0}/pyproject.toml +10 -1
  11. {devsper-2.5.0 → devsper-2.6.0}/uv.lock +198 -2
  12. {devsper-2.5.0 → devsper-2.6.0}/.env.example +0 -0
  13. {devsper-2.5.0 → devsper-2.6.0}/.github/FUNDING.yml +0 -0
  14. {devsper-2.5.0 → devsper-2.6.0}/.github/workflows/pypi-publish.yml +0 -0
  15. {devsper-2.5.0 → devsper-2.6.0}/.github/workflows/release-on-tag.yml +0 -0
  16. {devsper-2.5.0 → devsper-2.6.0}/.github/workflows/worker-release.yml +0 -0
  17. {devsper-2.5.0 → devsper-2.6.0}/.gitignore +0 -0
  18. {devsper-2.5.0 → devsper-2.6.0}/.python-version +0 -0
  19. {devsper-2.5.0 → devsper-2.6.0}/CODE_OF_CONDUCT.md +0 -0
  20. {devsper-2.5.0 → devsper-2.6.0}/CONTRIBUTING.md +0 -0
  21. {devsper-2.5.0 → devsper-2.6.0}/Cargo.lock +0 -0
  22. {devsper-2.5.0 → devsper-2.6.0}/Cargo.toml +0 -0
  23. {devsper-2.5.0 → devsper-2.6.0}/Dockerfile.local-pool +0 -0
  24. {devsper-2.5.0 → devsper-2.6.0}/LICENSE +0 -0
  25. {devsper-2.5.0 → devsper-2.6.0}/README.md +0 -0
  26. {devsper-2.5.0 → devsper-2.6.0}/SECURITY.md +0 -0
  27. {devsper-2.5.0 → devsper-2.6.0}/benchmarks/__init__.py +0 -0
  28. {devsper-2.5.0 → devsper-2.6.0}/benchmarks/bench_dataset_analysis.py +0 -0
  29. {devsper-2.5.0 → devsper-2.6.0}/benchmarks/bench_repository_analysis.py +0 -0
  30. {devsper-2.5.0 → devsper-2.6.0}/benchmarks/bench_research_pipeline.py +0 -0
  31. {devsper-2.5.0 → devsper-2.6.0}/branding/logo.svg +0 -0
  32. {devsper-2.5.0 → devsper-2.6.0}/devsper/README.md +0 -0
  33. {devsper-2.5.0 → devsper-2.6.0}/devsper/__init__.py +0 -0
  34. {devsper-2.5.0 → devsper-2.6.0}/devsper/agents/a2a/__init__.py +0 -0
  35. {devsper-2.5.0 → devsper-2.6.0}/devsper/agents/a2a/client.py +0 -0
  36. {devsper-2.5.0 → devsper-2.6.0}/devsper/agents/a2a/discovery.py +0 -0
  37. {devsper-2.5.0 → devsper-2.6.0}/devsper/agents/a2a/server.py +0 -0
  38. {devsper-2.5.0 → devsper-2.6.0}/devsper/agents/a2a/tool_adapter.py +0 -0
  39. {devsper-2.5.0 → devsper-2.6.0}/devsper/agents/a2a/types.py +0 -0
  40. {devsper-2.5.0 → devsper-2.6.0}/devsper/agents/critic.py +0 -0
  41. {devsper-2.5.0 → devsper-2.6.0}/devsper/agents/identity.py +0 -0
  42. {devsper-2.5.0 → devsper-2.6.0}/devsper/agents/message_bus.py +0 -0
  43. {devsper-2.5.0 → devsper-2.6.0}/devsper/agents/registry.py +0 -0
  44. {devsper-2.5.0 → devsper-2.6.0}/devsper/agents/roles.py +0 -0
  45. {devsper-2.5.0 → devsper-2.6.0}/devsper/agents/run_agent.py +0 -0
  46. {devsper-2.5.0 → devsper-2.6.0}/devsper/analytics/__init__.py +0 -0
  47. {devsper-2.5.0 → devsper-2.6.0}/devsper/analytics/tool_analytics.py +0 -0
  48. {devsper-2.5.0 → devsper-2.6.0}/devsper/audit/__init__.py +0 -0
  49. {devsper-2.5.0 → devsper-2.6.0}/devsper/audit/logger.py +0 -0
  50. {devsper-2.5.0 → devsper-2.6.0}/devsper/budget.py +0 -0
  51. {devsper-2.5.0 → devsper-2.6.0}/devsper/bus/__init__.py +0 -0
  52. {devsper-2.5.0 → devsper-2.6.0}/devsper/bus/backends/__init__.py +0 -0
  53. {devsper-2.5.0 → devsper-2.6.0}/devsper/bus/backends/base.py +0 -0
  54. {devsper-2.5.0 → devsper-2.6.0}/devsper/bus/backends/memory.py +0 -0
  55. {devsper-2.5.0 → devsper-2.6.0}/devsper/bus/backends/redis.py +0 -0
  56. {devsper-2.5.0 → devsper-2.6.0}/devsper/bus/message.py +0 -0
  57. {devsper-2.5.0 → devsper-2.6.0}/devsper/bus/schema_version.py +0 -0
  58. {devsper-2.5.0 → devsper-2.6.0}/devsper/bus/topics.py +0 -0
  59. {devsper-2.5.0 → devsper-2.6.0}/devsper/cache/__init__.py +0 -0
  60. {devsper-2.5.0 → devsper-2.6.0}/devsper/cache/embedding_index.py +0 -0
  61. {devsper-2.5.0 → devsper-2.6.0}/devsper/cache/hashing.py +0 -0
  62. {devsper-2.5.0 → devsper-2.6.0}/devsper/cache/store.py +0 -0
  63. {devsper-2.5.0 → devsper-2.6.0}/devsper/cache/task_cache.py +0 -0
  64. {devsper-2.5.0 → devsper-2.6.0}/devsper/cli/__init__.py +0 -0
  65. {devsper-2.5.0 → devsper-2.6.0}/devsper/cli/commands/cloud.py +0 -0
  66. {devsper-2.5.0 → devsper-2.6.0}/devsper/cli/export.py +0 -0
  67. {devsper-2.5.0 → devsper-2.6.0}/devsper/cli/github_oauth.py +0 -0
  68. {devsper-2.5.0 → devsper-2.6.0}/devsper/cli/init.py +0 -0
  69. {devsper-2.5.0 → devsper-2.6.0}/devsper/cli/run_progress.py +0 -0
  70. {devsper-2.5.0 → devsper-2.6.0}/devsper/cli/ui/__init__.py +0 -0
  71. {devsper-2.5.0 → devsper-2.6.0}/devsper/cli/ui/components.py +0 -0
  72. {devsper-2.5.0 → devsper-2.6.0}/devsper/cli/ui/controller_run_view.py +0 -0
  73. {devsper-2.5.0 → devsper-2.6.0}/devsper/cli/ui/errors.py +0 -0
  74. {devsper-2.5.0 → devsper-2.6.0}/devsper/cli/ui/logging.py +0 -0
  75. {devsper-2.5.0 → devsper-2.6.0}/devsper/cli/ui/onboarding.py +0 -0
  76. {devsper-2.5.0 → devsper-2.6.0}/devsper/cli/ui/progress.py +0 -0
  77. {devsper-2.5.0 → devsper-2.6.0}/devsper/cli/ui/run_view.py +0 -0
  78. {devsper-2.5.0 → devsper-2.6.0}/devsper/cli/ui/theme.py +0 -0
  79. {devsper-2.5.0 → devsper-2.6.0}/devsper/cluster/__init__.py +0 -0
  80. {devsper-2.5.0 → devsper-2.6.0}/devsper/cluster/election.py +0 -0
  81. {devsper-2.5.0 → devsper-2.6.0}/devsper/cluster/local.py +0 -0
  82. {devsper-2.5.0 → devsper-2.6.0}/devsper/cluster/node_info.py +0 -0
  83. {devsper-2.5.0 → devsper-2.6.0}/devsper/cluster/registry.py +0 -0
  84. {devsper-2.5.0 → devsper-2.6.0}/devsper/cluster/router.py +0 -0
  85. {devsper-2.5.0 → devsper-2.6.0}/devsper/cluster/state_backend.py +0 -0
  86. {devsper-2.5.0 → devsper-2.6.0}/devsper/compliance/__init__.py +0 -0
  87. {devsper-2.5.0 → devsper-2.6.0}/devsper/compliance/pii.py +0 -0
  88. {devsper-2.5.0 → devsper-2.6.0}/devsper/config/__init__.py +0 -0
  89. {devsper-2.5.0 → devsper-2.6.0}/devsper/config/config_loader.py +0 -0
  90. {devsper-2.5.0 → devsper-2.6.0}/devsper/config/defaults.py +0 -0
  91. {devsper-2.5.0 → devsper-2.6.0}/devsper/config/resolver.py +0 -0
  92. {devsper-2.5.0 → devsper-2.6.0}/devsper/connectors/__init__.py +0 -0
  93. {devsper-2.5.0 → devsper-2.6.0}/devsper/connectors/base.py +0 -0
  94. {devsper-2.5.0 → devsper-2.6.0}/devsper/connectors/registry.py +0 -0
  95. {devsper-2.5.0 → devsper-2.6.0}/devsper/connectors/sample_connector.py +0 -0
  96. {devsper-2.5.0 → devsper-2.6.0}/devsper/contracts/__init__.py +0 -0
  97. {devsper-2.5.0 → devsper-2.6.0}/devsper/contracts/platform_event_type.py +0 -0
  98. {devsper-2.5.0 → devsper-2.6.0}/devsper/core/__init__.py +0 -0
  99. {devsper-2.5.0 → devsper-2.6.0}/devsper/core/agent/__init__.py +0 -0
  100. {devsper-2.5.0 → devsper-2.6.0}/devsper/core/agent/runner.py +0 -0
  101. {devsper-2.5.0 → devsper-2.6.0}/devsper/core/hitl/__init__.py +0 -0
  102. {devsper-2.5.0 → devsper-2.6.0}/devsper/core/hitl/state_machine.py +0 -0
  103. {devsper-2.5.0 → devsper-2.6.0}/devsper/core/memory/__init__.py +0 -0
  104. {devsper-2.5.0 → devsper-2.6.0}/devsper/core/memory/shared_memory.py +0 -0
  105. {devsper-2.5.0 → devsper-2.6.0}/devsper/core/reporting/__init__.py +0 -0
  106. {devsper-2.5.0 → devsper-2.6.0}/devsper/core/reporting/publisher.py +0 -0
  107. {devsper-2.5.0 → devsper-2.6.0}/devsper/core/runtime/__init__.py +0 -0
  108. {devsper-2.5.0 → devsper-2.6.0}/devsper/core/runtime/durability.py +0 -0
  109. {devsper-2.5.0 → devsper-2.6.0}/devsper/core/runtime/orchestrator.py +0 -0
  110. {devsper-2.5.0 → devsper-2.6.0}/devsper/core/tools/__init__.py +0 -0
  111. {devsper-2.5.0 → devsper-2.6.0}/devsper/core/tools/base_tool.py +0 -0
  112. {devsper-2.5.0 → devsper-2.6.0}/devsper/core/tools/loader.py +0 -0
  113. {devsper-2.5.0 → devsper-2.6.0}/devsper/core/tools/registry.py +0 -0
  114. {devsper-2.5.0 → devsper-2.6.0}/devsper/credentials/__init__.py +0 -0
  115. {devsper-2.5.0 → devsper-2.6.0}/devsper/credentials/cli.py +0 -0
  116. {devsper-2.5.0 → devsper-2.6.0}/devsper/credentials/migration.py +0 -0
  117. {devsper-2.5.0 → devsper-2.6.0}/devsper/credentials/store.py +0 -0
  118. {devsper-2.5.0 → devsper-2.6.0}/devsper/dashboard/__init__.py +0 -0
  119. {devsper-2.5.0 → devsper-2.6.0}/devsper/dashboard/dashboard.py +0 -0
  120. {devsper-2.5.0 → devsper-2.6.0}/devsper/debug_events.py +0 -0
  121. {devsper-2.5.0 → devsper-2.6.0}/devsper/dev/__init__.py +0 -0
  122. {devsper-2.5.0 → devsper-2.6.0}/devsper/dev/builder.py +0 -0
  123. {devsper-2.5.0 → devsper-2.6.0}/devsper/dev/debugger.py +0 -0
  124. {devsper-2.5.0 → devsper-2.6.0}/devsper/dev/repo_index.py +0 -0
  125. {devsper-2.5.0 → devsper-2.6.0}/devsper/dev/sandbox.py +0 -0
  126. {devsper-2.5.0 → devsper-2.6.0}/devsper/dev/scaffold.py +0 -0
  127. {devsper-2.5.0 → devsper-2.6.0}/devsper/distributed/__init__.py +0 -0
  128. {devsper-2.5.0 → devsper-2.6.0}/devsper/distributed/controller.py +0 -0
  129. {devsper-2.5.0 → devsper-2.6.0}/devsper/distributed/worker_runtime.py +0 -0
  130. {devsper-2.5.0 → devsper-2.6.0}/devsper/docs/architecture/execution-model.md +0 -0
  131. {devsper-2.5.0 → devsper-2.6.0}/devsper/embeddings/__init__.py +0 -0
  132. {devsper-2.5.0 → devsper-2.6.0}/devsper/embeddings/service.py +0 -0
  133. {devsper-2.5.0 → devsper-2.6.0}/devsper/events.py +0 -0
  134. {devsper-2.5.0 → devsper-2.6.0}/devsper/explainability/__init__.py +0 -0
  135. {devsper-2.5.0 → devsper-2.6.0}/devsper/explainability/decision_tree.py +0 -0
  136. {devsper-2.5.0 → devsper-2.6.0}/devsper/explainability/rationale.py +0 -0
  137. {devsper-2.5.0 → devsper-2.6.0}/devsper/explainability/simulation.py +0 -0
  138. {devsper-2.5.0 → devsper-2.6.0}/devsper/export/__init__.py +0 -0
  139. {devsper-2.5.0 → devsper-2.6.0}/devsper/export/branding.py +0 -0
  140. {devsper-2.5.0 → devsper-2.6.0}/devsper/export/collector.py +0 -0
  141. {devsper-2.5.0 → devsper-2.6.0}/devsper/export/manifest.py +0 -0
  142. {devsper-2.5.0 → devsper-2.6.0}/devsper/export/model.py +0 -0
  143. {devsper-2.5.0 → devsper-2.6.0}/devsper/export/packager.py +0 -0
  144. {devsper-2.5.0 → devsper-2.6.0}/devsper/export/pdf.py +0 -0
  145. {devsper-2.5.0 → devsper-2.6.0}/devsper/export/service.py +0 -0
  146. {devsper-2.5.0 → devsper-2.6.0}/devsper/export/writers.py +0 -0
  147. {devsper-2.5.0 → devsper-2.6.0}/devsper/hitl/__init__.py +0 -0
  148. {devsper-2.5.0 → devsper-2.6.0}/devsper/hitl/approval.py +0 -0
  149. {devsper-2.5.0 → devsper-2.6.0}/devsper/hitl/escalation.py +0 -0
  150. {devsper-2.5.0 → devsper-2.6.0}/devsper/integrations/__init__.py +0 -0
  151. {devsper-2.5.0 → devsper-2.6.0}/devsper/integrations/langchain_adapter.py +0 -0
  152. {devsper-2.5.0 → devsper-2.6.0}/devsper/integrations/langgraph_adapter.py +0 -0
  153. {devsper-2.5.0 → devsper-2.6.0}/devsper/intelligence/__init__.py +0 -0
  154. {devsper-2.5.0 → devsper-2.6.0}/devsper/intelligence/adaptation.py +0 -0
  155. {devsper-2.5.0 → devsper-2.6.0}/devsper/intelligence/analysis/__init__.py +0 -0
  156. {devsper-2.5.0 → devsper-2.6.0}/devsper/intelligence/analysis/analyzer.py +0 -0
  157. {devsper-2.5.0 → devsper-2.6.0}/devsper/intelligence/analysis/cost_estimator.py +0 -0
  158. {devsper-2.5.0 → devsper-2.6.0}/devsper/intelligence/analysis/formatter.py +0 -0
  159. {devsper-2.5.0 → devsper-2.6.0}/devsper/intelligence/analysis/run_report.py +0 -0
  160. {devsper-2.5.0 → devsper-2.6.0}/devsper/intelligence/learning_engine.py +0 -0
  161. {devsper-2.5.0 → devsper-2.6.0}/devsper/intelligence/strategies/__init__.py +0 -0
  162. {devsper-2.5.0 → devsper-2.6.0}/devsper/intelligence/strategies/base.py +0 -0
  163. {devsper-2.5.0 → devsper-2.6.0}/devsper/intelligence/strategies/code_analysis_strategy.py +0 -0
  164. {devsper-2.5.0 → devsper-2.6.0}/devsper/intelligence/strategies/data_science_strategy.py +0 -0
  165. {devsper-2.5.0 → devsper-2.6.0}/devsper/intelligence/strategies/document_pipeline_strategy.py +0 -0
  166. {devsper-2.5.0 → devsper-2.6.0}/devsper/intelligence/strategies/experiment_strategy.py +0 -0
  167. {devsper-2.5.0 → devsper-2.6.0}/devsper/intelligence/strategies/research_strategy.py +0 -0
  168. {devsper-2.5.0 → devsper-2.6.0}/devsper/intelligence/strategy_selector.py +0 -0
  169. {devsper-2.5.0 → devsper-2.6.0}/devsper/intelligence/synthesis.py +0 -0
  170. {devsper-2.5.0 → devsper-2.6.0}/devsper/intelligence/task_optimizer.py +0 -0
  171. {devsper-2.5.0 → devsper-2.6.0}/devsper/knowledge/__init__.py +0 -0
  172. {devsper-2.5.0 → devsper-2.6.0}/devsper/knowledge/extractor.py +0 -0
  173. {devsper-2.5.0 → devsper-2.6.0}/devsper/knowledge/knowledge_graph.py +0 -0
  174. {devsper-2.5.0 → devsper-2.6.0}/devsper/knowledge/query.py +0 -0
  175. {devsper-2.5.0 → devsper-2.6.0}/devsper/memory/__init__.py +0 -0
  176. {devsper-2.5.0 → devsper-2.6.0}/devsper/memory/consolidation.py +0 -0
  177. {devsper-2.5.0 → devsper-2.6.0}/devsper/memory/context.py +0 -0
  178. {devsper-2.5.0 → devsper-2.6.0}/devsper/memory/embeddings.py +0 -0
  179. {devsper-2.5.0 → devsper-2.6.0}/devsper/memory/memory_index.py +0 -0
  180. {devsper-2.5.0 → devsper-2.6.0}/devsper/memory/memory_router.py +0 -0
  181. {devsper-2.5.0 → devsper-2.6.0}/devsper/memory/memory_store.py +0 -0
  182. {devsper-2.5.0 → devsper-2.6.0}/devsper/memory/memory_types.py +0 -0
  183. {devsper-2.5.0 → devsper-2.6.0}/devsper/memory/namespaces.py +0 -0
  184. {devsper-2.5.0 → devsper-2.6.0}/devsper/memory/platform_memory.py +0 -0
  185. {devsper-2.5.0 → devsper-2.6.0}/devsper/memory/redis_memory.py +0 -0
  186. {devsper-2.5.0 → devsper-2.6.0}/devsper/memory/scoring.py +0 -0
  187. {devsper-2.5.0 → devsper-2.6.0}/devsper/memory/store.py +0 -0
  188. {devsper-2.5.0 → devsper-2.6.0}/devsper/memory/summarizer.py +0 -0
  189. {devsper-2.5.0 → devsper-2.6.0}/devsper/memory/supermemory_rust_ranker.py +0 -0
  190. {devsper-2.5.0 → devsper-2.6.0}/devsper/missions/__init__.py +0 -0
  191. {devsper-2.5.0 → devsper-2.6.0}/devsper/missions/base_agent.py +0 -0
  192. {devsper-2.5.0 → devsper-2.6.0}/devsper/missions/coding/__init__.py +0 -0
  193. {devsper-2.5.0 → devsper-2.6.0}/devsper/missions/coding/architect_agent.py +0 -0
  194. {devsper-2.5.0 → devsper-2.6.0}/devsper/missions/coding/coder_agent.py +0 -0
  195. {devsper-2.5.0 → devsper-2.6.0}/devsper/missions/coding/debugger_agent.py +0 -0
  196. {devsper-2.5.0 → devsper-2.6.0}/devsper/missions/coding/docs_agent.py +0 -0
  197. {devsper-2.5.0 → devsper-2.6.0}/devsper/missions/coding/tester_agent.py +0 -0
  198. {devsper-2.5.0 → devsper-2.6.0}/devsper/missions/iteration_loop.py +0 -0
  199. {devsper-2.5.0 → devsper-2.6.0}/devsper/missions/mission_memory.py +0 -0
  200. {devsper-2.5.0 → devsper-2.6.0}/devsper/missions/mission_planner.py +0 -0
  201. {devsper-2.5.0 → devsper-2.6.0}/devsper/missions/mission_runner.py +0 -0
  202. {devsper-2.5.0 → devsper-2.6.0}/devsper/missions/models.py +0 -0
  203. {devsper-2.5.0 → devsper-2.6.0}/devsper/missions/research/__init__.py +0 -0
  204. {devsper-2.5.0 → devsper-2.6.0}/devsper/missions/research/editor_agent.py +0 -0
  205. {devsper-2.5.0 → devsper-2.6.0}/devsper/missions/research/researcher_agent.py +0 -0
  206. {devsper-2.5.0 → devsper-2.6.0}/devsper/missions/research/reviewer_agent.py +0 -0
  207. {devsper-2.5.0 → devsper-2.6.0}/devsper/missions/research/writer_agent.py +0 -0
  208. {devsper-2.5.0 → devsper-2.6.0}/devsper/nodes/__init__.py +0 -0
  209. {devsper-2.5.0 → devsper-2.6.0}/devsper/nodes/controller.py +0 -0
  210. {devsper-2.5.0 → devsper-2.6.0}/devsper/nodes/rpc.py +0 -0
  211. {devsper-2.5.0 → devsper-2.6.0}/devsper/nodes/single.py +0 -0
  212. {devsper-2.5.0 → devsper-2.6.0}/devsper/nodes/worker.py +0 -0
  213. {devsper-2.5.0 → devsper-2.6.0}/devsper/orchestration/__init__.py +0 -0
  214. {devsper-2.5.0 → devsper-2.6.0}/devsper/orchestration/meta_planner.py +0 -0
  215. {devsper-2.5.0 → devsper-2.6.0}/devsper/orchestration/priority_queue.py +0 -0
  216. {devsper-2.5.0 → devsper-2.6.0}/devsper/platform/__init__.py +0 -0
  217. {devsper-2.5.0 → devsper-2.6.0}/devsper/platform/redis_results_sink.py +0 -0
  218. {devsper-2.5.0 → devsper-2.6.0}/devsper/platform/reporter.py +0 -0
  219. {devsper-2.5.0 → devsper-2.6.0}/devsper/platform/request_builder.py +0 -0
  220. {devsper-2.5.0 → devsper-2.6.0}/devsper/platform/run_context.py +0 -0
  221. {devsper-2.5.0 → devsper-2.6.0}/devsper/platform/runtime_events.py +0 -0
  222. {devsper-2.5.0 → devsper-2.6.0}/devsper/plugins/__init__.py +0 -0
  223. {devsper-2.5.0 → devsper-2.6.0}/devsper/plugins/marketplace/__init__.py +0 -0
  224. {devsper-2.5.0 → devsper-2.6.0}/devsper/plugins/plugin_loader.py +0 -0
  225. {devsper-2.5.0 → devsper-2.6.0}/devsper/plugins/plugin_registry.py +0 -0
  226. {devsper-2.5.0 → devsper-2.6.0}/devsper/policy/client.py +0 -0
  227. {devsper-2.5.0 → devsper-2.6.0}/devsper/pool/__init__.py +0 -0
  228. {devsper-2.5.0 → devsper-2.6.0}/devsper/pool/config.py +0 -0
  229. {devsper-2.5.0 → devsper-2.6.0}/devsper/pool/crypto.py +0 -0
  230. {devsper-2.5.0 → devsper-2.6.0}/devsper/pool/local_pool.py +0 -0
  231. {devsper-2.5.0 → devsper-2.6.0}/devsper/pool/manager.py +0 -0
  232. {devsper-2.5.0 → devsper-2.6.0}/devsper/pool/models.py +0 -0
  233. {devsper-2.5.0 → devsper-2.6.0}/devsper/pool/org_pool.py +0 -0
  234. {devsper-2.5.0 → devsper-2.6.0}/devsper/pool/profiles/dev.toml +0 -0
  235. {devsper-2.5.0 → devsper-2.6.0}/devsper/pool/profiles/local.toml +0 -0
  236. {devsper-2.5.0 → devsper-2.6.0}/devsper/pool/profiles/prod.toml +0 -0
  237. {devsper-2.5.0 → devsper-2.6.0}/devsper/pool/security.py +0 -0
  238. {devsper-2.5.0 → devsper-2.6.0}/devsper/pool/store.py +0 -0
  239. {devsper-2.5.0 → devsper-2.6.0}/devsper/pool/worker_runner.py +0 -0
  240. {devsper-2.5.0 → devsper-2.6.0}/devsper/protocol/__init__.py +0 -0
  241. {devsper-2.5.0 → devsper-2.6.0}/devsper/protocol/client.py +0 -0
  242. {devsper-2.5.0 → devsper-2.6.0}/devsper/protocol/schema.py +0 -0
  243. {devsper-2.5.0 → devsper-2.6.0}/devsper/protocol/server.py +0 -0
  244. {devsper-2.5.0 → devsper-2.6.0}/devsper/protocols/__init__.py +0 -0
  245. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/__init__.py +0 -0
  246. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/anthropic.py +0 -0
  247. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/base.py +0 -0
  248. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/complexity_router.py +0 -0
  249. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/gemini.py +0 -0
  250. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/github.py +0 -0
  251. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/model_router.py +0 -0
  252. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/openai.py +0 -0
  253. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/router/__init__.py +0 -0
  254. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/router/backends/__init__.py +0 -0
  255. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/router/backends/anthropic_backend.py +0 -0
  256. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/router/backends/custom_backend.py +0 -0
  257. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/router/backends/gemini_backend.py +0 -0
  258. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/router/backends/github_backend.py +0 -0
  259. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/router/backends/ollama_backend.py +0 -0
  260. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/router/backends/openai_backend.py +0 -0
  261. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/router/backends/vllm_backend.py +0 -0
  262. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/router/base.py +0 -0
  263. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/router/factory.py +0 -0
  264. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/router/legacy.py +0 -0
  265. {devsper-2.5.0 → devsper-2.6.0}/devsper/providers/router/router.py +0 -0
  266. {devsper-2.5.0 → devsper-2.6.0}/devsper/reasoning/__init__.py +0 -0
  267. {devsper-2.5.0 → devsper-2.6.0}/devsper/reasoning/graph.py +0 -0
  268. {devsper-2.5.0 → devsper-2.6.0}/devsper/reasoning/nodes.py +0 -0
  269. {devsper-2.5.0 → devsper-2.6.0}/devsper/reasoning/store.py +0 -0
  270. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/__init__.py +0 -0
  271. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/agent_pool.py +0 -0
  272. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/agent_runner.py +0 -0
  273. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/clarification_manager.py +0 -0
  274. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/event_stream.py +0 -0
  275. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/execution_graph.py +0 -0
  276. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/executor.py +0 -0
  277. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/health.py +0 -0
  278. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/hitl.py +0 -0
  279. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/model_router.py +0 -0
  280. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/planner.py +0 -0
  281. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/replay.py +0 -0
  282. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/replay_engine.py +0 -0
  283. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/retry.py +0 -0
  284. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/run_history.py +0 -0
  285. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/speculative_planner.py +0 -0
  286. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/state_manager.py +0 -0
  287. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/task_runner.py +0 -0
  288. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/task_state.py +0 -0
  289. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/telemetry.py +0 -0
  290. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/tool_runner.py +0 -0
  291. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/trace_tree.py +0 -0
  292. {devsper-2.5.0 → devsper-2.6.0}/devsper/runtime/visualize.py +0 -0
  293. {devsper-2.5.0 → devsper-2.6.0}/devsper/sandbox/__init__.py +0 -0
  294. {devsper-2.5.0 → devsper-2.6.0}/devsper/sandbox/sandbox.py +0 -0
  295. {devsper-2.5.0 → devsper-2.6.0}/devsper/server/__init__.py +0 -0
  296. {devsper-2.5.0 → devsper-2.6.0}/devsper/server/events.py +0 -0
  297. {devsper-2.5.0 → devsper-2.6.0}/devsper/server/memory_utils.py +0 -0
  298. {devsper-2.5.0 → devsper-2.6.0}/devsper/server/swarmworker.py +0 -0
  299. {devsper-2.5.0 → devsper-2.6.0}/devsper/server/topology.py +0 -0
  300. {devsper-2.5.0 → devsper-2.6.0}/devsper/storage/__init__.py +0 -0
  301. {devsper-2.5.0 → devsper-2.6.0}/devsper/storage/uploads/__init__.py +0 -0
  302. {devsper-2.5.0 → devsper-2.6.0}/devsper/storage/uploads/store.py +0 -0
  303. {devsper-2.5.0 → devsper-2.6.0}/devsper/swarm/checkpointer.py +0 -0
  304. {devsper-2.5.0 → devsper-2.6.0}/devsper/swarm/executor.py +0 -0
  305. {devsper-2.5.0 → devsper-2.6.0}/devsper/swarm/map_reduce.py +0 -0
  306. {devsper-2.5.0 → devsper-2.6.0}/devsper/swarm/planner.py +0 -0
  307. {devsper-2.5.0 → devsper-2.6.0}/devsper/swarm/prefetcher.py +0 -0
  308. {devsper-2.5.0 → devsper-2.6.0}/devsper/swarm/scheduler.py +0 -0
  309. {devsper-2.5.0 → devsper-2.6.0}/devsper/swarm/speculation.py +0 -0
  310. {devsper-2.5.0 → devsper-2.6.0}/devsper/telemetry/otel.py +0 -0
  311. {devsper-2.5.0 → devsper-2.6.0}/devsper/telemetry/pricing.py +0 -0
  312. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/__init__.py +0 -0
  313. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/base.py +0 -0
  314. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/code_intelligence/__init__.py +0 -0
  315. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/code_intelligence/api_surface_extractor.py +0 -0
  316. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/code_intelligence/architecture_analyzer.py +0 -0
  317. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/code_intelligence/codebase_indexer.py +0 -0
  318. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/code_intelligence/dependency_graph_builder.py +0 -0
  319. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/code_intelligence/design_pattern_detector.py +0 -0
  320. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/code_intelligence/large_function_detector.py +0 -0
  321. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/code_intelligence/module_responsibility_mapper.py +0 -0
  322. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/code_intelligence/parallel_codebase_analysis.py +0 -0
  323. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/code_intelligence/refactor_candidate_detector.py +0 -0
  324. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/code_intelligence/repository_semantic_index.py +0 -0
  325. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/code_intelligence/test_coverage_estimator.py +0 -0
  326. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/coding/__init__.py +0 -0
  327. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/coding/analyze_code_complexity.py +0 -0
  328. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/coding/dependency_analyzer.py +0 -0
  329. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/coding/extract_functions.py +0 -0
  330. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/coding/format_python.py +0 -0
  331. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/coding/generate_docstrings.py +0 -0
  332. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/coding/generate_unit_tests.py +0 -0
  333. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/coding/lint_python.py +0 -0
  334. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/coding/refactor_function.py +0 -0
  335. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/coding/repo_structure_map.py +0 -0
  336. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/coding/run_python.py +0 -0
  337. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data/__init__.py +0 -0
  338. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data/column_type_detection.py +0 -0
  339. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data/csv_summary.py +0 -0
  340. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data/dataframe_filter.py +0 -0
  341. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data/dataframe_groupby.py +0 -0
  342. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data/dataframe_stats.py +0 -0
  343. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data/dataset_sampling.py +0 -0
  344. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data/dataset_schema.py +0 -0
  345. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data/json_pretty_print.py +0 -0
  346. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data/json_query.py +0 -0
  347. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data/missing_value_report.py +0 -0
  348. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data_science/__init__.py +0 -0
  349. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data_science/correlation_heatmap.py +0 -0
  350. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data_science/dataset_bias_detector.py +0 -0
  351. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data_science/dataset_distribution_report.py +0 -0
  352. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data_science/dataset_drift_detector.py +0 -0
  353. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data_science/dataset_outlier_detector.py +0 -0
  354. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data_science/dataset_profile.py +0 -0
  355. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data_science/distributed_dataset_processor.py +0 -0
  356. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data_science/feature_engineering_suggestions.py +0 -0
  357. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data_science/feature_importance_estimator.py +0 -0
  358. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data_science/model_input_validator.py +0 -0
  359. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/data_science/time_series_analyzer.py +0 -0
  360. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/default/__init__.py +0 -0
  361. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/default/fetch_url.py +0 -0
  362. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/default/python_exec.py +0 -0
  363. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/default/read_csv.py +0 -0
  364. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/default/upload_file.py +0 -0
  365. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/default/web_search.py +0 -0
  366. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/documents/__init__.py +0 -0
  367. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/documents/_docproc.py +0 -0
  368. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/documents/document_to_markdown.py +0 -0
  369. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/documents/extract_document_images.py +0 -0
  370. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/documents/extract_document_text.py +0 -0
  371. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/documents/extract_equations.py +0 -0
  372. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/documents/extract_tables.py +0 -0
  373. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/documents/summarize_document.py +0 -0
  374. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/documents/write_latex_document.py +0 -0
  375. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/documents/write_markdown_document.py +0 -0
  376. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/documents/write_word_document.py +0 -0
  377. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/experiments/__init__.py +0 -0
  378. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/experiments/bootstrap_estimator.py +0 -0
  379. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/experiments/experiment_report_generator.py +0 -0
  380. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/experiments/experiment_tracker.py +0 -0
  381. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/experiments/grid_search_runner.py +0 -0
  382. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/experiments/model_benchmark_runner.py +0 -0
  383. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/experiments/monte_carlo_experiment.py +0 -0
  384. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/experiments/parameter_sweep_runner.py +0 -0
  385. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/experiments/result_comparator.py +0 -0
  386. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/experiments/simulation_runner.py +0 -0
  387. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/experiments/statistical_significance_test.py +0 -0
  388. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/experiments/swarm_map_reduce.py +0 -0
  389. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/filesystem/__init__.py +0 -0
  390. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/filesystem/append_file.py +0 -0
  391. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/filesystem/file_hash.py +0 -0
  392. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/filesystem/file_line_count.py +0 -0
  393. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/filesystem/file_metadata.py +0 -0
  394. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/filesystem/file_preview.py +0 -0
  395. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/filesystem/find_large_files.py +0 -0
  396. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/filesystem/list_directory.py +0 -0
  397. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/filesystem/read_file.py +0 -0
  398. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/filesystem/search_files.py +0 -0
  399. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/filesystem/write_file.py +0 -0
  400. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/flagship/__init__.py +0 -0
  401. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/flagship/distributed_document_analysis.py +0 -0
  402. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/flagship/docproc_corpus_pipeline.py +0 -0
  403. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/flagship/repository_semantic_map.py +0 -0
  404. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/flagship/research_graph_builder.py +0 -0
  405. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/flagship/swarm_experiment_runner.py +0 -0
  406. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/hitl_request.py +0 -0
  407. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/knowledge/__init__.py +0 -0
  408. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/knowledge/citation_graph_builder.py +0 -0
  409. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/knowledge/concept_frequency_analyzer.py +0 -0
  410. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/knowledge/corpus_builder.py +0 -0
  411. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/knowledge/cross_document_entity_linker.py +0 -0
  412. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/knowledge/document_corpus_summary.py +0 -0
  413. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/knowledge/document_topic_extractor.py +0 -0
  414. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/knowledge/knowledge_graph_extractor.py +0 -0
  415. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/knowledge/timeline_extractor.py +0 -0
  416. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/math/__init__.py +0 -0
  417. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/math/calculate_expression.py +0 -0
  418. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/math/correlation.py +0 -0
  419. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/math/distribution_summary.py +0 -0
  420. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/math/histogram.py +0 -0
  421. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/math/linear_regression.py +0 -0
  422. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/math/matrix_multiply.py +0 -0
  423. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/math/mean_std.py +0 -0
  424. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/math/monte_carlo_simulation.py +0 -0
  425. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/math/polynomial_fit.py +0 -0
  426. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/math/random_sample.py +0 -0
  427. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/mcp/__init__.py +0 -0
  428. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/mcp/adapter.py +0 -0
  429. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/mcp/client.py +0 -0
  430. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/mcp/discovery.py +0 -0
  431. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/memory/__init__.py +0 -0
  432. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/memory/delete_memory.py +0 -0
  433. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/memory/list_memory.py +0 -0
  434. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/memory/search_memory.py +0 -0
  435. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/memory/store_memory.py +0 -0
  436. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/memory/summarize_memory.py +0 -0
  437. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/memory/tag_memory.py +0 -0
  438. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/pipelines.py +0 -0
  439. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/registry.py +0 -0
  440. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research/__init__.py +0 -0
  441. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research/arxiv_download.py +0 -0
  442. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research/arxiv_search.py +0 -0
  443. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research/citation_extractor.py +0 -0
  444. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research/duckduckgo_search.py +0 -0
  445. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research/paper_metadata_extractor.py +0 -0
  446. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research/paper_summarizer.py +0 -0
  447. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research/research_question_generator.py +0 -0
  448. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research/topic_cluster.py +0 -0
  449. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research/web_search.py +0 -0
  450. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research/wikipedia_lookup.py +0 -0
  451. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research_advanced/__init__.py +0 -0
  452. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research_advanced/citation_context_extractor.py +0 -0
  453. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research_advanced/literature_review_generator.py +0 -0
  454. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research_advanced/methodology_extractor.py +0 -0
  455. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research_advanced/paper_contribution_extractor.py +0 -0
  456. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research_advanced/paper_dataset_identifier.py +0 -0
  457. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research_advanced/paper_method_comparator.py +0 -0
  458. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research_advanced/paper_similarity_search.py +0 -0
  459. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research_advanced/paper_trend_analyzer.py +0 -0
  460. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research_advanced/parallel_document_analyzer.py +0 -0
  461. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research_advanced/research_gap_finder.py +0 -0
  462. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research_advanced/research_topic_mapper.py +0 -0
  463. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/research_advanced/swarm_literature_review.py +0 -0
  464. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/scoring/__init__.py +0 -0
  465. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/scoring/report.py +0 -0
  466. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/scoring/scorer.py +0 -0
  467. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/scoring/selector.py +0 -0
  468. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/scoring/store.py +0 -0
  469. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/selector.py +0 -0
  470. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/system/__init__.py +0 -0
  471. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/system/cpu_usage.py +0 -0
  472. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/system/disk_usage.py +0 -0
  473. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/system/environment_variables.py +0 -0
  474. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/system/memory_usage.py +0 -0
  475. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/system/pip_install.py +0 -0
  476. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/system/pip_search.py +0 -0
  477. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/system/process_list.py +0 -0
  478. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/system/python_package_list.py +0 -0
  479. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/system/run_shell_command.py +0 -0
  480. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/system/system_info.py +0 -0
  481. {devsper-2.5.0 → devsper-2.6.0}/devsper/tools/tool_runner.py +0 -0
  482. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/__init__.py +0 -0
  483. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/activity_feed_view.py +0 -0
  484. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/adaptive_tasks_view.py +0 -0
  485. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/agent_role_view.py +0 -0
  486. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/app.py +0 -0
  487. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/dashboard_screen.py +0 -0
  488. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/dev_view.py +0 -0
  489. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/inject_screen.py +0 -0
  490. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/knowledge_graph_view.py +0 -0
  491. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/layout.py +0 -0
  492. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/logs_view.py +0 -0
  493. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/memory_view.py +0 -0
  494. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/mission_view.py +0 -0
  495. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/performance_view.py +0 -0
  496. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/reasoning_graph_view.py +0 -0
  497. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/results_view.py +0 -0
  498. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/swarm_view.py +0 -0
  499. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/task_detail_screen.py +0 -0
  500. {devsper-2.5.0 → devsper-2.6.0}/devsper/tui/task_view.py +0 -0
  501. {devsper-2.5.0 → devsper-2.6.0}/devsper/types/event.py +0 -0
  502. {devsper-2.5.0 → devsper-2.6.0}/devsper/types/exceptions.py +0 -0
  503. {devsper-2.5.0 → devsper-2.6.0}/devsper/types/swarm.py +0 -0
  504. {devsper-2.5.0 → devsper-2.6.0}/devsper/types/task.py +0 -0
  505. {devsper-2.5.0 → devsper-2.6.0}/devsper/upgrade/__init__.py +0 -0
  506. {devsper-2.5.0 → devsper-2.6.0}/devsper/upgrade/changelog.py +0 -0
  507. {devsper-2.5.0 → devsper-2.6.0}/devsper/upgrade/cli.py +0 -0
  508. {devsper-2.5.0 → devsper-2.6.0}/devsper/upgrade/installer.py +0 -0
  509. {devsper-2.5.0 → devsper-2.6.0}/devsper/upgrade/notifier.py +0 -0
  510. {devsper-2.5.0 → devsper-2.6.0}/devsper/upgrade/version_check.py +0 -0
  511. {devsper-2.5.0 → devsper-2.6.0}/devsper/utils/event_logger.py +0 -0
  512. {devsper-2.5.0 → devsper-2.6.0}/devsper/utils/http.py +0 -0
  513. {devsper-2.5.0 → devsper-2.6.0}/devsper/utils/models.py +0 -0
  514. {devsper-2.5.0 → devsper-2.6.0}/devsper/visualization/__init__.py +0 -0
  515. {devsper-2.5.0 → devsper-2.6.0}/devsper/visualization/dag_export.py +0 -0
  516. {devsper-2.5.0 → devsper-2.6.0}/devsper/workflow/__init__.py +0 -0
  517. {devsper-2.5.0 → devsper-2.6.0}/devsper/workflow/conditions.py +0 -0
  518. {devsper-2.5.0 → devsper-2.6.0}/devsper/workflow/context.py +0 -0
  519. {devsper-2.5.0 → devsper-2.6.0}/devsper/workflow/loader.py +0 -0
  520. {devsper-2.5.0 → devsper-2.6.0}/devsper/workflow/resolver.py +0 -0
  521. {devsper-2.5.0 → devsper-2.6.0}/devsper/workflow/runner.py +0 -0
  522. {devsper-2.5.0 → devsper-2.6.0}/devsper/workflow/schema.py +0 -0
  523. {devsper-2.5.0 → devsper-2.6.0}/devsper/workflow/validator.py +0 -0
  524. {devsper-2.5.0 → devsper-2.6.0}/docker-compose.yml +0 -0
  525. {devsper-2.5.0 → devsper-2.6.0}/examples/__init__.py +0 -0
  526. {devsper-2.5.0 → devsper-2.6.0}/examples/_common.py +0 -0
  527. {devsper-2.5.0 → devsper-2.6.0}/examples/_config.py +0 -0
  528. {devsper-2.5.0 → devsper-2.6.0}/examples/coding/__init__.py +0 -0
  529. {devsper-2.5.0 → devsper-2.6.0}/examples/coding/analyze_repository.py +0 -0
  530. {devsper-2.5.0 → devsper-2.6.0}/examples/coding/generate_docs.py +0 -0
  531. {devsper-2.5.0 → devsper-2.6.0}/examples/coding/refactor_candidates.py +0 -0
  532. {devsper-2.5.0 → devsper-2.6.0}/examples/data_science/__init__.py +0 -0
  533. {devsper-2.5.0 → devsper-2.6.0}/examples/data_science/dataset_analysis.py +0 -0
  534. {devsper-2.5.0 → devsper-2.6.0}/examples/data_science/run_experiments.py +0 -0
  535. {devsper-2.5.0 → devsper-2.6.0}/examples/demo_swarm.py +0 -0
  536. {devsper-2.5.0 → devsper-2.6.0}/examples/distributed/README.md +0 -0
  537. {devsper-2.5.0 → devsper-2.6.0}/examples/distributed/controller.toml +0 -0
  538. {devsper-2.5.0 → devsper-2.6.0}/examples/distributed/parallel_survey.py +0 -0
  539. {devsper-2.5.0 → devsper-2.6.0}/examples/distributed/run_controller.py +0 -0
  540. {devsper-2.5.0 → devsper-2.6.0}/examples/distributed/run_demo.sh +0 -0
  541. {devsper-2.5.0 → devsper-2.6.0}/examples/distributed/run_worker.py +0 -0
  542. {devsper-2.5.0 → devsper-2.6.0}/examples/distributed/worker.toml +0 -0
  543. {devsper-2.5.0 → devsper-2.6.0}/examples/documents/__init__.py +0 -0
  544. {devsper-2.5.0 → devsper-2.6.0}/examples/documents/analyze_documents.py +0 -0
  545. {devsper-2.5.0 → devsper-2.6.0}/examples/experiments/__init__.py +0 -0
  546. {devsper-2.5.0 → devsper-2.6.0}/examples/experiments/monte_carlo_demo.py +0 -0
  547. {devsper-2.5.0 → devsper-2.6.0}/examples/experiments/parameter_sweep.py +0 -0
  548. {devsper-2.5.0 → devsper-2.6.0}/examples/langchain_agent.py +0 -0
  549. {devsper-2.5.0 → devsper-2.6.0}/examples/langgraph_swarm.py +0 -0
  550. {devsper-2.5.0 → devsper-2.6.0}/examples/research/__init__.py +0 -0
  551. {devsper-2.5.0 → devsper-2.6.0}/examples/research/literature_review.py +0 -0
  552. {devsper-2.5.0 → devsper-2.6.0}/examples/research/research_gap_analysis.py +0 -0
  553. {devsper-2.5.0 → devsper-2.6.0}/examples/research/research_graph.py +0 -0
  554. {devsper-2.5.0 → devsper-2.6.0}/memory_utils.py +0 -0
  555. {devsper-2.5.0 → devsper-2.6.0}/scripts/README.md +0 -0
  556. {devsper-2.5.0 → devsper-2.6.0}/scripts/qa_e2e_stabilization.sh +0 -0
  557. {devsper-2.5.0 → devsper-2.6.0}/scripts/seed_tool_scores.py +0 -0
  558. {devsper-2.5.0 → devsper-2.6.0}/scripts/test_tool_scoring_cli.sh +0 -0
  559. {devsper-2.5.0 → devsper-2.6.0}/scripts/test_tool_scoring_full.sh +0 -0
  560. {devsper-2.5.0 → devsper-2.6.0}/scripts/test_tool_scoring_smoke.py +0 -0
  561. {devsper-2.5.0 → devsper-2.6.0}/scripts/test_v2_router.py +0 -0
  562. {devsper-2.5.0 → devsper-2.6.0}/supermemory-core/Cargo.toml +0 -0
  563. {devsper-2.5.0 → devsper-2.6.0}/supermemory-core/src/main.rs +0 -0
  564. {devsper-2.5.0 → devsper-2.6.0}/tests/agents/__init__.py +0 -0
  565. {devsper-2.5.0 → devsper-2.6.0}/tests/agents/test_roles.py +0 -0
  566. {devsper-2.5.0 → devsper-2.6.0}/tests/benchmarks/test_v16_perf.py +0 -0
  567. {devsper-2.5.0 → devsper-2.6.0}/tests/integration/test_controller_restart_hitl.py +0 -0
  568. {devsper-2.5.0 → devsper-2.6.0}/tests/integration/test_duplicate_event_delivery.py +0 -0
  569. {devsper-2.5.0 → devsper-2.6.0}/tests/integration/test_event_idempotency.py +0 -0
  570. {devsper-2.5.0 → devsper-2.6.0}/tests/integration/test_event_retry.py +0 -0
  571. {devsper-2.5.0 → devsper-2.6.0}/tests/integration/test_hitl_pause_resume.py +0 -0
  572. {devsper-2.5.0 → devsper-2.6.0}/tests/integration/test_sse_reconnect.py +0 -0
  573. {devsper-2.5.0 → devsper-2.6.0}/tests/integration/test_sse_stream.py +0 -0
  574. {devsper-2.5.0 → devsper-2.6.0}/tests/integration/test_worker_crash_recovery.py +0 -0
  575. {devsper-2.5.0 → devsper-2.6.0}/tests/intelligence/__init__.py +0 -0
  576. {devsper-2.5.0 → devsper-2.6.0}/tests/intelligence/test_adaptation.py +0 -0
  577. {devsper-2.5.0 → devsper-2.6.0}/tests/intelligence/test_learning_engine.py +0 -0
  578. {devsper-2.5.0 → devsper-2.6.0}/tests/intelligence/test_strategy_selector.py +0 -0
  579. {devsper-2.5.0 → devsper-2.6.0}/tests/intelligence/test_task_optimizer.py +0 -0
  580. {devsper-2.5.0 → devsper-2.6.0}/tests/memory/__init__.py +0 -0
  581. {devsper-2.5.0 → devsper-2.6.0}/tests/memory/test_agent_memory_integration.py +0 -0
  582. {devsper-2.5.0 → devsper-2.6.0}/tests/memory/test_memory_context_run_scope.py +0 -0
  583. {devsper-2.5.0 → devsper-2.6.0}/tests/memory/test_memory_index.py +0 -0
  584. {devsper-2.5.0 → devsper-2.6.0}/tests/memory/test_memory_router.py +0 -0
  585. {devsper-2.5.0 → devsper-2.6.0}/tests/memory/test_memory_store.py +0 -0
  586. {devsper-2.5.0 → devsper-2.6.0}/tests/pool/__init__.py +0 -0
  587. {devsper-2.5.0 → devsper-2.6.0}/tests/pool/fixtures.py +0 -0
  588. {devsper-2.5.0 → devsper-2.6.0}/tests/pool/test_crypto.py +0 -0
  589. {devsper-2.5.0 → devsper-2.6.0}/tests/pool/test_e2e_redis_loop.py +0 -0
  590. {devsper-2.5.0 → devsper-2.6.0}/tests/pool/test_heartbeat_eviction.py +0 -0
  591. {devsper-2.5.0 → devsper-2.6.0}/tests/pool/test_local_pool.py +0 -0
  592. {devsper-2.5.0 → devsper-2.6.0}/tests/pool/test_org_pool.py +0 -0
  593. {devsper-2.5.0 → devsper-2.6.0}/tests/pool/test_priority_chain.py +0 -0
  594. {devsper-2.5.0 → devsper-2.6.0}/tests/pool/test_rate_limiting.py +0 -0
  595. {devsper-2.5.0 → devsper-2.6.0}/tests/reasoning/__init__.py +0 -0
  596. {devsper-2.5.0 → devsper-2.6.0}/tests/reasoning/test_reasoning_graph.py +0 -0
  597. {devsper-2.5.0 → devsper-2.6.0}/tests/runtime/__init__.py +0 -0
  598. {devsper-2.5.0 → devsper-2.6.0}/tests/runtime/test_budget.py +0 -0
  599. {devsper-2.5.0 → devsper-2.6.0}/tests/runtime/test_otel_phase1.py +0 -0
  600. {devsper-2.5.0 → devsper-2.6.0}/tests/runtime/test_packager.py +0 -0
  601. {devsper-2.5.0 → devsper-2.6.0}/tests/runtime/test_protocol_schema.py +0 -0
  602. {devsper-2.5.0 → devsper-2.6.0}/tests/runtime/test_replay.py +0 -0
  603. {devsper-2.5.0 → devsper-2.6.0}/tests/runtime/test_replay_engine.py +0 -0
  604. {devsper-2.5.0 → devsper-2.6.0}/tests/runtime/test_telemetry.py +0 -0
  605. {devsper-2.5.0 → devsper-2.6.0}/tests/runtime/test_visualize.py +0 -0
  606. {devsper-2.5.0 → devsper-2.6.0}/tests/test_agent.py +0 -0
  607. {devsper-2.5.0 → devsper-2.6.0}/tests/test_analysis.py +0 -0
  608. {devsper-2.5.0 → devsper-2.6.0}/tests/test_analytics.py +0 -0
  609. {devsper-2.5.0 → devsper-2.6.0}/tests/test_auto_model.py +0 -0
  610. {devsper-2.5.0 → devsper-2.6.0}/tests/test_clarification.py +0 -0
  611. {devsper-2.5.0 → devsper-2.6.0}/tests/test_clarification_multinode.py +0 -0
  612. {devsper-2.5.0 → devsper-2.6.0}/tests/test_config_loader.py +0 -0
  613. {devsper-2.5.0 → devsper-2.6.0}/tests/test_credentials.py +0 -0
  614. {devsper-2.5.0 → devsper-2.6.0}/tests/test_cross_boundary_serialization.py +0 -0
  615. {devsper-2.5.0 → devsper-2.6.0}/tests/test_dag_export.py +0 -0
  616. {devsper-2.5.0 → devsper-2.6.0}/tests/test_dev_agents.py +0 -0
  617. {devsper-2.5.0 → devsper-2.6.0}/tests/test_dev_build_cmd.py +0 -0
  618. {devsper-2.5.0 → devsper-2.6.0}/tests/test_dev_debugger.py +0 -0
  619. {devsper-2.5.0 → devsper-2.6.0}/tests/test_dev_repo_index.py +0 -0
  620. {devsper-2.5.0 → devsper-2.6.0}/tests/test_dev_sandbox.py +0 -0
  621. {devsper-2.5.0 → devsper-2.6.0}/tests/test_dev_scaffold.py +0 -0
  622. {devsper-2.5.0 → devsper-2.6.0}/tests/test_distributed_bugs.py +0 -0
  623. {devsper-2.5.0 → devsper-2.6.0}/tests/test_embeddings_service.py +0 -0
  624. {devsper-2.5.0 → devsper-2.6.0}/tests/test_event_logger.py +0 -0
  625. {devsper-2.5.0 → devsper-2.6.0}/tests/test_execution_graph_meta.py +0 -0
  626. {devsper-2.5.0 → devsper-2.6.0}/tests/test_executor.py +0 -0
  627. {devsper-2.5.0 → devsper-2.6.0}/tests/test_export_runs.py +0 -0
  628. {devsper-2.5.0 → devsper-2.6.0}/tests/test_github_provider.py +0 -0
  629. {devsper-2.5.0 → devsper-2.6.0}/tests/test_init.py +0 -0
  630. {devsper-2.5.0 → devsper-2.6.0}/tests/test_knowledge_graph.py +0 -0
  631. {devsper-2.5.0 → devsper-2.6.0}/tests/test_knowledge_query.py +0 -0
  632. {devsper-2.5.0 → devsper-2.6.0}/tests/test_langchain_adapter.py +0 -0
  633. {devsper-2.5.0 → devsper-2.6.0}/tests/test_langgraph_adapter.py +0 -0
  634. {devsper-2.5.0 → devsper-2.6.0}/tests/test_map_reduce.py +0 -0
  635. {devsper-2.5.0 → devsper-2.6.0}/tests/test_memory_evolution.py +0 -0
  636. {devsper-2.5.0 → devsper-2.6.0}/tests/test_memory_isolation.py +0 -0
  637. {devsper-2.5.0 → devsper-2.6.0}/tests/test_missions.py +0 -0
  638. {devsper-2.5.0 → devsper-2.6.0}/tests/test_model_router.py +0 -0
  639. {devsper-2.5.0 → devsper-2.6.0}/tests/test_planner.py +0 -0
  640. {devsper-2.5.0 → devsper-2.6.0}/tests/test_platform_runtime_events.py +0 -0
  641. {devsper-2.5.0 → devsper-2.6.0}/tests/test_plugins.py +0 -0
  642. {devsper-2.5.0 → devsper-2.6.0}/tests/test_protocols.py +0 -0
  643. {devsper-2.5.0 → devsper-2.6.0}/tests/test_router.py +0 -0
  644. {devsper-2.5.0 → devsper-2.6.0}/tests/test_scheduler.py +0 -0
  645. {devsper-2.5.0 → devsper-2.6.0}/tests/test_speculation.py +0 -0
  646. {devsper-2.5.0 → devsper-2.6.0}/tests/test_strategies.py +0 -0
  647. {devsper-2.5.0 → devsper-2.6.0}/tests/test_swarm.py +0 -0
  648. {devsper-2.5.0 → devsper-2.6.0}/tests/test_task_cache.py +0 -0
  649. {devsper-2.5.0 → devsper-2.6.0}/tests/test_tool_scoring.py +0 -0
  650. {devsper-2.5.0 → devsper-2.6.0}/tests/test_tool_selector.py +0 -0
  651. {devsper-2.5.0 → devsper-2.6.0}/tests/test_upgrade.py +0 -0
  652. {devsper-2.5.0 → devsper-2.6.0}/tests/test_v110.py +0 -0
  653. {devsper-2.5.0 → devsper-2.6.0}/tests/test_v16.py +0 -0
  654. {devsper-2.5.0 → devsper-2.6.0}/tests/test_v17.py +0 -0
  655. {devsper-2.5.0 → devsper-2.6.0}/tests/test_v18.py +0 -0
  656. {devsper-2.5.0 → devsper-2.6.0}/tests/test_v19.py +0 -0
  657. {devsper-2.5.0 → devsper-2.6.0}/tests/test_workflow.py +0 -0
  658. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/__init__.py +0 -0
  659. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/test_code_intelligence_tools.py +0 -0
  660. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/test_coding_tools.py +0 -0
  661. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/test_core_tool_registry.py +0 -0
  662. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/test_data_science_tools.py +0 -0
  663. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/test_data_tools.py +0 -0
  664. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/test_document_tools.py +0 -0
  665. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/test_experiments_tools.py +0 -0
  666. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/test_filesystem_tools.py +0 -0
  667. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/test_flagship_tools.py +0 -0
  668. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/test_knowledge_tools.py +0 -0
  669. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/test_math_tools.py +0 -0
  670. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/test_memory_tools.py +0 -0
  671. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/test_pipelines.py +0 -0
  672. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/test_registry.py +0 -0
  673. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/test_research_advanced_tools.py +0 -0
  674. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/test_research_tools.py +0 -0
  675. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/test_system_tools.py +0 -0
  676. {devsper-2.5.0 → devsper-2.6.0}/tests/tools/test_tool_runner.py +0 -0
  677. {devsper-2.5.0 → devsper-2.6.0}/worker/.dockerignore +0 -0
  678. {devsper-2.5.0 → devsper-2.6.0}/worker/Cargo.lock +0 -0
  679. {devsper-2.5.0 → devsper-2.6.0}/worker/Cargo.toml +0 -0
  680. {devsper-2.5.0 → devsper-2.6.0}/worker/Dockerfile +0 -0
  681. {devsper-2.5.0 → devsper-2.6.0}/worker/README.md +0 -0
  682. {devsper-2.5.0 → devsper-2.6.0}/worker/src/budget.rs +0 -0
  683. {devsper-2.5.0 → devsper-2.6.0}/worker/src/bus.rs +0 -0
  684. {devsper-2.5.0 → devsper-2.6.0}/worker/src/claim.rs +0 -0
  685. {devsper-2.5.0 → devsper-2.6.0}/worker/src/clarification.rs +0 -0
  686. {devsper-2.5.0 → devsper-2.6.0}/worker/src/config.rs +0 -0
  687. {devsper-2.5.0 → devsper-2.6.0}/worker/src/controller.rs +0 -0
  688. {devsper-2.5.0 → devsper-2.6.0}/worker/src/election.rs +0 -0
  689. {devsper-2.5.0 → devsper-2.6.0}/worker/src/error.rs +0 -0
  690. {devsper-2.5.0 → devsper-2.6.0}/worker/src/executor.rs +0 -0
  691. {devsper-2.5.0 → devsper-2.6.0}/worker/src/health.rs +0 -0
  692. {devsper-2.5.0 → devsper-2.6.0}/worker/src/heartbeat.rs +0 -0
  693. {devsper-2.5.0 → devsper-2.6.0}/worker/src/lib.rs +0 -0
  694. {devsper-2.5.0 → devsper-2.6.0}/worker/src/main.rs +0 -0
  695. {devsper-2.5.0 → devsper-2.6.0}/worker/src/metrics.rs +0 -0
  696. {devsper-2.5.0 → devsper-2.6.0}/worker/src/reconnect.rs +0 -0
  697. {devsper-2.5.0 → devsper-2.6.0}/worker/src/registry.rs +0 -0
  698. {devsper-2.5.0 → devsper-2.6.0}/worker/src/router.rs +0 -0
  699. {devsper-2.5.0 → devsper-2.6.0}/worker/src/rpc.rs +0 -0
  700. {devsper-2.5.0 → devsper-2.6.0}/worker/src/scheduler.rs +0 -0
  701. {devsper-2.5.0 → devsper-2.6.0}/worker/src/snapshot.rs +0 -0
  702. {devsper-2.5.0 → devsper-2.6.0}/worker/src/telemetry.rs +0 -0
  703. {devsper-2.5.0 → devsper-2.6.0}/worker/src/types/agent.rs +0 -0
  704. {devsper-2.5.0 → devsper-2.6.0}/worker/src/types/event.rs +0 -0
  705. {devsper-2.5.0 → devsper-2.6.0}/worker/src/types/mod.rs +0 -0
  706. {devsper-2.5.0 → devsper-2.6.0}/worker/src/types/node.rs +0 -0
  707. {devsper-2.5.0 → devsper-2.6.0}/worker/src/types/task.rs +0 -0
  708. {devsper-2.5.0 → devsper-2.6.0}/worker/src/worker_node.rs +0 -0
  709. {devsper-2.5.0 → devsper-2.6.0}/worker/tests/integration.rs +0 -0
@@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.6.0] — 2026-04-06
11
+
12
+ ### Added
13
+
14
+ - **TruLens observability integration** — Added first-class TruLens instrumentation for swarm runs and agent calls, with configurable runtime toggles in `[telemetry]` (`trulens_enabled`, `trulens_database_url`) and recorder/session exports in `devsper.telemetry`.
15
+ - **CLI observability dashboard command** — Added `devsper observe` to launch the TruLens dashboard locally with optional `--port` and `--db` overrides.
16
+ - **Optional `trulens` extra** — Added `devsper[trulens]` dependency group for straightforward TruLens installation.
17
+
18
+ ### Changed
19
+
20
+ - **Swarm execution path** — `Swarm.run` now records via a TruLens custom app wrapper when enabled, with safe fallback to the standard runtime path if TruLens initialization or recorder setup fails.
21
+ - **Agent call capture** — `Agent.run` is instrumented for per-call telemetry capture when TruLens is installed.
22
+ - **Telemetry defaults and examples** — Updated default config template to include TruLens options and local database guidance.
23
+
10
24
  ## [2.5.0] — 2026-04-06
11
25
 
12
26
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devsper
3
- Version: 2.5.0
3
+ Version: 2.6.0
4
4
  Summary: Orchestrate distributed swarms of AI agents that collaboratively solve complex tasks.
5
5
  Project-URL: Homepage, https://github.com/devsper-com/runtime
6
6
  Project-URL: Documentation, https://docs.devsper.com
@@ -75,6 +75,8 @@ Requires-Dist: fastapi>=0.110; extra == 'server'
75
75
  Requires-Dist: sse-starlette>=2.0; extra == 'server'
76
76
  Requires-Dist: uvicorn>=0.29; extra == 'server'
77
77
  Requires-Dist: vektori>=0.1.1; extra == 'server'
78
+ Provides-Extra: trulens
79
+ Requires-Dist: trulens-core>=1.0; extra == 'trulens'
78
80
  Provides-Extra: worker
79
81
  Description-Content-Type: text/markdown
80
82
 
@@ -15,6 +15,7 @@ from devsper.events import (
15
15
  ClarificationField,
16
16
  ClarificationRequest,
17
17
  )
18
+ from devsper.telemetry.trulens import instrument as _tru_instrument
18
19
 
19
20
  log = logging.getLogger(__name__)
20
21
 
@@ -765,6 +766,7 @@ class Agent:
765
766
  answers[f.question] = self._default_answer_for_field(f)
766
767
  return answers
767
768
 
769
+ @_tru_instrument
768
770
  def run(self, request: AgentRequest) -> AgentResponse:
769
771
  """Stateless run: all context in AgentRequest, all output in AgentResponse."""
770
772
  import time
@@ -2068,6 +2068,33 @@ def _run_analytics() -> int:
2068
2068
  return 0
2069
2069
 
2070
2070
 
2071
+ def _run_observe(port: int = 8501, db: str = "") -> int:
2072
+ """Launch the TruLens observability dashboard."""
2073
+ try:
2074
+ from devsper.telemetry.trulens import init_trulens, get_session
2075
+ except ImportError:
2076
+ print("TruLens is not installed. Run: uv pip install 'devsper[trulens]'")
2077
+ return 1
2078
+
2079
+ session = get_session() or init_trulens(database_url=db)
2080
+ if session is None:
2081
+ print(
2082
+ "TruLens is not installed or failed to initialize.\n"
2083
+ "Run: uv pip install 'devsper[trulens]'"
2084
+ )
2085
+ return 1
2086
+
2087
+ db_url = getattr(session, "connector", None)
2088
+ db_label = str(db or ".devsper/trulens.sqlite")
2089
+ print(f"Opening TruLens dashboard — db: {db_label} port: {port}")
2090
+ print("Press Ctrl-C to stop.")
2091
+ try:
2092
+ session.run_dashboard(port=port)
2093
+ except KeyboardInterrupt:
2094
+ pass
2095
+ return 0
2096
+
2097
+
2071
2098
  def _run_tools(args: object) -> int:
2072
2099
  """List tools with reliability scores, or reset score history."""
2073
2100
  from rich.console import Console
@@ -4032,6 +4059,29 @@ Examples:
4032
4059
  )
4033
4060
  version_parser.set_defaults(func=_run_version)
4034
4061
 
4062
+ observe_parser = subparsers.add_parser(
4063
+ "observe",
4064
+ help="Launch TruLens observability dashboard",
4065
+ description="Open the TruLens dashboard for browsing run records, traces, and feedback.",
4066
+ epilog="""
4067
+ Examples:
4068
+ devsper observe
4069
+ devsper observe --port 8502
4070
+ devsper observe --db sqlite:///custom.sqlite
4071
+ """,
4072
+ formatter_class=argparse.RawDescriptionHelpFormatter,
4073
+ )
4074
+ observe_parser.add_argument(
4075
+ "--port", type=int, default=8501, help="Dashboard port (default: 8501)"
4076
+ )
4077
+ observe_parser.add_argument(
4078
+ "--db",
4079
+ default="",
4080
+ metavar="URL",
4081
+ help="TruLens database URL (default: sqlite:///.devsper/trulens.sqlite)",
4082
+ )
4083
+ observe_parser.set_defaults(func=lambda a: _run_observe(a.port, a.db))
4084
+
4035
4085
  health_parser = subparsers.add_parser(
4036
4086
  "health",
4037
4087
  help="Health and readiness check",
@@ -109,6 +109,8 @@ class TelemetryConfig(BaseModel):
109
109
  otel_endpoint: str = ""
110
110
  otel_headers: dict[str, str] = Field(default_factory=dict)
111
111
  cost_tracking: bool = True
112
+ trulens_enabled: bool = True
113
+ trulens_database_url: str = "" # empty = SQLite default (~/.trulens/)
112
114
 
113
115
 
114
116
  class BudgetConfig(BaseModel):
@@ -11,11 +11,14 @@ User code:
11
11
 
12
12
  import asyncio
13
13
  import json
14
+ import logging
14
15
  import os
15
16
  import threading
16
17
  from pathlib import Path
17
18
  from datetime import datetime, timezone
18
19
 
20
+ log = logging.getLogger(__name__)
21
+
19
22
  from devsper.types.task import Task
20
23
  from devsper.types.event import Event, events
21
24
  from devsper.utils.event_logger import EventLog
@@ -28,6 +31,12 @@ from devsper.agents.agent import Agent
28
31
  from devsper.agents.registry import AgentRegistry
29
32
  from devsper.budget import BudgetManager
30
33
  from devsper.telemetry import instrument_swarm_run, record_exception
34
+ from devsper.telemetry.trulens import (
35
+ init_trulens,
36
+ get_session,
37
+ make_recorder,
38
+ instrument as _tru_instrument,
39
+ )
31
40
 
32
41
 
33
42
  def _fake_config():
@@ -79,6 +88,22 @@ def _persist_dag(scheduler: Scheduler, event_log: EventLog, execution_graph: obj
79
88
  json.dump({"nodes": nodes, "edges": edges}, f, indent=0)
80
89
 
81
90
 
91
+ class _TruSwarmApp:
92
+ """Thin TruLens-instrumented wrapper for swarm execution.
93
+
94
+ TruLens @instrument marks this method so every call is captured as a record
95
+ when a TruCustomApp recorder is active. The Swarm delegates to this wrapper
96
+ only when TruLens is enabled; otherwise _run_core() is called directly.
97
+ """
98
+
99
+ def __init__(self, swarm: "Swarm") -> None:
100
+ self._swarm = swarm
101
+
102
+ @_tru_instrument
103
+ def execute(self, user_task: str, hitl_resolver: object = None) -> dict:
104
+ return self._swarm._run_core(user_task, hitl_resolver)
105
+
106
+
82
107
  class RunResult(dict):
83
108
  """Backward-compatible run result map with optional metadata."""
84
109
 
@@ -200,6 +225,18 @@ class Swarm:
200
225
  self._last_reasoning_store = None
201
226
  self._pause_event = threading.Event()
202
227
  self._pause_event.set()
228
+ # Initialize TruLens session if enabled in config
229
+ _tele = getattr(cfg, "telemetry", None) if cfg is not None else None
230
+ if getattr(_tele, "trulens_enabled", True):
231
+ try:
232
+ from devsper import __version__
233
+
234
+ init_trulens(
235
+ database_url=str(getattr(_tele, "trulens_database_url", "") or ""),
236
+ app_version=__version__,
237
+ )
238
+ except Exception as _tlu_exc:
239
+ log.warning("TruLens init skipped: %s", _tlu_exc)
203
240
 
204
241
  def pause(self) -> None:
205
242
  """Pause the executor: currently-running tasks finish, no new tasks start."""
@@ -209,11 +246,35 @@ class Swarm:
209
246
  """Resume the executor so new tasks can be picked."""
210
247
  self._pause_event.set()
211
248
 
249
+ def _trulens_enabled(self) -> bool:
250
+ """Return True if TruLens recording is configured and a session exists."""
251
+ tele = getattr(self._config, "telemetry", None)
252
+ enabled = bool(getattr(tele, "trulens_enabled", True)) if tele else True
253
+ return enabled and get_session() is not None
254
+
212
255
  def run(self, user_task: str, hitl_resolver: object = None) -> dict[str, str]:
213
256
  """
214
257
  Create root task → plan subtasks → add to scheduler → run executor → return task_id → result.
215
258
  hitl_resolver: optional (approval, policy) -> bool for in-process approval prompts.
259
+
260
+ When TruLens is enabled the run is recorded via TruCustomApp so inputs,
261
+ outputs, and per-agent calls are stored in the TruLens database.
216
262
  """
263
+ if self._trulens_enabled():
264
+ try:
265
+ from devsper import __version__
266
+
267
+ _app = _TruSwarmApp(self)
268
+ recorder = make_recorder(_app, app_name="devsper", app_version=__version__)
269
+ if recorder is not None:
270
+ with recorder as _recording:
271
+ return _app.execute(user_task, hitl_resolver)
272
+ except Exception as _tru_exc:
273
+ log.warning("TruLens recording setup failed, falling back: %s", _tru_exc)
274
+ return self._run_core(user_task, hitl_resolver)
275
+
276
+ def _run_core(self, user_task: str, hitl_resolver: object = None) -> dict[str, str]:
277
+ """Internal run implementation (called directly or via TruLens wrapper)."""
217
278
  run_id = getattr(self.event_log, "run_id", "") or ""
218
279
  with instrument_swarm_run(run_id, user_task) as span:
219
280
  if span is not None:
@@ -7,13 +7,21 @@ from devsper.telemetry.otel import (
7
7
  record_exception,
8
8
  )
9
9
  from devsper.telemetry.pricing import PRICING, estimate_cost_usd
10
+ from devsper.telemetry.trulens import (
11
+ get_session as get_trulens_session,
12
+ init_trulens,
13
+ make_recorder as make_trulens_recorder,
14
+ )
10
15
 
11
16
  __all__ = [
12
17
  "PRICING",
13
18
  "annotate_span",
14
19
  "estimate_cost_usd",
15
20
  "get_tracer",
21
+ "get_trulens_session",
22
+ "init_trulens",
16
23
  "instrument_swarm_run",
24
+ "make_trulens_recorder",
17
25
  "record_exception",
18
26
  ]
19
27
 
@@ -0,0 +1,119 @@
1
+ """TruLens observability — default for devsper 2.6.0+.
2
+
3
+ TruLens records every swarm run (input task → output results) and every agent
4
+ call (prompt → completion) into a local SQLite database at
5
+ ``.devsper/trulens.sqlite`` (same directory as memory.db and tool_analytics.db).
6
+
7
+ The TruLens dashboard can be launched with::
8
+
9
+ from devsper.telemetry import get_trulens_session
10
+ get_trulens_session().run_dashboard()
11
+
12
+ OTEL spans are still emitted alongside TruLens records — they are complementary.
13
+ TruLens is the new *default* export layer; OTEL remains available for
14
+ infrastructure-level tracing (Grafana, Jaeger, etc.).
15
+
16
+ Configuration (devsper.toml):
17
+
18
+ [telemetry]
19
+ trulens_enabled = true
20
+ trulens_database_url = "" # empty = sqlite:///.devsper/trulens.sqlite
21
+
22
+ Install::
23
+
24
+ uv pip install "devsper[trulens]"
25
+ """
26
+
27
+ from __future__ import annotations
28
+
29
+ import logging
30
+ import os
31
+ from typing import Any
32
+
33
+ log = logging.getLogger(__name__)
34
+
35
+ # Default SQLite path — mirrors memory.db / tool_analytics.db location.
36
+ _DEFAULT_DB_PATH = ".devsper/trulens.sqlite"
37
+ _DEFAULT_DB_URL = f"sqlite:///{_DEFAULT_DB_PATH}"
38
+
39
+ try:
40
+ from trulens.core import TruSession
41
+ from trulens.apps.custom import TruCustomApp, instrument
42
+
43
+ _TRULENS_AVAILABLE = True
44
+ except ImportError:
45
+ _TRULENS_AVAILABLE = False
46
+ TruSession = None # type: ignore[assignment,misc]
47
+ TruCustomApp = None # type: ignore[assignment,misc]
48
+
49
+ def instrument(fn): # type: ignore[misc] # noqa: E306
50
+ """No-op fallback when trulens-core is not installed."""
51
+ return fn
52
+
53
+
54
+ _session: Any = None # TruSession | None
55
+
56
+
57
+ def init_trulens(
58
+ *,
59
+ database_url: str = "",
60
+ app_name: str = "devsper",
61
+ app_version: str = "",
62
+ ) -> Any:
63
+ """Initialize global TruLens session (idempotent).
64
+
65
+ Defaults to ``sqlite:///.devsper/trulens.sqlite`` — the same ``.devsper/``
66
+ directory used by ``memory.db`` and ``tool_analytics.db``.
67
+
68
+ Returns the session on success, or None if trulens-core is not installed
69
+ or initialization fails.
70
+ """
71
+ global _session
72
+ if not _TRULENS_AVAILABLE:
73
+ log.debug("trulens-core not installed; TruLens observability skipped")
74
+ return None
75
+ if _session is not None:
76
+ return _session
77
+ url = database_url.strip() if database_url else _DEFAULT_DB_URL
78
+ # Ensure the .devsper/ directory exists for the default SQLite path.
79
+ if url == _DEFAULT_DB_URL:
80
+ os.makedirs(os.path.dirname(_DEFAULT_DB_PATH), exist_ok=True)
81
+ try:
82
+ _session = TruSession(database_url=url)
83
+ log.info(
84
+ "TruLens session initialized (app=%s v%s db=%s)",
85
+ app_name,
86
+ app_version or "?",
87
+ url,
88
+ )
89
+ except Exception as exc:
90
+ log.warning("TruLens init failed: %s", exc)
91
+ return _session
92
+
93
+
94
+ def get_session() -> Any:
95
+ """Return the active TruLens session, or None."""
96
+ return _session
97
+
98
+
99
+ def make_recorder(
100
+ app: Any,
101
+ *,
102
+ app_name: str = "devsper",
103
+ app_version: str = "",
104
+ ) -> Any:
105
+ """Wrap an instrumented app with TruCustomApp for recording.
106
+
107
+ Returns a TruCustomApp recorder, or None if TruLens is unavailable /
108
+ the session has not been initialized.
109
+ """
110
+ if not _TRULENS_AVAILABLE or _session is None or TruCustomApp is None:
111
+ return None
112
+ try:
113
+ kwargs: dict[str, Any] = {"app_name": app_name}
114
+ if app_version:
115
+ kwargs["app_version"] = app_version
116
+ return TruCustomApp(app, **kwargs)
117
+ except Exception as exc:
118
+ log.warning("TruLens make_recorder failed: %s", exc)
119
+ return None
@@ -24,6 +24,8 @@ enabled = true
24
24
  top_k = 12
25
25
 
26
26
  [telemetry]
27
+ trulens_enabled = true
28
+ trulens_database_url = "" # empty = sqlite:///.devsper/trulens.sqlite
27
29
  otel_enabled = true
28
30
  otel_endpoint = ""
29
31
  cost_tracking = true
@@ -7,7 +7,7 @@ packages = ["devsper"]
7
7
 
8
8
  [project]
9
9
  name = "devsper"
10
- version = "2.5.0"
10
+ version = "2.6.0"
11
11
  description = "Orchestrate distributed swarms of AI agents that collaboratively solve complex tasks."
12
12
  readme = "README.md"
13
13
  license = "GPL-3.0-or-later"
@@ -70,6 +70,9 @@ distributed = [
70
70
  "uvicorn>=0.29.0",
71
71
  "hiredis>=2.3.0",
72
72
  ]
73
+ # TruLens observability (default since 2.6.0).
74
+ # trulens-core pins rich<14; we override that constraint via [tool.uv.override-dependencies].
75
+ trulens = ["trulens-core>=1.0"]
73
76
  # Pin LangGraph explicitly for integrators (also pulled in via langchain).
74
77
  langgraph = ["langgraph>=1.0.0,<2"]
75
78
  worker = [] # distributed worker is a separate Rust binary (devsper-worker)
@@ -88,3 +91,9 @@ dev = [
88
91
  "respx>=0.22.0",
89
92
  "ruff>=0.15.5",
90
93
  ]
94
+
95
+ [tool.uv]
96
+ # trulens-core pins rich<14; textual (and devsper's TUI) requires rich>=14.
97
+ # Override so uv resolves to the version we actually need — rich 14.x is
98
+ # backward-compatible with the Console/Table APIs trulens uses.
99
+ override-dependencies = ["rich>=14.3.3"]