OpenJarvis 1.0.3.dev817__tar.gz → 1.0.3.dev819__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 (2006) hide show
  1. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/PKG-INFO +1 -1
  2. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/configs/openjarvis/config.toml +6 -1
  3. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/pyproject.toml +1 -1
  4. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/chat_cmd.py +43 -0
  5. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/prompt/builder.py +5 -0
  6. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/api_routes.py +25 -0
  7. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/auth_middleware.py +16 -3
  8. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/webhook_routes.py +45 -24
  9. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/http_request.py +66 -7
  10. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/prompt/test_persona_scope.py +20 -0
  11. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_auth_middleware.py +15 -0
  12. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_sendblue_webhook.py +28 -2
  13. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_webhook_routes.py +45 -0
  14. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_http_request.py +41 -4
  15. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/CODEOWNERS +0 -0
  16. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  17. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  18. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  19. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/ISSUE_TEMPLATE/new_eval.yml +0 -0
  20. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/ISSUE_TEMPLATE/pearl_model_validation.yml +0 -0
  21. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/clone-stats/badge.json +0 -0
  22. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/clone-stats/clone-data.json +0 -0
  23. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/pull_request_template.md +0 -0
  24. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/workflows/autotag.yml +0 -0
  25. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/workflows/bash-tests.yml +0 -0
  26. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/workflows/ci.yml +0 -0
  27. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/workflows/claude-issues.yml +0 -0
  28. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/workflows/claude-review.yml +0 -0
  29. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/workflows/desktop.yml +0 -0
  30. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/workflows/docs.yml +0 -0
  31. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/workflows/frontend.yml +0 -0
  32. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/workflows/installer-integration.yml +0 -0
  33. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/workflows/pypi-publish.yml +0 -0
  34. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/workflows/take-assign.yml +0 -0
  35. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.github/workflows/track-clones.yml +0 -0
  36. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.gitignore +0 -0
  37. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/.pre-commit-config.yaml +0 -0
  38. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/CHANGELOG.md +0 -0
  39. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/CODE_OF_CONDUCT.md +0 -0
  40. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/CONTRIBUTING.md +0 -0
  41. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/LICENSE +0 -0
  42. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/README.md +0 -0
  43. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/REVIEW.md +0 -0
  44. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/assets/OpenJarvis_Circular_Logo.png +0 -0
  45. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/assets/OpenJarvis_Horizontal_Logo.png +0 -0
  46. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/assets/openjarvis-slack-icon.jpg +0 -0
  47. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/assets/openjarvis_demo_reel.webp +0 -0
  48. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/configs/openjarvis/examples/chat-simple.toml +0 -0
  49. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/configs/openjarvis/examples/code-assistant.toml +0 -0
  50. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/configs/openjarvis/examples/deep-research.toml +0 -0
  51. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/configs/openjarvis/examples/morning-digest-linux.toml +0 -0
  52. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/configs/openjarvis/examples/morning-digest-mac.toml +0 -0
  53. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/configs/openjarvis/examples/morning-digest-minimal.toml +0 -0
  54. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/configs/openjarvis/examples/scheduled-monitor.toml +0 -0
  55. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/configs/openjarvis/examples/spec-search-quickstart.toml +0 -0
  56. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/configs/openjarvis/prompts/personas/jarvis.md +0 -0
  57. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/configs/openjarvis/prompts/personas/neutral.md +0 -0
  58. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/deploy/docker/.env.example +0 -0
  59. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/deploy/docker/Dockerfile +0 -0
  60. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/deploy/docker/Dockerfile.gpu +0 -0
  61. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/deploy/docker/Dockerfile.gpu.rocm +0 -0
  62. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/deploy/docker/Dockerfile.sandbox +0 -0
  63. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/deploy/docker/docker-compose.gpu.nvidia.yml +0 -0
  64. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/deploy/docker/docker-compose.gpu.rocm.yml +0 -0
  65. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/deploy/docker/docker-compose.yml +0 -0
  66. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/deploy/launchd/com.openjarvis.plist +0 -0
  67. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/deploy/posthog/posthog-hetzner-prep.sh +0 -0
  68. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/deploy/systemd/openjarvis.service +0 -0
  69. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/deploy/windows/README.md +0 -0
  70. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/deploy/windows/install.ps1 +0 -0
  71. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/deploy/windows/jarvis-service.ps1 +0 -0
  72. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/desktop/src-tauri/binaries/ollama-aarch64-apple-darwin +0 -0
  73. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/desktop/src-tauri/src/overlay.html +0 -0
  74. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/architecture/agents.md +0 -0
  75. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/architecture/channels.md +0 -0
  76. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/architecture/design-principles.md +0 -0
  77. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/architecture/engine.md +0 -0
  78. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/architecture/intelligence.md +0 -0
  79. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/architecture/learning.md +0 -0
  80. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/architecture/memory.md +0 -0
  81. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/architecture/overview.md +0 -0
  82. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/architecture/query-flow.md +0 -0
  83. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/architecture/security.md +0 -0
  84. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/architecture/skills.md +0 -0
  85. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/assets/OpenJarvis_Architecture.png +0 -0
  86. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/assets/showcase/README.md +0 -0
  87. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/assets/showcase/coding-assistant.png +0 -0
  88. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/assets/showcase/cost-savings.png +0 -0
  89. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/assets/showcase/discord-companion.png +0 -0
  90. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/assets/showcase/morning-brief.png +0 -0
  91. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/assets/showcase/persistent-memory.png +0 -0
  92. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/deployment/api-server.md +0 -0
  93. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/deployment/docker.md +0 -0
  94. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/deployment/index.md +0 -0
  95. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/deployment/launchd.md +0 -0
  96. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/deployment/systemd.md +0 -0
  97. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/design/2026-05-05-apple-silicon-pearl-mining-design.md +0 -0
  98. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/design/2026-05-05-apple-silicon-pearl-mining-plan-v1.md +0 -0
  99. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/design/2026-05-05-pearl-coordination-discussion-draft.md +0 -0
  100. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/design/2026-05-05-vllm-pearl-mining-integration-design.md +0 -0
  101. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/design/2026-05-05-vllm-pearl-mining-integration-plan.md +0 -0
  102. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/desktop-auto-update.md +0 -0
  103. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/development/contributing.md +0 -0
  104. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/development/mining-nvidia-validation.md +0 -0
  105. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/development/mining.md +0 -0
  106. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/development/pearl-model-enablement.md +0 -0
  107. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/development/release-checklist.md +0 -0
  108. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/development/roadmap.md +0 -0
  109. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/downloads.md +0 -0
  110. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/gen_install_script.py +0 -0
  111. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/gen_ref_pages.py +0 -0
  112. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/getting-started/configuration.md +0 -0
  113. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/getting-started/install.md +0 -0
  114. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/getting-started/installation.md +0 -0
  115. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/getting-started/linux.md +0 -0
  116. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/getting-started/macos.md +0 -0
  117. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/getting-started/quickstart.md +0 -0
  118. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/getting-started/snippets.md +0 -0
  119. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/getting-started/windows-native.md +0 -0
  120. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/getting-started/wsl2.md +0 -0
  121. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/includes/abbreviations.md +0 -0
  122. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/index.md +0 -0
  123. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/javascripts/docsearch-init.js +0 -0
  124. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/javascripts/leaderboard.js +0 -0
  125. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/leaderboard.md +0 -0
  126. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/learning/ace.md +0 -0
  127. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/overrides/main.html +0 -0
  128. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/showcase/CONTRIBUTING.md +0 -0
  129. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/showcase/coding-assistant.md +0 -0
  130. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/showcase/cost-savings.md +0 -0
  131. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/showcase/discord-companion.md +0 -0
  132. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/showcase/index.md +0 -0
  133. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/showcase/morning-brief.md +0 -0
  134. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/showcase/persistent-memory.md +0 -0
  135. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/stylesheets/extra.css +0 -0
  136. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/telemetry.md +0 -0
  137. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/testing/agent-qa-runbook.md +0 -0
  138. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/tutorials/code-companion.md +0 -0
  139. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/tutorials/deep-research.md +0 -0
  140. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/tutorials/index.md +0 -0
  141. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/tutorials/messaging-hub.md +0 -0
  142. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/tutorials/scheduled-ops.md +0 -0
  143. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/tutorials/skills-workflow.md +0 -0
  144. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/agents.md +0 -0
  145. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/benchmarks.md +0 -0
  146. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/channels-and-connectors.md +0 -0
  147. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/channels.md +0 -0
  148. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/chat-simple.md +0 -0
  149. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/cli.md +0 -0
  150. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/code-assistant.md +0 -0
  151. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/deep-research.md +0 -0
  152. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/evaluations.md +0 -0
  153. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/llm-guided-spec-search.md +0 -0
  154. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/mcp-external-servers.md +0 -0
  155. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/memory.md +0 -0
  156. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/mining-apple-silicon.md +0 -0
  157. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/mining.md +0 -0
  158. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/morning-digest.md +0 -0
  159. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/pearl.md +0 -0
  160. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/python-sdk.md +0 -0
  161. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/scheduled-monitor.md +0 -0
  162. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/scheduler.md +0 -0
  163. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/security.md +0 -0
  164. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/skills.md +0 -0
  165. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/telemetry.md +0 -0
  166. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/docs/user-guide/tools.md +0 -0
  167. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/browser_assistant/README.md +0 -0
  168. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/browser_assistant/browser_assistant.py +0 -0
  169. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/code_companion/README.md +0 -0
  170. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/code_companion/debugger.py +0 -0
  171. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/code_companion/reviewer.py +0 -0
  172. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/code_companion/test_gen.py +0 -0
  173. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/daily_digest/README.md +0 -0
  174. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/daily_digest/daily_digest.py +0 -0
  175. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/deep_research/README.md +0 -0
  176. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/deep_research/research.py +0 -0
  177. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/deep_research/research.toml +0 -0
  178. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/doc_qa/README.md +0 -0
  179. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/doc_qa/doc_qa.py +0 -0
  180. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/messaging_hub/README.md +0 -0
  181. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/messaging_hub/messaging.toml +0 -0
  182. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/messaging_hub/smart_inbox.py +0 -0
  183. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/multi_model_router/README.md +0 -0
  184. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/multi_model_router/multi_model_router.py +0 -0
  185. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/openjarvis/spec_search_quickstart.py +0 -0
  186. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/scheduled_ops/README.md +0 -0
  187. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/scheduled_ops/code_review.py +0 -0
  188. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/scheduled_ops/daily_digest.py +0 -0
  189. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/scheduled_ops/gym_scheduler.py +0 -0
  190. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/scheduled_ops/schedules.toml +0 -0
  191. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/security_scanner/README.md +0 -0
  192. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/security_scanner/security_scanner.py +0 -0
  193. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/twitter_bot/slack_preview.py +0 -0
  194. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/twitter_bot/test_grounding.py +0 -0
  195. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/twitter_bot/test_real_world.py +0 -0
  196. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/examples/twitter_bot/twitter_bot.py +0 -0
  197. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/components.json +0 -0
  198. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/index.html +0 -0
  199. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/package-lock.json +0 -0
  200. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/package.json +0 -0
  201. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/public/apple-touch-icon.png +0 -0
  202. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/public/favicon.ico +0 -0
  203. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/public/pwa-192x192.png +0 -0
  204. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/public/pwa-512x512.png +0 -0
  205. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/App.tsx +0 -0
  206. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/ApprovalBell.tsx +0 -0
  207. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Chat/AudioPlayer.tsx +0 -0
  208. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Chat/ChatArea.tsx +0 -0
  209. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Chat/InputArea.tsx +0 -0
  210. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Chat/MessageBubble.tsx +0 -0
  211. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Chat/MicButton.tsx +0 -0
  212. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Chat/ResearchTimeline.tsx +0 -0
  213. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Chat/StreamingDots.tsx +0 -0
  214. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Chat/SystemPanel.tsx +0 -0
  215. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Chat/ToolCallCard.tsx +0 -0
  216. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Chat/XRayFooter.tsx +0 -0
  217. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/CommandPalette.tsx +0 -0
  218. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Dashboard/CostComparison.tsx +0 -0
  219. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Dashboard/EnergyDashboard.tsx +0 -0
  220. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Dashboard/TraceDebugger.tsx +0 -0
  221. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Desktop/AdminPanel.tsx +0 -0
  222. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Desktop/AgentsPanel.tsx +0 -0
  223. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Desktop/EnergyDashboard.tsx +0 -0
  224. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Desktop/LearningCurve.tsx +0 -0
  225. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Desktop/MemoryBrowser.tsx +0 -0
  226. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Desktop/SavingsDashboard.tsx +0 -0
  227. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Desktop/SettingsPanel.tsx +0 -0
  228. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Desktop/TraceDebugger.tsx +0 -0
  229. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Desktop/UpdateChecker.tsx +0 -0
  230. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Desktop/hooks/useTauriApi.ts +0 -0
  231. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Desktop/lib/api.ts +0 -0
  232. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/ErrorBoundary.tsx +0 -0
  233. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Layout.tsx +0 -0
  234. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/OptInModal.tsx +0 -0
  235. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/SetupScreen.tsx +0 -0
  236. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Sidebar/ConversationList.tsx +0 -0
  237. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/Sidebar/Sidebar.tsx +0 -0
  238. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/SystemPulse.tsx +0 -0
  239. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/setup/IngestDashboard.tsx +0 -0
  240. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/setup/ReadyScreen.tsx +0 -0
  241. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/setup/SetupWizard.tsx +0 -0
  242. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/setup/SourceConnectFlow.tsx +0 -0
  243. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/setup/SourcePicker.tsx +0 -0
  244. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/ui/button.tsx +0 -0
  245. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/ui/dialog.tsx +0 -0
  246. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/ui/input.tsx +0 -0
  247. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/ui/select.tsx +0 -0
  248. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/ui/sonner.tsx +0 -0
  249. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/components/ui/tooltip.tsx +0 -0
  250. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/hooks/useSpeech.ts +0 -0
  251. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/index.css +0 -0
  252. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/lib/analytics.ts +0 -0
  253. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/lib/api.auth.test.ts +0 -0
  254. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/lib/api.ts +0 -0
  255. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/lib/connectors-api.ts +0 -0
  256. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/lib/deep-link.ts +0 -0
  257. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/lib/profanity.ts +0 -0
  258. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/lib/rehype-citations.ts +0 -0
  259. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/lib/sse.ts +0 -0
  260. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/lib/store.ts +0 -0
  261. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/lib/useAgentEvents.ts +0 -0
  262. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/lib/utils.ts +0 -0
  263. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/main.tsx +0 -0
  264. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/pages/AgentsPage.tsx +0 -0
  265. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/pages/ChatPage.tsx +0 -0
  266. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/pages/DashboardPage.tsx +0 -0
  267. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/pages/DataSourcesPage.tsx +0 -0
  268. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/pages/GetStartedPage.tsx +0 -0
  269. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/pages/LogsPage.tsx +0 -0
  270. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/pages/SettingsPage.tsx +0 -0
  271. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/types/connectors.ts +0 -0
  272. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/types/index.ts +0 -0
  273. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src/vite-env.d.ts +0 -0
  274. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src-tauri/Cargo.lock +0 -0
  275. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src-tauri/Cargo.toml +0 -0
  276. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src-tauri/Entitlements.plist +0 -0
  277. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src-tauri/binaries/.gitignore +0 -0
  278. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src-tauri/build.rs +0 -0
  279. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src-tauri/capabilities/default.json +0 -0
  280. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src-tauri/icons/128x128.png +0 -0
  281. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src-tauri/icons/128x128@2x.png +0 -0
  282. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src-tauri/icons/256x256.png +0 -0
  283. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src-tauri/icons/32x32.png +0 -0
  284. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src-tauri/icons/icon.icns +0 -0
  285. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src-tauri/icons/icon.ico +0 -0
  286. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src-tauri/icons/icon.png +0 -0
  287. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src-tauri/scripts/download-ollama.sh +0 -0
  288. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src-tauri/src/lib.rs +0 -0
  289. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src-tauri/src/main.rs +0 -0
  290. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src-tauri/src/overlay.html +0 -0
  291. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/src-tauri/tauri.conf.json +0 -0
  292. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/tsconfig.json +0 -0
  293. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/tsconfig.tsbuildinfo +0 -0
  294. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/frontend/vite.config.ts +0 -0
  295. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/mkdocs.yml +0 -0
  296. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/Cargo.lock +0 -0
  297. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/Cargo.toml +0 -0
  298. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-a2a/Cargo.toml +0 -0
  299. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-a2a/src/lib.rs +0 -0
  300. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-agents/Cargo.toml +0 -0
  301. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-agents/src/helpers.rs +0 -0
  302. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-agents/src/lib.rs +0 -0
  303. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-agents/src/loop_guard.rs +0 -0
  304. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-agents/src/monitor_operative.rs +0 -0
  305. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-agents/src/native_openhands.rs +0 -0
  306. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-agents/src/native_react.rs +0 -0
  307. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-agents/src/orchestrator.rs +0 -0
  308. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-agents/src/simple.rs +0 -0
  309. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-agents/src/traits.rs +0 -0
  310. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-agents/src/utils.rs +0 -0
  311. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-core/Cargo.toml +0 -0
  312. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-core/src/config.rs +0 -0
  313. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-core/src/error.rs +0 -0
  314. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-core/src/events.rs +0 -0
  315. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-core/src/hardware.rs +0 -0
  316. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-core/src/lib.rs +0 -0
  317. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-core/src/model_catalog.rs +0 -0
  318. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-core/src/registry.rs +0 -0
  319. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-core/src/types.rs +0 -0
  320. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-engine/Cargo.toml +0 -0
  321. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-engine/src/discovery.rs +0 -0
  322. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-engine/src/engine_enum.rs +0 -0
  323. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-engine/src/lib.rs +0 -0
  324. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-engine/src/llamacpp.rs +0 -0
  325. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-engine/src/ollama.rs +0 -0
  326. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-engine/src/openai_compat.rs +0 -0
  327. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-engine/src/rig_adapter.rs +0 -0
  328. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-engine/src/sglang.rs +0 -0
  329. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-engine/src/traits.rs +0 -0
  330. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-engine/src/vllm.rs +0 -0
  331. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/Cargo.toml +0 -0
  332. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/agent_advisor.rs +0 -0
  333. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/agent_evolver.rs +0 -0
  334. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/bandit.rs +0 -0
  335. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/grpo.rs +0 -0
  336. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/heuristic.rs +0 -0
  337. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/heuristic_reward.rs +0 -0
  338. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/icl_updater.rs +0 -0
  339. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/learning_orchestrator.rs +0 -0
  340. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/lib.rs +0 -0
  341. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/optimize/engine.rs +0 -0
  342. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/optimize/llm_optimizer.rs +0 -0
  343. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/optimize/mod.rs +0 -0
  344. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/optimize/search_space.rs +0 -0
  345. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/optimize/store.rs +0 -0
  346. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/optimize/types.rs +0 -0
  347. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/orchestrator_types.rs +0 -0
  348. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/reward.rs +0 -0
  349. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/router_enum.rs +0 -0
  350. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/sft_policy.rs +0 -0
  351. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/skill_discovery.rs +0 -0
  352. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/trace_policy.rs +0 -0
  353. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/training_data.rs +0 -0
  354. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-learning/src/traits.rs +0 -0
  355. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-mcp/Cargo.toml +0 -0
  356. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-mcp/src/lib.rs +0 -0
  357. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-mcp/src/protocol.rs +0 -0
  358. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-mcp/src/server.rs +0 -0
  359. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/Cargo.toml +0 -0
  360. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/pyproject.toml +0 -0
  361. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/src/a2a.rs +0 -0
  362. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/src/agents.rs +0 -0
  363. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/src/core.rs +0 -0
  364. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/src/engine.rs +0 -0
  365. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/src/learning.rs +0 -0
  366. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/src/lib.rs +0 -0
  367. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/src/mcp.rs +0 -0
  368. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/src/recipes.rs +0 -0
  369. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/src/scheduler.rs +0 -0
  370. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/src/security.rs +0 -0
  371. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/src/sessions.rs +0 -0
  372. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/src/skills.rs +0 -0
  373. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/src/storage.rs +0 -0
  374. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/src/telemetry.rs +0 -0
  375. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/src/templates.rs +0 -0
  376. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/src/tools.rs +0 -0
  377. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/src/traces.rs +0 -0
  378. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/src/workflow.rs +0 -0
  379. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-python/uv.lock +0 -0
  380. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-recipes/Cargo.toml +0 -0
  381. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-recipes/src/lib.rs +0 -0
  382. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-scheduler/Cargo.toml +0 -0
  383. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-scheduler/src/lib.rs +0 -0
  384. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-security/Cargo.toml +0 -0
  385. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-security/src/audit.rs +0 -0
  386. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-security/src/capabilities.rs +0 -0
  387. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-security/src/file_policy.rs +0 -0
  388. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-security/src/guardrails.rs +0 -0
  389. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-security/src/injection.rs +0 -0
  390. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-security/src/lib.rs +0 -0
  391. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-security/src/rate_limiter.rs +0 -0
  392. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-security/src/scanner.rs +0 -0
  393. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-security/src/ssrf.rs +0 -0
  394. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-security/src/taint.rs +0 -0
  395. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-security/src/types.rs +0 -0
  396. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-sessions/Cargo.toml +0 -0
  397. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-sessions/src/lib.rs +0 -0
  398. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-skills/Cargo.toml +0 -0
  399. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-skills/src/lib.rs +0 -0
  400. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-telemetry/Cargo.toml +0 -0
  401. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-telemetry/src/aggregator.rs +0 -0
  402. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-telemetry/src/energy.rs +0 -0
  403. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-telemetry/src/flops.rs +0 -0
  404. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-telemetry/src/instrumented.rs +0 -0
  405. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-telemetry/src/itl.rs +0 -0
  406. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-telemetry/src/lib.rs +0 -0
  407. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-telemetry/src/phase.rs +0 -0
  408. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-telemetry/src/session.rs +0 -0
  409. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-telemetry/src/store.rs +0 -0
  410. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-templates/Cargo.toml +0 -0
  411. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-templates/src/lib.rs +0 -0
  412. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/Cargo.toml +0 -0
  413. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/builtin/calculator.rs +0 -0
  414. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/builtin/file_tools.rs +0 -0
  415. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/builtin/git_tools.rs +0 -0
  416. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/builtin/http_tools.rs +0 -0
  417. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/builtin/mod.rs +0 -0
  418. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/builtin/shell.rs +0 -0
  419. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/builtin/think.rs +0 -0
  420. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/executor.rs +0 -0
  421. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/lib.rs +0 -0
  422. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/rig_tools.rs +0 -0
  423. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/storage/backend_enum.rs +0 -0
  424. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/storage/bm25.rs +0 -0
  425. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/storage/colbert.rs +0 -0
  426. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/storage/faiss.rs +0 -0
  427. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/storage/hybrid.rs +0 -0
  428. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/storage/knowledge_graph.rs +0 -0
  429. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/storage/mod.rs +0 -0
  430. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/storage/sqlite.rs +0 -0
  431. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/storage/traits.rs +0 -0
  432. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/storage/utils.rs +0 -0
  433. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-tools/src/traits.rs +0 -0
  434. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-traces/Cargo.toml +0 -0
  435. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-traces/src/analyzer.rs +0 -0
  436. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-traces/src/collector.rs +0 -0
  437. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-traces/src/lib.rs +0 -0
  438. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-traces/src/store.rs +0 -0
  439. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-workflow/Cargo.toml +0 -0
  440. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/crates/openjarvis-workflow/src/lib.rs +0 -0
  441. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/rust/rust-toolchain.toml +0 -0
  442. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/scripts/bump-desktop-version.sh +0 -0
  443. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/scripts/index_docs.py +0 -0
  444. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/scripts/install/bg-orchestrator.sh +0 -0
  445. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/scripts/install/build-extension.sh +0 -0
  446. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/scripts/install/install-rust.sh +0 -0
  447. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/scripts/install/install.sh +0 -0
  448. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/scripts/install/jarvis-uninstall.sh +0 -0
  449. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/scripts/install/jarvis-wrapper.sh +0 -0
  450. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/scripts/install/pull-model.sh +0 -0
  451. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/scripts/mining/pearl_model_converter.py +0 -0
  452. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/scripts/oauth_all.py +0 -0
  453. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/scripts/pearl/README.md +0 -0
  454. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/scripts/pearl/model_converter.py +0 -0
  455. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/scripts/quickstart.sh +0 -0
  456. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/scripts/smoke_framework_comparison.sh +0 -0
  457. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/__init__.py +0 -0
  458. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/_rust_bridge.py +0 -0
  459. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/a2a/__init__.py +0 -0
  460. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/a2a/client.py +0 -0
  461. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/a2a/protocol.py +0 -0
  462. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/a2a/server.py +0 -0
  463. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/a2a/tool.py +0 -0
  464. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/__init__.py +0 -0
  465. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/_stubs.py +0 -0
  466. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/channel_agent.py +0 -0
  467. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/claude_code.py +0 -0
  468. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/claude_code_runner/package.json +0 -0
  469. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/claude_code_runner/src/index.ts +0 -0
  470. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/deep_research.py +0 -0
  471. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/digest_store.py +0 -0
  472. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/errors.py +0 -0
  473. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/executor.py +0 -0
  474. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/README.md +0 -0
  475. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/__init__.py +0 -0
  476. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/_base.py +0 -0
  477. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/_energy.py +0 -0
  478. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/_openai_retry.py +0 -0
  479. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/_prices.py +0 -0
  480. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/_prompts.py +0 -0
  481. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/advisors.py +0 -0
  482. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/archon.py +0 -0
  483. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/baseline_cloud.py +0 -0
  484. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/baseline_local.py +0 -0
  485. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/conductor.py +0 -0
  486. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/mini_swe_agent.py +0 -0
  487. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/minions.py +0 -0
  488. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/registry/advisors.toml +0 -0
  489. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/registry/archon.toml +0 -0
  490. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/registry/baseline_local.toml +0 -0
  491. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/registry/conductor.toml +0 -0
  492. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/registry/mini_swe_agent.toml +0 -0
  493. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/registry/minions.toml +0 -0
  494. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/registry/skillorchestra.toml +0 -0
  495. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/registry/swe_agent_loop.toml +0 -0
  496. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/registry/toolorchestra.toml +0 -0
  497. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/runner.py +0 -0
  498. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/scripts/new_experiment.sh +0 -0
  499. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/skillorchestra/README.md +0 -0
  500. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/skillorchestra/__init__.py +0 -0
  501. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/skillorchestra/agent.py +0 -0
  502. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/skillorchestra/handbook_seed.json +0 -0
  503. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/skillorchestra/orchestrator.py +0 -0
  504. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/skillorchestra/pool.py +0 -0
  505. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/skillorchestra/prompts/__init__.py +0 -0
  506. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/skillorchestra/prompts/eval_orchestrator.py +0 -0
  507. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/skillorchestra/prompts/learning.py +0 -0
  508. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/skillorchestra/prompts/model_routing.py +0 -0
  509. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/skillorchestra/stage_router.py +0 -0
  510. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/skillorchestra/tools.py +0 -0
  511. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/skillorchestra/types.py +0 -0
  512. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/skillorchestra.py +0 -0
  513. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/hybrid/toolorchestra.py +0 -0
  514. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/loop_guard.py +0 -0
  515. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/manager.py +0 -0
  516. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/monitor_operative.py +0 -0
  517. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/morning_digest.py +0 -0
  518. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/native_openhands.py +0 -0
  519. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/native_react.py +0 -0
  520. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/opencode.py +0 -0
  521. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/openhands.py +0 -0
  522. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/operative.py +0 -0
  523. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/orchestrator.py +0 -0
  524. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/proactive_agent.py +0 -0
  525. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/prompt_loader.py +0 -0
  526. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/research_loop.py +0 -0
  527. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/rlm.py +0 -0
  528. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/rlm_repl.py +0 -0
  529. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/scheduler.py +0 -0
  530. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/simple.py +0 -0
  531. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/templates/__init__.py +0 -0
  532. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/templates/code_reviewer.toml +0 -0
  533. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/templates/inbox_triager.toml +0 -0
  534. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/templates/personal_deep_research.toml +0 -0
  535. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/agents/templates/research_monitor.toml +0 -0
  536. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/analytics/__init__.py +0 -0
  537. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/analytics/aggregator.py +0 -0
  538. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/analytics/bridge.py +0 -0
  539. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/analytics/client.py +0 -0
  540. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/analytics/events.py +0 -0
  541. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/analytics/identity.py +0 -0
  542. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/analytics/redaction.py +0 -0
  543. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/bench/__init__.py +0 -0
  544. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/bench/_stats.py +0 -0
  545. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/bench/_stubs.py +0 -0
  546. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/bench/energy.py +0 -0
  547. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/bench/latency.py +0 -0
  548. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/bench/throughput.py +0 -0
  549. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/__init__.py +0 -0
  550. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/_stubs.py +0 -0
  551. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/bluebubbles.py +0 -0
  552. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/discord_channel.py +0 -0
  553. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/email_channel.py +0 -0
  554. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/feishu.py +0 -0
  555. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/gmail.py +0 -0
  556. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/google_chat.py +0 -0
  557. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/imessage_daemon.py +0 -0
  558. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/irc_channel.py +0 -0
  559. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/line_channel.py +0 -0
  560. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/mastodon_channel.py +0 -0
  561. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/matrix_channel.py +0 -0
  562. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/mattermost.py +0 -0
  563. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/messenger_channel.py +0 -0
  564. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/nostr_channel.py +0 -0
  565. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/reddit_channel.py +0 -0
  566. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/rocketchat_channel.py +0 -0
  567. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/sendblue.py +0 -0
  568. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/signal_channel.py +0 -0
  569. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/slack.py +0 -0
  570. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/slack_daemon.py +0 -0
  571. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/teams.py +0 -0
  572. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/telegram.py +0 -0
  573. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/twilio_sms.py +0 -0
  574. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/twitch_channel.py +0 -0
  575. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/twitter_channel.py +0 -0
  576. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/viber_channel.py +0 -0
  577. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/webchat.py +0 -0
  578. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/webhook.py +0 -0
  579. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/whatsapp.py +0 -0
  580. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/whatsapp_baileys.py +0 -0
  581. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/whatsapp_baileys_bridge/package-lock.json +0 -0
  582. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/whatsapp_baileys_bridge/package.json +0 -0
  583. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/whatsapp_baileys_bridge/src/bridge.ts +0 -0
  584. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/whatsapp_baileys_bridge/tsconfig.json +0 -0
  585. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/xmpp_channel.py +0 -0
  586. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/channels/zulip_channel.py +0 -0
  587. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/__init__.py +0 -0
  588. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/__main__.py +0 -0
  589. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/_banner.py +0 -0
  590. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/_bg_state.py +0 -0
  591. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/_bootstrap.py +0 -0
  592. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/_chat_banner.py +0 -0
  593. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/_chat_notifications.py +0 -0
  594. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/_first_run.py +0 -0
  595. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/_install_detect.py +0 -0
  596. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/_tool_names.py +0 -0
  597. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/_version_check.py +0 -0
  598. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/add_cmd.py +0 -0
  599. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/agent_cmd.py +0 -0
  600. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/ask.py +0 -0
  601. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/auth_cmd.py +0 -0
  602. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/bench_cmd.py +0 -0
  603. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/channel_cmd.py +0 -0
  604. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/channels_cmd.py +0 -0
  605. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/compose_cmd.py +0 -0
  606. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/config_cmd.py +0 -0
  607. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/connect_cmd.py +0 -0
  608. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/daemon_cmd.py +0 -0
  609. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/dashboard.py +0 -0
  610. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/deep_research_setup_cmd.py +0 -0
  611. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/digest_cmd.py +0 -0
  612. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/doctor_cmd.py +0 -0
  613. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/eval_cmd.py +0 -0
  614. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/feedback_cmd.py +0 -0
  615. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/gateway_cmd.py +0 -0
  616. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/hints.py +0 -0
  617. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/host_cmd.py +0 -0
  618. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/init_cmd.py +0 -0
  619. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/log_config.py +0 -0
  620. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/memory_cmd.py +0 -0
  621. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/mine_cmd.py +0 -0
  622. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/model.py +0 -0
  623. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/operators_cmd.py +0 -0
  624. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/optimize_cmd.py +0 -0
  625. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/pearl_cmd.py +0 -0
  626. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/quickstart_cmd.py +0 -0
  627. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/registry_cmd.py +0 -0
  628. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/scan_cmd.py +0 -0
  629. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/scheduler_cmd.py +0 -0
  630. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/self_update_cmd.py +0 -0
  631. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/serve.py +0 -0
  632. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/skill_cmd.py +0 -0
  633. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/telemetry_cmd.py +0 -0
  634. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/tool_cmd.py +0 -0
  635. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/tunnel_cmd.py +0 -0
  636. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/vault_cmd.py +0 -0
  637. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/cli/workflow_cmd.py +0 -0
  638. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/__init__.py +0 -0
  639. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/_stubs.py +0 -0
  640. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/apple_contacts.py +0 -0
  641. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/apple_health.py +0 -0
  642. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/apple_music.py +0 -0
  643. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/apple_notes.py +0 -0
  644. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/attachment_store.py +0 -0
  645. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/chunker.py +0 -0
  646. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/dropbox.py +0 -0
  647. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/embedding_store.py +0 -0
  648. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/embeddings.py +0 -0
  649. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/gcalendar.py +0 -0
  650. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/gcontacts.py +0 -0
  651. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/gdrive.py +0 -0
  652. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/github_notifications.py +0 -0
  653. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/gmail.py +0 -0
  654. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/gmail_imap.py +0 -0
  655. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/google_auth.py +0 -0
  656. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/google_tasks.py +0 -0
  657. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/granola.py +0 -0
  658. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/hackernews.py +0 -0
  659. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/hybrid_search.py +0 -0
  660. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/imessage.py +0 -0
  661. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/news_rss.py +0 -0
  662. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/notion.py +0 -0
  663. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/oauth.py +0 -0
  664. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/obsidian.py +0 -0
  665. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/oura.py +0 -0
  666. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/outlook.py +0 -0
  667. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/pipeline.py +0 -0
  668. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/retriever.py +0 -0
  669. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/scheduler.py +0 -0
  670. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/slack_connector.py +0 -0
  671. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/spotify.py +0 -0
  672. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/store.py +0 -0
  673. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/strava.py +0 -0
  674. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/sync_engine.py +0 -0
  675. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/weather.py +0 -0
  676. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/connectors/whatsapp.py +0 -0
  677. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/core/__init__.py +0 -0
  678. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/core/config.py +0 -0
  679. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/core/credentials.py +0 -0
  680. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/core/events.py +0 -0
  681. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/core/registry.py +0 -0
  682. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/core/types.py +0 -0
  683. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/core/utils.py +0 -0
  684. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/daemon/__init__.py +0 -0
  685. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/daemon/gateway.py +0 -0
  686. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/daemon/service.py +0 -0
  687. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/daemon/session_expiry.py +0 -0
  688. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/engine/__init__.py +0 -0
  689. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/engine/_base.py +0 -0
  690. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/engine/_discovery.py +0 -0
  691. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/engine/_openai_compat.py +0 -0
  692. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/engine/_stubs.py +0 -0
  693. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/engine/apple_fm_shim.py +0 -0
  694. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/engine/cloud.py +0 -0
  695. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/engine/gemma_cpp.py +0 -0
  696. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/engine/litellm.py +0 -0
  697. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/engine/multi.py +0 -0
  698. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/engine/nexa_shim.py +0 -0
  699. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/engine/ollama.py +0 -0
  700. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/engine/openai_compat_engines.py +0 -0
  701. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/__init__.py +0 -0
  702. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/__main__.py +0 -0
  703. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/backends/__init__.py +0 -0
  704. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/backends/_commit_util.py +0 -0
  705. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/backends/external/__init__.py +0 -0
  706. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/backends/external/_runners/__init__.py +0 -0
  707. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/backends/external/_runners/hermes_runner.py +0 -0
  708. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/backends/external/_runners/openclaw_runner.mjs +0 -0
  709. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/backends/external/_subprocess_runner.py +0 -0
  710. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/backends/external/hermes_agent.py +0 -0
  711. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/backends/external/openclaw.py +0 -0
  712. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/backends/jarvis_agent.py +0 -0
  713. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/backends/jarvis_direct.py +0 -0
  714. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/backends/tb_agent.py +0 -0
  715. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/backends/terminalbench_native.py +0 -0
  716. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/cli.py +0 -0
  717. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/comparison/__init__.py +0 -0
  718. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/comparison/make_configs.py +0 -0
  719. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/comparison/table_gen.py +0 -0
  720. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/comparison/third_party.py +0 -0
  721. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/deepplanning-monitor-operative.toml +0 -0
  722. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/framework_comparison/_template.toml +0 -0
  723. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/framework_comparison/_third_party.toml +0 -0
  724. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/full-suite.toml +0 -0
  725. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-gemini-31-pro.toml +0 -0
  726. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-gemma4-26b.toml +0 -0
  727. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-gpt54.toml +0 -0
  728. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-nemotron-nano.toml +0 -0
  729. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-nemotron-super.toml +0 -0
  730. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-nemotron3-super.toml +0 -0
  731. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-qwen-122b.toml +0 -0
  732. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-qwen-27b.toml +0 -0
  733. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-qwen-2b.toml +0 -0
  734. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-qwen-35b.toml +0 -0
  735. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-qwen-9b.toml +0 -0
  736. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-qwen122b.toml +0 -0
  737. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-qwen35b.toml +0 -0
  738. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-rerun-claude-opus.toml +0 -0
  739. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-rerun-claude-sonnet.toml +0 -0
  740. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-rerun-glm47flash.toml +0 -0
  741. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-rerun-gpt5mini.toml +0 -0
  742. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-rerun-minimax-m25.toml +0 -0
  743. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-rerun-qwen122b.toml +0 -0
  744. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-rerun-qwen35b.toml +0 -0
  745. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-rerun-qwen397b.toml +0 -0
  746. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/gaia-trinity-large.toml +0 -0
  747. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/glm-4.7-flash-openhands-remaining.toml +0 -0
  748. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/glm-4.7-flash-openhands.toml +0 -0
  749. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/glm-4.7-fp8-openhands-gaia.toml +0 -0
  750. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/glm5-fp8-monitor-operative.toml +0 -0
  751. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/kimi-k2.5-monitor-operative.toml +0 -0
  752. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/livecodebench-claude-opus.toml +0 -0
  753. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/livecodebench-gemma4-26b.toml +0 -0
  754. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/livecodebench-gemma4-e4b.toml +0 -0
  755. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/livecodebench-kimi-k25.toml +0 -0
  756. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/livecodebench-minimax-m25.toml +0 -0
  757. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/livecodebench-nemotron-nano.toml +0 -0
  758. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/livecodebench-nemotron-super.toml +0 -0
  759. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/livecodebench-qwen-122b.toml +0 -0
  760. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/livecodebench-qwen-27b.toml +0 -0
  761. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/livecodebench-qwen-2b.toml +0 -0
  762. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/livecodebench-qwen-35b.toml +0 -0
  763. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/livecodebench-qwen-9b.toml +0 -0
  764. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-claude-opus.toml +0 -0
  765. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-gemini-31-pro.toml +0 -0
  766. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-gemma4-26b.toml +0 -0
  767. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-gemma4-31b.toml +0 -0
  768. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-gpt54.toml +0 -0
  769. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-granite-3.3-8b-lora.toml +0 -0
  770. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-granite-3.3-8b.toml +0 -0
  771. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-granite-4.0-h-small.toml +0 -0
  772. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-granite-4.0-micro.toml +0 -0
  773. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-nemotron-nano.toml +0 -0
  774. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-nemotron-super.toml +0 -0
  775. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-qwen-122b.toml +0 -0
  776. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-qwen-27b-lora-r32.toml +0 -0
  777. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-qwen-27b.toml +0 -0
  778. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-qwen-2b-lora-r16.toml +0 -0
  779. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-qwen-2b-lora-r32.toml +0 -0
  780. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-qwen-2b-mixed.toml +0 -0
  781. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-qwen-2b-trackb.toml +0 -0
  782. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-qwen-2b.toml +0 -0
  783. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-qwen-35b.toml +0 -0
  784. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-qwen-9b-lora-r32.toml +0 -0
  785. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-qwen-9b-mixed.toml +0 -0
  786. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-qwen-9b-trackb.toml +0 -0
  787. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-qwen-9b.toml +0 -0
  788. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearch-trinity-large.toml +0 -0
  789. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearchbench-qwen-27b.toml +0 -0
  790. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearchbench-qwen-2b.toml +0 -0
  791. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/liveresearchbench-qwen-9b.toml +0 -0
  792. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/long-horizon-claude-opus.toml +0 -0
  793. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/long-horizon-claude-sonnet.toml +0 -0
  794. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/long-horizon-glm47flash.toml +0 -0
  795. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/long-horizon-gpt5mini.toml +0 -0
  796. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/long-horizon-kimik25.toml +0 -0
  797. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/long-horizon-minimax-m25.toml +0 -0
  798. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/long-horizon-qwen122b.toml +0 -0
  799. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/long-horizon-qwen35b.toml +0 -0
  800. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/long-horizon-qwen397b.toml +0 -0
  801. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/minimal.toml +0 -0
  802. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/paperarena-monitor-operative.toml +0 -0
  803. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench-claude-opus.toml +0 -0
  804. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench-gemini-31-pro.toml +0 -0
  805. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench-gemma4-26b.toml +0 -0
  806. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench-gemma4-e4b.toml +0 -0
  807. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench-gpt54.toml +0 -0
  808. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench-kimi-k25.toml +0 -0
  809. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench-minimax-m25.toml +0 -0
  810. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench-nemotron-nano.toml +0 -0
  811. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench-nemotron-super.toml +0 -0
  812. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench-nemotron3-super.toml +0 -0
  813. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench-qwen-122b.toml +0 -0
  814. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench-qwen-27b.toml +0 -0
  815. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench-qwen-2b.toml +0 -0
  816. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench-qwen-35b.toml +0 -0
  817. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench-qwen-9b.toml +0 -0
  818. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench-qwen122b.toml +0 -0
  819. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench-qwen35b.toml +0 -0
  820. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench-qwen397b.toml +0 -0
  821. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/pinchbench.toml +0 -0
  822. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/qwen3.5-122b-kg-agentic.toml +0 -0
  823. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/qwen3.5-122b-kg-hightoken.toml +0 -0
  824. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/qwen3.5-122b-reasoning-suite.toml +0 -0
  825. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/qwen3.5-35b-kg.toml +0 -0
  826. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/qwen3.5-35b-monitor-operative.toml +0 -0
  827. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/qwen3.5-397b-monitor-operative.toml +0 -0
  828. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/single-run.toml +0 -0
  829. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/smoke_amd.toml +0 -0
  830. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/smoke_apple.toml +0 -0
  831. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/smoke_nvidia.toml +0 -0
  832. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-claude-opus.toml +0 -0
  833. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-gemini-31-pro.toml +0 -0
  834. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-gemma4-26b.toml +0 -0
  835. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-gemma4-e4b.toml +0 -0
  836. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-gpt54.toml +0 -0
  837. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-kimi-k25.toml +0 -0
  838. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-minimax-m25.toml +0 -0
  839. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-nemotron-nano.toml +0 -0
  840. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-nemotron-super.toml +0 -0
  841. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-nemotron3-super.toml +0 -0
  842. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-qwen-122b.toml +0 -0
  843. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-qwen-27b.toml +0 -0
  844. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-qwen-2b.toml +0 -0
  845. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-qwen-35b.toml +0 -0
  846. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-qwen-9b.toml +0 -0
  847. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-qwen122b.toml +0 -0
  848. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-qwen35b.toml +0 -0
  849. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-qwen397b.toml +0 -0
  850. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-telecom-claude.toml +0 -0
  851. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-telecom-gemma4-26b.toml +0 -0
  852. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-telecom-gpt54.toml +0 -0
  853. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-telecom-nemotron-nano.toml +0 -0
  854. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-telecom-nemotron-super.toml +0 -0
  855. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-telecom-nemotron.toml +0 -0
  856. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-telecom-qwen-122b.toml +0 -0
  857. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-telecom-qwen-27b.toml +0 -0
  858. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-telecom-qwen-35b.toml +0 -0
  859. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-telecom-qwen27b.toml +0 -0
  860. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-telecom-qwen2b.toml +0 -0
  861. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-telecom-qwen9b.toml +0 -0
  862. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/taubench-telecom-trinity-large.toml +0 -0
  863. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/terminalbench-native-qwen122b.toml +0 -0
  864. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/terminalbench-qwen122b.toml +0 -0
  865. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/toolcall15-claude-opus.toml +0 -0
  866. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/toolcall15-gemma4-26b.toml +0 -0
  867. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/toolcall15-gemma4-e4b.toml +0 -0
  868. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/toolcall15-kimi-k25.toml +0 -0
  869. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/toolcall15-minimax-m25.toml +0 -0
  870. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/toolcall15-nemotron-nano.toml +0 -0
  871. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/toolcall15-nemotron-super.toml +0 -0
  872. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/toolcall15-qwen-122b.toml +0 -0
  873. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/toolcall15-qwen-27b.toml +0 -0
  874. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/toolcall15-qwen-2b.toml +0 -0
  875. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/toolcall15-qwen-35b.toml +0 -0
  876. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/toolcall15-qwen-9b.toml +0 -0
  877. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/use_case_cloud_comparison.toml +0 -0
  878. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/use_case_cloud_openhands.toml +0 -0
  879. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/use_case_cloud_orchestrator.toml +0 -0
  880. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/use_case_direct.toml +0 -0
  881. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/use_case_ibm_granite.toml +0 -0
  882. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/use_case_openhands.toml +0 -0
  883. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/use_case_opensource_openhands.toml +0 -0
  884. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/use_case_opensource_orchestrator.toml +0 -0
  885. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/use_case_orchestrator.toml +0 -0
  886. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/use_case_react.toml +0 -0
  887. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/use_case_suite.toml +0 -0
  888. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/use_case_v2_cloud.toml +0 -0
  889. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/use_case_v2_granite.toml +0 -0
  890. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/use_case_v2_local.toml +0 -0
  891. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/configs/use_case_v2_suite.toml +0 -0
  892. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/core/__init__.py +0 -0
  893. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/core/agentic_runner.py +0 -0
  894. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/core/backend.py +0 -0
  895. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/core/config.py +0 -0
  896. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/core/dataset.py +0 -0
  897. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/core/display.py +0 -0
  898. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/core/environment.py +0 -0
  899. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/core/event_recorder.py +0 -0
  900. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/core/export.py +0 -0
  901. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/core/pricing.py +0 -0
  902. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/core/runner.py +0 -0
  903. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/core/scorer.py +0 -0
  904. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/core/splits.py +0 -0
  905. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/core/trace.py +0 -0
  906. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/core/tracker.py +0 -0
  907. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/core/types.py +0 -0
  908. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/__init__.py +0 -0
  909. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/adp.py +0 -0
  910. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/ama_bench.py +0 -0
  911. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/browser_assistant.py +0 -0
  912. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/coding_assistant.py +0 -0
  913. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/coding_task.py +0 -0
  914. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/daily_digest.py +0 -0
  915. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/deepplanning.py +0 -0
  916. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/doc_qa.py +0 -0
  917. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/email_triage.py +0 -0
  918. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/frames.py +0 -0
  919. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/gaia.py +0 -0
  920. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/generalthoughts.py +0 -0
  921. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/gpqa.py +0 -0
  922. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/hle.py +0 -0
  923. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/ipw_mixed.py +0 -0
  924. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/knowledge_base.py +0 -0
  925. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/lifelong_agent.py +0 -0
  926. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/livecodebench.py +0 -0
  927. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/liveresearch.py +0 -0
  928. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/liveresearchbench.py +0 -0
  929. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/loghub.py +0 -0
  930. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/math500.py +0 -0
  931. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/mmlu_pro.py +0 -0
  932. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/morning_brief.py +0 -0
  933. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/natural_reasoning.py +0 -0
  934. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/paperarena.py +0 -0
  935. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/pinchbench.py +0 -0
  936. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/research_mining.py +0 -0
  937. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/security_scanner.py +0 -0
  938. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/simpleqa.py +0 -0
  939. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/supergpqa.py +0 -0
  940. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/swebench.py +0 -0
  941. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/swefficiency.py +0 -0
  942. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/taubench.py +0 -0
  943. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/terminalbench.py +0 -0
  944. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/terminalbench_native.py +0 -0
  945. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/terminalbench_v2_1.py +0 -0
  946. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/toolcall15.py +0 -0
  947. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/toolorchestra.py +0 -0
  948. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/webchorearena.py +0 -0
  949. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/wildchat.py +0 -0
  950. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/datasets/workarena.py +0 -0
  951. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/environments/__init__.py +0 -0
  952. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/environments/base.py +0 -0
  953. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/environments/lifelong_agent_env.py +0 -0
  954. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/execution/__init__.py +0 -0
  955. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/execution/pinchbench_env.py +0 -0
  956. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/execution/taubench_env.py +0 -0
  957. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/execution/terminalbench_env.py +0 -0
  958. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/execution/terminalbench_v2_1_env.py +0 -0
  959. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/execution/webchorearena_env.py +0 -0
  960. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/execution/workarena_env.py +0 -0
  961. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/__init__.py +0 -0
  962. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/_checklist.py +0 -0
  963. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/ama_bench_judge.py +0 -0
  964. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/browser_assistant.py +0 -0
  965. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/coding_assistant.py +0 -0
  966. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/coding_task.py +0 -0
  967. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/daily_digest.py +0 -0
  968. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/deepplanning_scorer.py +0 -0
  969. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/doc_qa.py +0 -0
  970. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/email_triage.py +0 -0
  971. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/frames_judge.py +0 -0
  972. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/gaia_exact.py +0 -0
  973. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/gpqa_mcq.py +0 -0
  974. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/hle_judge.py +0 -0
  975. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/ipw_mixed.py +0 -0
  976. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/knowledge_base.py +0 -0
  977. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/lifelong_agent_scorer.py +0 -0
  978. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/livecodebench.py +0 -0
  979. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/liveresearch.py +0 -0
  980. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/liveresearchbench.py +0 -0
  981. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/loghub_scorer.py +0 -0
  982. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/mmlu_pro_mcq.py +0 -0
  983. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/morning_brief.py +0 -0
  984. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/paperarena_judge.py +0 -0
  985. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/pinchbench.py +0 -0
  986. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/reasoning_judge.py +0 -0
  987. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/research_mining.py +0 -0
  988. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/security_scanner.py +0 -0
  989. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/simpleqa_judge.py +0 -0
  990. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/supergpqa_mcq.py +0 -0
  991. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/swebench_harness.py +0 -0
  992. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/swebench_structural.py +0 -0
  993. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/swefficiency_structural.py +0 -0
  994. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/taubench.py +0 -0
  995. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/terminalbench_judge.py +0 -0
  996. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/terminalbench_native_structural.py +0 -0
  997. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/terminalbench_v2_1.py +0 -0
  998. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/toolcall15.py +0 -0
  999. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/webchorearena_scorer.py +0 -0
  1000. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/wildchat_judge.py +0 -0
  1001. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/scorers/workarena_scorer.py +0 -0
  1002. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/skill_benchmark.py +0 -0
  1003. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/tests/__init__.py +0 -0
  1004. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/tests/conftest.py +0 -0
  1005. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/tests/test_backends.py +0 -0
  1006. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/tests/test_cli_flags.py +0 -0
  1007. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/tests/test_config.py +0 -0
  1008. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/tests/test_display.py +0 -0
  1009. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/tests/test_frames.py +0 -0
  1010. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/tests/test_gaia.py +0 -0
  1011. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/tests/test_runner.py +0 -0
  1012. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/tests/test_supergpqa.py +0 -0
  1013. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/tests/test_types.py +0 -0
  1014. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/tests/test_wildchat.py +0 -0
  1015. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/trackers/__init__.py +0 -0
  1016. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/trackers/sheets_tracker.py +0 -0
  1017. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/evals/trackers/wandb_tracker.py +0 -0
  1018. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/intelligence/__init__.py +0 -0
  1019. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/intelligence/model_catalog.py +0 -0
  1020. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/__init__.py +0 -0
  1021. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/_stubs.py +0 -0
  1022. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/agents/__init__.py +0 -0
  1023. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/agents/ace_optimizer.py +0 -0
  1024. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/agents/agent_evolver.py +0 -0
  1025. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/agents/dspy_optimizer.py +0 -0
  1026. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/agents/gepa_optimizer.py +0 -0
  1027. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/agents/skill_discovery.py +0 -0
  1028. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/agents/skill_optimizer.py +0 -0
  1029. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/intelligence/__init__.py +0 -0
  1030. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/intelligence/grpo_trainer.py +0 -0
  1031. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/intelligence/orchestrator/__init__.py +0 -0
  1032. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/intelligence/orchestrator/environment.py +0 -0
  1033. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/intelligence/orchestrator/grpo_trainer.py +0 -0
  1034. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/intelligence/orchestrator/policy_model.py +0 -0
  1035. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/intelligence/orchestrator/prompt_registry.py +0 -0
  1036. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/intelligence/orchestrator/reward.py +0 -0
  1037. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/intelligence/orchestrator/sft_trainer.py +0 -0
  1038. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/intelligence/orchestrator/types.py +0 -0
  1039. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/intelligence/sft_trainer.py +0 -0
  1040. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/learning_orchestrator.py +0 -0
  1041. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/optimize/__init__.py +0 -0
  1042. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/optimize/config.py +0 -0
  1043. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/optimize/configs/qwen3-235b-dry-run.toml +0 -0
  1044. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/optimize/configs/qwen3.5-joint-agentic.toml +0 -0
  1045. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/optimize/feedback/__init__.py +0 -0
  1046. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/optimize/feedback/collector.py +0 -0
  1047. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/optimize/feedback/judge.py +0 -0
  1048. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/optimize/llm_optimizer.py +0 -0
  1049. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/optimize/optimizer.py +0 -0
  1050. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/optimize/personal/__init__.py +0 -0
  1051. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/optimize/personal/dataset.py +0 -0
  1052. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/optimize/personal/scorer.py +0 -0
  1053. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/optimize/personal/synthesizer.py +0 -0
  1054. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/optimize/search_space.py +0 -0
  1055. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/optimize/store.py +0 -0
  1056. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/optimize/trial_runner.py +0 -0
  1057. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/optimize/types.py +0 -0
  1058. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/routing/__init__.py +0 -0
  1059. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/routing/_utils.py +0 -0
  1060. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/routing/complexity.py +0 -0
  1061. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/routing/heuristic_policy.py +0 -0
  1062. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/routing/heuristic_reward.py +0 -0
  1063. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/routing/learned_router.py +0 -0
  1064. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/routing/router.py +0 -0
  1065. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/__init__.py +0 -0
  1066. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/checkpoint/__init__.py +0 -0
  1067. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/checkpoint/store.py +0 -0
  1068. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/composite_reward.py +0 -0
  1069. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/diagnose/__init__.py +0 -0
  1070. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/diagnose/runner.py +0 -0
  1071. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/diagnose/teacher_agent.py +0 -0
  1072. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/diagnose/tools.py +0 -0
  1073. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/diagnose/types.py +0 -0
  1074. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/execute/__init__.py +0 -0
  1075. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/execute/appliers/__init__.py +0 -0
  1076. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/execute/appliers/agent.py +0 -0
  1077. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/execute/appliers/intelligence.py +0 -0
  1078. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/execute/appliers/lora_stub.py +0 -0
  1079. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/execute/appliers/tools.py +0 -0
  1080. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/execute/base.py +0 -0
  1081. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/execute/loop.py +0 -0
  1082. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/external_adapter.py +0 -0
  1083. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/gate/__init__.py +0 -0
  1084. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/gate/benchmark_gate.py +0 -0
  1085. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/gate/cold_start.py +0 -0
  1086. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/gate/regression.py +0 -0
  1087. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/models.py +0 -0
  1088. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/multi_session.py +0 -0
  1089. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/orchestrator.py +0 -0
  1090. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/pending_queue.py +0 -0
  1091. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/plan/__init__.py +0 -0
  1092. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/plan/planner.py +0 -0
  1093. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/plan/prompt_diff.py +0 -0
  1094. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/plan/risk_tier.py +0 -0
  1095. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/storage/__init__.py +0 -0
  1096. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/storage/paths.py +0 -0
  1097. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/storage/session_store.py +0 -0
  1098. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/student_runner.py +0 -0
  1099. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/spec_search/triggers.py +0 -0
  1100. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/training/__init__.py +0 -0
  1101. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/training/data.py +0 -0
  1102. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/learning/training/lora.py +0 -0
  1103. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mcp/__init__.py +0 -0
  1104. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mcp/client.py +0 -0
  1105. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mcp/loader.py +0 -0
  1106. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mcp/protocol.py +0 -0
  1107. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mcp/server.py +0 -0
  1108. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mcp/transport.py +0 -0
  1109. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mining/__init__.py +0 -0
  1110. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mining/_collector.py +0 -0
  1111. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mining/_constants.py +0 -0
  1112. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mining/_discovery.py +0 -0
  1113. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mining/_docker.py +0 -0
  1114. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mining/_install.py +0 -0
  1115. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mining/_metrics.py +0 -0
  1116. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mining/_miner_loop_main.py +0 -0
  1117. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mining/_models.py +0 -0
  1118. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mining/_mps_miner_loop_main.py +0 -0
  1119. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mining/_pearl_subprocess.py +0 -0
  1120. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mining/_stubs.py +0 -0
  1121. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mining/apple_mps_pearl.py +0 -0
  1122. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mining/cpu_pearl.py +0 -0
  1123. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mining/pools/__init__.py +0 -0
  1124. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/mining/vllm_pearl.py +0 -0
  1125. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/operators/__init__.py +0 -0
  1126. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/operators/data/knowledge_curator.toml +0 -0
  1127. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/operators/data/news_digest.toml +0 -0
  1128. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/operators/data/researcher.toml +0 -0
  1129. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/operators/data/system_monitor.toml +0 -0
  1130. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/operators/loader.py +0 -0
  1131. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/operators/manager.py +0 -0
  1132. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/operators/types.py +0 -0
  1133. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/prompt/__init__.py +0 -0
  1134. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/__init__.py +0 -0
  1135. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/composer.py +0 -0
  1136. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/coding_assistant.toml +0 -0
  1137. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/coding_benchmark.toml +0 -0
  1138. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/gaia_orchestrator.toml +0 -0
  1139. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/general_assistant.toml +0 -0
  1140. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/monitor_assistant.toml +0 -0
  1141. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/operators/correspondent.toml +0 -0
  1142. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/operators/correspondent_prompt.md +0 -0
  1143. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/operators/inbox_triage.toml +0 -0
  1144. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/operators/news_briefing.toml +0 -0
  1145. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/operators/openjarvis_twitter_bot.toml +0 -0
  1146. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/operators/openjarvis_twitter_bot_prompt.md +0 -0
  1147. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/operators/repo_watcher.toml +0 -0
  1148. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/operators/researcher.toml +0 -0
  1149. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/operators/researcher_prompt.md +0 -0
  1150. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/operators/sentinel.toml +0 -0
  1151. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/operators/sentinel_prompt.md +0 -0
  1152. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/operators/twitter_sentinel.toml +0 -0
  1153. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/research_assistant.toml +0 -0
  1154. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/swebench_openhands.toml +0 -0
  1155. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/data/terminalbench_react.toml +0 -0
  1156. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/recipes/loader.py +0 -0
  1157. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/sandbox/__init__.py +0 -0
  1158. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/sandbox/mount_security.py +0 -0
  1159. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/sandbox/runner.py +0 -0
  1160. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/sandbox/wasm_runner.py +0 -0
  1161. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/scheduler/__init__.py +0 -0
  1162. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/scheduler/scheduler.py +0 -0
  1163. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/scheduler/store.py +0 -0
  1164. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/scheduler/tools.py +0 -0
  1165. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/sdk.py +0 -0
  1166. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/security/__init__.py +0 -0
  1167. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/security/_stubs.py +0 -0
  1168. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/security/audit.py +0 -0
  1169. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/security/boundary.py +0 -0
  1170. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/security/capabilities.py +0 -0
  1171. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/security/credential_stripper.py +0 -0
  1172. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/security/file_policy.py +0 -0
  1173. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/security/file_utils.py +0 -0
  1174. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/security/guardrails.py +0 -0
  1175. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/security/injection_scanner.py +0 -0
  1176. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/security/rate_limiter.py +0 -0
  1177. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/security/scanner.py +0 -0
  1178. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/security/severity_policy.py +0 -0
  1179. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/security/signing.py +0 -0
  1180. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/security/ssrf.py +0 -0
  1181. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/security/subprocess_sandbox.py +0 -0
  1182. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/security/taint.py +0 -0
  1183. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/security/types.py +0 -0
  1184. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/__init__.py +0 -0
  1185. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/agent_manager_routes.py +0 -0
  1186. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/analytics_routes.py +0 -0
  1187. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/app.py +0 -0
  1188. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/approval_routes.py +0 -0
  1189. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/channel_bridge.py +0 -0
  1190. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/cloud_router.py +0 -0
  1191. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/comparison.py +0 -0
  1192. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/connectors_router.py +0 -0
  1193. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/cost_calculator.py +0 -0
  1194. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/dashboard.py +0 -0
  1195. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/digest_routes.py +0 -0
  1196. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/middleware.py +0 -0
  1197. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/models.py +0 -0
  1198. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/research_router.py +0 -0
  1199. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/routes.py +0 -0
  1200. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/savings.py +0 -0
  1201. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/session_store.py +0 -0
  1202. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/stream_bridge.py +0 -0
  1203. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/upload_router.py +0 -0
  1204. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/server/ws_bridge.py +0 -0
  1205. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/sessions/__init__.py +0 -0
  1206. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/sessions/compression.py +0 -0
  1207. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/sessions/session.py +0 -0
  1208. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/__init__.py +0 -0
  1209. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/backup-files.toml +0 -0
  1210. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/calendar-prep.toml +0 -0
  1211. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/code-lint.toml +0 -0
  1212. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/code-test-gen.toml +0 -0
  1213. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/compare-docs.toml +0 -0
  1214. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/daily-digest.toml +0 -0
  1215. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/data-analyze.toml +0 -0
  1216. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/dependency-audit.toml +0 -0
  1217. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/email-draft.toml +0 -0
  1218. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/file-deduplicator.toml +0 -0
  1219. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/file-organizer.toml +0 -0
  1220. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/knowledge-extract.toml +0 -0
  1221. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/meeting-notes.toml +0 -0
  1222. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/pdf-summarize.toml +0 -0
  1223. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/search-and-index.toml +0 -0
  1224. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/security-scan.toml +0 -0
  1225. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/todo-from-notes.toml +0 -0
  1226. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/topic-research.toml +0 -0
  1227. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/translate-doc.toml +0 -0
  1228. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/data/web-summarize.toml +0 -0
  1229. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/dependency.py +0 -0
  1230. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/executor.py +0 -0
  1231. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/importer.py +0 -0
  1232. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/index.py +0 -0
  1233. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/loader.py +0 -0
  1234. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/manager.py +0 -0
  1235. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/overlay.py +0 -0
  1236. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/parser.py +0 -0
  1237. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/security.py +0 -0
  1238. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/sources/__init__.py +0 -0
  1239. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/sources/base.py +0 -0
  1240. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/sources/github.py +0 -0
  1241. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/sources/hermes.py +0 -0
  1242. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/sources/openclaw.py +0 -0
  1243. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/tool_adapter.py +0 -0
  1244. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/tool_translator.py +0 -0
  1245. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/skills/types.py +0 -0
  1246. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/speech/__init__.py +0 -0
  1247. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/speech/_discovery.py +0 -0
  1248. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/speech/_stubs.py +0 -0
  1249. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/speech/cartesia_tts.py +0 -0
  1250. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/speech/deepgram.py +0 -0
  1251. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/speech/faster_whisper.py +0 -0
  1252. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/speech/kokoro_tts.py +0 -0
  1253. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/speech/openai_tts.py +0 -0
  1254. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/speech/openai_whisper.py +0 -0
  1255. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/speech/tts.py +0 -0
  1256. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/system/__init__.py +0 -0
  1257. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/system/_channel_kwargs.py +0 -0
  1258. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/system/builder.py +0 -0
  1259. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/system/bundles.py +0 -0
  1260. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/system/core.py +0 -0
  1261. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/system/orchestrator.py +0 -0
  1262. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/system/protocols.py +0 -0
  1263. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/__init__.py +0 -0
  1264. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/aggregator.py +0 -0
  1265. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/batch.py +0 -0
  1266. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/efficiency.py +0 -0
  1267. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/energy_amd.py +0 -0
  1268. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/energy_apple.py +0 -0
  1269. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/energy_monitor.py +0 -0
  1270. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/energy_nvidia.py +0 -0
  1271. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/energy_rapl.py +0 -0
  1272. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/flops.py +0 -0
  1273. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/gpu_monitor.py +0 -0
  1274. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/instrumented_engine.py +0 -0
  1275. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/itl.py +0 -0
  1276. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/phase_metrics.py +0 -0
  1277. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/session.py +0 -0
  1278. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/steady_state.py +0 -0
  1279. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/store.py +0 -0
  1280. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/vllm_metrics.py +0 -0
  1281. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/telemetry/wrapper.py +0 -0
  1282. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/templates/__init__.py +0 -0
  1283. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/templates/agent_templates.py +0 -0
  1284. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/templates/data/architect.toml +0 -0
  1285. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/templates/data/assistant.toml +0 -0
  1286. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/templates/data/code-reviewer.toml +0 -0
  1287. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/templates/data/data-analyst.toml +0 -0
  1288. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/templates/data/debugger.toml +0 -0
  1289. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/templates/data/deep-researcher.toml +0 -0
  1290. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/templates/data/fact-checker.toml +0 -0
  1291. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/templates/data/inbox-triager.toml +0 -0
  1292. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/templates/data/meeting-prep.toml +0 -0
  1293. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/templates/data/monitor.toml +0 -0
  1294. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/templates/data/note-taker.toml +0 -0
  1295. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/templates/data/security-auditor.toml +0 -0
  1296. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/templates/data/summarizer.toml +0 -0
  1297. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/templates/data/translator.toml +0 -0
  1298. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/templates/data/tutor.toml +0 -0
  1299. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/templates/data/writer.toml +0 -0
  1300. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/__init__.py +0 -0
  1301. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/_stubs.py +0 -0
  1302. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/agent_tools.py +0 -0
  1303. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/apply_patch.py +0 -0
  1304. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/approval_store.py +0 -0
  1305. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/audio_tool.py +0 -0
  1306. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/browser.py +0 -0
  1307. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/browser_axtree.py +0 -0
  1308. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/calculator.py +0 -0
  1309. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/channel_tools.py +0 -0
  1310. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/code_interpreter.py +0 -0
  1311. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/code_interpreter_docker.py +0 -0
  1312. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/db_query.py +0 -0
  1313. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/description_loader.py +0 -0
  1314. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/digest_collect.py +0 -0
  1315. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/docker_shell_exec.py +0 -0
  1316. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/file_read.py +0 -0
  1317. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/file_write.py +0 -0
  1318. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/git_tool.py +0 -0
  1319. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/image_tool.py +0 -0
  1320. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/knowledge_search.py +0 -0
  1321. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/knowledge_sql.py +0 -0
  1322. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/knowledge_tools.py +0 -0
  1323. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/llm_tool.py +0 -0
  1324. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/mcp_adapter.py +0 -0
  1325. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/memory_manage.py +0 -0
  1326. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/pdf_tool.py +0 -0
  1327. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/proactive_tools.py +0 -0
  1328. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/repl.py +0 -0
  1329. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/retrieval.py +0 -0
  1330. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/scan_chunks.py +0 -0
  1331. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/shell_exec.py +0 -0
  1332. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/skill_manage.py +0 -0
  1333. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/storage/__init__.py +0 -0
  1334. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/storage/_stubs.py +0 -0
  1335. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/storage/bm25.py +0 -0
  1336. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/storage/chunking.py +0 -0
  1337. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/storage/colbert_backend.py +0 -0
  1338. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/storage/context.py +0 -0
  1339. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/storage/dense.py +0 -0
  1340. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/storage/embeddings.py +0 -0
  1341. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/storage/faiss_backend.py +0 -0
  1342. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/storage/hybrid.py +0 -0
  1343. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/storage/ingest.py +0 -0
  1344. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/storage/knowledge_graph.py +0 -0
  1345. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/storage/sqlite.py +0 -0
  1346. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/storage_tools.py +0 -0
  1347. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/templates/__init__.py +0 -0
  1348. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/templates/builtin/base64_encode.toml +0 -0
  1349. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/templates/builtin/date_info.toml +0 -0
  1350. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/templates/builtin/hash_compute.toml +0 -0
  1351. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/templates/builtin/json_transform.toml +0 -0
  1352. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/templates/builtin/regex_extract.toml +0 -0
  1353. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/templates/builtin/text_length.toml +0 -0
  1354. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/templates/builtin/text_lower.toml +0 -0
  1355. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/templates/builtin/text_reverse.toml +0 -0
  1356. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/templates/builtin/text_upper.toml +0 -0
  1357. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/templates/builtin/unit_convert.toml +0 -0
  1358. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/templates/loader.py +0 -0
  1359. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/text_to_speech.py +0 -0
  1360. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/think.py +0 -0
  1361. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/user_profile_manage.py +0 -0
  1362. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/tools/web_search.py +0 -0
  1363. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/traces/__init__.py +0 -0
  1364. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/traces/analyzer.py +0 -0
  1365. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/traces/collector.py +0 -0
  1366. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/traces/store.py +0 -0
  1367. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/workflow/__init__.py +0 -0
  1368. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/workflow/builder.py +0 -0
  1369. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/workflow/engine.py +0 -0
  1370. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/workflow/graph.py +0 -0
  1371. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/workflow/loader.py +0 -0
  1372. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/src/openjarvis/workflow/types.py +0 -0
  1373. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/__init__.py +0 -0
  1374. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/a2a/test_a2a.py +0 -0
  1375. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/a2a/test_a2a_auth.py +0 -0
  1376. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/__init__.py +0 -0
  1377. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/conftest.py +0 -0
  1378. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/fake_engine.py +0 -0
  1379. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/scenario_harness.py +0 -0
  1380. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_agent_lifecycle_scenarios.py +0 -0
  1381. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_agent_routing_matrix.py +0 -0
  1382. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_base_agent.py +0 -0
  1383. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_budget.py +0 -0
  1384. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_channel_agent.py +0 -0
  1385. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_channel_agent_integration.py +0 -0
  1386. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_claude_code.py +0 -0
  1387. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_config_defaults.py +0 -0
  1388. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_continuation.py +0 -0
  1389. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_deep_research.py +0 -0
  1390. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_deep_research_integration.py +0 -0
  1391. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_deep_research_prompt.py +0 -0
  1392. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_digest_store.py +0 -0
  1393. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_errors.py +0 -0
  1394. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_executor.py +0 -0
  1395. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_executor_ephemeral.py +0 -0
  1396. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_executor_error_detail.py +0 -0
  1397. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_executor_tools.py +0 -0
  1398. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_fake_engine.py +0 -0
  1399. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_learning_integration.py +0 -0
  1400. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_loop_guard.py +0 -0
  1401. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_loop_guard_warn.py +0 -0
  1402. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_manager.py +0 -0
  1403. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_manager_recover.py +0 -0
  1404. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_monitor_operative.py +0 -0
  1405. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_morning_digest.py +0 -0
  1406. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_native_openhands.py +0 -0
  1407. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_native_react.py +0 -0
  1408. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_opencode_agent.py +0 -0
  1409. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_openhands.py +0 -0
  1410. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_orchestrator.py +0 -0
  1411. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_persona_persistent.py +0 -0
  1412. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_research_loop.py +0 -0
  1413. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_rlm.py +0 -0
  1414. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_rlm_repl.py +0 -0
  1415. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_scenario_harness_smoke.py +0 -0
  1416. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_scheduler.py +0 -0
  1417. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_simple.py +0 -0
  1418. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_stall.py +0 -0
  1419. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_suggest_action.py +0 -0
  1420. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_system_prompt_builder_integration.py +0 -0
  1421. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_template_prompts.py +0 -0
  1422. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/agents/test_trace_recording.py +0 -0
  1423. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/analytics/__init__.py +0 -0
  1424. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/analytics/test_redaction.py +0 -0
  1425. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/bench/__init__.py +0 -0
  1426. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/bench/test_bench_stats.py +0 -0
  1427. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/bench/test_energy.py +0 -0
  1428. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/bench/test_latency.py +0 -0
  1429. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/bench/test_stubs.py +0 -0
  1430. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/bench/test_throughput.py +0 -0
  1431. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/__init__.py +0 -0
  1432. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/channel_test_helpers.py +0 -0
  1433. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/conftest.py +0 -0
  1434. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_agent_channel_e2e.py +0 -0
  1435. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_bluebubbles.py +0 -0
  1436. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_channel_config.py +0 -0
  1437. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_channel_contract.py +0 -0
  1438. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_channel_registry.py +0 -0
  1439. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_channels_phase21.py +0 -0
  1440. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_config.py +0 -0
  1441. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_discord_channel.py +0 -0
  1442. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_email_channel.py +0 -0
  1443. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_feishu.py +0 -0
  1444. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_google_chat.py +0 -0
  1445. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_imessage_daemon.py +0 -0
  1446. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_irc_channel.py +0 -0
  1447. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_matrix_channel.py +0 -0
  1448. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_mattermost.py +0 -0
  1449. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_sendblue.py +0 -0
  1450. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_signal_channel.py +0 -0
  1451. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_slack.py +0 -0
  1452. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_slack_messaging.py +0 -0
  1453. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_stubs.py +0 -0
  1454. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_teams.py +0 -0
  1455. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_telegram.py +0 -0
  1456. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_tier1_gmail.py +0 -0
  1457. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_twilio_sms.py +0 -0
  1458. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_twitter_bot_e2e.py +0 -0
  1459. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_twitter_channel.py +0 -0
  1460. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_webchat.py +0 -0
  1461. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_webhook.py +0 -0
  1462. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_whatsapp.py +0 -0
  1463. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/channels/test_whatsapp_baileys.py +0 -0
  1464. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/__init__.py +0 -0
  1465. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_add_cmd.py +0 -0
  1466. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_agent_cmd.py +0 -0
  1467. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_ask_agent.py +0 -0
  1468. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_ask_context.py +0 -0
  1469. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_ask_e2e.py +0 -0
  1470. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_ask_router.py +0 -0
  1471. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_bench_cmd.py +0 -0
  1472. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_bench_skills_command.py +0 -0
  1473. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_channel_cmd.py +0 -0
  1474. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_chat_cmd.py +0 -0
  1475. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_cli.py +0 -0
  1476. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_config_cmd.py +0 -0
  1477. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_config_set.py +0 -0
  1478. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_connect.py +0 -0
  1479. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_daemon_cmd.py +0 -0
  1480. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_dashboard.py +0 -0
  1481. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_deep_research_setup.py +0 -0
  1482. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_digest_cmd.py +0 -0
  1483. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_doctor_cmd.py +0 -0
  1484. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_doctor_labels.py +0 -0
  1485. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_eval_cmd.py +0 -0
  1486. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_eval_cmd_external_flags.py +0 -0
  1487. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_hints.py +0 -0
  1488. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_init_guidance.py +0 -0
  1489. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_init_host.py +0 -0
  1490. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_install_detect.py +0 -0
  1491. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_log_config.py +0 -0
  1492. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_memory_cmd.py +0 -0
  1493. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_mine_cmd.py +0 -0
  1494. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_model_cmd.py +0 -0
  1495. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_model_pull.py +0 -0
  1496. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_optimize_skills_command.py +0 -0
  1497. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_pearl_cmd.py +0 -0
  1498. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_quickstart.py +0 -0
  1499. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_registry_cmd.py +0 -0
  1500. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_scan.py +0 -0
  1501. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_self_update.py +0 -0
  1502. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_serve_channel_wiring.py +0 -0
  1503. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_serve_model_resolution.py +0 -0
  1504. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_serve_single_build.py +0 -0
  1505. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_skill_cmd.py +0 -0
  1506. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_telemetry_cmd.py +0 -0
  1507. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_tool_cmd.py +0 -0
  1508. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_vault_cmd.py +0 -0
  1509. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_version_check.py +0 -0
  1510. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/cli/test_workflow_cmd.py +0 -0
  1511. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/conftest.py +0 -0
  1512. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/__init__.py +0 -0
  1513. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_apple_contacts.py +0 -0
  1514. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_apple_health.py +0 -0
  1515. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_apple_music.py +0 -0
  1516. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_apple_notes.py +0 -0
  1517. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_attachment_store.py +0 -0
  1518. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_chunker.py +0 -0
  1519. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_connector_health.py +0 -0
  1520. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_dropbox.py +0 -0
  1521. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_embedding_store.py +0 -0
  1522. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_gcalendar.py +0 -0
  1523. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_gcontacts.py +0 -0
  1524. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_gdrive.py +0 -0
  1525. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_github_notifications.py +0 -0
  1526. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_gmail.py +0 -0
  1527. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_google_tasks.py +0 -0
  1528. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_granola.py +0 -0
  1529. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_hackernews.py +0 -0
  1530. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_imessage.py +0 -0
  1531. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_incremental_sync.py +0 -0
  1532. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_integration.py +0 -0
  1533. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_live_smoke.py +0 -0
  1534. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_new_connectors_live.py +0 -0
  1535. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_news_rss.py +0 -0
  1536. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_notion.py +0 -0
  1537. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_oauth_flow.py +0 -0
  1538. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_obsidian.py +0 -0
  1539. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_oura.py +0 -0
  1540. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_outlook.py +0 -0
  1541. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_pipeline.py +0 -0
  1542. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_pipeline_attachments.py +0 -0
  1543. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_retriever.py +0 -0
  1544. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_scheduler.py +0 -0
  1545. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_slack_connector.py +0 -0
  1546. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_spotify.py +0 -0
  1547. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_store.py +0 -0
  1548. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_strava.py +0 -0
  1549. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_stubs.py +0 -0
  1550. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_sync_engine.py +0 -0
  1551. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_weather.py +0 -0
  1552. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/connectors/test_whatsapp.py +0 -0
  1553. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/core/__init__.py +0 -0
  1554. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/core/test_config.py +0 -0
  1555. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/core/test_config_key_validation.py +0 -0
  1556. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/core/test_config_phase3.py +0 -0
  1557. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/core/test_config_phase4.py +0 -0
  1558. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/core/test_config_phase5.py +0 -0
  1559. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/core/test_config_skills_sources.py +0 -0
  1560. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/core/test_credentials.py +0 -0
  1561. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/core/test_events.py +0 -0
  1562. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/core/test_intent_routing.py +0 -0
  1563. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/core/test_preset_configs.py +0 -0
  1564. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/core/test_recommend_model.py +0 -0
  1565. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/core/test_registry.py +0 -0
  1566. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/core/test_rust_bridge.py +0 -0
  1567. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/core/test_skills_learning_config.py +0 -0
  1568. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/core/test_types.py +0 -0
  1569. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/daemon/__init__.py +0 -0
  1570. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/daemon/test_gateway.py +0 -0
  1571. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/daemon/test_session_expiry.py +0 -0
  1572. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/deploy/__init__.py +0 -0
  1573. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/deploy/test_deploy_auth.py +0 -0
  1574. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/deployment/test_docker.py +0 -0
  1575. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/__init__.py +0 -0
  1576. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_apple_fm_shim.py +0 -0
  1577. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_cache_breakpoint.py +0 -0
  1578. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_cloud.py +0 -0
  1579. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_cloud_extended.py +0 -0
  1580. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_cloud_minimax.py +0 -0
  1581. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_cloud_stream_full.py +0 -0
  1582. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_discovery.py +0 -0
  1583. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_engine_model_matrix.py +0 -0
  1584. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_engine_wrappers.py +0 -0
  1585. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_gemma_cpp.py +0 -0
  1586. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_lemonade.py +0 -0
  1587. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_litellm.py +0 -0
  1588. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_llamacpp_models.py +0 -0
  1589. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_lmstudio.py +0 -0
  1590. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_mlx.py +0 -0
  1591. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_ollama.py +0 -0
  1592. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_ollama_models.py +0 -0
  1593. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_openai_compat.py +0 -0
  1594. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_openai_compat_tools.py +0 -0
  1595. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_stream_full.py +0 -0
  1596. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_structured_output.py +0 -0
  1597. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/engine/test_vllm_models.py +0 -0
  1598. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/__init__.py +0 -0
  1599. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/comparison/__init__.py +0 -0
  1600. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/comparison/test_cli_backend_dispatch.py +0 -0
  1601. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/comparison/test_export_to_table_gen_roundtrip.py +0 -0
  1602. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/comparison/test_hermes_backend.py +0 -0
  1603. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/comparison/test_live_external.py +0 -0
  1604. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/comparison/test_make_configs.py +0 -0
  1605. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/comparison/test_openclaw_backend.py +0 -0
  1606. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/comparison/test_openclaw_runner_contract.py +0 -0
  1607. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/comparison/test_runner_error_path_framework.py +0 -0
  1608. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/comparison/test_subprocess_runner.py +0 -0
  1609. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/comparison/test_table_gen.py +0 -0
  1610. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/comparison/test_third_party.py +0 -0
  1611. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/core/__init__.py +0 -0
  1612. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/core/test_config_split_parsing.py +0 -0
  1613. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/core/test_splits.py +0 -0
  1614. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/datasets/__init__.py +0 -0
  1615. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/datasets/test_browser_assistant.py +0 -0
  1616. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/datasets/test_coding_assistant.py +0 -0
  1617. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/datasets/test_daily_digest.py +0 -0
  1618. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/datasets/test_doc_qa.py +0 -0
  1619. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/datasets/test_external_agent_datasets.py +0 -0
  1620. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/datasets/test_security_scanner.py +0 -0
  1621. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/scorers/__init__.py +0 -0
  1622. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/scorers/test_browser_assistant.py +0 -0
  1623. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/scorers/test_checklist.py +0 -0
  1624. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/scorers/test_coding_assistant.py +0 -0
  1625. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/scorers/test_daily_digest.py +0 -0
  1626. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/scorers/test_doc_qa.py +0 -0
  1627. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/scorers/test_liveresearch_continuous.py +0 -0
  1628. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/scorers/test_security_scanner.py +0 -0
  1629. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_agentic_runner.py +0 -0
  1630. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_ama_bench.py +0 -0
  1631. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_benchmark_datasets.py +0 -0
  1632. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_dataset_splits_integration.py +0 -0
  1633. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_deepplanning.py +0 -0
  1634. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_display.py +0 -0
  1635. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_environment_provider.py +0 -0
  1636. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_episode_mode.py +0 -0
  1637. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_eval_telemetry_wiring.py +0 -0
  1638. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_eval_trace.py +0 -0
  1639. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_event_recorder.py +0 -0
  1640. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_export.py +0 -0
  1641. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_jarvis_agent_backend_fields.py +0 -0
  1642. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_jarvis_agent_backend_skills.py +0 -0
  1643. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_jarvis_direct_backend_fields.py +0 -0
  1644. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_lifelong_agent.py +0 -0
  1645. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_loghub.py +0 -0
  1646. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_paperarena.py +0 -0
  1647. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_pinchbench_dataset.py +0 -0
  1648. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_pinchbench_grading.py +0 -0
  1649. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_pinchbench_integration.py +0 -0
  1650. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_pinchbench_transcript.py +0 -0
  1651. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_pricing.py +0 -0
  1652. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_skill_benchmark.py +0 -0
  1653. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_terminalbench_env.py +0 -0
  1654. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_trackers.py +0 -0
  1655. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/evals/test_use_case_benchmarks.py +0 -0
  1656. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/fixtures/docs/channels.md +0 -0
  1657. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/fixtures/docs/engines.md +0 -0
  1658. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/fixtures/docs/hardware.md +0 -0
  1659. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/fixtures/docs/memory.md +0 -0
  1660. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/hardware/__init__.py +0 -0
  1661. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/hardware/test_amd.py +0 -0
  1662. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/hardware/test_apple.py +0 -0
  1663. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/hardware/test_hardware_profiles.py +0 -0
  1664. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/hardware/test_nvidia.py +0 -0
  1665. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/__init__.py +0 -0
  1666. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/bash/stubs/cargo +0 -0
  1667. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/bash/stubs/curl +0 -0
  1668. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/bash/stubs/git +0 -0
  1669. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/bash/stubs/ollama +0 -0
  1670. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/bash/stubs/ollama-mock +0 -0
  1671. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/bash/stubs/rustup +0 -0
  1672. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/bash/stubs/uv +0 -0
  1673. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/bash/test_bg_orchestrator.bats +0 -0
  1674. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/bash/test_build_extension.bats +0 -0
  1675. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/bash/test_install.bats +0 -0
  1676. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/bash/test_install_rust.bats +0 -0
  1677. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/bash/test_pull_model.bats +0 -0
  1678. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/cases/README.md +0 -0
  1679. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/cases/missing-git.md +0 -0
  1680. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/cases/run-as-root.md +0 -0
  1681. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/conftest.py +0 -0
  1682. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/test_bg_state.py +0 -0
  1683. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/test_bootstrap_cli.py +0 -0
  1684. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/test_bootstrap_config.py +0 -0
  1685. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/test_bootstrap_keys.py +0 -0
  1686. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/test_chat_banner.py +0 -0
  1687. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/test_chat_notifications.py +0 -0
  1688. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/test_doctor_bg.py +0 -0
  1689. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/test_first_run.py +0 -0
  1690. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/test_fixture_smoke.py +0 -0
  1691. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/install/test_init_cloud_detect.py +0 -0
  1692. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/integration/test_agent_manager_e2e.py +0 -0
  1693. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/integration/test_integration.py +0 -0
  1694. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/integration/test_integration_extended.py +0 -0
  1695. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/integration/test_minimax_cloud.py +0 -0
  1696. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/intelligence/__init__.py +0 -0
  1697. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/intelligence/test_model_catalog.py +0 -0
  1698. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/intelligence/test_model_catalog_extended.py +0 -0
  1699. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/intelligence/test_router.py +0 -0
  1700. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/intelligence/test_routing_models.py +0 -0
  1701. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/__init__.py +0 -0
  1702. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/agents/__init__.py +0 -0
  1703. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/agents/test_ace_optimizer.py +0 -0
  1704. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/agents/test_dspy_optimizer.py +0 -0
  1705. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/agents/test_gepa_optimizer.py +0 -0
  1706. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/intelligence/__init__.py +0 -0
  1707. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/intelligence/test_grpo_trainer.py +0 -0
  1708. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/intelligence/test_sft_trainer.py +0 -0
  1709. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/routing/__init__.py +0 -0
  1710. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/routing/test_complexity.py +0 -0
  1711. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/routing/test_learned_router.py +0 -0
  1712. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/routing/test_utils.py +0 -0
  1713. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/__init__.py +0 -0
  1714. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_applier_base.py +0 -0
  1715. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_applier_lora_stub.py +0 -0
  1716. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_appliers_agent.py +0 -0
  1717. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_appliers_intelligence.py +0 -0
  1718. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_appliers_tools.py +0 -0
  1719. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_benchmark_gate.py +0 -0
  1720. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_checkpoint_store.py +0 -0
  1721. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_cold_start.py +0 -0
  1722. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_composite_reward.py +0 -0
  1723. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_diagnose_tools.py +0 -0
  1724. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_diagnose_types.py +0 -0
  1725. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_diagnosis_runner.py +0 -0
  1726. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_execution_loop.py +0 -0
  1727. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_external_adapter.py +0 -0
  1728. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_live_integration.py +0 -0
  1729. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_models.py +0 -0
  1730. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_multi_session.py +0 -0
  1731. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_orchestrator.py +0 -0
  1732. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_paths.py +0 -0
  1733. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_pending_queue.py +0 -0
  1734. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_planner.py +0 -0
  1735. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_prompt_diff.py +0 -0
  1736. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_regression.py +0 -0
  1737. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_risk_tier.py +0 -0
  1738. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_rollback.py +0 -0
  1739. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_session_store.py +0 -0
  1740. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_teacher_agent.py +0 -0
  1741. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/spec_search/test_triggers.py +0 -0
  1742. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_agent_evolver.py +0 -0
  1743. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_device_selection.py +0 -0
  1744. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_feedback_collector.py +0 -0
  1745. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_heuristic_policy.py +0 -0
  1746. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_heuristic_reward.py +0 -0
  1747. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_learning_api.py +0 -0
  1748. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_learning_orchestrator.py +0 -0
  1749. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_learning_taxonomy.py +0 -0
  1750. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_llm_optimizer.py +0 -0
  1751. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_multi_bench_runner.py +0 -0
  1752. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_optimize_cmd.py +0 -0
  1753. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_optimize_store.py +0 -0
  1754. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_optimize_types.py +0 -0
  1755. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_optimizer_engine.py +0 -0
  1756. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_orchestrator_skill_optimization.py +0 -0
  1757. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_pareto.py +0 -0
  1758. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_personal_synthesizer.py +0 -0
  1759. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_router.py +0 -0
  1760. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_router_stubs.py +0 -0
  1761. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_routing_models.py +0 -0
  1762. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_search_space.py +0 -0
  1763. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_skill_discovery.py +0 -0
  1764. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_skill_optimizer.py +0 -0
  1765. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_stubs.py +0 -0
  1766. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_system_learning.py +0 -0
  1767. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_trace_judge.py +0 -0
  1768. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/test_trial_runner.py +0 -0
  1769. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/training/__init__.py +0 -0
  1770. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/training/test_data.py +0 -0
  1771. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/learning/training/test_lora.py +0 -0
  1772. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mcp/__init__.py +0 -0
  1773. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mcp/test_client.py +0 -0
  1774. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mcp/test_client_extended.py +0 -0
  1775. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mcp/test_discovery.py +0 -0
  1776. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mcp/test_loader.py +0 -0
  1777. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mcp/test_mcp_tools_matrix.py +0 -0
  1778. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mcp/test_protocol.py +0 -0
  1779. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mcp/test_server.py +0 -0
  1780. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mcp/test_server_upgrade.py +0 -0
  1781. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mcp/test_streamable_http_transport.py +0 -0
  1782. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mcp/test_transport.py +0 -0
  1783. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/memory/__init__.py +0 -0
  1784. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/memory/test_bm25.py +0 -0
  1785. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/memory/test_chunking.py +0 -0
  1786. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/memory/test_colbert.py +0 -0
  1787. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/memory/test_context.py +0 -0
  1788. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/memory/test_embeddings.py +0 -0
  1789. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/memory/test_faiss.py +0 -0
  1790. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/memory/test_hybrid.py +0 -0
  1791. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/memory/test_ingest.py +0 -0
  1792. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/memory/test_retrieval_quality.py +0 -0
  1793. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/memory/test_sqlite.py +0 -0
  1794. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/memory/test_storage_suite.py +0 -0
  1795. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mining/__init__.py +0 -0
  1796. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mining/conftest.py +0 -0
  1797. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mining/fixtures/README.md +0 -0
  1798. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mining/fixtures/config_minimal.toml +0 -0
  1799. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mining/fixtures/config_pool_v2.toml +0 -0
  1800. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mining/fixtures/gateway_metrics_sample.txt +0 -0
  1801. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mining/test_apple_mps_pearl.py +0 -0
  1802. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mining/test_cli.py +0 -0
  1803. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mining/test_collector.py +0 -0
  1804. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mining/test_cpu_pearl.py +0 -0
  1805. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mining/test_discovery.py +0 -0
  1806. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mining/test_docker.py +0 -0
  1807. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mining/test_install.py +0 -0
  1808. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mining/test_metrics.py +0 -0
  1809. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mining/test_miner_loop.py +0 -0
  1810. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mining/test_pearl_subprocess.py +0 -0
  1811. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mining/test_stubs.py +0 -0
  1812. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/mining/test_vllm_pearl.py +0 -0
  1813. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/operators/__init__.py +0 -0
  1814. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/operators/test_operator_recipes.py +0 -0
  1815. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/operators/test_operators.py +0 -0
  1816. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/pearl/test_model_converter.py +0 -0
  1817. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/prompt/__init__.py +0 -0
  1818. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/prompt/test_builder.py +0 -0
  1819. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/prompt/test_system_prompt_builder_few_shot.py +0 -0
  1820. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/recipes/__init__.py +0 -0
  1821. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/recipes/test_compose.py +0 -0
  1822. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/recipes/test_loader.py +0 -0
  1823. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/sandbox/__init__.py +0 -0
  1824. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/sandbox/test_mount_security.py +0 -0
  1825. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/sandbox/test_runner.py +0 -0
  1826. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/sandbox/test_wasm_runner.py +0 -0
  1827. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/scheduler/__init__.py +0 -0
  1828. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/scheduler/test_digest_schedule.py +0 -0
  1829. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/scheduler/test_scheduler.py +0 -0
  1830. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/scheduler/test_store.py +0 -0
  1831. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/scheduler/test_tools.py +0 -0
  1832. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/sdk/__init__.py +0 -0
  1833. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/sdk/test_sdk.py +0 -0
  1834. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/sdk/test_system.py +0 -0
  1835. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/__init__.py +0 -0
  1836. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_audit.py +0 -0
  1837. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_boundary_guard.py +0 -0
  1838. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_capabilities.py +0 -0
  1839. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_credential_stripper.py +0 -0
  1840. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_file_permissions.py +0 -0
  1841. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_file_policy.py +0 -0
  1842. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_guardrails.py +0 -0
  1843. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_injection_scanner.py +0 -0
  1844. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_log_sanitization.py +0 -0
  1845. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_merkle_audit.py +0 -0
  1846. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_network_defaults.py +0 -0
  1847. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_rate_limiter.py +0 -0
  1848. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_scanner.py +0 -0
  1849. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_security_profiles.py +0 -0
  1850. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_security_wiring.py +0 -0
  1851. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_setup_security.py +0 -0
  1852. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_severity_policy.py +0 -0
  1853. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_signing.py +0 -0
  1854. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_ssrf.py +0 -0
  1855. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_subprocess_sandbox.py +0 -0
  1856. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_taint.py +0 -0
  1857. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_tool_confirmation.py +0 -0
  1858. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/security/test_webhook_validation.py +0 -0
  1859. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/__init__.py +0 -0
  1860. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/conftest.py +0 -0
  1861. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_agent_manager_routes.py +0 -0
  1862. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_api_routes.py +0 -0
  1863. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_approval_routes.py +0 -0
  1864. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_channel_bridge.py +0 -0
  1865. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_channel_bridge_deep_research.py +0 -0
  1866. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_channel_routes.py +0 -0
  1867. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_connectors_router.py +0 -0
  1868. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_deep_research_tools_wiring.py +0 -0
  1869. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_digest_routes.py +0 -0
  1870. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_managed_agent_streaming.py +0 -0
  1871. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_mcp_tools_cache.py +0 -0
  1872. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_middleware.py +0 -0
  1873. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_model_management.py +0 -0
  1874. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_models_pydantic.py +0 -0
  1875. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_pwa_serving.py +0 -0
  1876. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_recommended_model.py +0 -0
  1877. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_routes.py +0 -0
  1878. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_savings.py +0 -0
  1879. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_session_store.py +0 -0
  1880. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_speech_routes.py +0 -0
  1881. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_tools_endpoint.py +0 -0
  1882. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_websocket.py +0 -0
  1883. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_websocket_auth.py +0 -0
  1884. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/server/test_ws_bridge.py +0 -0
  1885. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/sessions/test_compression.py +0 -0
  1886. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/sessions/test_session.py +0 -0
  1887. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/sessions/test_wire_channel_history.py +0 -0
  1888. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/__init__.py +0 -0
  1889. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_bundled_skills.py +0 -0
  1890. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_cli_install.py +0 -0
  1891. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_dependency.py +0 -0
  1892. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_importer.py +0 -0
  1893. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_index.py +0 -0
  1894. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_integration_live.py +0 -0
  1895. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_loader_markdown.py +0 -0
  1896. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_manager.py +0 -0
  1897. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_manager_discover_from_traces.py +0 -0
  1898. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_native_react_few_shot.py +0 -0
  1899. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_overlay.py +0 -0
  1900. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_parser.py +0 -0
  1901. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_security.py +0 -0
  1902. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_skill_tool_metadata_tagging.py +0 -0
  1903. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_skill_trace_tagging_integration.py +0 -0
  1904. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_skills.py +0 -0
  1905. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_sources.py +0 -0
  1906. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_tool_adapter_v2.py +0 -0
  1907. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/skills/test_tool_translator.py +0 -0
  1908. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/speech/__init__.py +0 -0
  1909. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/speech/test_config.py +0 -0
  1910. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/speech/test_deepgram.py +0 -0
  1911. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/speech/test_discovery.py +0 -0
  1912. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/speech/test_faster_whisper.py +0 -0
  1913. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/speech/test_openai_whisper.py +0 -0
  1914. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/speech/test_stubs.py +0 -0
  1915. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/speech/test_tts_backends.py +0 -0
  1916. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/__init__.py +0 -0
  1917. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/energy_test_helpers.py +0 -0
  1918. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_aggregator.py +0 -0
  1919. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_batch.py +0 -0
  1920. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_derived_metrics.py +0 -0
  1921. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_efficiency.py +0 -0
  1922. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_energy_amd.py +0 -0
  1923. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_energy_apple.py +0 -0
  1924. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_energy_monitor.py +0 -0
  1925. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_energy_nvidia.py +0 -0
  1926. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_energy_rapl.py +0 -0
  1927. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_energy_wiring.py +0 -0
  1928. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_flops_new.py +0 -0
  1929. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_gpu_monitor.py +0 -0
  1930. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_instrumented_engine.py +0 -0
  1931. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_itl_metrics.py +0 -0
  1932. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_itl_new.py +0 -0
  1933. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_phase_energy.py +0 -0
  1934. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_phase_metrics_new.py +0 -0
  1935. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_session.py +0 -0
  1936. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_steady_state.py +0 -0
  1937. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_store.py +0 -0
  1938. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_store_tokens_per_joule.py +0 -0
  1939. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_vllm_metrics.py +0 -0
  1940. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/telemetry/test_wrapper.py +0 -0
  1941. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/templates/__init__.py +0 -0
  1942. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/templates/test_agent_templates.py +0 -0
  1943. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/test_digest_integration.py +0 -0
  1944. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/test_orchestrator_learning/__init__.py +0 -0
  1945. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/test_orchestrator_learning/test_environment.py +0 -0
  1946. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/test_orchestrator_learning/test_grpo_trainer.py +0 -0
  1947. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/test_orchestrator_learning/test_orchestrator_structured.py +0 -0
  1948. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/test_orchestrator_learning/test_policy_model.py +0 -0
  1949. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/test_orchestrator_learning/test_prompt_registry.py +0 -0
  1950. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/test_orchestrator_learning/test_reward.py +0 -0
  1951. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/test_orchestrator_learning/test_sft_trainer.py +0 -0
  1952. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/test_orchestrator_learning/test_types.py +0 -0
  1953. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/test_query_orchestrator.py +0 -0
  1954. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/__init__.py +0 -0
  1955. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/storage/__init__.py +0 -0
  1956. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/storage/test_dense.py +0 -0
  1957. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_agent_tools.py +0 -0
  1958. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_apply_patch.py +0 -0
  1959. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_audio_tool.py +0 -0
  1960. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_browser.py +0 -0
  1961. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_browser_axtree.py +0 -0
  1962. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_calculator.py +0 -0
  1963. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_channel_tools.py +0 -0
  1964. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_code_interpreter.py +0 -0
  1965. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_code_interpreter_docker.py +0 -0
  1966. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_db_query.py +0 -0
  1967. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_digest_collect.py +0 -0
  1968. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_file_read.py +0 -0
  1969. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_file_write.py +0 -0
  1970. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_git_tool.py +0 -0
  1971. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_image_tool.py +0 -0
  1972. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_knowledge_graph.py +0 -0
  1973. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_knowledge_search.py +0 -0
  1974. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_knowledge_sql.py +0 -0
  1975. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_llm_tool.py +0 -0
  1976. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_mcp_adapter.py +0 -0
  1977. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_memory_manage.py +0 -0
  1978. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_pdf_tool.py +0 -0
  1979. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_repl.py +0 -0
  1980. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_retrieval.py +0 -0
  1981. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_scan_chunks.py +0 -0
  1982. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_shell_exec.py +0 -0
  1983. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_skill_manage.py +0 -0
  1984. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_storage_stubs.py +0 -0
  1985. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_storage_tools.py +0 -0
  1986. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_stubs.py +0 -0
  1987. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_template_loader_security.py +0 -0
  1988. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_templates.py +0 -0
  1989. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_text_to_speech.py +0 -0
  1990. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_think.py +0 -0
  1991. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_tool_descriptions.py +0 -0
  1992. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_tool_registration.py +0 -0
  1993. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_tool_timeout.py +0 -0
  1994. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_user_profile_manage.py +0 -0
  1995. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/tools/test_web_search.py +0 -0
  1996. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/traces/__init__.py +0 -0
  1997. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/traces/test_analyzer.py +0 -0
  1998. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/traces/test_analyzer_energy.py +0 -0
  1999. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/traces/test_collector.py +0 -0
  2000. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/traces/test_store.py +0 -0
  2001. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/traces/test_store_fts.py +0 -0
  2002. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/traces/test_types.py +0 -0
  2003. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tests/workflow/test_workflow.py +0 -0
  2004. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tools/pearl-reference-oracle/README.md +0 -0
  2005. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/tools/pearl-reference-oracle/smoke_test.py +0 -0
  2006. {openjarvis-1.0.3.dev817 → openjarvis-1.0.3.dev819}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: OpenJarvis
3
- Version: 1.0.3.dev817
3
+ Version: 1.0.3.dev819
4
4
  Summary: OpenJarvis — modular AI assistant backend with composable intelligence primitives
5
5
  Project-URL: Homepage, https://github.com/open-jarvis/OpenJarvis
6
6
  Project-URL: Documentation, https://open-jarvis.github.io/OpenJarvis/
@@ -106,6 +106,11 @@ enabled = true # Record traces for analysis
106
106
  db_path = "~/.openjarvis/traces.db"
107
107
 
108
108
  [server]
109
- host = "0.0.0.0"
109
+ # Bind to loopback by default so the API is not exposed to the local network.
110
+ # To serve other devices on your LAN, set host = "0.0.0.0" AND set an API key
111
+ # (OPENJARVIS_API_KEY / `jarvis auth generate-key`) — startup refuses a
112
+ # non-loopback bind without a key. The "server" security profile also flips
113
+ # this to 0.0.0.0 intentionally.
114
+ host = "127.0.0.1"
110
115
  port = 8000
111
116
  agent = "native_openhands"
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "OpenJarvis"
7
- version = "1.0.3.dev817"
7
+ version = "1.0.3.dev819"
8
8
  description = "OpenJarvis — modular AI assistant backend with composable intelligence primitives"
9
9
  readme = "README.md"
10
10
  # Upper bound: numpy 2.2.x (pinned transitively via datasets/pandas) ships no
@@ -28,12 +28,22 @@ def _read_input(prompt: str = "You> ") -> Optional[str]:
28
28
  @click.option("-a", "--agent", "agent_name", default=None, help="Agent type.")
29
29
  @click.option("--tools", default=None, help="Comma-separated tool names.")
30
30
  @click.option("--system", "system_prompt", default=None, help="Custom system prompt.")
31
+ @click.option(
32
+ "--persona",
33
+ "persona_name",
34
+ default=None,
35
+ help=(
36
+ "Named persona dir under ~/.openjarvis/personas/<name>/ "
37
+ "(overrides config). Pass 'none' to disable all persona files."
38
+ ),
39
+ )
31
40
  def chat(
32
41
  engine_key: str | None,
33
42
  model_name: str | None,
34
43
  agent_name: str | None,
35
44
  tools: str | None,
36
45
  system_prompt: str | None,
46
+ persona_name: str | None,
37
47
  ) -> None:
38
48
  """Start an interactive multi-turn chat session.
39
49
 
@@ -48,6 +58,14 @@ def chat(
48
58
 
49
59
  config = load_config()
50
60
 
61
+ import dataclasses as _dc
62
+
63
+ effective_mf = (
64
+ _dc.replace(config.memory_files, persona_name=persona_name)
65
+ if persona_name is not None
66
+ else config.memory_files
67
+ )
68
+
51
69
  # Resolve engine
52
70
  from openjarvis.engine import get_engine
53
71
  from openjarvis.intelligence import register_builtin_models
@@ -121,6 +139,21 @@ def chat(
121
139
 
122
140
  kwargs["interactive"] = True
123
141
  kwargs["confirm_callback"] = _confirm
142
+
143
+ import inspect as _inspect
144
+
145
+ if (
146
+ "prompt_builder"
147
+ in _inspect.signature(agent_cls.__init__).parameters
148
+ ):
149
+ from openjarvis.prompt.builder import SystemPromptBuilder
150
+
151
+ kwargs["prompt_builder"] = SystemPromptBuilder(
152
+ agent_template=config.agent.default_system_prompt or "",
153
+ memory_files_config=effective_mf,
154
+ system_prompt_config=config.system_prompt,
155
+ )
156
+
124
157
  agent = agent_cls(engine, model, **kwargs)
125
158
  except Exception as exc:
126
159
  console.print(f"[yellow]Agent '{agent_key}' failed: {exc}[/yellow]")
@@ -147,6 +180,16 @@ def chat(
147
180
  _notifications = NotificationDispatcher(get_status())
148
181
 
149
182
  # Conversation state
183
+ if not system_prompt:
184
+ from openjarvis.prompt.builder import SystemPromptBuilder
185
+
186
+ builder = SystemPromptBuilder(
187
+ agent_template=config.agent.default_system_prompt or "",
188
+ memory_files_config=effective_mf,
189
+ system_prompt_config=config.system_prompt,
190
+ )
191
+ system_prompt = builder.build()
192
+
150
193
  history: List[Message] = []
151
194
  if system_prompt:
152
195
  history.append(Message(role=Role.SYSTEM, content=system_prompt))
@@ -229,6 +229,11 @@ class SystemPromptBuilder:
229
229
  )
230
230
 
231
231
  def _load_file(self, path_str: str, max_chars: int) -> str:
232
+ # An empty path means "no file" (e.g. the persona "none" opt-out, which
233
+ # resolves to empty paths). Guard before Path("") — which becomes "." —
234
+ # so reading it does not raise IsADirectoryError.
235
+ if not path_str:
236
+ return ""
232
237
  path = Path(path_str).expanduser()
233
238
  if not path.exists():
234
239
  return ""
@@ -285,14 +285,39 @@ async def memory_config(request: Request):
285
285
  async def memory_index(req: MemoryIndexRequest, request: Request):
286
286
  """Index files from a path into memory."""
287
287
  try:
288
+ import os
288
289
  from pathlib import Path
289
290
 
291
+ from openjarvis.security.file_policy import is_sensitive_file
290
292
  from openjarvis.tools.storage.ingest import ingest_path
291
293
 
292
294
  target = Path(req.path).expanduser().resolve()
293
295
  if not target.exists():
294
296
  raise HTTPException(status_code=404, detail=f"Path not found: {req.path}")
295
297
 
298
+ # Sandbox: when workspace roots are configured via OPENJARVIS_WORKSPACE
299
+ # (os.pathsep-separated), only allow indexing inside them. This endpoint
300
+ # must not become an arbitrary-filesystem read primitive over the API.
301
+ workspace = os.environ.get("OPENJARVIS_WORKSPACE", "").strip()
302
+ if workspace:
303
+ roots = [
304
+ Path(d).expanduser().resolve()
305
+ for d in workspace.split(os.pathsep)
306
+ if d.strip()
307
+ ]
308
+ if not any(
309
+ target == root or root in target.parents for root in roots
310
+ ):
311
+ raise HTTPException(
312
+ status_code=403,
313
+ detail="Path is outside the allowed workspace directories.",
314
+ )
315
+ # Never ingest sensitive files (.env, private keys, credentials, ...).
316
+ if target.is_file() and is_sensitive_file(target):
317
+ raise HTTPException(
318
+ status_code=403, detail="Refusing to index a sensitive file."
319
+ )
320
+
296
321
  backend = _get_memory_backend(request)
297
322
  if backend is None:
298
323
  raise HTTPException(status_code=503, detail="Memory is not configured")
@@ -33,7 +33,10 @@ class AuthMiddleware(BaseHTTPMiddleware):
33
33
  status_code=401,
34
34
  )
35
35
  scheme, _, token = auth.partition(" ")
36
- if scheme.lower() != "bearer" or token != self._api_key:
36
+ # Constant-time comparison to avoid leaking the key via timing.
37
+ if scheme.lower() != "bearer" or not secrets.compare_digest(
38
+ token, self._api_key
39
+ ):
37
40
  return JSONResponse(
38
41
  {"detail": "Invalid API key"},
39
42
  status_code=401,
@@ -42,8 +45,18 @@ class AuthMiddleware(BaseHTTPMiddleware):
42
45
 
43
46
  @staticmethod
44
47
  def _requires_auth(path: str) -> bool:
45
- """Only protect API routes, not the frontend UI or static assets."""
46
- return path.startswith("/v1/") or path.startswith("/api/")
48
+ """Protect API routes and operational metrics; leave the UI/health open.
49
+
50
+ ``/metrics`` exposes request/token counters that should not be readable
51
+ by unauthenticated clients, so it is gated alongside ``/v1`` and
52
+ ``/api``. ``/health`` stays open for liveness probes.
53
+ """
54
+ return (
55
+ path.startswith("/v1/")
56
+ or path.startswith("/api/")
57
+ or path == "/metrics"
58
+ or path.startswith("/metrics/")
59
+ )
47
60
 
48
61
 
49
62
 
@@ -113,7 +113,14 @@ def create_webhook_router(
113
113
  signature = request.headers.get("X-Twilio-Signature", "")
114
114
  url = str(request.url)
115
115
 
116
- if twilio_auth_token and not _validate_twilio_signature(
116
+ # Fail closed: an unconfigured token means we cannot verify the sender,
117
+ # so reject rather than trust unsigned input.
118
+ if not twilio_auth_token:
119
+ logger.error(
120
+ "Twilio webhook rejected: TWILIO_AUTH_TOKEN not configured."
121
+ )
122
+ return Response("Webhook signature verification not configured", 403)
123
+ if not _validate_twilio_signature(
117
124
  twilio_auth_token, url, params, signature
118
125
  ):
119
126
  return Response("Invalid signature", status_code=403)
@@ -257,7 +264,13 @@ def create_webhook_router(
257
264
  request: Request,
258
265
  ) -> Response:
259
266
  auth = request.headers.get("Authorization", "")
260
- if bluebubbles_password and auth != bluebubbles_password:
267
+ # Fail closed when no password is configured.
268
+ if not bluebubbles_password:
269
+ logger.error(
270
+ "BlueBubbles webhook rejected: password not configured."
271
+ )
272
+ return Response("Webhook authentication not configured", 403)
273
+ if not hmac.compare_digest(auth, bluebubbles_password):
261
274
  return Response("Invalid password", status_code=403)
262
275
 
263
276
  payload = await request.json()
@@ -292,7 +305,11 @@ def create_webhook_router(
292
305
  token = request.query_params.get("hub.verify_token", "")
293
306
  challenge = request.query_params.get("hub.challenge", "")
294
307
 
295
- if mode == "subscribe" and token == whatsapp_verify_token:
308
+ # Fail closed: never echo the challenge if no verify token is set,
309
+ # otherwise an empty token would match an empty query value.
310
+ if not whatsapp_verify_token:
311
+ return Response("Forbidden", status_code=403)
312
+ if mode == "subscribe" and hmac.compare_digest(token, whatsapp_verify_token):
296
313
  return PlainTextResponse(challenge)
297
314
  return Response("Forbidden", status_code=403)
298
315
 
@@ -302,19 +319,23 @@ def create_webhook_router(
302
319
  ) -> Response:
303
320
  body_bytes = await request.body()
304
321
 
305
- # Verify signature
306
- if whatsapp_app_secret:
307
- signature = request.headers.get("X-Hub-Signature-256", "")
308
- expected = (
309
- "sha256="
310
- + hmac.new(
311
- whatsapp_app_secret.encode(),
312
- body_bytes,
313
- hashlib.sha256,
314
- ).hexdigest()
322
+ # Fail closed: reject when no app secret is configured to verify HMAC.
323
+ if not whatsapp_app_secret:
324
+ logger.error(
325
+ "WhatsApp webhook rejected: app secret not configured."
315
326
  )
316
- if not hmac.compare_digest(signature, expected):
317
- return Response("Invalid signature", status_code=403)
327
+ return Response("Webhook signature verification not configured", 403)
328
+ signature = request.headers.get("X-Hub-Signature-256", "")
329
+ expected = (
330
+ "sha256="
331
+ + hmac.new(
332
+ whatsapp_app_secret.encode(),
333
+ body_bytes,
334
+ hashlib.sha256,
335
+ ).hexdigest()
336
+ )
337
+ if not hmac.compare_digest(signature, expected):
338
+ return Response("Invalid signature", status_code=403)
318
339
 
319
340
  payload = json.loads(body_bytes)
320
341
  for entry in payload.get("entry", []):
@@ -349,16 +370,16 @@ def create_webhook_router(
349
370
  # Get the SendBlue channel — may be passed at init or set later
350
371
  sb = sendblue_channel or getattr(request.app.state, "sendblue_channel", None)
351
372
 
352
- # Verify webhook secret if configured
353
- if sb and sb.webhook_secret:
354
- header_secret = request.headers.get("x-sendblue-secret", "")
355
- if header_secret != sb.webhook_secret:
356
- return Response("Invalid secret", status_code=403)
357
- elif sb:
358
- logger.warning(
359
- "SendBlue webhook received without secret verification. "
360
- "Set webhook_secret for HMAC validation."
373
+ # Fail closed: require a configured channel + webhook secret to verify
374
+ # the sender before processing any inbound message.
375
+ if sb is None or not getattr(sb, "webhook_secret", ""):
376
+ logger.error(
377
+ "SendBlue webhook rejected: webhook_secret not configured."
361
378
  )
379
+ return Response("Webhook secret not configured", status_code=403)
380
+ header_secret = request.headers.get("x-sendblue-secret", "")
381
+ if not hmac.compare_digest(header_secret, sb.webhook_secret):
382
+ return Response("Invalid secret", status_code=403)
362
383
 
363
384
  # Ignore outbound status callbacks
364
385
  if payload.get("is_outbound", False):
@@ -5,6 +5,7 @@ from __future__ import annotations
5
5
  import logging
6
6
  import os
7
7
  import time
8
+ import urllib.parse
8
9
  from typing import Any
9
10
 
10
11
  import httpx
@@ -21,6 +22,13 @@ _MAX_RESPONSE_BYTES = 1_048_576
21
22
 
22
23
  _ALLOWED_METHODS = frozenset({"GET", "POST", "PUT", "DELETE", "PATCH", "HEAD"})
23
24
 
25
+ # Cap redirect chains so a malicious server cannot loop us indefinitely.
26
+ _MAX_REDIRECTS = 5
27
+
28
+
29
+ class _SSRFRedirectError(Exception):
30
+ """Raised when a redirect target fails the SSRF check."""
31
+
24
32
 
25
33
  @ToolRegistry.register("http_request")
26
34
  class HttpRequestTool(BaseTool):
@@ -136,13 +144,11 @@ class HttpRequestTool(BaseTool):
136
144
 
137
145
  try:
138
146
  t0 = time.time()
139
- response = httpx.request(
140
- method,
141
- url,
142
- headers=headers,
143
- content=body,
144
- timeout=float(timeout),
145
- follow_redirects=True,
147
+ # Follow redirects manually so each hop is re-checked for SSRF — an
148
+ # allowed public URL must not be able to 30x-redirect us to an
149
+ # internal/metadata address.
150
+ response = self._request_following_redirects(
151
+ method, url, headers=headers, content=body, timeout=float(timeout)
146
152
  )
147
153
  elapsed_ms = (time.time() - t0) * 1000
148
154
 
@@ -178,6 +184,12 @@ class HttpRequestTool(BaseTool):
178
184
  content=f"Request timed out after {timeout}s: {exc}",
179
185
  success=False,
180
186
  )
187
+ except _SSRFRedirectError as exc:
188
+ return ToolResult(
189
+ tool_name="http_request",
190
+ content=f"SSRF protection blocked redirect: {exc}",
191
+ success=False,
192
+ )
181
193
  except httpx.RequestError as exc:
182
194
  return ToolResult(
183
195
  tool_name="http_request",
@@ -191,5 +203,52 @@ class HttpRequestTool(BaseTool):
191
203
  success=False,
192
204
  )
193
205
 
206
+ @staticmethod
207
+ def _request_following_redirects(
208
+ method: str,
209
+ url: str,
210
+ *,
211
+ headers: dict,
212
+ content: Any,
213
+ timeout: float,
214
+ ) -> httpx.Response:
215
+ """Issue the request, re-checking SSRF on every redirect hop.
216
+
217
+ httpx's built-in ``follow_redirects`` would chase a 30x ``Location``
218
+ without re-validating it, letting a public URL bounce us to an internal
219
+ host. We follow manually and run :func:`check_ssrf` on each target.
220
+ """
221
+ current_url = url
222
+ current_method = method
223
+ body = content
224
+ # Use module-level ``httpx.request`` (not a private Client) so the SSRF
225
+ # re-check seam stays patchable by callers' tests, with redirects
226
+ # disabled so we control every hop ourselves.
227
+ for _ in range(_MAX_REDIRECTS + 1):
228
+ response = httpx.request(
229
+ current_method,
230
+ current_url,
231
+ headers=headers,
232
+ content=body,
233
+ timeout=timeout,
234
+ follow_redirects=False,
235
+ )
236
+ if response.status_code not in (301, 302, 303, 307, 308):
237
+ return response
238
+ location = response.headers.get("location", "")
239
+ if not location:
240
+ return response
241
+ # Resolve relative redirects against the URL we just fetched.
242
+ current_url = urllib.parse.urljoin(str(response.url), location)
243
+ ssrf_error = check_ssrf(current_url)
244
+ if ssrf_error:
245
+ raise _SSRFRedirectError(ssrf_error)
246
+ # Per RFC 7231, 301/302/303 turn the method into GET and drop
247
+ # the body (except for HEAD).
248
+ if response.status_code in (301, 302, 303) and current_method != "HEAD":
249
+ current_method = "GET"
250
+ body = None
251
+ raise _SSRFRedirectError(f"Exceeded maximum of {_MAX_REDIRECTS} redirects.")
252
+
194
253
 
195
254
  __all__ = ["HttpRequestTool"]
@@ -31,3 +31,23 @@ def test_named_persona_resolves_to_personas_dir():
31
31
  def test_path_traversal_rejected(bad):
32
32
  with pytest.raises(ValueError):
33
33
  SystemPromptBuilder._resolve_persona(MemoryFilesConfig(persona_name=bad))
34
+
35
+
36
+ def test_none_persona_build_does_not_raise():
37
+ """Regression (#497): `--persona none` resolves to empty file paths; building
38
+ the prompt must not raise IsADirectoryError when those empty paths are read
39
+ (Path("") is "." — reading a directory raised before the empty-path guard).
40
+ """
41
+ import dataclasses
42
+
43
+ from openjarvis.core.config import load_config
44
+
45
+ cfg = load_config()
46
+ mf = dataclasses.replace(cfg.memory_files, persona_name="none")
47
+ builder = SystemPromptBuilder(
48
+ agent_template=cfg.agent.default_system_prompt or "",
49
+ memory_files_config=mf,
50
+ system_prompt_config=cfg.system_prompt,
51
+ )
52
+ out = builder.build()
53
+ assert isinstance(out, str)
@@ -28,6 +28,10 @@ def _make_app(api_key: str) -> FastAPI:
28
28
  async def twilio_webhook():
29
29
  return {"status": "received"}
30
30
 
31
+ @app.get("/metrics")
32
+ async def metrics():
33
+ return {"requests": 0}
34
+
31
35
  return app
32
36
 
33
37
 
@@ -65,7 +69,18 @@ class TestAuthMiddleware:
65
69
  resp = client.post("/webhooks/twilio")
66
70
  assert resp.status_code == 200
67
71
 
72
+ def test_metrics_requires_auth(self, client):
73
+ resp = client.get("/metrics")
74
+ assert resp.status_code == 401
75
+
76
+ def test_metrics_accepts_valid_key(self, client):
77
+ resp = client.get(
78
+ "/metrics", headers={"Authorization": "Bearer oj_sk_test123"}
79
+ )
80
+ assert resp.status_code == 200
81
+
68
82
  def test_no_key_configured_allows_all(self):
69
83
  client = TestClient(_make_app(""))
70
84
  resp = client.get("/v1/models")
71
85
  assert resp.status_code == 200
86
+ assert client.get("/metrics").status_code == 200
@@ -41,6 +41,9 @@ def sendblue_channel():
41
41
  api_key_id="test_key",
42
42
  api_secret_key="test_secret",
43
43
  from_number="+15551234567",
44
+ # Webhooks now fail closed without a secret, so configure one and have
45
+ # the test client send the matching header by default.
46
+ webhook_secret="testsecret",
44
47
  )
45
48
  ch.connect()
46
49
  return ch
@@ -61,7 +64,9 @@ def webhook_app(mock_bridge, sendblue_channel):
61
64
 
62
65
  @pytest.fixture
63
66
  def client(webhook_app):
64
- return TestClient(webhook_app)
67
+ # Send the webhook secret by default so message-handling tests reach the
68
+ # bridge; fail-closed behavior is covered separately below.
69
+ return TestClient(webhook_app, headers={"x-sendblue-secret": "testsecret"})
65
70
 
66
71
 
67
72
  # ---------------------------------------------------------------------------
@@ -169,7 +174,7 @@ class TestSendBlueWebhook:
169
174
  app = FastAPI()
170
175
  router = create_webhook_router(bridge=None, sendblue_channel=sendblue_channel)
171
176
  app.include_router(router)
172
- c = TestClient(app)
177
+ c = TestClient(app, headers={"x-sendblue-secret": "testsecret"})
173
178
 
174
179
  resp = c.post(
175
180
  "/webhooks/sendblue",
@@ -181,6 +186,27 @@ class TestSendBlueWebhook:
181
186
  )
182
187
  assert resp.status_code == 200
183
188
 
189
+ def test_no_secret_configured_is_rejected(self, mock_bridge):
190
+ """Fail closed: a channel without a webhook_secret rejects all posts."""
191
+ from openjarvis.channels.sendblue import SendBlueChannel
192
+ from openjarvis.server.webhook_routes import create_webhook_router
193
+
194
+ ch = SendBlueChannel(
195
+ api_key_id="k", api_secret_key="s", from_number="+1555"
196
+ )
197
+ ch.connect()
198
+ app = FastAPI()
199
+ router = create_webhook_router(bridge=mock_bridge, sendblue_channel=ch)
200
+ app.include_router(router)
201
+ c = TestClient(app)
202
+
203
+ resp = c.post(
204
+ "/webhooks/sendblue",
205
+ json={"from_number": "+19127130720", "content": "Hi", "is_outbound": False},
206
+ )
207
+ assert resp.status_code == 403
208
+ mock_bridge.handle_incoming.assert_not_called()
209
+
184
210
 
185
211
  # ---------------------------------------------------------------------------
186
212
  # Health endpoint (requires agent_manager_routes)
@@ -213,3 +213,48 @@ class TestWhatsAppWebhook:
213
213
  },
214
214
  )
215
215
  assert resp.status_code == 200
216
+
217
+
218
+ class TestWebhooksFailClosed:
219
+ """When a channel's secret/token is unset, webhooks must reject (403)."""
220
+
221
+ def _client(self, mock_bridge, **kwargs):
222
+ app = FastAPI()
223
+ app.include_router(create_webhook_router(bridge=mock_bridge, **kwargs))
224
+ return TestClient(app)
225
+
226
+ def test_twilio_without_token_rejected(self, mock_bridge):
227
+ c = self._client(mock_bridge) # no twilio_auth_token
228
+ resp = c.post(
229
+ "/webhooks/twilio",
230
+ data={"From": "+15551234567", "Body": "hi", "MessageSid": "SM1"},
231
+ )
232
+ assert resp.status_code == 403
233
+ mock_bridge.handle_incoming.assert_not_called()
234
+
235
+ def test_bluebubbles_without_password_rejected(self, mock_bridge):
236
+ c = self._client(mock_bridge) # no bluebubbles_password
237
+ resp = c.post(
238
+ "/webhooks/bluebubbles",
239
+ json={"type": "new-message", "data": {}},
240
+ headers={"Authorization": "anything"},
241
+ )
242
+ assert resp.status_code == 403
243
+
244
+ def test_whatsapp_without_secret_rejected(self, mock_bridge):
245
+ c = self._client(mock_bridge) # no whatsapp_app_secret
246
+ resp = c.post(
247
+ "/webhooks/whatsapp",
248
+ content=b"{}",
249
+ headers={"Content-Type": "application/json"},
250
+ )
251
+ assert resp.status_code == 403
252
+
253
+ def test_whatsapp_verify_without_token_rejected(self, mock_bridge):
254
+ c = self._client(mock_bridge) # no whatsapp_verify_token
255
+ resp = c.get(
256
+ "/webhooks/whatsapp",
257
+ params={"hub.mode": "subscribe", "hub.verify_token": "",
258
+ "hub.challenge": "x"},
259
+ )
260
+ assert resp.status_code == 403
@@ -184,8 +184,9 @@ class TestHttpRequestTool:
184
184
  """Timeout should produce a clear error."""
185
185
  tool = HttpRequestTool()
186
186
  with patch("openjarvis.tools.http_request.check_ssrf", return_value=None):
187
- with patch(
188
- "openjarvis.tools.http_request.httpx.request",
187
+ with patch.object(
188
+ HttpRequestTool,
189
+ "_request_following_redirects",
189
190
  side_effect=httpx.TimeoutException("timed out"),
190
191
  ):
191
192
  result = tool.execute(url="https://slow.example.com", timeout=5)
@@ -196,14 +197,50 @@ class TestHttpRequestTool:
196
197
  """Connection error should produce a clear error."""
197
198
  tool = HttpRequestTool()
198
199
  with patch("openjarvis.tools.http_request.check_ssrf", return_value=None):
199
- with patch(
200
- "openjarvis.tools.http_request.httpx.request",
200
+ with patch.object(
201
+ HttpRequestTool,
202
+ "_request_following_redirects",
201
203
  side_effect=httpx.ConnectError("Connection refused"),
202
204
  ):
203
205
  result = tool.execute(url="https://down.example.com")
204
206
  assert result.success is False
205
207
  assert "Request error" in result.content
206
208
 
209
+ @respx.mock
210
+ def test_redirect_to_private_ip_blocked(self):
211
+ """A redirect to an internal/metadata host must be re-checked + blocked."""
212
+ respx.get("https://public.example.com/start").mock(
213
+ return_value=httpx.Response(
214
+ 302, headers={"location": "http://169.254.169.254/latest/"}
215
+ )
216
+ )
217
+ tool = HttpRequestTool()
218
+ # First check (initial URL) passes; the redirect target is blocked.
219
+ with patch(
220
+ "openjarvis.tools.http_request.check_ssrf",
221
+ side_effect=[None, "Blocked host: 169.254.169.254"],
222
+ ):
223
+ result = tool.execute(url="https://public.example.com/start")
224
+ assert result.success is False
225
+ assert "SSRF protection blocked redirect" in result.content
226
+
227
+ @respx.mock
228
+ def test_safe_redirect_is_followed(self):
229
+ """A redirect to another public URL is followed normally."""
230
+ respx.get("https://public.example.com/start").mock(
231
+ return_value=httpx.Response(
232
+ 302, headers={"location": "https://public.example.com/final"}
233
+ )
234
+ )
235
+ respx.get("https://public.example.com/final").mock(
236
+ return_value=httpx.Response(200, text="done")
237
+ )
238
+ tool = HttpRequestTool()
239
+ with patch("openjarvis.tools.http_request.check_ssrf", return_value=None):
240
+ result = tool.execute(url="https://public.example.com/start")
241
+ assert result.success is True
242
+ assert "done" in result.content
243
+
207
244
  def test_method_validation(self):
208
245
  """Invalid HTTP method should be rejected."""
209
246
  tool = HttpRequestTool()