nova-ai-pro 1.2.3.dev78__tar.gz → 1.2.3.dev85__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 (2213) hide show
  1. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.gitignore +4 -0
  2. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/PKG-INFO +6 -1
  3. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/architecture/learning.md +8 -0
  4. nova_ai_pro-1.2.3.dev85/docs/learning/conversation-forking.md +112 -0
  5. nova_ai_pro-1.2.3.dev85/docs/learning/fleet-oracle.md +100 -0
  6. nova_ai_pro-1.2.3.dev85/docs/learning/memory-consolidation.md +112 -0
  7. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/learning/self-training.md +41 -0
  8. nova_ai_pro-1.2.3.dev85/docs/learning/skill-foundry.md +117 -0
  9. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/cli.md +22 -0
  10. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/memory.md +20 -0
  11. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/telemetry.md +6 -0
  12. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Chat/ChatArea.tsx +115 -8
  13. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/lib/api.ts +81 -2
  14. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/lib/store.ts +48 -0
  15. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/types/index.ts +12 -0
  16. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/mkdocs.yml +4 -0
  17. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/pyproject.toml +6 -0
  18. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/__init__.py +6 -0
  19. nova_ai_pro-1.2.3.dev85/src/nova_ai/cli/conversation_cmd.py +175 -0
  20. nova_ai_pro-1.2.3.dev85/src/nova_ai/cli/forge_cmd.py +352 -0
  21. nova_ai_pro-1.2.3.dev85/src/nova_ai/cli/memory_cmd.py +389 -0
  22. nova_ai_pro-1.2.3.dev85/src/nova_ai/cli/oracle_cmd.py +222 -0
  23. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/scheduler_cmd.py +23 -0
  24. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/train_cmd.py +28 -9
  25. nova_ai_pro-1.2.3.dev85/src/nova_ai/conversations/__init__.py +12 -0
  26. nova_ai_pro-1.2.3.dev85/src/nova_ai/conversations/racer.py +176 -0
  27. nova_ai_pro-1.2.3.dev85/src/nova_ai/conversations/store.py +335 -0
  28. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/core/config.py +103 -0
  29. nova_ai_pro-1.2.3.dev85/src/nova_ai/learning/fleet/__init__.py +29 -0
  30. nova_ai_pro-1.2.3.dev85/src/nova_ai/learning/fleet/oracle.py +289 -0
  31. nova_ai_pro-1.2.3.dev85/src/nova_ai/learning/fleet/push.py +154 -0
  32. nova_ai_pro-1.2.3.dev85/src/nova_ai/learning/fleet/report.py +131 -0
  33. nova_ai_pro-1.2.3.dev85/src/nova_ai/learning/skillforge/__init__.py +15 -0
  34. nova_ai_pro-1.2.3.dev85/src/nova_ai/learning/skillforge/adoption.py +159 -0
  35. nova_ai_pro-1.2.3.dev85/src/nova_ai/learning/skillforge/gauntlet.py +264 -0
  36. nova_ai_pro-1.2.3.dev85/src/nova_ai/learning/skillforge/miner.py +127 -0
  37. nova_ai_pro-1.2.3.dev85/src/nova_ai/learning/skillforge/pipeline.py +203 -0
  38. nova_ai_pro-1.2.3.dev85/src/nova_ai/learning/skillforge/store.py +178 -0
  39. nova_ai_pro-1.2.3.dev85/src/nova_ai/learning/skillforge/synthesizer.py +203 -0
  40. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/training/data.py +129 -1
  41. nova_ai_pro-1.2.3.dev85/src/nova_ai/learning/training/dpo.py +271 -0
  42. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/training/pipeline.py +67 -20
  43. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/training/store.py +15 -3
  44. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/training/triggers.py +2 -0
  45. nova_ai_pro-1.2.3.dev85/src/nova_ai/memory/consolidation/__init__.py +12 -0
  46. nova_ai_pro-1.2.3.dev85/src/nova_ai/memory/consolidation/cluster.py +167 -0
  47. nova_ai_pro-1.2.3.dev85/src/nova_ai/memory/consolidation/inject.py +61 -0
  48. nova_ai_pro-1.2.3.dev85/src/nova_ai/memory/consolidation/pipeline.py +310 -0
  49. nova_ai_pro-1.2.3.dev85/src/nova_ai/memory/consolidation/store.py +358 -0
  50. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/scheduler/scheduler.py +107 -1
  51. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/app.py +3 -0
  52. nova_ai_pro-1.2.3.dev85/src/nova_ai/server/conversation_routes.py +337 -0
  53. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/system/orchestrator.py +28 -0
  54. nova_ai_pro-1.2.3.dev85/tests/cli/test_conversation_cmd.py +151 -0
  55. nova_ai_pro-1.2.3.dev85/tests/cli/test_memory_consolidate.py +157 -0
  56. nova_ai_pro-1.2.3.dev85/tests/cli/test_scheduler_create_meta.py +141 -0
  57. nova_ai_pro-1.2.3.dev85/tests/conversations/test_racer.py +145 -0
  58. nova_ai_pro-1.2.3.dev85/tests/conversations/test_store.py +129 -0
  59. nova_ai_pro-1.2.3.dev85/tests/learning/test_fleet.py +650 -0
  60. nova_ai_pro-1.2.3.dev85/tests/learning/test_skillforge.py +1059 -0
  61. nova_ai_pro-1.2.3.dev85/tests/learning/training/test_dpo.py +281 -0
  62. nova_ai_pro-1.2.3.dev85/tests/learning/training/test_preference_pairs.py +140 -0
  63. nova_ai_pro-1.2.3.dev85/tests/memory/test_consolidation_inject.py +79 -0
  64. nova_ai_pro-1.2.3.dev85/tests/memory/test_consolidation_pipeline.py +430 -0
  65. nova_ai_pro-1.2.3.dev85/tests/memory/test_consolidation_store.py +195 -0
  66. nova_ai_pro-1.2.3.dev85/tests/scheduler/test_consolidate_dispatch.py +142 -0
  67. nova_ai_pro-1.2.3.dev85/tests/scheduler/test_train_dpo_dispatch.py +94 -0
  68. nova_ai_pro-1.2.3.dev85/tests/server/test_conversation_routes.py +172 -0
  69. nova_ai_pro-1.2.3.dev85/tests/traces/__init__.py +0 -0
  70. nova_ai_pro-1.2.3.dev78/src/nova_ai/cli/memory_cmd.py +0 -206
  71. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/CODEOWNERS +0 -0
  72. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  73. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  74. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  75. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/ISSUE_TEMPLATE/new_eval.yml +0 -0
  76. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/ISSUE_TEMPLATE/pearl_model_validation.yml +0 -0
  77. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/clone-stats/badge.json +0 -0
  78. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/clone-stats/clone-data.json +0 -0
  79. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/pull_request_template.md +0 -0
  80. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/workflows/autotag.yml +0 -0
  81. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/workflows/bash-tests.yml +0 -0
  82. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/workflows/ci.yml +0 -0
  83. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/workflows/claude-issues.yml +0 -0
  84. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/workflows/claude-review.yml +0 -0
  85. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/workflows/desktop.yml +0 -0
  86. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/workflows/docs.yml +0 -0
  87. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/workflows/frontend.yml +0 -0
  88. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/workflows/installer-integration.yml +0 -0
  89. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/workflows/jekyll-gh-pages.yml +0 -0
  90. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/workflows/pypi-publish.yml +0 -0
  91. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/workflows/release.yml +0 -0
  92. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/workflows/take-assign.yml +0 -0
  93. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.github/workflows/track-clones.yml +0 -0
  94. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/.pre-commit-config.yaml +0 -0
  95. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/CHANGELOG.md +0 -0
  96. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/CODE_OF_CONDUCT.md +0 -0
  97. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/CONTRIBUTING.md +0 -0
  98. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/LICENSE +0 -0
  99. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/README.md +0 -0
  100. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/REVIEW.md +0 -0
  101. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/SETUP_AND_USAGE_GUIDE.md +0 -0
  102. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/assets/Chats.png +0 -0
  103. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/assets/Close.png +0 -0
  104. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/assets/Home.png +0 -0
  105. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/assets/Maximize.png +0 -0
  106. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/assets/Mic_off.png +0 -0
  107. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/assets/Mic_on.png +0 -0
  108. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/assets/Minimize.png +0 -0
  109. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/assets/Minimize2.png +0 -0
  110. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/assets/Nova.gif +0 -0
  111. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/assets/NovaAI_Horizontal_Logo.jpg +0 -0
  112. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/assets/NovaAI_Icon.jpg +0 -0
  113. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/assets/Settings.png +0 -0
  114. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/assets/nova_ai_demo_reel.jpg +0 -0
  115. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/assets/nova_ai_demo_reel.webp +0 -0
  116. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/browser-extension/README.md +0 -0
  117. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/browser-extension/background.js +0 -0
  118. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/browser-extension/content.css +0 -0
  119. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/browser-extension/content.js +0 -0
  120. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/browser-extension/icons/README.md +0 -0
  121. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/browser-extension/icons/icon128.png +0 -0
  122. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/browser-extension/icons/icon16.png +0 -0
  123. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/browser-extension/icons/icon48.png +0 -0
  124. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/browser-extension/manifest.json +0 -0
  125. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/browser-extension/package.json +0 -0
  126. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/browser-extension/popup.html +0 -0
  127. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/browser-extension/popup.js +0 -0
  128. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/configs/nova_ai/config.toml +0 -0
  129. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/configs/nova_ai/examples/chat-simple.toml +0 -0
  130. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/configs/nova_ai/examples/code-assistant.toml +0 -0
  131. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/configs/nova_ai/examples/deep-research.toml +0 -0
  132. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/configs/nova_ai/examples/morning-digest-linux.toml +0 -0
  133. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/configs/nova_ai/examples/morning-digest-mac.toml +0 -0
  134. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/configs/nova_ai/examples/morning-digest-minimal.toml +0 -0
  135. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/configs/nova_ai/examples/scheduled-monitor.toml +0 -0
  136. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/configs/nova_ai/examples/spec-search-quickstart.toml +0 -0
  137. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/configs/nova_ai/prompts/personas/neutral.md +0 -0
  138. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/configs/nova_ai/prompts/personas/nova.md +0 -0
  139. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/deploy/docker/.env.example +0 -0
  140. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/deploy/docker/Dockerfile +0 -0
  141. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/deploy/docker/Dockerfile.gpu +0 -0
  142. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/deploy/docker/Dockerfile.gpu.rocm +0 -0
  143. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/deploy/docker/Dockerfile.sandbox +0 -0
  144. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/deploy/docker/docker-compose.gpu.nvidia.yml +0 -0
  145. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/deploy/docker/docker-compose.gpu.rocm.yml +0 -0
  146. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/deploy/docker/docker-compose.yml +0 -0
  147. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/deploy/launchd/com.nova-ai.plist +0 -0
  148. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/deploy/posthog/posthog-hetzner-prep.sh +0 -0
  149. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/deploy/systemd/nova_ai.service +0 -0
  150. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/deploy/windows/README.md +0 -0
  151. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/deploy/windows/install.ps1 +0 -0
  152. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/deploy/windows/nova-service.ps1 +0 -0
  153. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/desktop/src-tauri/src/overlay.html +0 -0
  154. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/architecture/agents.md +0 -0
  155. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/architecture/channels.md +0 -0
  156. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/architecture/design-principles.md +0 -0
  157. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/architecture/engine.md +0 -0
  158. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/architecture/intelligence.md +0 -0
  159. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/architecture/memory.md +0 -0
  160. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/architecture/overview.md +0 -0
  161. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/architecture/query-flow.md +0 -0
  162. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/architecture/security.md +0 -0
  163. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/architecture/skills.md +0 -0
  164. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/assets/NovaAI_Architecture.png +0 -0
  165. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/assets/showcase/README.md +0 -0
  166. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/assets/showcase/coding-assistant.png +0 -0
  167. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/assets/showcase/cost-savings.png +0 -0
  168. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/assets/showcase/discord-companion.png +0 -0
  169. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/assets/showcase/morning-brief.png +0 -0
  170. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/assets/showcase/persistent-memory.png +0 -0
  171. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/deployment/api-server.md +0 -0
  172. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/deployment/docker.md +0 -0
  173. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/deployment/index.md +0 -0
  174. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/deployment/launchd.md +0 -0
  175. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/deployment/systemd.md +0 -0
  176. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/design/2026-05-05-apple-silicon-pearl-mining-design.md +0 -0
  177. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/design/2026-05-05-apple-silicon-pearl-mining-plan-v1.md +0 -0
  178. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/design/2026-05-05-pearl-coordination-discussion-draft.md +0 -0
  179. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/design/2026-05-05-vllm-pearl-mining-integration-design.md +0 -0
  180. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/design/2026-05-05-vllm-pearl-mining-integration-plan.md +0 -0
  181. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/desktop-auto-update.md +0 -0
  182. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/development/contributing.md +0 -0
  183. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/development/mining-nvidia-validation.md +0 -0
  184. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/development/mining.md +0 -0
  185. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/development/pearl-model-enablement.md +0 -0
  186. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/development/release-checklist.md +0 -0
  187. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/development/roadmap.md +0 -0
  188. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/downloads.md +0 -0
  189. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/gen_install_script.py +0 -0
  190. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/gen_ref_pages.py +0 -0
  191. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/getting-started/configuration.md +0 -0
  192. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/getting-started/install.md +0 -0
  193. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/getting-started/installation.md +0 -0
  194. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/getting-started/linux.md +0 -0
  195. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/getting-started/macos.md +0 -0
  196. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/getting-started/quickstart.md +0 -0
  197. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/getting-started/snippets.md +0 -0
  198. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/getting-started/windows-native.md +0 -0
  199. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/getting-started/wsl2.md +0 -0
  200. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/includes/abbreviations.md +0 -0
  201. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/index.md +0 -0
  202. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/javascripts/docsearch-init.js +0 -0
  203. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/javascripts/leaderboard.js +0 -0
  204. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/leaderboard.md +0 -0
  205. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/learning/ace.md +0 -0
  206. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/learning/proving-ground.md +0 -0
  207. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/overrides/main.html +0 -0
  208. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/showcase/CONTRIBUTING.md +0 -0
  209. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/showcase/coding-assistant.md +0 -0
  210. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/showcase/cost-savings.md +0 -0
  211. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/showcase/discord-companion.md +0 -0
  212. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/showcase/index.md +0 -0
  213. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/showcase/morning-brief.md +0 -0
  214. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/showcase/persistent-memory.md +0 -0
  215. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/stylesheets/extra.css +0 -0
  216. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/telemetry.md +0 -0
  217. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/testing/agent-qa-runbook.md +0 -0
  218. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/tutorials/code-companion.md +0 -0
  219. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/tutorials/deep-research.md +0 -0
  220. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/tutorials/index.md +0 -0
  221. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/tutorials/messaging-hub.md +0 -0
  222. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/tutorials/scheduled-ops.md +0 -0
  223. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/tutorials/skills-workflow.md +0 -0
  224. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/agents.md +0 -0
  225. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/benchmarks.md +0 -0
  226. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/channels-and-connectors.md +0 -0
  227. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/channels.md +0 -0
  228. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/chat-simple.md +0 -0
  229. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/code-assistant.md +0 -0
  230. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/deep-research.md +0 -0
  231. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/evaluations.md +0 -0
  232. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/llm-guided-spec-search.md +0 -0
  233. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/mcp-external-servers.md +0 -0
  234. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/mining-apple-silicon.md +0 -0
  235. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/mining.md +0 -0
  236. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/morning-digest.md +0 -0
  237. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/pearl.md +0 -0
  238. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/python-sdk.md +0 -0
  239. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/scheduled-monitor.md +0 -0
  240. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/scheduler.md +0 -0
  241. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/security.md +0 -0
  242. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/skills.md +0 -0
  243. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/docs/user-guide/tools.md +0 -0
  244. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/browser_assistant/README.md +0 -0
  245. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/browser_assistant/browser_assistant.py +0 -0
  246. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/code_companion/README.md +0 -0
  247. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/code_companion/debugger.py +0 -0
  248. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/code_companion/reviewer.py +0 -0
  249. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/code_companion/test_gen.py +0 -0
  250. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/daily_digest/README.md +0 -0
  251. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/daily_digest/daily_digest.py +0 -0
  252. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/deep_research/README.md +0 -0
  253. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/deep_research/research.py +0 -0
  254. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/deep_research/research.toml +0 -0
  255. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/doc_qa/README.md +0 -0
  256. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/doc_qa/doc_qa.py +0 -0
  257. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/messaging_hub/README.md +0 -0
  258. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/messaging_hub/messaging.toml +0 -0
  259. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/messaging_hub/smart_inbox.py +0 -0
  260. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/multi_model_router/README.md +0 -0
  261. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/multi_model_router/multi_model_router.py +0 -0
  262. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/nova_ai/spec_search_quickstart.py +0 -0
  263. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/scheduled_ops/README.md +0 -0
  264. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/scheduled_ops/code_review.py +0 -0
  265. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/scheduled_ops/daily_digest.py +0 -0
  266. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/scheduled_ops/gym_scheduler.py +0 -0
  267. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/scheduled_ops/schedules.toml +0 -0
  268. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/security_scanner/README.md +0 -0
  269. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/security_scanner/security_scanner.py +0 -0
  270. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/twitter_bot/slack_preview.py +0 -0
  271. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/twitter_bot/test_grounding.py +0 -0
  272. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/twitter_bot/test_real_world.py +0 -0
  273. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/examples/twitter_bot/twitter_bot.py +0 -0
  274. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/components.json +0 -0
  275. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/index.html +0 -0
  276. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/package-lock.json +0 -0
  277. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/package.json +0 -0
  278. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/public/apple-touch-icon.png +0 -0
  279. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/public/favicon.ico +0 -0
  280. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/public/pwa-192x192.png +0 -0
  281. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/public/pwa-512x512.png +0 -0
  282. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/App.tsx +0 -0
  283. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/ApprovalBell.tsx +0 -0
  284. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Chat/AudioPlayer.tsx +0 -0
  285. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Chat/CanvasPanel.tsx +0 -0
  286. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Chat/InputArea.tsx +0 -0
  287. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Chat/MessageBubble.tsx +0 -0
  288. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Chat/MicButton.tsx +0 -0
  289. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Chat/ResearchTimeline.tsx +0 -0
  290. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Chat/StreamingDots.tsx +0 -0
  291. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Chat/SystemPanel.tsx +0 -0
  292. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Chat/ToolCallCard.tsx +0 -0
  293. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Chat/XRayFooter.tsx +0 -0
  294. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/CommandPalette.tsx +0 -0
  295. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Dashboard/CostComparison.tsx +0 -0
  296. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Dashboard/EnergyDashboard.tsx +0 -0
  297. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Dashboard/TraceDebugger.tsx +0 -0
  298. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Desktop/AdminPanel.tsx +0 -0
  299. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Desktop/AgentsPanel.tsx +0 -0
  300. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Desktop/EnergyDashboard.tsx +0 -0
  301. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Desktop/LearningCurve.tsx +0 -0
  302. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Desktop/MemoryBrowser.tsx +0 -0
  303. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Desktop/SavingsDashboard.tsx +0 -0
  304. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Desktop/SettingsPanel.tsx +0 -0
  305. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Desktop/TaskPlannerPanel.tsx +0 -0
  306. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Desktop/TraceDebugger.tsx +0 -0
  307. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Desktop/UpdateChecker.tsx +0 -0
  308. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Desktop/hooks/useTauriApi.ts +0 -0
  309. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Desktop/lib/api.ts +0 -0
  310. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Docs/DocChatPanel.tsx +0 -0
  311. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Docs/DocLibrary.tsx +0 -0
  312. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/ErrorBoundary.tsx +0 -0
  313. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Layout.tsx +0 -0
  314. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/NotificationBell.tsx +0 -0
  315. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/OptInModal.tsx +0 -0
  316. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/SetupScreen.tsx +0 -0
  317. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Sidebar/ConversationList.tsx +0 -0
  318. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/Sidebar/Sidebar.tsx +0 -0
  319. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/SystemPulse.tsx +0 -0
  320. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/setup/IngestDashboard.tsx +0 -0
  321. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/setup/ReadyScreen.tsx +0 -0
  322. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/setup/SetupWizard.tsx +0 -0
  323. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/setup/SourceConnectFlow.tsx +0 -0
  324. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/setup/SourcePicker.tsx +0 -0
  325. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/ui/button.tsx +0 -0
  326. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/ui/dialog.tsx +0 -0
  327. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/ui/input.tsx +0 -0
  328. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/ui/select.tsx +0 -0
  329. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/ui/sonner.tsx +0 -0
  330. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/components/ui/tooltip.tsx +0 -0
  331. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/hooks/useSpeech.ts +0 -0
  332. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/index.css +0 -0
  333. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/lib/analytics.ts +0 -0
  334. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/lib/api.auth.test.ts +0 -0
  335. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/lib/connectors-api.ts +0 -0
  336. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/lib/deep-link.ts +0 -0
  337. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/lib/profanity.ts +0 -0
  338. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/lib/rehype-citations.ts +0 -0
  339. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/lib/sse.ts +0 -0
  340. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/lib/useAgentEvents.ts +0 -0
  341. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/lib/utils.ts +0 -0
  342. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/main.tsx +0 -0
  343. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/pages/AgentsPage.tsx +0 -0
  344. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/pages/CalendarPage.tsx +0 -0
  345. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/pages/ChatPage.tsx +0 -0
  346. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/pages/DashboardPage.tsx +0 -0
  347. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/pages/DataSourcesPage.tsx +0 -0
  348. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/pages/DocsPage.tsx +0 -0
  349. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/pages/EmailPage.tsx +0 -0
  350. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/pages/GGUFHubPage.tsx +0 -0
  351. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/pages/GetStartedPage.tsx +0 -0
  352. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/pages/IntegrationsPage.tsx +0 -0
  353. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/pages/LogsPage.tsx +0 -0
  354. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/pages/MobilePairPage.tsx +0 -0
  355. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/pages/ModelComparePage.tsx +0 -0
  356. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/pages/ModelHubPage.tsx +0 -0
  357. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/pages/PersonasPage.tsx +0 -0
  358. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/pages/SettingsPage.tsx +0 -0
  359. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/types/connectors.ts +0 -0
  360. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src/vite-env.d.ts +0 -0
  361. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src-tauri/Cargo.lock +0 -0
  362. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src-tauri/Cargo.toml +0 -0
  363. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src-tauri/Entitlements.plist +0 -0
  364. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src-tauri/binaries/.gitignore +0 -0
  365. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src-tauri/build.rs +0 -0
  366. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src-tauri/capabilities/default.json +0 -0
  367. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src-tauri/icons/128x128.png +0 -0
  368. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src-tauri/icons/128x128@2x.png +0 -0
  369. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src-tauri/icons/256x256.png +0 -0
  370. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src-tauri/icons/32x32.png +0 -0
  371. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src-tauri/icons/icon.icns +0 -0
  372. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src-tauri/icons/icon.ico +0 -0
  373. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src-tauri/icons/icon.png +0 -0
  374. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src-tauri/scripts/download-ollama.sh +0 -0
  375. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src-tauri/src/lib.rs +0 -0
  376. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src-tauri/src/main.rs +0 -0
  377. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src-tauri/src/overlay.html +0 -0
  378. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/src-tauri/tauri.conf.json +0 -0
  379. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/tsconfig.json +0 -0
  380. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/frontend/vite.config.ts +0 -0
  381. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/install.bat +0 -0
  382. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/Cargo.lock +0 -0
  383. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/Cargo.toml +0 -0
  384. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-a2a/Cargo.toml +0 -0
  385. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-a2a/src/lib.rs +0 -0
  386. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-agents/Cargo.toml +0 -0
  387. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-agents/src/helpers.rs +0 -0
  388. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-agents/src/lib.rs +0 -0
  389. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-agents/src/loop_guard.rs +0 -0
  390. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-agents/src/monitor_operative.rs +0 -0
  391. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-agents/src/native_openhands.rs +0 -0
  392. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-agents/src/native_react.rs +0 -0
  393. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-agents/src/orchestrator.rs +0 -0
  394. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-agents/src/simple.rs +0 -0
  395. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-agents/src/traits.rs +0 -0
  396. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-agents/src/utils.rs +0 -0
  397. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-core/Cargo.toml +0 -0
  398. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-core/src/config.rs +0 -0
  399. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-core/src/error.rs +0 -0
  400. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-core/src/events.rs +0 -0
  401. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-core/src/hardware.rs +0 -0
  402. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-core/src/lib.rs +0 -0
  403. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-core/src/model_catalog.rs +0 -0
  404. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-core/src/registry.rs +0 -0
  405. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-core/src/types.rs +0 -0
  406. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-engine/Cargo.toml +0 -0
  407. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-engine/src/discovery.rs +0 -0
  408. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-engine/src/engine_enum.rs +0 -0
  409. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-engine/src/lib.rs +0 -0
  410. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-engine/src/llamacpp.rs +0 -0
  411. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-engine/src/ollama.rs +0 -0
  412. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-engine/src/openai_compat.rs +0 -0
  413. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-engine/src/rig_adapter.rs +0 -0
  414. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-engine/src/sglang.rs +0 -0
  415. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-engine/src/traits.rs +0 -0
  416. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-engine/src/vllm.rs +0 -0
  417. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/Cargo.toml +0 -0
  418. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/agent_advisor.rs +0 -0
  419. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/agent_evolver.rs +0 -0
  420. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/bandit.rs +0 -0
  421. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/grpo.rs +0 -0
  422. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/heuristic.rs +0 -0
  423. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/heuristic_reward.rs +0 -0
  424. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/icl_updater.rs +0 -0
  425. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/learning_orchestrator.rs +0 -0
  426. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/lib.rs +0 -0
  427. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/optimize/engine.rs +0 -0
  428. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/optimize/llm_optimizer.rs +0 -0
  429. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/optimize/mod.rs +0 -0
  430. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/optimize/search_space.rs +0 -0
  431. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/optimize/store.rs +0 -0
  432. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/optimize/types.rs +0 -0
  433. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/orchestrator_types.rs +0 -0
  434. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/reward.rs +0 -0
  435. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/router_enum.rs +0 -0
  436. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/sft_policy.rs +0 -0
  437. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/skill_discovery.rs +0 -0
  438. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/trace_policy.rs +0 -0
  439. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/training_data.rs +0 -0
  440. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-learning/src/traits.rs +0 -0
  441. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-mcp/Cargo.toml +0 -0
  442. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-mcp/src/lib.rs +0 -0
  443. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-mcp/src/protocol.rs +0 -0
  444. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-mcp/src/server.rs +0 -0
  445. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/Cargo.toml +0 -0
  446. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/pyproject.toml +0 -0
  447. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/src/a2a.rs +0 -0
  448. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/src/agents.rs +0 -0
  449. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/src/core.rs +0 -0
  450. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/src/engine.rs +0 -0
  451. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/src/learning.rs +0 -0
  452. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/src/lib.rs +0 -0
  453. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/src/mcp.rs +0 -0
  454. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/src/recipes.rs +0 -0
  455. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/src/scheduler.rs +0 -0
  456. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/src/security.rs +0 -0
  457. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/src/sessions.rs +0 -0
  458. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/src/skills.rs +0 -0
  459. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/src/storage.rs +0 -0
  460. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/src/telemetry.rs +0 -0
  461. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/src/templates.rs +0 -0
  462. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/src/tools.rs +0 -0
  463. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/src/traces.rs +0 -0
  464. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/src/workflow.rs +0 -0
  465. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-python/uv.lock +0 -0
  466. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-recipes/Cargo.toml +0 -0
  467. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-recipes/src/lib.rs +0 -0
  468. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-scheduler/Cargo.toml +0 -0
  469. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-scheduler/src/lib.rs +0 -0
  470. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-security/Cargo.toml +0 -0
  471. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-security/src/audit.rs +0 -0
  472. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-security/src/capabilities.rs +0 -0
  473. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-security/src/file_policy.rs +0 -0
  474. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-security/src/guardrails.rs +0 -0
  475. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-security/src/injection.rs +0 -0
  476. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-security/src/lib.rs +0 -0
  477. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-security/src/rate_limiter.rs +0 -0
  478. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-security/src/scanner.rs +0 -0
  479. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-security/src/ssrf.rs +0 -0
  480. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-security/src/taint.rs +0 -0
  481. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-security/src/types.rs +0 -0
  482. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-sessions/Cargo.toml +0 -0
  483. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-sessions/src/lib.rs +0 -0
  484. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-skills/Cargo.toml +0 -0
  485. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-skills/src/lib.rs +0 -0
  486. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-telemetry/Cargo.toml +0 -0
  487. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-telemetry/src/aggregator.rs +0 -0
  488. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-telemetry/src/energy.rs +0 -0
  489. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-telemetry/src/flops.rs +0 -0
  490. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-telemetry/src/instrumented.rs +0 -0
  491. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-telemetry/src/itl.rs +0 -0
  492. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-telemetry/src/lib.rs +0 -0
  493. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-telemetry/src/phase.rs +0 -0
  494. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-telemetry/src/session.rs +0 -0
  495. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-telemetry/src/store.rs +0 -0
  496. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-templates/Cargo.toml +0 -0
  497. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-templates/src/lib.rs +0 -0
  498. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/Cargo.toml +0 -0
  499. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/builtin/calculator.rs +0 -0
  500. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/builtin/file_tools.rs +0 -0
  501. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/builtin/git_tools.rs +0 -0
  502. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/builtin/http_tools.rs +0 -0
  503. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/builtin/mod.rs +0 -0
  504. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/builtin/shell.rs +0 -0
  505. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/builtin/think.rs +0 -0
  506. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/executor.rs +0 -0
  507. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/lib.rs +0 -0
  508. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/rig_tools.rs +0 -0
  509. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/storage/backend_enum.rs +0 -0
  510. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/storage/bm25.rs +0 -0
  511. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/storage/colbert.rs +0 -0
  512. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/storage/faiss.rs +0 -0
  513. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/storage/hybrid.rs +0 -0
  514. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/storage/knowledge_graph.rs +0 -0
  515. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/storage/mod.rs +0 -0
  516. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/storage/sqlite.rs +0 -0
  517. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/storage/traits.rs +0 -0
  518. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/storage/utils.rs +0 -0
  519. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-tools/src/traits.rs +0 -0
  520. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-traces/Cargo.toml +0 -0
  521. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-traces/src/analyzer.rs +0 -0
  522. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-traces/src/collector.rs +0 -0
  523. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-traces/src/lib.rs +0 -0
  524. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-traces/src/store.rs +0 -0
  525. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-workflow/Cargo.toml +0 -0
  526. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/crates/nova_ai-workflow/src/lib.rs +0 -0
  527. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/rust/rust-toolchain.toml +0 -0
  528. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/scripts/bump-desktop-version.sh +0 -0
  529. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/scripts/index_docs.py +0 -0
  530. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/scripts/install/bg-orchestrator.sh +0 -0
  531. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/scripts/install/build-extension.sh +0 -0
  532. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/scripts/install/install-rust.sh +0 -0
  533. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/scripts/install/install.sh +0 -0
  534. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/scripts/install/nova-uninstall.sh +0 -0
  535. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/scripts/install/nova-wrapper.sh +0 -0
  536. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/scripts/install/pull-model.sh +0 -0
  537. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/scripts/mining/pearl_model_converter.py +0 -0
  538. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/scripts/oauth_all.py +0 -0
  539. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/scripts/pearl/README.md +0 -0
  540. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/scripts/pearl/model_converter.py +0 -0
  541. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/scripts/quickstart.sh +0 -0
  542. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/scripts/smoke_framework_comparison.sh +0 -0
  543. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/__init__.py +0 -0
  544. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/_rust_bridge.py +0 -0
  545. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/a2a/__init__.py +0 -0
  546. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/a2a/client.py +0 -0
  547. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/a2a/protocol.py +0 -0
  548. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/a2a/server.py +0 -0
  549. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/a2a/tool.py +0 -0
  550. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/__init__.py +0 -0
  551. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/_stubs.py +0 -0
  552. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/channel_agent.py +0 -0
  553. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/claude_code.py +0 -0
  554. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/claude_code_runner/package.json +0 -0
  555. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/claude_code_runner/src/index.ts +0 -0
  556. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/deep_research.py +0 -0
  557. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/digest_store.py +0 -0
  558. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/errors.py +0 -0
  559. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/executor.py +0 -0
  560. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/README.md +0 -0
  561. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/__init__.py +0 -0
  562. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/_base.py +0 -0
  563. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/_energy.py +0 -0
  564. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/_openai_retry.py +0 -0
  565. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/_prices.py +0 -0
  566. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/_prompts.py +0 -0
  567. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/advisors.py +0 -0
  568. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/archon.py +0 -0
  569. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/baseline_cloud.py +0 -0
  570. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/baseline_local.py +0 -0
  571. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/conductor.py +0 -0
  572. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/mini_swe_agent.py +0 -0
  573. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/minions.py +0 -0
  574. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/registry/advisors.toml +0 -0
  575. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/registry/archon.toml +0 -0
  576. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/registry/baseline_local.toml +0 -0
  577. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/registry/conductor.toml +0 -0
  578. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/registry/mini_swe_agent.toml +0 -0
  579. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/registry/minions.toml +0 -0
  580. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/registry/skillorchestra.toml +0 -0
  581. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/registry/swe_agent_loop.toml +0 -0
  582. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/registry/toolorchestra.toml +0 -0
  583. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/runner.py +0 -0
  584. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/scripts/new_experiment.sh +0 -0
  585. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/skillorchestra/README.md +0 -0
  586. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/skillorchestra/__init__.py +0 -0
  587. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/skillorchestra/agent.py +0 -0
  588. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/skillorchestra/handbook_seed.json +0 -0
  589. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/skillorchestra/orchestrator.py +0 -0
  590. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/skillorchestra/pool.py +0 -0
  591. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/skillorchestra/prompts/__init__.py +0 -0
  592. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/skillorchestra/prompts/eval_orchestrator.py +0 -0
  593. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/skillorchestra/prompts/learning.py +0 -0
  594. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/skillorchestra/prompts/model_routing.py +0 -0
  595. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/skillorchestra/stage_router.py +0 -0
  596. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/skillorchestra/tools.py +0 -0
  597. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/skillorchestra/types.py +0 -0
  598. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/skillorchestra.py +0 -0
  599. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/hybrid/toolorchestra.py +0 -0
  600. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/loop_guard.py +0 -0
  601. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/manager.py +0 -0
  602. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/monitor_operative.py +0 -0
  603. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/morning_digest.py +0 -0
  604. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/native_openhands.py +0 -0
  605. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/native_react.py +0 -0
  606. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/opencode.py +0 -0
  607. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/openhands.py +0 -0
  608. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/operative.py +0 -0
  609. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/orchestrator.py +0 -0
  610. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/proactive_agent.py +0 -0
  611. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/prompt_loader.py +0 -0
  612. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/research_loop.py +0 -0
  613. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/rlm.py +0 -0
  614. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/rlm_repl.py +0 -0
  615. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/scheduler.py +0 -0
  616. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/simple.py +0 -0
  617. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/templates/__init__.py +0 -0
  618. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/templates/code_reviewer.toml +0 -0
  619. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/templates/inbox_triager.toml +0 -0
  620. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/templates/personal_deep_research.toml +0 -0
  621. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/agents/templates/research_monitor.toml +0 -0
  622. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/analytics/__init__.py +0 -0
  623. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/analytics/aggregator.py +0 -0
  624. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/analytics/bridge.py +0 -0
  625. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/analytics/client.py +0 -0
  626. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/analytics/events.py +0 -0
  627. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/analytics/identity.py +0 -0
  628. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/analytics/redaction.py +0 -0
  629. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/bench/__init__.py +0 -0
  630. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/bench/_stats.py +0 -0
  631. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/bench/_stubs.py +0 -0
  632. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/bench/energy.py +0 -0
  633. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/bench/latency.py +0 -0
  634. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/bench/throughput.py +0 -0
  635. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/__init__.py +0 -0
  636. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/_stubs.py +0 -0
  637. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/bluebubbles.py +0 -0
  638. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/discord_channel.py +0 -0
  639. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/email_channel.py +0 -0
  640. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/feishu.py +0 -0
  641. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/gmail.py +0 -0
  642. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/google_chat.py +0 -0
  643. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/imessage_daemon.py +0 -0
  644. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/irc_channel.py +0 -0
  645. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/line_channel.py +0 -0
  646. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/mastodon_channel.py +0 -0
  647. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/matrix_channel.py +0 -0
  648. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/mattermost.py +0 -0
  649. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/messenger_channel.py +0 -0
  650. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/nostr_channel.py +0 -0
  651. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/reddit_channel.py +0 -0
  652. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/rocketchat_channel.py +0 -0
  653. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/sendblue.py +0 -0
  654. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/signal_channel.py +0 -0
  655. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/slack.py +0 -0
  656. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/slack_blocks.py +0 -0
  657. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/slack_daemon.py +0 -0
  658. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/teams.py +0 -0
  659. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/telegram.py +0 -0
  660. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/twilio_sms.py +0 -0
  661. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/twitch_channel.py +0 -0
  662. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/twitter_channel.py +0 -0
  663. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/viber_channel.py +0 -0
  664. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/webchat.py +0 -0
  665. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/webhook.py +0 -0
  666. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/whatsapp.py +0 -0
  667. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/whatsapp_baileys.py +0 -0
  668. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/whatsapp_baileys_bridge/package-lock.json +0 -0
  669. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/whatsapp_baileys_bridge/package.json +0 -0
  670. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/whatsapp_baileys_bridge/src/bridge.ts +0 -0
  671. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/whatsapp_baileys_bridge/tsconfig.json +0 -0
  672. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/xmpp_channel.py +0 -0
  673. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/channels/zulip_channel.py +0 -0
  674. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/__main__.py +0 -0
  675. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/_banner.py +0 -0
  676. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/_bg_state.py +0 -0
  677. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/_bootstrap.py +0 -0
  678. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/_chat_banner.py +0 -0
  679. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/_chat_notifications.py +0 -0
  680. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/_first_run.py +0 -0
  681. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/_install_detect.py +0 -0
  682. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/_screen.py +0 -0
  683. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/_tool_names.py +0 -0
  684. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/_version_check.py +0 -0
  685. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/add_cmd.py +0 -0
  686. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/agent_cmd.py +0 -0
  687. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/ask.py +0 -0
  688. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/auth_cmd.py +0 -0
  689. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/bench_cmd.py +0 -0
  690. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/canvas_cmd.py +0 -0
  691. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/channel_cmd.py +0 -0
  692. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/channels_cmd.py +0 -0
  693. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/chat_cmd.py +0 -0
  694. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/clip_cmd.py +0 -0
  695. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/compose_cmd.py +0 -0
  696. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/config_cmd.py +0 -0
  697. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/connect_cmd.py +0 -0
  698. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/daemon_cmd.py +0 -0
  699. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/dashboard.py +0 -0
  700. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/deep_research_setup_cmd.py +0 -0
  701. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/digest_cmd.py +0 -0
  702. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/doctor_cmd.py +0 -0
  703. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/eval_cmd.py +0 -0
  704. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/feedback_cmd.py +0 -0
  705. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/gateway_cmd.py +0 -0
  706. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/hints.py +0 -0
  707. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/host_cmd.py +0 -0
  708. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/init_cmd.py +0 -0
  709. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/integrations_cmd.py +0 -0
  710. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/log_config.py +0 -0
  711. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/memory_wiki_cmd.py +0 -0
  712. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/mine_cmd.py +0 -0
  713. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/model.py +0 -0
  714. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/operators_cmd.py +0 -0
  715. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/optimize_cmd.py +0 -0
  716. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/pearl_cmd.py +0 -0
  717. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/prove_cmd.py +0 -0
  718. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/quickstart_cmd.py +0 -0
  719. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/registry_cmd.py +0 -0
  720. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/router_cmd.py +0 -0
  721. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/scan_cmd.py +0 -0
  722. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/screen_cmd.py +0 -0
  723. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/self_update_cmd.py +0 -0
  724. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/serve.py +0 -0
  725. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/skill_cmd.py +0 -0
  726. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/telemetry_cmd.py +0 -0
  727. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/tool_cmd.py +0 -0
  728. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/tunnel_cmd.py +0 -0
  729. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/vault_cmd.py +0 -0
  730. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/voice_cmd.py +0 -0
  731. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/cli/workflow_cmd.py +0 -0
  732. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/__init__.py +0 -0
  733. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/_stubs.py +0 -0
  734. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/apple_contacts.py +0 -0
  735. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/apple_health.py +0 -0
  736. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/apple_music.py +0 -0
  737. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/apple_notes.py +0 -0
  738. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/attachment_store.py +0 -0
  739. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/caldav_connector.py +0 -0
  740. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/chunker.py +0 -0
  741. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/dropbox.py +0 -0
  742. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/embedding_store.py +0 -0
  743. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/embeddings.py +0 -0
  744. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/gcalendar.py +0 -0
  745. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/gcontacts.py +0 -0
  746. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/gdrive.py +0 -0
  747. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/github_notifications.py +0 -0
  748. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/gmail.py +0 -0
  749. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/gmail_imap.py +0 -0
  750. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/google_auth.py +0 -0
  751. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/google_tasks.py +0 -0
  752. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/granola.py +0 -0
  753. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/hackernews.py +0 -0
  754. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/hybrid_search.py +0 -0
  755. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/imessage.py +0 -0
  756. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/news_rss.py +0 -0
  757. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/notion.py +0 -0
  758. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/oauth.py +0 -0
  759. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/obsidian.py +0 -0
  760. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/oura.py +0 -0
  761. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/outlook.py +0 -0
  762. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/pipeline.py +0 -0
  763. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/retriever.py +0 -0
  764. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/scheduler.py +0 -0
  765. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/slack_connector.py +0 -0
  766. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/smtp_sender.py +0 -0
  767. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/spotify.py +0 -0
  768. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/store.py +0 -0
  769. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/strava.py +0 -0
  770. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/sync_engine.py +0 -0
  771. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/weather.py +0 -0
  772. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/connectors/whatsapp.py +0 -0
  773. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/core/__init__.py +0 -0
  774. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/core/credentials.py +0 -0
  775. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/core/events.py +0 -0
  776. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/core/paths.py +0 -0
  777. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/core/registry.py +0 -0
  778. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/core/types.py +0 -0
  779. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/core/utils.py +0 -0
  780. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/daemon/__init__.py +0 -0
  781. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/daemon/gateway.py +0 -0
  782. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/daemon/service.py +0 -0
  783. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/daemon/session_expiry.py +0 -0
  784. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/__init__.py +0 -0
  785. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/_base.py +0 -0
  786. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/_discovery.py +0 -0
  787. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/_openai_compat.py +0 -0
  788. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/_stubs.py +0 -0
  789. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/apple_fm_shim.py +0 -0
  790. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/cloud.py +0 -0
  791. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/gemma_cpp.py +0 -0
  792. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/gguf.py +0 -0
  793. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/litellm.py +0 -0
  794. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/multi.py +0 -0
  795. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/nexa_shim.py +0 -0
  796. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/ollama.py +0 -0
  797. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/openai_compat_engines.py +0 -0
  798. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/router.py +0 -0
  799. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/router_config.py +0 -0
  800. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/router_learning.py +0 -0
  801. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/self_optimizer.py +0 -0
  802. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/engine/task_planner.py +0 -0
  803. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/__init__.py +0 -0
  804. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/__main__.py +0 -0
  805. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/backends/__init__.py +0 -0
  806. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/backends/_commit_util.py +0 -0
  807. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/backends/_endpoint_util.py +0 -0
  808. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/backends/external/__init__.py +0 -0
  809. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/backends/external/_runners/__init__.py +0 -0
  810. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/backends/external/_runners/hermes_runner.py +0 -0
  811. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/backends/external/_runners/openclaw_runner.mjs +0 -0
  812. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/backends/external/_subprocess_runner.py +0 -0
  813. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/backends/external/hermes_agent.py +0 -0
  814. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/backends/external/openclaw.py +0 -0
  815. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/backends/nova_agent.py +0 -0
  816. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/backends/nova_direct.py +0 -0
  817. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/backends/tb_agent.py +0 -0
  818. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/backends/terminalbench_native.py +0 -0
  819. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/cli.py +0 -0
  820. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/comparison/__init__.py +0 -0
  821. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/comparison/make_configs.py +0 -0
  822. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/comparison/table_gen.py +0 -0
  823. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/comparison/third_party.py +0 -0
  824. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/deepplanning-monitor-operative.toml +0 -0
  825. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/framework_comparison/_template.toml +0 -0
  826. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/framework_comparison/_third_party.toml +0 -0
  827. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/full-suite.toml +0 -0
  828. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-gemini-31-pro.toml +0 -0
  829. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-gemma4-26b.toml +0 -0
  830. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-gpt54.toml +0 -0
  831. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-nemotron-nano.toml +0 -0
  832. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-nemotron-super.toml +0 -0
  833. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-nemotron3-super.toml +0 -0
  834. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-qwen-122b.toml +0 -0
  835. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-qwen-27b.toml +0 -0
  836. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-qwen-2b.toml +0 -0
  837. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-qwen-35b.toml +0 -0
  838. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-qwen-9b.toml +0 -0
  839. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-qwen122b.toml +0 -0
  840. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-qwen35b.toml +0 -0
  841. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-rerun-claude-opus.toml +0 -0
  842. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-rerun-claude-sonnet.toml +0 -0
  843. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-rerun-glm47flash.toml +0 -0
  844. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-rerun-gpt5mini.toml +0 -0
  845. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-rerun-minimax-m25.toml +0 -0
  846. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-rerun-qwen122b.toml +0 -0
  847. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-rerun-qwen35b.toml +0 -0
  848. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-rerun-qwen397b.toml +0 -0
  849. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/gaia-trinity-large.toml +0 -0
  850. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/glm-4.7-flash-openhands-remaining.toml +0 -0
  851. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/glm-4.7-flash-openhands.toml +0 -0
  852. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/glm-4.7-fp8-openhands-gaia.toml +0 -0
  853. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/glm5-fp8-monitor-operative.toml +0 -0
  854. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/kimi-k2.5-monitor-operative.toml +0 -0
  855. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/livecodebench-claude-opus.toml +0 -0
  856. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/livecodebench-gemma4-26b.toml +0 -0
  857. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/livecodebench-gemma4-e4b.toml +0 -0
  858. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/livecodebench-kimi-k25.toml +0 -0
  859. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/livecodebench-minimax-m25.toml +0 -0
  860. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/livecodebench-nemotron-nano.toml +0 -0
  861. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/livecodebench-nemotron-super.toml +0 -0
  862. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/livecodebench-qwen-122b.toml +0 -0
  863. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/livecodebench-qwen-27b.toml +0 -0
  864. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/livecodebench-qwen-2b.toml +0 -0
  865. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/livecodebench-qwen-35b.toml +0 -0
  866. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/livecodebench-qwen-9b.toml +0 -0
  867. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-claude-opus.toml +0 -0
  868. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-gemini-31-pro.toml +0 -0
  869. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-gemma4-26b.toml +0 -0
  870. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-gemma4-31b.toml +0 -0
  871. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-gpt54.toml +0 -0
  872. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-granite-3.3-8b-lora.toml +0 -0
  873. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-granite-3.3-8b.toml +0 -0
  874. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-granite-4.0-h-small.toml +0 -0
  875. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-granite-4.0-micro.toml +0 -0
  876. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-nemotron-nano.toml +0 -0
  877. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-nemotron-super.toml +0 -0
  878. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-qwen-122b.toml +0 -0
  879. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-qwen-27b-lora-r32.toml +0 -0
  880. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-qwen-27b.toml +0 -0
  881. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-qwen-2b-lora-r16.toml +0 -0
  882. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-qwen-2b-lora-r32.toml +0 -0
  883. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-qwen-2b-mixed.toml +0 -0
  884. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-qwen-2b-trackb.toml +0 -0
  885. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-qwen-2b.toml +0 -0
  886. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-qwen-35b.toml +0 -0
  887. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-qwen-9b-lora-r32.toml +0 -0
  888. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-qwen-9b-mixed.toml +0 -0
  889. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-qwen-9b-trackb.toml +0 -0
  890. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-qwen-9b.toml +0 -0
  891. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearch-trinity-large.toml +0 -0
  892. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearchbench-qwen-27b.toml +0 -0
  893. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearchbench-qwen-2b.toml +0 -0
  894. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/liveresearchbench-qwen-9b.toml +0 -0
  895. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/long-horizon-claude-opus.toml +0 -0
  896. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/long-horizon-claude-sonnet.toml +0 -0
  897. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/long-horizon-glm47flash.toml +0 -0
  898. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/long-horizon-gpt5mini.toml +0 -0
  899. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/long-horizon-kimik25.toml +0 -0
  900. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/long-horizon-minimax-m25.toml +0 -0
  901. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/long-horizon-qwen122b.toml +0 -0
  902. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/long-horizon-qwen35b.toml +0 -0
  903. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/long-horizon-qwen397b.toml +0 -0
  904. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/minimal.toml +0 -0
  905. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/paperarena-monitor-operative.toml +0 -0
  906. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench-claude-opus.toml +0 -0
  907. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench-gemini-31-pro.toml +0 -0
  908. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench-gemma4-26b.toml +0 -0
  909. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench-gemma4-e4b.toml +0 -0
  910. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench-gpt54.toml +0 -0
  911. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench-kimi-k25.toml +0 -0
  912. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench-minimax-m25.toml +0 -0
  913. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench-nemotron-nano.toml +0 -0
  914. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench-nemotron-super.toml +0 -0
  915. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench-nemotron3-super.toml +0 -0
  916. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench-qwen-122b.toml +0 -0
  917. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench-qwen-27b.toml +0 -0
  918. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench-qwen-2b.toml +0 -0
  919. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench-qwen-35b.toml +0 -0
  920. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench-qwen-9b.toml +0 -0
  921. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench-qwen122b.toml +0 -0
  922. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench-qwen35b.toml +0 -0
  923. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench-qwen397b.toml +0 -0
  924. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/pinchbench.toml +0 -0
  925. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/qwen3.5-122b-kg-agentic.toml +0 -0
  926. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/qwen3.5-122b-kg-hightoken.toml +0 -0
  927. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/qwen3.5-122b-reasoning-suite.toml +0 -0
  928. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/qwen3.5-35b-kg.toml +0 -0
  929. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/qwen3.5-35b-monitor-operative.toml +0 -0
  930. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/qwen3.5-397b-monitor-operative.toml +0 -0
  931. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/single-run.toml +0 -0
  932. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/smoke_amd.toml +0 -0
  933. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/smoke_apple.toml +0 -0
  934. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/smoke_nvidia.toml +0 -0
  935. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-claude-opus.toml +0 -0
  936. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-gemini-31-pro.toml +0 -0
  937. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-gemma4-26b.toml +0 -0
  938. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-gemma4-e4b.toml +0 -0
  939. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-gpt54.toml +0 -0
  940. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-kimi-k25.toml +0 -0
  941. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-minimax-m25.toml +0 -0
  942. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-nemotron-nano.toml +0 -0
  943. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-nemotron-super.toml +0 -0
  944. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-nemotron3-super.toml +0 -0
  945. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-qwen-122b.toml +0 -0
  946. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-qwen-27b.toml +0 -0
  947. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-qwen-2b.toml +0 -0
  948. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-qwen-35b.toml +0 -0
  949. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-qwen-9b.toml +0 -0
  950. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-qwen122b.toml +0 -0
  951. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-qwen35b.toml +0 -0
  952. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-qwen397b.toml +0 -0
  953. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-telecom-claude.toml +0 -0
  954. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-telecom-gemma4-26b.toml +0 -0
  955. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-telecom-gpt54.toml +0 -0
  956. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-telecom-nemotron-nano.toml +0 -0
  957. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-telecom-nemotron-super.toml +0 -0
  958. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-telecom-nemotron.toml +0 -0
  959. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-telecom-qwen-122b.toml +0 -0
  960. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-telecom-qwen-27b.toml +0 -0
  961. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-telecom-qwen-35b.toml +0 -0
  962. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-telecom-qwen27b.toml +0 -0
  963. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-telecom-qwen2b.toml +0 -0
  964. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-telecom-qwen9b.toml +0 -0
  965. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/taubench-telecom-trinity-large.toml +0 -0
  966. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/terminalbench-native-qwen122b.toml +0 -0
  967. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/terminalbench-qwen122b.toml +0 -0
  968. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/toolcall15-claude-opus.toml +0 -0
  969. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/toolcall15-gemma4-26b.toml +0 -0
  970. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/toolcall15-gemma4-e4b.toml +0 -0
  971. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/toolcall15-kimi-k25.toml +0 -0
  972. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/toolcall15-minimax-m25.toml +0 -0
  973. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/toolcall15-nemotron-nano.toml +0 -0
  974. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/toolcall15-nemotron-super.toml +0 -0
  975. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/toolcall15-qwen-122b.toml +0 -0
  976. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/toolcall15-qwen-27b.toml +0 -0
  977. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/toolcall15-qwen-2b.toml +0 -0
  978. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/toolcall15-qwen-35b.toml +0 -0
  979. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/toolcall15-qwen-9b.toml +0 -0
  980. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/use_case_cloud_comparison.toml +0 -0
  981. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/use_case_cloud_openhands.toml +0 -0
  982. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/use_case_cloud_orchestrator.toml +0 -0
  983. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/use_case_direct.toml +0 -0
  984. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/use_case_ibm_granite.toml +0 -0
  985. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/use_case_openhands.toml +0 -0
  986. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/use_case_opensource_openhands.toml +0 -0
  987. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/use_case_opensource_orchestrator.toml +0 -0
  988. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/use_case_orchestrator.toml +0 -0
  989. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/use_case_react.toml +0 -0
  990. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/use_case_suite.toml +0 -0
  991. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/use_case_v2_cloud.toml +0 -0
  992. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/use_case_v2_granite.toml +0 -0
  993. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/use_case_v2_local.toml +0 -0
  994. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/configs/use_case_v2_suite.toml +0 -0
  995. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/core/__init__.py +0 -0
  996. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/core/agentic_runner.py +0 -0
  997. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/core/backend.py +0 -0
  998. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/core/config.py +0 -0
  999. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/core/dataset.py +0 -0
  1000. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/core/display.py +0 -0
  1001. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/core/environment.py +0 -0
  1002. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/core/event_recorder.py +0 -0
  1003. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/core/export.py +0 -0
  1004. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/core/pricing.py +0 -0
  1005. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/core/runner.py +0 -0
  1006. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/core/scorer.py +0 -0
  1007. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/core/splits.py +0 -0
  1008. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/core/trace.py +0 -0
  1009. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/core/tracker.py +0 -0
  1010. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/core/types.py +0 -0
  1011. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/__init__.py +0 -0
  1012. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/adp.py +0 -0
  1013. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/ama_bench.py +0 -0
  1014. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/browser_assistant.py +0 -0
  1015. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/coding_assistant.py +0 -0
  1016. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/coding_task.py +0 -0
  1017. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/daily_digest.py +0 -0
  1018. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/deepplanning.py +0 -0
  1019. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/doc_qa.py +0 -0
  1020. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/email_triage.py +0 -0
  1021. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/frames.py +0 -0
  1022. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/gaia.py +0 -0
  1023. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/generalthoughts.py +0 -0
  1024. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/gpqa.py +0 -0
  1025. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/hle.py +0 -0
  1026. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/ipw_mixed.py +0 -0
  1027. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/knowledge_base.py +0 -0
  1028. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/lifelong_agent.py +0 -0
  1029. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/livecodebench.py +0 -0
  1030. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/liveresearch.py +0 -0
  1031. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/liveresearchbench.py +0 -0
  1032. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/loghub.py +0 -0
  1033. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/math500.py +0 -0
  1034. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/mmlu_pro.py +0 -0
  1035. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/morning_brief.py +0 -0
  1036. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/natural_reasoning.py +0 -0
  1037. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/paperarena.py +0 -0
  1038. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/pinchbench.py +0 -0
  1039. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/research_mining.py +0 -0
  1040. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/security_scanner.py +0 -0
  1041. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/simpleqa.py +0 -0
  1042. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/supergpqa.py +0 -0
  1043. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/swebench.py +0 -0
  1044. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/swefficiency.py +0 -0
  1045. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/taubench.py +0 -0
  1046. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/terminalbench.py +0 -0
  1047. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/terminalbench_native.py +0 -0
  1048. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/terminalbench_v2_1.py +0 -0
  1049. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/toolcall15.py +0 -0
  1050. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/toolorchestra.py +0 -0
  1051. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/webchorearena.py +0 -0
  1052. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/wildchat.py +0 -0
  1053. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/datasets/workarena.py +0 -0
  1054. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/environments/__init__.py +0 -0
  1055. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/environments/base.py +0 -0
  1056. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/environments/lifelong_agent_env.py +0 -0
  1057. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/execution/__init__.py +0 -0
  1058. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/execution/pinchbench_env.py +0 -0
  1059. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/execution/taubench_env.py +0 -0
  1060. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/execution/terminalbench_env.py +0 -0
  1061. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/execution/terminalbench_v2_1_env.py +0 -0
  1062. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/execution/webchorearena_env.py +0 -0
  1063. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/execution/workarena_env.py +0 -0
  1064. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/__init__.py +0 -0
  1065. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/_checklist.py +0 -0
  1066. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/ama_bench_judge.py +0 -0
  1067. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/browser_assistant.py +0 -0
  1068. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/coding_assistant.py +0 -0
  1069. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/coding_task.py +0 -0
  1070. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/daily_digest.py +0 -0
  1071. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/deepplanning_scorer.py +0 -0
  1072. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/doc_qa.py +0 -0
  1073. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/email_triage.py +0 -0
  1074. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/frames_judge.py +0 -0
  1075. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/gaia_exact.py +0 -0
  1076. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/gpqa_mcq.py +0 -0
  1077. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/hle_judge.py +0 -0
  1078. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/ipw_mixed.py +0 -0
  1079. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/knowledge_base.py +0 -0
  1080. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/lifelong_agent_scorer.py +0 -0
  1081. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/livecodebench.py +0 -0
  1082. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/liveresearch.py +0 -0
  1083. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/liveresearchbench.py +0 -0
  1084. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/loghub_scorer.py +0 -0
  1085. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/mmlu_pro_mcq.py +0 -0
  1086. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/morning_brief.py +0 -0
  1087. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/paperarena_judge.py +0 -0
  1088. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/pinchbench.py +0 -0
  1089. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/reasoning_judge.py +0 -0
  1090. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/research_mining.py +0 -0
  1091. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/security_scanner.py +0 -0
  1092. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/simpleqa_judge.py +0 -0
  1093. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/supergpqa_mcq.py +0 -0
  1094. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/swebench_harness.py +0 -0
  1095. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/swebench_structural.py +0 -0
  1096. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/swefficiency_structural.py +0 -0
  1097. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/taubench.py +0 -0
  1098. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/terminalbench_judge.py +0 -0
  1099. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/terminalbench_native_structural.py +0 -0
  1100. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/terminalbench_v2_1.py +0 -0
  1101. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/toolcall15.py +0 -0
  1102. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/webchorearena_scorer.py +0 -0
  1103. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/wildchat_judge.py +0 -0
  1104. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/scorers/workarena_scorer.py +0 -0
  1105. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/skill_benchmark.py +0 -0
  1106. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/tests/__init__.py +0 -0
  1107. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/tests/conftest.py +0 -0
  1108. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/tests/test_backends.py +0 -0
  1109. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/tests/test_cli_endpoint.py +0 -0
  1110. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/tests/test_cli_flags.py +0 -0
  1111. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/tests/test_config.py +0 -0
  1112. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/tests/test_display.py +0 -0
  1113. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/tests/test_frames.py +0 -0
  1114. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/tests/test_gaia.py +0 -0
  1115. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/tests/test_runner.py +0 -0
  1116. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/tests/test_supergpqa.py +0 -0
  1117. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/tests/test_types.py +0 -0
  1118. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/tests/test_wildchat.py +0 -0
  1119. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/trackers/__init__.py +0 -0
  1120. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/trackers/sheets_tracker.py +0 -0
  1121. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/evals/trackers/wandb_tracker.py +0 -0
  1122. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/intelligence/__init__.py +0 -0
  1123. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/intelligence/model_catalog.py +0 -0
  1124. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/__init__.py +0 -0
  1125. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/_stubs.py +0 -0
  1126. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/agents/__init__.py +0 -0
  1127. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/agents/ace_optimizer.py +0 -0
  1128. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/agents/agent_evolver.py +0 -0
  1129. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/agents/dspy_optimizer.py +0 -0
  1130. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/agents/gepa_optimizer.py +0 -0
  1131. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/agents/skill_discovery.py +0 -0
  1132. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/agents/skill_optimizer.py +0 -0
  1133. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/intelligence/__init__.py +0 -0
  1134. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/intelligence/grpo_trainer.py +0 -0
  1135. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/intelligence/orchestrator/__init__.py +0 -0
  1136. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/intelligence/orchestrator/environment.py +0 -0
  1137. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/intelligence/orchestrator/grpo_trainer.py +0 -0
  1138. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/intelligence/orchestrator/policy_model.py +0 -0
  1139. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/intelligence/orchestrator/prompt_registry.py +0 -0
  1140. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/intelligence/orchestrator/reward.py +0 -0
  1141. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/intelligence/orchestrator/sft_trainer.py +0 -0
  1142. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/intelligence/orchestrator/types.py +0 -0
  1143. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/intelligence/sft_trainer.py +0 -0
  1144. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/learning_orchestrator.py +0 -0
  1145. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/optimize/__init__.py +0 -0
  1146. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/optimize/config.py +0 -0
  1147. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/optimize/configs/qwen3-235b-dry-run.toml +0 -0
  1148. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/optimize/configs/qwen3.5-joint-agentic.toml +0 -0
  1149. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/optimize/feedback/__init__.py +0 -0
  1150. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/optimize/feedback/collector.py +0 -0
  1151. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/optimize/feedback/judge.py +0 -0
  1152. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/optimize/llm_optimizer.py +0 -0
  1153. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/optimize/optimizer.py +0 -0
  1154. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/optimize/personal/__init__.py +0 -0
  1155. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/optimize/personal/dataset.py +0 -0
  1156. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/optimize/personal/scorer.py +0 -0
  1157. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/optimize/personal/synthesizer.py +0 -0
  1158. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/optimize/search_space.py +0 -0
  1159. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/optimize/store.py +0 -0
  1160. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/optimize/trial_runner.py +0 -0
  1161. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/optimize/types.py +0 -0
  1162. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/proving/__init__.py +0 -0
  1163. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/proving/adoption.py +0 -0
  1164. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/proving/pipeline.py +0 -0
  1165. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/proving/store.py +0 -0
  1166. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/proving/watcher.py +0 -0
  1167. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/routing/__init__.py +0 -0
  1168. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/routing/_utils.py +0 -0
  1169. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/routing/complexity.py +0 -0
  1170. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/routing/heuristic_policy.py +0 -0
  1171. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/routing/heuristic_reward.py +0 -0
  1172. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/routing/learned_router.py +0 -0
  1173. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/routing/router.py +0 -0
  1174. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/__init__.py +0 -0
  1175. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/checkpoint/__init__.py +0 -0
  1176. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/checkpoint/store.py +0 -0
  1177. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/composite_reward.py +0 -0
  1178. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/diagnose/__init__.py +0 -0
  1179. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/diagnose/runner.py +0 -0
  1180. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/diagnose/teacher_agent.py +0 -0
  1181. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/diagnose/tools.py +0 -0
  1182. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/diagnose/types.py +0 -0
  1183. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/execute/__init__.py +0 -0
  1184. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/execute/appliers/__init__.py +0 -0
  1185. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/execute/appliers/agent.py +0 -0
  1186. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/execute/appliers/intelligence.py +0 -0
  1187. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/execute/appliers/lora.py +0 -0
  1188. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/execute/appliers/lora_stub.py +0 -0
  1189. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/execute/appliers/tools.py +0 -0
  1190. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/execute/base.py +0 -0
  1191. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/execute/loop.py +0 -0
  1192. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/external_adapter.py +0 -0
  1193. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/gate/__init__.py +0 -0
  1194. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/gate/benchmark_gate.py +0 -0
  1195. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/gate/cold_start.py +0 -0
  1196. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/gate/regression.py +0 -0
  1197. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/models.py +0 -0
  1198. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/multi_session.py +0 -0
  1199. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/orchestrator.py +0 -0
  1200. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/pending_queue.py +0 -0
  1201. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/plan/__init__.py +0 -0
  1202. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/plan/planner.py +0 -0
  1203. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/plan/prompt_diff.py +0 -0
  1204. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/plan/risk_tier.py +0 -0
  1205. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/storage/__init__.py +0 -0
  1206. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/storage/paths.py +0 -0
  1207. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/storage/session_store.py +0 -0
  1208. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/student_runner.py +0 -0
  1209. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/spec_search/triggers.py +0 -0
  1210. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/training/__init__.py +0 -0
  1211. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/training/deploy.py +0 -0
  1212. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/learning/training/lora.py +0 -0
  1213. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mcp/__init__.py +0 -0
  1214. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mcp/client.py +0 -0
  1215. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mcp/loader.py +0 -0
  1216. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mcp/protocol.py +0 -0
  1217. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mcp/server.py +0 -0
  1218. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mcp/transport.py +0 -0
  1219. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/memory/__init__.py +0 -0
  1220. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/memory/wiki.py +0 -0
  1221. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mining/__init__.py +0 -0
  1222. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mining/_collector.py +0 -0
  1223. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mining/_constants.py +0 -0
  1224. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mining/_discovery.py +0 -0
  1225. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mining/_docker.py +0 -0
  1226. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mining/_install.py +0 -0
  1227. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mining/_metrics.py +0 -0
  1228. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mining/_miner_loop_main.py +0 -0
  1229. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mining/_models.py +0 -0
  1230. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mining/_mps_miner_loop_main.py +0 -0
  1231. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mining/_pearl_subprocess.py +0 -0
  1232. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mining/_stubs.py +0 -0
  1233. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mining/apple_mps_pearl.py +0 -0
  1234. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mining/cpu_pearl.py +0 -0
  1235. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mining/pools/__init__.py +0 -0
  1236. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/mining/vllm_pearl.py +0 -0
  1237. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/notifications/__init__.py +0 -0
  1238. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/notifications/notifier.py +0 -0
  1239. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/operators/__init__.py +0 -0
  1240. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/operators/data/knowledge_curator.toml +0 -0
  1241. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/operators/data/news_digest.toml +0 -0
  1242. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/operators/data/researcher.toml +0 -0
  1243. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/operators/data/system_monitor.toml +0 -0
  1244. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/operators/loader.py +0 -0
  1245. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/operators/manager.py +0 -0
  1246. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/operators/types.py +0 -0
  1247. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/prompt/__init__.py +0 -0
  1248. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/prompt/builder.py +0 -0
  1249. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/__init__.py +0 -0
  1250. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/composer.py +0 -0
  1251. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/coding_assistant.toml +0 -0
  1252. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/coding_benchmark.toml +0 -0
  1253. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/gaia_orchestrator.toml +0 -0
  1254. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/general_assistant.toml +0 -0
  1255. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/monitor_assistant.toml +0 -0
  1256. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/operators/correspondent.toml +0 -0
  1257. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/operators/correspondent_prompt.md +0 -0
  1258. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/operators/inbox_triage.toml +0 -0
  1259. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/operators/news_briefing.toml +0 -0
  1260. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/operators/nova_ai_twitter_bot.toml +0 -0
  1261. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/operators/nova_ai_twitter_bot_prompt.md +0 -0
  1262. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/operators/repo_watcher.toml +0 -0
  1263. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/operators/researcher.toml +0 -0
  1264. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/operators/researcher_prompt.md +0 -0
  1265. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/operators/sentinel.toml +0 -0
  1266. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/operators/sentinel_prompt.md +0 -0
  1267. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/operators/twitter_sentinel.toml +0 -0
  1268. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/research_assistant.toml +0 -0
  1269. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/swebench_openhands.toml +0 -0
  1270. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/data/terminalbench_react.toml +0 -0
  1271. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/recipes/loader.py +0 -0
  1272. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/sandbox/__init__.py +0 -0
  1273. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/sandbox/mount_security.py +0 -0
  1274. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/sandbox/runner.py +0 -0
  1275. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/sandbox/wasm_runner.py +0 -0
  1276. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/scheduler/__init__.py +0 -0
  1277. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/scheduler/store.py +0 -0
  1278. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/scheduler/tools.py +0 -0
  1279. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/sdk.py +0 -0
  1280. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/security/__init__.py +0 -0
  1281. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/security/_stubs.py +0 -0
  1282. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/security/audit.py +0 -0
  1283. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/security/boundary.py +0 -0
  1284. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/security/capabilities.py +0 -0
  1285. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/security/credential_stripper.py +0 -0
  1286. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/security/file_policy.py +0 -0
  1287. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/security/file_utils.py +0 -0
  1288. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/security/guardrails.py +0 -0
  1289. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/security/injection_scanner.py +0 -0
  1290. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/security/rate_limiter.py +0 -0
  1291. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/security/scanner.py +0 -0
  1292. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/security/severity_policy.py +0 -0
  1293. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/security/signing.py +0 -0
  1294. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/security/ssrf.py +0 -0
  1295. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/security/subprocess_sandbox.py +0 -0
  1296. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/security/taint.py +0 -0
  1297. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/security/types.py +0 -0
  1298. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/__init__.py +0 -0
  1299. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/agent_manager_routes.py +0 -0
  1300. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/analytics_routes.py +0 -0
  1301. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/api_routes.py +0 -0
  1302. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/approval_routes.py +0 -0
  1303. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/auth_middleware.py +0 -0
  1304. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/calendar_router.py +0 -0
  1305. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/channel_bridge.py +0 -0
  1306. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/chat_history_store.py +0 -0
  1307. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/clipboard_router.py +0 -0
  1308. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/cloud_router.py +0 -0
  1309. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/comparison.py +0 -0
  1310. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/connectors_router.py +0 -0
  1311. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/cost_calculator.py +0 -0
  1312. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/dashboard.py +0 -0
  1313. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/digest_routes.py +0 -0
  1314. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/email_router.py +0 -0
  1315. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/extension_router.py +0 -0
  1316. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/gguf_hub_router.py +0 -0
  1317. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/history_router.py +0 -0
  1318. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/integrations_router.py +0 -0
  1319. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/middleware.py +0 -0
  1320. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/mobile_pair_router.py +0 -0
  1321. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/model_compare_router.py +0 -0
  1322. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/model_hub_router.py +0 -0
  1323. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/models.py +0 -0
  1324. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/notification_router.py +0 -0
  1325. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/persona_router.py +0 -0
  1326. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/research_router.py +0 -0
  1327. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/routes.py +0 -0
  1328. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/savings.py +0 -0
  1329. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/search_router.py +0 -0
  1330. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/session_store.py +0 -0
  1331. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/stream_bridge.py +0 -0
  1332. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/tasks_api.py +0 -0
  1333. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/upload_router.py +0 -0
  1334. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/webhook_routes.py +0 -0
  1335. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/server/ws_bridge.py +0 -0
  1336. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/sessions/__init__.py +0 -0
  1337. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/sessions/compression.py +0 -0
  1338. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/sessions/session.py +0 -0
  1339. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/__init__.py +0 -0
  1340. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/backup-files.toml +0 -0
  1341. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/calendar-prep.toml +0 -0
  1342. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/code-lint.toml +0 -0
  1343. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/code-test-gen.toml +0 -0
  1344. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/compare-docs.toml +0 -0
  1345. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/daily-digest.toml +0 -0
  1346. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/data-analyze.toml +0 -0
  1347. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/dependency-audit.toml +0 -0
  1348. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/email-draft.toml +0 -0
  1349. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/file-deduplicator.toml +0 -0
  1350. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/file-organizer.toml +0 -0
  1351. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/knowledge-extract.toml +0 -0
  1352. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/meeting-notes.toml +0 -0
  1353. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/pdf-summarize.toml +0 -0
  1354. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/search-and-index.toml +0 -0
  1355. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/security-scan.toml +0 -0
  1356. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/todo-from-notes.toml +0 -0
  1357. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/topic-research.toml +0 -0
  1358. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/translate-doc.toml +0 -0
  1359. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/data/web-summarize.toml +0 -0
  1360. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/dependency.py +0 -0
  1361. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/executor.py +0 -0
  1362. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/importer.py +0 -0
  1363. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/index.py +0 -0
  1364. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/loader.py +0 -0
  1365. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/manager.py +0 -0
  1366. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/overlay.py +0 -0
  1367. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/parser.py +0 -0
  1368. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/security.py +0 -0
  1369. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/sources/__init__.py +0 -0
  1370. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/sources/base.py +0 -0
  1371. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/sources/github.py +0 -0
  1372. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/sources/hermes.py +0 -0
  1373. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/sources/openclaw.py +0 -0
  1374. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/tool_adapter.py +0 -0
  1375. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/tool_translator.py +0 -0
  1376. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/skills/types.py +0 -0
  1377. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/speech/__init__.py +0 -0
  1378. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/speech/_discovery.py +0 -0
  1379. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/speech/_stubs.py +0 -0
  1380. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/speech/cartesia_tts.py +0 -0
  1381. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/speech/deepgram.py +0 -0
  1382. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/speech/faster_whisper.py +0 -0
  1383. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/speech/kokoro_tts.py +0 -0
  1384. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/speech/openai_tts.py +0 -0
  1385. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/speech/openai_whisper.py +0 -0
  1386. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/speech/tts.py +0 -0
  1387. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/system/__init__.py +0 -0
  1388. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/system/_channel_kwargs.py +0 -0
  1389. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/system/builder.py +0 -0
  1390. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/system/bundles.py +0 -0
  1391. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/system/core.py +0 -0
  1392. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/system/protocols.py +0 -0
  1393. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/__init__.py +0 -0
  1394. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/aggregator.py +0 -0
  1395. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/batch.py +0 -0
  1396. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/efficiency.py +0 -0
  1397. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/energy_amd.py +0 -0
  1398. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/energy_apple.py +0 -0
  1399. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/energy_monitor.py +0 -0
  1400. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/energy_nvidia.py +0 -0
  1401. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/energy_rapl.py +0 -0
  1402. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/flops.py +0 -0
  1403. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/gpu_monitor.py +0 -0
  1404. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/instrumented_engine.py +0 -0
  1405. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/itl.py +0 -0
  1406. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/phase_metrics.py +0 -0
  1407. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/session.py +0 -0
  1408. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/steady_state.py +0 -0
  1409. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/store.py +0 -0
  1410. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/vllm_metrics.py +0 -0
  1411. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/telemetry/wrapper.py +0 -0
  1412. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/templates/__init__.py +0 -0
  1413. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/templates/agent_templates.py +0 -0
  1414. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/templates/data/architect.toml +0 -0
  1415. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/templates/data/assistant.toml +0 -0
  1416. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/templates/data/code-reviewer.toml +0 -0
  1417. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/templates/data/data-analyst.toml +0 -0
  1418. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/templates/data/debugger.toml +0 -0
  1419. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/templates/data/deep-researcher.toml +0 -0
  1420. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/templates/data/fact-checker.toml +0 -0
  1421. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/templates/data/inbox-triager.toml +0 -0
  1422. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/templates/data/meeting-prep.toml +0 -0
  1423. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/templates/data/monitor.toml +0 -0
  1424. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/templates/data/note-taker.toml +0 -0
  1425. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/templates/data/security-auditor.toml +0 -0
  1426. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/templates/data/summarizer.toml +0 -0
  1427. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/templates/data/translator.toml +0 -0
  1428. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/templates/data/tutor.toml +0 -0
  1429. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/templates/data/writer.toml +0 -0
  1430. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/__init__.py +0 -0
  1431. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/_stubs.py +0 -0
  1432. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/agent_tools.py +0 -0
  1433. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/api_tester.py +0 -0
  1434. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/apply_patch.py +0 -0
  1435. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/approval_store.py +0 -0
  1436. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/audio_tool.py +0 -0
  1437. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/browser.py +0 -0
  1438. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/browser_axtree.py +0 -0
  1439. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/calculator.py +0 -0
  1440. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/canvas_tool.py +0 -0
  1441. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/channel_tools.py +0 -0
  1442. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/cisco_packet_tracer.py +0 -0
  1443. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/cli_bridge.py +0 -0
  1444. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/clipboard_ai.py +0 -0
  1445. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/code_interpreter.py +0 -0
  1446. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/code_interpreter_docker.py +0 -0
  1447. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/code_scaffolder.py +0 -0
  1448. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/data_analyzer.py +0 -0
  1449. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/db_query.py +0 -0
  1450. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/description_loader.py +0 -0
  1451. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/digest_collect.py +0 -0
  1452. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/doc_generator.py +0 -0
  1453. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/docker_shell_exec.py +0 -0
  1454. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/file_converter.py +0 -0
  1455. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/file_read.py +0 -0
  1456. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/file_write.py +0 -0
  1457. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/git_manager.py +0 -0
  1458. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/git_tool.py +0 -0
  1459. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/http_request.py +0 -0
  1460. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/image_tool.py +0 -0
  1461. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/knowledge_search.py +0 -0
  1462. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/knowledge_sql.py +0 -0
  1463. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/knowledge_tools.py +0 -0
  1464. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/llm_tool.py +0 -0
  1465. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/mcp_adapter.py +0 -0
  1466. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/memory_manage.py +0 -0
  1467. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/memory_wiki_tools.py +0 -0
  1468. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/pdf_tool.py +0 -0
  1469. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/proactive_tools.py +0 -0
  1470. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/repl.py +0 -0
  1471. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/retrieval.py +0 -0
  1472. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/scan_chunks.py +0 -0
  1473. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/scheduler_tool.py +0 -0
  1474. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/screen_capture.py +0 -0
  1475. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/screen_monitor.py +0 -0
  1476. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/shell_exec.py +0 -0
  1477. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/skill_manage.py +0 -0
  1478. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/storage/__init__.py +0 -0
  1479. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/storage/_stubs.py +0 -0
  1480. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/storage/bm25.py +0 -0
  1481. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/storage/chunking.py +0 -0
  1482. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/storage/colbert_backend.py +0 -0
  1483. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/storage/context.py +0 -0
  1484. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/storage/dense.py +0 -0
  1485. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/storage/embeddings.py +0 -0
  1486. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/storage/faiss_backend.py +0 -0
  1487. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/storage/hybrid.py +0 -0
  1488. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/storage/ingest.py +0 -0
  1489. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/storage/knowledge_graph.py +0 -0
  1490. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/storage/sqlite.py +0 -0
  1491. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/storage_tools.py +0 -0
  1492. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/system_monitor.py +0 -0
  1493. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/templates/__init__.py +0 -0
  1494. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/templates/builtin/base64_encode.toml +0 -0
  1495. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/templates/builtin/date_info.toml +0 -0
  1496. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/templates/builtin/hash_compute.toml +0 -0
  1497. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/templates/builtin/json_transform.toml +0 -0
  1498. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/templates/builtin/regex_extract.toml +0 -0
  1499. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/templates/builtin/text_length.toml +0 -0
  1500. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/templates/builtin/text_lower.toml +0 -0
  1501. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/templates/builtin/text_reverse.toml +0 -0
  1502. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/templates/builtin/text_upper.toml +0 -0
  1503. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/templates/builtin/unit_convert.toml +0 -0
  1504. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/templates/loader.py +0 -0
  1505. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/text_to_speech.py +0 -0
  1506. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/think.py +0 -0
  1507. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/user_profile_manage.py +0 -0
  1508. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/web_readability.py +0 -0
  1509. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/tools/web_search.py +0 -0
  1510. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/traces/__init__.py +0 -0
  1511. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/traces/analyzer.py +0 -0
  1512. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/traces/collector.py +0 -0
  1513. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/traces/store.py +0 -0
  1514. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/voice/__init__.py +0 -0
  1515. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/voice/audio_io.py +0 -0
  1516. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/voice/session.py +0 -0
  1517. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/workflow/__init__.py +0 -0
  1518. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/workflow/builder.py +0 -0
  1519. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/workflow/engine.py +0 -0
  1520. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/workflow/graph.py +0 -0
  1521. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/workflow/loader.py +0 -0
  1522. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/src/nova_ai/workflow/types.py +0 -0
  1523. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/start.bat +0 -0
  1524. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/start.sh +0 -0
  1525. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/__init__.py +0 -0
  1526. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/a2a/test_a2a.py +0 -0
  1527. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/a2a/test_a2a_auth.py +0 -0
  1528. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/__init__.py +0 -0
  1529. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/conftest.py +0 -0
  1530. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/fake_engine.py +0 -0
  1531. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/scenario_harness.py +0 -0
  1532. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_agent_lifecycle_scenarios.py +0 -0
  1533. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_agent_routing_matrix.py +0 -0
  1534. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_base_agent.py +0 -0
  1535. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_budget.py +0 -0
  1536. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_channel_agent.py +0 -0
  1537. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_channel_agent_integration.py +0 -0
  1538. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_claude_code.py +0 -0
  1539. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_config_defaults.py +0 -0
  1540. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_continuation.py +0 -0
  1541. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_deep_research.py +0 -0
  1542. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_deep_research_integration.py +0 -0
  1543. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_deep_research_prompt.py +0 -0
  1544. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_digest_store.py +0 -0
  1545. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_errors.py +0 -0
  1546. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_executor.py +0 -0
  1547. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_executor_ephemeral.py +0 -0
  1548. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_executor_error_detail.py +0 -0
  1549. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_executor_tools.py +0 -0
  1550. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_fake_engine.py +0 -0
  1551. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_learning_integration.py +0 -0
  1552. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_loop_guard.py +0 -0
  1553. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_loop_guard_warn.py +0 -0
  1554. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_manager.py +0 -0
  1555. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_manager_recover.py +0 -0
  1556. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_monitor_operative.py +0 -0
  1557. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_morning_digest.py +0 -0
  1558. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_native_openhands.py +0 -0
  1559. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_native_react.py +0 -0
  1560. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_opencode_agent.py +0 -0
  1561. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_openhands.py +0 -0
  1562. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_orchestrator.py +0 -0
  1563. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_persona_persistent.py +0 -0
  1564. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_research_loop.py +0 -0
  1565. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_rlm.py +0 -0
  1566. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_rlm_repl.py +0 -0
  1567. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_scenario_harness_smoke.py +0 -0
  1568. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_scheduler.py +0 -0
  1569. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_simple.py +0 -0
  1570. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_stall.py +0 -0
  1571. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_suggest_action.py +0 -0
  1572. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_system_prompt_builder_integration.py +0 -0
  1573. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_template_prompts.py +0 -0
  1574. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/agents/test_trace_recording.py +0 -0
  1575. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/analytics/__init__.py +0 -0
  1576. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/analytics/test_redaction.py +0 -0
  1577. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/bench/__init__.py +0 -0
  1578. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/bench/test_bench_stats.py +0 -0
  1579. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/bench/test_energy.py +0 -0
  1580. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/bench/test_latency.py +0 -0
  1581. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/bench/test_stubs.py +0 -0
  1582. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/bench/test_throughput.py +0 -0
  1583. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/__init__.py +0 -0
  1584. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/channel_test_helpers.py +0 -0
  1585. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/conftest.py +0 -0
  1586. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_agent_channel_e2e.py +0 -0
  1587. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_bluebubbles.py +0 -0
  1588. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_channel_config.py +0 -0
  1589. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_channel_contract.py +0 -0
  1590. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_channel_registry.py +0 -0
  1591. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_channels_phase21.py +0 -0
  1592. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_config.py +0 -0
  1593. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_discord_channel.py +0 -0
  1594. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_email_channel.py +0 -0
  1595. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_feishu.py +0 -0
  1596. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_google_chat.py +0 -0
  1597. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_imessage_daemon.py +0 -0
  1598. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_irc_channel.py +0 -0
  1599. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_matrix_channel.py +0 -0
  1600. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_mattermost.py +0 -0
  1601. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_sendblue.py +0 -0
  1602. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_signal_channel.py +0 -0
  1603. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_slack.py +0 -0
  1604. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_slack_blocks.py +0 -0
  1605. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_slack_messaging.py +0 -0
  1606. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_stubs.py +0 -0
  1607. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_teams.py +0 -0
  1608. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_telegram.py +0 -0
  1609. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_tier1_gmail.py +0 -0
  1610. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_twilio_sms.py +0 -0
  1611. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_twitter_bot_e2e.py +0 -0
  1612. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_twitter_channel.py +0 -0
  1613. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_webchat.py +0 -0
  1614. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_webhook.py +0 -0
  1615. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_whatsapp.py +0 -0
  1616. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/channels/test_whatsapp_baileys.py +0 -0
  1617. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/__init__.py +0 -0
  1618. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_add_cmd.py +0 -0
  1619. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_agent_cmd.py +0 -0
  1620. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_ask_agent.py +0 -0
  1621. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_ask_context.py +0 -0
  1622. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_ask_e2e.py +0 -0
  1623. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_ask_router.py +0 -0
  1624. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_ask_vision.py +0 -0
  1625. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_bench_cmd.py +0 -0
  1626. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_bench_skills_command.py +0 -0
  1627. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_channel_cmd.py +0 -0
  1628. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_chat_cmd.py +0 -0
  1629. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_cli.py +0 -0
  1630. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_config_cmd.py +0 -0
  1631. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_config_set.py +0 -0
  1632. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_connect.py +0 -0
  1633. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_daemon_cmd.py +0 -0
  1634. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_dashboard.py +0 -0
  1635. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_deep_research_setup.py +0 -0
  1636. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_digest_cmd.py +0 -0
  1637. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_doctor_cmd.py +0 -0
  1638. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_doctor_labels.py +0 -0
  1639. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_eval_cmd.py +0 -0
  1640. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_eval_cmd_external_flags.py +0 -0
  1641. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_hints.py +0 -0
  1642. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_init_guidance.py +0 -0
  1643. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_init_host.py +0 -0
  1644. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_install_detect.py +0 -0
  1645. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_integrations_cmd.py +0 -0
  1646. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_log_config.py +0 -0
  1647. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_memory_cmd.py +0 -0
  1648. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_mine_cmd.py +0 -0
  1649. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_model_cmd.py +0 -0
  1650. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_model_pull.py +0 -0
  1651. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_operators_cmd.py +0 -0
  1652. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_optimize_skills_command.py +0 -0
  1653. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_pearl_cmd.py +0 -0
  1654. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_prove_cmd.py +0 -0
  1655. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_quickstart.py +0 -0
  1656. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_registry_cmd.py +0 -0
  1657. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_scan.py +0 -0
  1658. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_self_update.py +0 -0
  1659. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_serve_channel_wiring.py +0 -0
  1660. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_serve_model_resolution.py +0 -0
  1661. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_serve_single_build.py +0 -0
  1662. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_skill_cmd.py +0 -0
  1663. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_telemetry_cmd.py +0 -0
  1664. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_tool_cmd.py +0 -0
  1665. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_train_cmd.py +0 -0
  1666. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_vault_cmd.py +0 -0
  1667. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_version_check.py +0 -0
  1668. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/cli/test_workflow_cmd.py +0 -0
  1669. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/conftest.py +0 -0
  1670. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/__init__.py +0 -0
  1671. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_apple_contacts.py +0 -0
  1672. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_apple_health.py +0 -0
  1673. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_apple_music.py +0 -0
  1674. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_apple_notes.py +0 -0
  1675. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_attachment_store.py +0 -0
  1676. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_chunker.py +0 -0
  1677. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_connector_health.py +0 -0
  1678. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_connectors_router_oauth.py +0 -0
  1679. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_dropbox.py +0 -0
  1680. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_embedding_store.py +0 -0
  1681. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_gcalendar.py +0 -0
  1682. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_gcontacts.py +0 -0
  1683. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_gdrive.py +0 -0
  1684. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_github_notifications.py +0 -0
  1685. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_gmail.py +0 -0
  1686. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_google_tasks.py +0 -0
  1687. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_granola.py +0 -0
  1688. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_hackernews.py +0 -0
  1689. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_imessage.py +0 -0
  1690. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_incremental_sync.py +0 -0
  1691. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_integration.py +0 -0
  1692. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_live_smoke.py +0 -0
  1693. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_new_connectors_live.py +0 -0
  1694. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_news_rss.py +0 -0
  1695. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_notion.py +0 -0
  1696. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_oauth_flow.py +0 -0
  1697. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_obsidian.py +0 -0
  1698. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_oura.py +0 -0
  1699. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_outlook.py +0 -0
  1700. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_pipeline.py +0 -0
  1701. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_pipeline_attachments.py +0 -0
  1702. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_retriever.py +0 -0
  1703. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_scheduler.py +0 -0
  1704. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_slack_connector.py +0 -0
  1705. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_spotify.py +0 -0
  1706. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_store.py +0 -0
  1707. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_strava.py +0 -0
  1708. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_stubs.py +0 -0
  1709. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_sync_engine.py +0 -0
  1710. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_weather.py +0 -0
  1711. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/connectors/test_whatsapp.py +0 -0
  1712. {nova_ai_pro-1.2.3.dev78/tests/core → nova_ai_pro-1.2.3.dev85/tests/conversations}/__init__.py +0 -0
  1713. {nova_ai_pro-1.2.3.dev78/tests/daemon → nova_ai_pro-1.2.3.dev85/tests/core}/__init__.py +0 -0
  1714. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/core/test_config.py +0 -0
  1715. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/core/test_config_key_validation.py +0 -0
  1716. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/core/test_config_paths.py +0 -0
  1717. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/core/test_config_phase3.py +0 -0
  1718. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/core/test_config_phase4.py +0 -0
  1719. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/core/test_config_phase5.py +0 -0
  1720. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/core/test_config_skills_sources.py +0 -0
  1721. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/core/test_credentials.py +0 -0
  1722. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/core/test_events.py +0 -0
  1723. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/core/test_intent_routing.py +0 -0
  1724. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/core/test_preset_configs.py +0 -0
  1725. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/core/test_recommend_model.py +0 -0
  1726. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/core/test_registry.py +0 -0
  1727. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/core/test_rust_bridge.py +0 -0
  1728. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/core/test_skills_learning_config.py +0 -0
  1729. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/core/test_types.py +0 -0
  1730. {nova_ai_pro-1.2.3.dev78/tests/deploy → nova_ai_pro-1.2.3.dev85/tests/daemon}/__init__.py +0 -0
  1731. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/daemon/test_gateway.py +0 -0
  1732. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/daemon/test_session_expiry.py +0 -0
  1733. {nova_ai_pro-1.2.3.dev78/tests/engine → nova_ai_pro-1.2.3.dev85/tests/deploy}/__init__.py +0 -0
  1734. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/deploy/test_deploy_auth.py +0 -0
  1735. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/deployment/test_docker.py +0 -0
  1736. {nova_ai_pro-1.2.3.dev78/tests/evals → nova_ai_pro-1.2.3.dev85/tests/engine}/__init__.py +0 -0
  1737. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_apple_fm_shim.py +0 -0
  1738. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_auto_routing.py +0 -0
  1739. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_cache_breakpoint.py +0 -0
  1740. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_cloud.py +0 -0
  1741. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_cloud_extended.py +0 -0
  1742. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_cloud_minimax.py +0 -0
  1743. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_cloud_stream_full.py +0 -0
  1744. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_discovery.py +0 -0
  1745. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_engine_model_matrix.py +0 -0
  1746. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_engine_wrappers.py +0 -0
  1747. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_gemma_cpp.py +0 -0
  1748. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_lemonade.py +0 -0
  1749. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_litellm.py +0 -0
  1750. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_llamacpp_models.py +0 -0
  1751. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_lmstudio.py +0 -0
  1752. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_mlx.py +0 -0
  1753. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_ollama.py +0 -0
  1754. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_ollama_models.py +0 -0
  1755. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_openai_compat.py +0 -0
  1756. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_openai_compat_api_key.py +0 -0
  1757. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_openai_compat_tools.py +0 -0
  1758. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_router.py +0 -0
  1759. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_router_learning.py +0 -0
  1760. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_stream_full.py +0 -0
  1761. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_structured_output.py +0 -0
  1762. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/engine/test_vllm_models.py +0 -0
  1763. {nova_ai_pro-1.2.3.dev78/tests/evals/core → nova_ai_pro-1.2.3.dev85/tests/evals}/__init__.py +0 -0
  1764. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/comparison/__init__.py +0 -0
  1765. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/comparison/test_cli_backend_dispatch.py +0 -0
  1766. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/comparison/test_export_to_table_gen_roundtrip.py +0 -0
  1767. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/comparison/test_hermes_backend.py +0 -0
  1768. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/comparison/test_live_external.py +0 -0
  1769. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/comparison/test_make_configs.py +0 -0
  1770. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/comparison/test_openclaw_backend.py +0 -0
  1771. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/comparison/test_openclaw_runner_contract.py +0 -0
  1772. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/comparison/test_runner_error_path_framework.py +0 -0
  1773. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/comparison/test_subprocess_runner.py +0 -0
  1774. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/comparison/test_table_gen.py +0 -0
  1775. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/comparison/test_third_party.py +0 -0
  1776. {nova_ai_pro-1.2.3.dev78/tests/evals/datasets → nova_ai_pro-1.2.3.dev85/tests/evals/core}/__init__.py +0 -0
  1777. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/core/test_config_split_parsing.py +0 -0
  1778. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/core/test_config_timeouts.py +0 -0
  1779. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/core/test_splits.py +0 -0
  1780. {nova_ai_pro-1.2.3.dev78/tests/evals/scorers → nova_ai_pro-1.2.3.dev85/tests/evals/datasets}/__init__.py +0 -0
  1781. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/datasets/test_browser_assistant.py +0 -0
  1782. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/datasets/test_coding_assistant.py +0 -0
  1783. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/datasets/test_daily_digest.py +0 -0
  1784. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/datasets/test_doc_qa.py +0 -0
  1785. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/datasets/test_external_agent_datasets.py +0 -0
  1786. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/datasets/test_security_scanner.py +0 -0
  1787. {nova_ai_pro-1.2.3.dev78/tests/hardware → nova_ai_pro-1.2.3.dev85/tests/evals/scorers}/__init__.py +0 -0
  1788. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/scorers/test_browser_assistant.py +0 -0
  1789. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/scorers/test_checklist.py +0 -0
  1790. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/scorers/test_coding_assistant.py +0 -0
  1791. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/scorers/test_daily_digest.py +0 -0
  1792. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/scorers/test_doc_qa.py +0 -0
  1793. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/scorers/test_liveresearch_continuous.py +0 -0
  1794. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/scorers/test_security_scanner.py +0 -0
  1795. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_agentic_runner.py +0 -0
  1796. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_ama_bench.py +0 -0
  1797. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_benchmark_datasets.py +0 -0
  1798. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_dataset_splits_integration.py +0 -0
  1799. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_deepplanning.py +0 -0
  1800. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_display.py +0 -0
  1801. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_environment_provider.py +0 -0
  1802. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_episode_mode.py +0 -0
  1803. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_eval_telemetry_wiring.py +0 -0
  1804. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_eval_trace.py +0 -0
  1805. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_event_recorder.py +0 -0
  1806. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_export.py +0 -0
  1807. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_lifelong_agent.py +0 -0
  1808. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_loghub.py +0 -0
  1809. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_nova_agent_backend_fields.py +0 -0
  1810. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_nova_agent_backend_skills.py +0 -0
  1811. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_nova_direct_backend_fields.py +0 -0
  1812. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_paperarena.py +0 -0
  1813. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_pinchbench_dataset.py +0 -0
  1814. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_pinchbench_grading.py +0 -0
  1815. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_pinchbench_integration.py +0 -0
  1816. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_pinchbench_transcript.py +0 -0
  1817. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_pricing.py +0 -0
  1818. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_skill_benchmark.py +0 -0
  1819. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_terminalbench_env.py +0 -0
  1820. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_terminalbench_native_backend.py +0 -0
  1821. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_trackers.py +0 -0
  1822. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/evals/test_use_case_benchmarks.py +0 -0
  1823. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/fixtures/docs/channels.md +0 -0
  1824. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/fixtures/docs/engines.md +0 -0
  1825. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/fixtures/docs/hardware.md +0 -0
  1826. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/fixtures/docs/memory.md +0 -0
  1827. {nova_ai_pro-1.2.3.dev78/tests/install → nova_ai_pro-1.2.3.dev85/tests/hardware}/__init__.py +0 -0
  1828. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/hardware/test_amd.py +0 -0
  1829. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/hardware/test_apple.py +0 -0
  1830. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/hardware/test_hardware_profiles.py +0 -0
  1831. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/hardware/test_nvidia.py +0 -0
  1832. {nova_ai_pro-1.2.3.dev78/tests/intelligence → nova_ai_pro-1.2.3.dev85/tests/install}/__init__.py +0 -0
  1833. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/bash/stubs/cargo +0 -0
  1834. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/bash/stubs/curl +0 -0
  1835. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/bash/stubs/git +0 -0
  1836. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/bash/stubs/ollama +0 -0
  1837. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/bash/stubs/ollama-mock +0 -0
  1838. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/bash/stubs/rustup +0 -0
  1839. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/bash/stubs/uv +0 -0
  1840. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/bash/test_bg_orchestrator.bats +0 -0
  1841. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/bash/test_build_extension.bats +0 -0
  1842. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/bash/test_install.bats +0 -0
  1843. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/bash/test_install_rust.bats +0 -0
  1844. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/bash/test_pull_model.bats +0 -0
  1845. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/cases/README.md +0 -0
  1846. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/cases/missing-git.md +0 -0
  1847. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/cases/run-as-root.md +0 -0
  1848. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/conftest.py +0 -0
  1849. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/test_bg_state.py +0 -0
  1850. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/test_bootstrap_cli.py +0 -0
  1851. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/test_bootstrap_config.py +0 -0
  1852. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/test_bootstrap_keys.py +0 -0
  1853. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/test_chat_banner.py +0 -0
  1854. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/test_chat_notifications.py +0 -0
  1855. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/test_doctor_bg.py +0 -0
  1856. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/test_first_run.py +0 -0
  1857. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/test_fixture_smoke.py +0 -0
  1858. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/install/test_init_cloud_detect.py +0 -0
  1859. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/integration/test_agent_manager_e2e.py +0 -0
  1860. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/integration/test_integration.py +0 -0
  1861. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/integration/test_integration_extended.py +0 -0
  1862. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/integration/test_minimax_cloud.py +0 -0
  1863. {nova_ai_pro-1.2.3.dev78/tests/learning → nova_ai_pro-1.2.3.dev85/tests/intelligence}/__init__.py +0 -0
  1864. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/intelligence/test_model_catalog.py +0 -0
  1865. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/intelligence/test_model_catalog_extended.py +0 -0
  1866. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/intelligence/test_router.py +0 -0
  1867. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/intelligence/test_routing_models.py +0 -0
  1868. {nova_ai_pro-1.2.3.dev78/tests/learning/agents → nova_ai_pro-1.2.3.dev85/tests/learning}/__init__.py +0 -0
  1869. {nova_ai_pro-1.2.3.dev78/tests/learning/intelligence → nova_ai_pro-1.2.3.dev85/tests/learning/agents}/__init__.py +0 -0
  1870. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/agents/test_ace_optimizer.py +0 -0
  1871. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/agents/test_dspy_optimizer.py +0 -0
  1872. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/agents/test_gepa_optimizer.py +0 -0
  1873. {nova_ai_pro-1.2.3.dev78/tests/learning/proving → nova_ai_pro-1.2.3.dev85/tests/learning/intelligence}/__init__.py +0 -0
  1874. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/intelligence/test_grpo_trainer.py +0 -0
  1875. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/intelligence/test_sft_trainer.py +0 -0
  1876. {nova_ai_pro-1.2.3.dev78/tests/learning/routing → nova_ai_pro-1.2.3.dev85/tests/learning/proving}/__init__.py +0 -0
  1877. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/proving/test_adoption.py +0 -0
  1878. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/proving/test_pipeline.py +0 -0
  1879. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/proving/test_router_adoption.py +0 -0
  1880. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/proving/test_store.py +0 -0
  1881. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/proving/test_watcher.py +0 -0
  1882. {nova_ai_pro-1.2.3.dev78/tests/learning/training → nova_ai_pro-1.2.3.dev85/tests/learning/routing}/__init__.py +0 -0
  1883. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/routing/test_complexity.py +0 -0
  1884. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/routing/test_learned_router.py +0 -0
  1885. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/routing/test_utils.py +0 -0
  1886. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/__init__.py +0 -0
  1887. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_applier_base.py +0 -0
  1888. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_applier_lora.py +0 -0
  1889. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_applier_lora_stub.py +0 -0
  1890. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_appliers_agent.py +0 -0
  1891. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_appliers_intelligence.py +0 -0
  1892. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_appliers_tools.py +0 -0
  1893. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_benchmark_gate.py +0 -0
  1894. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_checkpoint_store.py +0 -0
  1895. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_cold_start.py +0 -0
  1896. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_composite_reward.py +0 -0
  1897. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_diagnose_tools.py +0 -0
  1898. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_diagnose_types.py +0 -0
  1899. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_diagnosis_runner.py +0 -0
  1900. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_execution_loop.py +0 -0
  1901. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_external_adapter.py +0 -0
  1902. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_live_integration.py +0 -0
  1903. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_models.py +0 -0
  1904. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_multi_session.py +0 -0
  1905. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_orchestrator.py +0 -0
  1906. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_paths.py +0 -0
  1907. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_pending_queue.py +0 -0
  1908. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_planner.py +0 -0
  1909. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_prompt_diff.py +0 -0
  1910. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_regression.py +0 -0
  1911. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_risk_tier.py +0 -0
  1912. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_rollback.py +0 -0
  1913. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_session_store.py +0 -0
  1914. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_teacher_agent.py +0 -0
  1915. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/spec_search/test_triggers.py +0 -0
  1916. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_agent_evolver.py +0 -0
  1917. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_device_selection.py +0 -0
  1918. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_feedback_collector.py +0 -0
  1919. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_heuristic_policy.py +0 -0
  1920. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_heuristic_reward.py +0 -0
  1921. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_learning_api.py +0 -0
  1922. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_learning_orchestrator.py +0 -0
  1923. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_learning_taxonomy.py +0 -0
  1924. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_llm_optimizer.py +0 -0
  1925. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_multi_bench_runner.py +0 -0
  1926. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_optimize_cmd.py +0 -0
  1927. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_optimize_store.py +0 -0
  1928. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_optimize_types.py +0 -0
  1929. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_optimizer_engine.py +0 -0
  1930. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_orchestrator_skill_optimization.py +0 -0
  1931. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_pareto.py +0 -0
  1932. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_personal_synthesizer.py +0 -0
  1933. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_router.py +0 -0
  1934. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_router_stubs.py +0 -0
  1935. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_routing_models.py +0 -0
  1936. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_search_space.py +0 -0
  1937. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_skill_discovery.py +0 -0
  1938. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_skill_optimizer.py +0 -0
  1939. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_stubs.py +0 -0
  1940. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_system_learning.py +0 -0
  1941. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_trace_judge.py +0 -0
  1942. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/test_trial_runner.py +0 -0
  1943. {nova_ai_pro-1.2.3.dev78/tests/mcp → nova_ai_pro-1.2.3.dev85/tests/learning/training}/__init__.py +0 -0
  1944. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/training/test_data.py +0 -0
  1945. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/training/test_deploy.py +0 -0
  1946. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/training/test_lora.py +0 -0
  1947. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/training/test_store.py +0 -0
  1948. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/learning/training/test_triggers.py +0 -0
  1949. {nova_ai_pro-1.2.3.dev78/tests/memory → nova_ai_pro-1.2.3.dev85/tests/mcp}/__init__.py +0 -0
  1950. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mcp/test_client.py +0 -0
  1951. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mcp/test_client_extended.py +0 -0
  1952. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mcp/test_discovery.py +0 -0
  1953. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mcp/test_loader.py +0 -0
  1954. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mcp/test_mcp_tools_matrix.py +0 -0
  1955. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mcp/test_protocol.py +0 -0
  1956. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mcp/test_server.py +0 -0
  1957. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mcp/test_server_upgrade.py +0 -0
  1958. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mcp/test_streamable_http_transport.py +0 -0
  1959. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mcp/test_transport.py +0 -0
  1960. {nova_ai_pro-1.2.3.dev78/tests/mining → nova_ai_pro-1.2.3.dev85/tests/memory}/__init__.py +0 -0
  1961. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/memory/test_bm25.py +0 -0
  1962. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/memory/test_chunking.py +0 -0
  1963. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/memory/test_colbert.py +0 -0
  1964. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/memory/test_context.py +0 -0
  1965. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/memory/test_embeddings.py +0 -0
  1966. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/memory/test_faiss.py +0 -0
  1967. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/memory/test_hybrid.py +0 -0
  1968. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/memory/test_ingest.py +0 -0
  1969. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/memory/test_retrieval_quality.py +0 -0
  1970. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/memory/test_sqlite.py +0 -0
  1971. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/memory/test_storage_suite.py +0 -0
  1972. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/memory/test_wiki.py +0 -0
  1973. {nova_ai_pro-1.2.3.dev78/tests/operators → nova_ai_pro-1.2.3.dev85/tests/mining}/__init__.py +0 -0
  1974. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mining/conftest.py +0 -0
  1975. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mining/fixtures/README.md +0 -0
  1976. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mining/fixtures/config_minimal.toml +0 -0
  1977. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mining/fixtures/config_pool_v2.toml +0 -0
  1978. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mining/fixtures/gateway_metrics_sample.txt +0 -0
  1979. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mining/test_apple_mps_pearl.py +0 -0
  1980. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mining/test_cli.py +0 -0
  1981. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mining/test_collector.py +0 -0
  1982. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mining/test_cpu_pearl.py +0 -0
  1983. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mining/test_discovery.py +0 -0
  1984. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mining/test_docker.py +0 -0
  1985. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mining/test_install.py +0 -0
  1986. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mining/test_metrics.py +0 -0
  1987. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mining/test_miner_loop.py +0 -0
  1988. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mining/test_pearl_subprocess.py +0 -0
  1989. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mining/test_stubs.py +0 -0
  1990. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/mining/test_vllm_pearl.py +0 -0
  1991. {nova_ai_pro-1.2.3.dev78/tests/prompt → nova_ai_pro-1.2.3.dev85/tests/operators}/__init__.py +0 -0
  1992. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/operators/test_operator_recipes.py +0 -0
  1993. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/operators/test_operators.py +0 -0
  1994. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/pearl/test_model_converter.py +0 -0
  1995. {nova_ai_pro-1.2.3.dev78/tests/recipes → nova_ai_pro-1.2.3.dev85/tests/prompt}/__init__.py +0 -0
  1996. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/prompt/test_builder.py +0 -0
  1997. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/prompt/test_persona_scope.py +0 -0
  1998. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/prompt/test_system_prompt_builder_few_shot.py +0 -0
  1999. {nova_ai_pro-1.2.3.dev78/tests/sandbox → nova_ai_pro-1.2.3.dev85/tests/recipes}/__init__.py +0 -0
  2000. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/recipes/test_compose.py +0 -0
  2001. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/recipes/test_loader.py +0 -0
  2002. {nova_ai_pro-1.2.3.dev78/tests/scheduler → nova_ai_pro-1.2.3.dev85/tests/sandbox}/__init__.py +0 -0
  2003. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/sandbox/test_mount_security.py +0 -0
  2004. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/sandbox/test_runner.py +0 -0
  2005. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/sandbox/test_wasm_runner.py +0 -0
  2006. {nova_ai_pro-1.2.3.dev78/tests/sdk → nova_ai_pro-1.2.3.dev85/tests/scheduler}/__init__.py +0 -0
  2007. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/scheduler/test_digest_schedule.py +0 -0
  2008. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/scheduler/test_prove_dispatch.py +0 -0
  2009. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/scheduler/test_scheduler.py +0 -0
  2010. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/scheduler/test_store.py +0 -0
  2011. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/scheduler/test_tools.py +0 -0
  2012. {nova_ai_pro-1.2.3.dev78/tests/security → nova_ai_pro-1.2.3.dev85/tests/sdk}/__init__.py +0 -0
  2013. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/sdk/test_sdk.py +0 -0
  2014. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/sdk/test_system.py +0 -0
  2015. {nova_ai_pro-1.2.3.dev78/tests/server → nova_ai_pro-1.2.3.dev85/tests/security}/__init__.py +0 -0
  2016. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_audit.py +0 -0
  2017. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_boundary_guard.py +0 -0
  2018. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_capabilities.py +0 -0
  2019. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_credential_stripper.py +0 -0
  2020. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_file_permissions.py +0 -0
  2021. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_file_policy.py +0 -0
  2022. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_guardrails.py +0 -0
  2023. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_injection_scanner.py +0 -0
  2024. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_log_sanitization.py +0 -0
  2025. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_merkle_audit.py +0 -0
  2026. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_network_defaults.py +0 -0
  2027. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_rate_limiter.py +0 -0
  2028. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_redact_before_cloud.py +0 -0
  2029. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_scanner.py +0 -0
  2030. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_security_profiles.py +0 -0
  2031. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_security_wiring.py +0 -0
  2032. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_setup_security.py +0 -0
  2033. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_severity_policy.py +0 -0
  2034. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_signing.py +0 -0
  2035. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_ssrf.py +0 -0
  2036. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_subprocess_sandbox.py +0 -0
  2037. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_taint.py +0 -0
  2038. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_tool_confirmation.py +0 -0
  2039. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/security/test_webhook_validation.py +0 -0
  2040. {nova_ai_pro-1.2.3.dev78/tests/skills → nova_ai_pro-1.2.3.dev85/tests/server}/__init__.py +0 -0
  2041. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/conftest.py +0 -0
  2042. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_agent_manager_routes.py +0 -0
  2043. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_api_routes.py +0 -0
  2044. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_approval_routes.py +0 -0
  2045. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_auth_middleware.py +0 -0
  2046. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_calendar_router.py +0 -0
  2047. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_channel_bridge.py +0 -0
  2048. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_channel_bridge_deep_research.py +0 -0
  2049. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_channel_routes.py +0 -0
  2050. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_clipboard_router.py +0 -0
  2051. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_connectors_router.py +0 -0
  2052. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_deep_research_tools_wiring.py +0 -0
  2053. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_digest_routes.py +0 -0
  2054. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_email_router.py +0 -0
  2055. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_history_router.py +0 -0
  2056. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_integrations_router.py +0 -0
  2057. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_managed_agent_streaming.py +0 -0
  2058. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_mcp_tools_cache.py +0 -0
  2059. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_middleware.py +0 -0
  2060. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_mobile_pair_router.py +0 -0
  2061. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_model_compare_router.py +0 -0
  2062. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_model_hub_router.py +0 -0
  2063. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_model_management.py +0 -0
  2064. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_models_pydantic.py +0 -0
  2065. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_notification_router.py +0 -0
  2066. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_persona_router.py +0 -0
  2067. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_pwa_serving.py +0 -0
  2068. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_rag_api.py +0 -0
  2069. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_recommended_model.py +0 -0
  2070. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_routes.py +0 -0
  2071. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_savings.py +0 -0
  2072. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_sendblue_webhook.py +0 -0
  2073. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_session_store.py +0 -0
  2074. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_speech_routes.py +0 -0
  2075. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_tasks_api.py +0 -0
  2076. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_tools_endpoint.py +0 -0
  2077. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_webhook_routes.py +0 -0
  2078. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_websocket.py +0 -0
  2079. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_websocket_auth.py +0 -0
  2080. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/server/test_ws_bridge.py +0 -0
  2081. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/sessions/test_compression.py +0 -0
  2082. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/sessions/test_session.py +0 -0
  2083. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/sessions/test_wire_channel_history.py +0 -0
  2084. {nova_ai_pro-1.2.3.dev78/tests/speech → nova_ai_pro-1.2.3.dev85/tests/skills}/__init__.py +0 -0
  2085. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_bundled_skills.py +0 -0
  2086. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_cli_install.py +0 -0
  2087. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_dependency.py +0 -0
  2088. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_importer.py +0 -0
  2089. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_index.py +0 -0
  2090. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_integration_live.py +0 -0
  2091. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_loader_markdown.py +0 -0
  2092. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_local_importer.py +0 -0
  2093. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_manager.py +0 -0
  2094. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_manager_discover_from_traces.py +0 -0
  2095. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_native_react_few_shot.py +0 -0
  2096. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_overlay.py +0 -0
  2097. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_parser.py +0 -0
  2098. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_security.py +0 -0
  2099. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_skill_tool_metadata_tagging.py +0 -0
  2100. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_skill_trace_tagging_integration.py +0 -0
  2101. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_skills.py +0 -0
  2102. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_sources.py +0 -0
  2103. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_tool_adapter_v2.py +0 -0
  2104. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/skills/test_tool_translator.py +0 -0
  2105. {nova_ai_pro-1.2.3.dev78/tests/telemetry → nova_ai_pro-1.2.3.dev85/tests/speech}/__init__.py +0 -0
  2106. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/speech/test_config.py +0 -0
  2107. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/speech/test_deepgram.py +0 -0
  2108. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/speech/test_discovery.py +0 -0
  2109. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/speech/test_faster_whisper.py +0 -0
  2110. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/speech/test_openai_whisper.py +0 -0
  2111. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/speech/test_stubs.py +0 -0
  2112. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/speech/test_tts_backends.py +0 -0
  2113. {nova_ai_pro-1.2.3.dev78/tests/templates → nova_ai_pro-1.2.3.dev85/tests/telemetry}/__init__.py +0 -0
  2114. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/energy_test_helpers.py +0 -0
  2115. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_aggregator.py +0 -0
  2116. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_batch.py +0 -0
  2117. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_derived_metrics.py +0 -0
  2118. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_efficiency.py +0 -0
  2119. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_energy_amd.py +0 -0
  2120. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_energy_apple.py +0 -0
  2121. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_energy_monitor.py +0 -0
  2122. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_energy_nvidia.py +0 -0
  2123. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_energy_rapl.py +0 -0
  2124. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_energy_wiring.py +0 -0
  2125. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_flops_new.py +0 -0
  2126. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_gpu_monitor.py +0 -0
  2127. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_instrumented_engine.py +0 -0
  2128. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_itl_metrics.py +0 -0
  2129. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_itl_new.py +0 -0
  2130. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_phase_energy.py +0 -0
  2131. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_phase_metrics_new.py +0 -0
  2132. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_session.py +0 -0
  2133. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_steady_state.py +0 -0
  2134. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_store.py +0 -0
  2135. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_store_tokens_per_joule.py +0 -0
  2136. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_vllm_metrics.py +0 -0
  2137. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/telemetry/test_wrapper.py +0 -0
  2138. {nova_ai_pro-1.2.3.dev78/tests/tools → nova_ai_pro-1.2.3.dev85/tests/templates}/__init__.py +0 -0
  2139. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/templates/test_agent_templates.py +0 -0
  2140. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/test_digest_integration.py +0 -0
  2141. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/test_new_tools.py +0 -0
  2142. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/test_orchestrator_learning/__init__.py +0 -0
  2143. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/test_orchestrator_learning/test_environment.py +0 -0
  2144. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/test_orchestrator_learning/test_grpo_trainer.py +0 -0
  2145. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/test_orchestrator_learning/test_orchestrator_structured.py +0 -0
  2146. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/test_orchestrator_learning/test_policy_model.py +0 -0
  2147. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/test_orchestrator_learning/test_prompt_registry.py +0 -0
  2148. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/test_orchestrator_learning/test_reward.py +0 -0
  2149. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/test_orchestrator_learning/test_sft_trainer.py +0 -0
  2150. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/test_orchestrator_learning/test_types.py +0 -0
  2151. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/test_query_orchestrator.py +0 -0
  2152. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/test_vision.py +0 -0
  2153. {nova_ai_pro-1.2.3.dev78/tests/tools/storage → nova_ai_pro-1.2.3.dev85/tests/tools}/__init__.py +0 -0
  2154. {nova_ai_pro-1.2.3.dev78/tests/traces → nova_ai_pro-1.2.3.dev85/tests/tools/storage}/__init__.py +0 -0
  2155. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/storage/test_dense.py +0 -0
  2156. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_agent_tools.py +0 -0
  2157. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_apply_patch.py +0 -0
  2158. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_audio_tool.py +0 -0
  2159. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_browser.py +0 -0
  2160. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_browser_axtree.py +0 -0
  2161. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_calculator.py +0 -0
  2162. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_canvas_tool.py +0 -0
  2163. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_channel_tools.py +0 -0
  2164. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_cisco_packet_tracer.py +0 -0
  2165. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_cli_bridge.py +0 -0
  2166. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_clipboard_ai.py +0 -0
  2167. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_code_interpreter.py +0 -0
  2168. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_code_interpreter_docker.py +0 -0
  2169. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_db_query.py +0 -0
  2170. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_digest_collect.py +0 -0
  2171. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_doc_generator.py +0 -0
  2172. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_file_read.py +0 -0
  2173. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_file_write.py +0 -0
  2174. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_git_tool.py +0 -0
  2175. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_http_request.py +0 -0
  2176. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_image_tool.py +0 -0
  2177. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_knowledge_graph.py +0 -0
  2178. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_knowledge_search.py +0 -0
  2179. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_knowledge_sql.py +0 -0
  2180. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_llm_tool.py +0 -0
  2181. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_mcp_adapter.py +0 -0
  2182. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_memory_manage.py +0 -0
  2183. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_pdf_tool.py +0 -0
  2184. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_repl.py +0 -0
  2185. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_retrieval.py +0 -0
  2186. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_scan_chunks.py +0 -0
  2187. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_screen_capture.py +0 -0
  2188. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_shell_exec.py +0 -0
  2189. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_skill_manage.py +0 -0
  2190. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_storage_stubs.py +0 -0
  2191. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_storage_tools.py +0 -0
  2192. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_stubs.py +0 -0
  2193. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_template_loader_security.py +0 -0
  2194. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_templates.py +0 -0
  2195. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_text_to_speech.py +0 -0
  2196. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_think.py +0 -0
  2197. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_tool_descriptions.py +0 -0
  2198. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_tool_registration.py +0 -0
  2199. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_tool_timeout.py +0 -0
  2200. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_user_profile_manage.py +0 -0
  2201. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_web_readability.py +0 -0
  2202. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_web_search.py +0 -0
  2203. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/tools/test_web_search_providers.py +0 -0
  2204. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/traces/test_analyzer.py +0 -0
  2205. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/traces/test_analyzer_energy.py +0 -0
  2206. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/traces/test_collector.py +0 -0
  2207. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/traces/test_store.py +0 -0
  2208. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/traces/test_store_fts.py +0 -0
  2209. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/traces/test_types.py +0 -0
  2210. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/voice/test_session.py +0 -0
  2211. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tests/workflow/test_workflow.py +0 -0
  2212. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tools/pearl-reference-oracle/README.md +0 -0
  2213. {nova_ai_pro-1.2.3.dev78 → nova_ai_pro-1.2.3.dev85}/tools/pearl-reference-oracle/smoke_test.py +0 -0
@@ -142,3 +142,7 @@ frontend/tsconfig.tsbuildinfo
142
142
 
143
143
  # PyInstaller build debris
144
144
  *.spec
145
+
146
+ # GitHub API debug dumps (gh jobs listing pulled during local debugging)
147
+ jobs.json
148
+ jobs_auth.json
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: nova-ai-pro
3
- Version: 1.2.3.dev78
3
+ Version: 1.2.3.dev85
4
4
  Summary: NOVA AI — modular AI assistant backend with composable intelligence primitives
5
5
  Project-URL: Homepage, https://github.com/Hamza35779/NOVA-AI
6
6
  Project-URL: Documentation, https://hamza35779.github.io/NOVA-AI/
@@ -89,6 +89,11 @@ Requires-Dist: mkdocs-literate-nav>=0.6; extra == 'docs'
89
89
  Requires-Dist: mkdocs-material>=9.5; extra == 'docs'
90
90
  Requires-Dist: mkdocs>=1.6; extra == 'docs'
91
91
  Requires-Dist: mkdocstrings[python]>=0.25; extra == 'docs'
92
+ Provides-Extra: dpo-training
93
+ Requires-Dist: peft>=0.10; extra == 'dpo-training'
94
+ Requires-Dist: torch>=2.0; extra == 'dpo-training'
95
+ Requires-Dist: transformers>=4.40; extra == 'dpo-training'
96
+ Requires-Dist: trl>=0.8; extra == 'dpo-training'
92
97
  Provides-Extra: energy-all
93
98
  Requires-Dist: amdsmi>=6.1; extra == 'energy-all'
94
99
  Requires-Dist: pynvml>=12.0; extra == 'energy-all'
@@ -618,3 +618,11 @@ The `lora_finetune` op is now real: `LoraFinetuneApplier` (`src/nova_ai/learning
618
618
  ### Model proving ground (head-to-head model A/B)
619
619
 
620
620
  `nova_ai.learning.proving` closes the model-adoption loop: a benchmark synthesized from high-feedback traces (`PersonalBenchmarkSynthesizer`) is run through `EvalRunner` twice — candidate vs incumbent, same seed, same judge (the incumbent itself by default) — and `RunSummary.per_subject` keys accuracy by routing query class (`classify_query`). A verdict requires ≥ 3 scored samples per class per side; adoption additionally requires a ≥ `min_margin` win. Winners land in `~/.nova_ai/learning/proving/policy_map.json` via `nova prove adopt`, and SmartRouter serves them per class only with the opt-in `proving_adoption` router flag. The gauntlet is read-only; adoption is the only mutation and is reversible (`nova prove revert`). See [Model Proving Ground](../learning/proving-ground.md).
621
+
622
+ ### Memory consolidation (the sleep cycle)
623
+
624
+ `nova_ai.memory.consolidation` turns episodic traces into durable knowledge: `SessionMiner` clusters recent traces by query class (optionally refined by embedding similarity), a local LLM distills each cluster into atomic facts (`{content, topic, confidence}`), and `FactStore` (`~/.nova_ai/learning/consolidation/facts.db`) deduplicates them, resolves contradictions by confidence (winner supersedes; unconfident pairs coexist), and decays facts untouched for `decay_days`. Active facts render as a bounded core-memory block (`memory.consolidation.inject`) prepended to every query by `QueryOrchestrator.ask` — fail-open: an empty or broken fact base never breaks answering. Off by default; `nova memory consolidate forget` is the manual override. See [Memory Consolidation](../learning/memory-consolidation.md).
625
+
626
+ ### Skill Foundry (synthesize skills from repeated tool runs)
627
+
628
+ `nova_ai.learning.skillforge` turns repeated multi-step tool workflows into skills: `PatternMiner` groups `TOOL_CALL` trace steps by ordered sequence (≥ `min_pattern_count` repetitions, feedback ≥ `min_feedback`), `SkillSynthesizer` has the local LLM write a `skill.toml` constrained to the real `ToolRegistry` catalog and the observed call order, and `run_gauntlet` verifies the candidate in three gates — static (name/capabilities/unknown-tool rejection), replay (mined examples through `SkillExecutor`, code/shell steps forced through the subprocess sandbox), and judge (LLM vs the trace's known-good result). Adoption writes `~/.nova_ai/skills/generated/<name>/skill.toml` with a provenance block — discovered automatically, reversible with `nova forge revert`. Off by default; `nova forge adopt` is the only mutation. See [Skill Foundry](../learning/skill-foundry.md).
@@ -0,0 +1,112 @@
1
+ ---
2
+ title: Conversation Forking
3
+ description: Fork the conversation, race two models on the real query, keep the winner — and every pick becomes DPO training data
4
+ ---
5
+
6
+ # Conversation Forking: keep the winner, train on the choice
7
+
8
+ Most chat apps make you *accept* an answer. NOVA lets you **keep both** — and then asks which one was better. Fork the conversation to get a second branch, regenerate for a fresh sibling answer, race two models head-to-head on the real query. Your pick is recorded as a **preference pair**, and the DPO training lane turns those pairs into a model that answers the way *you* would have chosen.
9
+
10
+ **The pitch: every fork, regen, and race ends in a pick — and every pick is training data.**
11
+
12
+ ## The preference flywheel
13
+
14
+ ```
15
+ ┌──────────────┐ ┌──────────────────┐ ┌───────────────────┐
16
+ │ Conversation │───▶│ Fork / Regenerate│───▶│ Model race │
17
+ │ tree (nodes │ │ = sibling answer │ │ 2+ models, one │
18
+ │ with parent) │ │ under same prompt│ │ prompt, judged │
19
+ └──────────────┘ └──────────────────┘ └─────────┬─────────┘
20
+
21
+ ┌──────────────┐ ┌──────────────────┐ ┌───────────────────┐
22
+ │ nova train │◀───│ preference_pairs │◀───│ You pick (app / │
23
+ │ run --lane │ │ table: chosen vs │ │ auto-judge first- │
24
+ │ dpo │ │ rejected, source │ │ line YES/NO) │
25
+ └──────────────┘ └──────────────────┘ └───────────────────┘
26
+ ```
27
+
28
+ ## How the tree works
29
+
30
+ Conversations are stored as a **tree of nodes**, not a linear transcript. Every message is a node with a `parent_id`; the visible conversation is one root-to-tip path. A fork is not a copy — it is a **second child of the same parent**, so both branches see the identical history and nothing is duplicated:
31
+
32
+ ```
33
+ (root) ── user: "review this patch"
34
+ ├── assistant: "ship it" ◀ pick this
35
+ └── assistant: "one bug: off-by-1" (sibling from fork/regen/race)
36
+ ```
37
+
38
+ - **Fork** (`POST /api/conversations/{id}/fork`, app Fork button) — creates a sibling of the chosen node carrying the same content with a `fork_of` metadata marker. Continue down either branch.
39
+ - **Regenerate** (`POST /api/conversations/{id}/regenerate`) — generates a fresh assistant answer under the same prompt node via the server engine, returning the new sibling and the existing ones. In the app: the Regenerate button under the last assistant message. Cycle through siblings with the «» arrows.
40
+ - **Race** (`POST /api/conversations/{id}/race`) — races 2+ models on one prompt node. Each model becomes a sibling assistant node. With `judge: true` (or `nova conversation` auto-judging) a strict judge compares the two strongest candidates with the same first-line YES/NO convention as the [Proving Ground](proving-ground.md); the winner is recorded automatically.
41
+
42
+ ## Recording a pick
43
+
44
+ Sibling groups only become training data when a **choice** is made — by you or the judge:
45
+
46
+ - **In the app** — picking a sibling with the arrows records the pair (`source: regen`); racing records it automatically (`source: race`).
47
+ - **In the CLI** — `nova conversation pick NODE_ID --source fork` marks one sibling chosen and its sisters rejected.
48
+ - **From traces** — the DPO miner also reads the trace store: the same query asked twice with feedback improving (`source: regen`), or a thumbs-down followed by a later better answer (`source: thumbs`).
49
+
50
+ Each pick writes one `preference_pairs` row: the full `prompt_path`, `chosen_id`, `rejected_ids`, `source` (`fork | regen | race | thumbs`), timestamp. Provenance is complete — you can always ask *why* the model was shown a choice.
51
+
52
+ ## The DPO lane
53
+
54
+ The pairs feed a second training lane alongside the SFT loop. Where SFT teaches the model *what a good answer looks like*, **DPO (Direct Preference Optimization)** teaches it *which of two answers is better* — exactly the signal forking produces.
55
+
56
+ ```bash
57
+ # See how much preference data you have
58
+ nova conversation pairs
59
+
60
+ # Train a DPO adapter (same benchmark gate + pending review as SFT)
61
+ nova train run --lane dpo
62
+ ```
63
+
64
+ - Config: `[learning.training] dpo_enabled = true`, `dpo_min_pairs = 20`, `dpo_tag_prefix = "nova-dpo"`.
65
+ - Adapters land under `adapters/<run_id>/dpo/`, run records carry `lane = "dpo"`, and Ollama deploys tag as `nova-dpo-<model>` — so the [Proving Ground](proving-ground.md) can prove the tuned adapter against the base automatically.
66
+ - Scheduling works too: `nova scheduler create "nightly dpo" --cron "0 4 * * *" --metadata '{"kind": "train", "lane": "dpo"}'`.
67
+
68
+ Details, config, and the trainer's own knobs (β, LoRA rank, epochs): [Self-Training → Preference tuning lane](self-training.md#preference-tuning-lane).
69
+
70
+ ## Quickstart
71
+
72
+ ```bash
73
+ # Headless fallback for the app UI
74
+ nova conversation list
75
+ nova conversation show CONV_ID # ASCII tree, ◀ marks the active path
76
+ nova conversation show CONV_ID --node NODE_ID
77
+
78
+ # Record a choice between sibling answers
79
+ nova conversation pick NODE_ID --source fork
80
+
81
+ # Count the DPO data you have accrued
82
+ nova conversation pairs # or --json for scripts
83
+ ```
84
+
85
+ ## API reference
86
+
87
+ All endpoints are mounted under `/api/conversations` in the server app:
88
+
89
+ | Endpoint | Purpose |
90
+ |----------|---------|
91
+ | `POST /api/conversations` | Create a conversation (`{title}`) → `{id, root_id}` |
92
+ | `GET /api/conversations` | List conversations (id, title, node count, last activity) |
93
+ | `GET /api/conversations/{id}/tree` | Whole tree: `{nodes, children}` keyed by parent |
94
+ | `POST /api/conversations/{id}/messages` | Add a node (`{role, content, parent_id?}`) |
95
+ | `POST /api/conversations/{id}/fork` | Sibling fork of a node (`{node_id}`) |
96
+ | `POST /api/conversations/{id}/regenerate` | Fresh engine-generated sibling answer |
97
+ | `POST /api/conversations/{id}/race` | `{models, prompt_node_id?, judge?}` → per-model candidates + winner |
98
+ | `POST /api/conversations/nodes/{id}/feedback` | Attach a thumbs score to a node |
99
+ | `POST /api/conversations/nodes/{id}/pick` | `{chosen_node_id, source?}` → preference pair |
100
+ | `GET /api/conversations/preference-pairs` | Recorded pairs (the DPO miner's input) |
101
+
102
+ ## Artifacts
103
+
104
+ | Path | Contents |
105
+ |------|----------|
106
+ | `~/.nova_ai/conversations.db` | The conversation tree + preference pairs |
107
+
108
+ ## See also
109
+
110
+ - [Self-Training — Preference tuning lane](self-training.md#preference-tuning-lane) — what happens to the pairs.
111
+ - [Model Proving Ground](proving-ground.md) — the same head-to-head + judge discipline, for models instead of answers.
112
+ - [Memory Consolidation](memory-consolidation.md) — the other consumer of your conversation history.
@@ -0,0 +1,100 @@
1
+ ---
2
+ title: Fleet Oracle
3
+ description: "Best 8B model for code on a 4090?" — answered by the fleet, not the vendor
4
+ ---
5
+
6
+ # Fleet Oracle: ask the fleet, not the vendor
7
+
8
+ Vendor benchmarks are marketing. Community leaderboards are outliers. What actually answers "*will this model be fast on my machine?*" is real people running real workloads on real hardware — which is exactly what the Fleet Oracle pools.
9
+
10
+ NOVA machines can (opt-in) publish a tiny anonymized report of their hardware and per-model performance averages to a shared git repo. Anyone can then query that dataset locally: `nova oracle ask "best 8B model for code on a 4090?"`.
11
+
12
+ **Everything is local by default. Sharing is OFF until you flip it on.**
13
+
14
+ ## The loop
15
+
16
+ ```
17
+ ┌────────────────┐ ┌──────────────────┐ ┌───────────────────┐
18
+ │ Your telemetry │───▶│ build_report │───▶│ git push │
19
+ │ (stays local) │ │ fixed field list │ │ (only if opt-in) │
20
+ └────────────────┘ └──────────────────┘ └─────────┬─────────┘
21
+
22
+ ┌──────────────┐ ┌──────────────────┐ ┌───────────────────┐
23
+ │ nova oracle │◀───│ query_fleet │◀───│ shared dataset │
24
+ │ ask "..." │ │ buckets + winner │ │ (git repo) │
25
+ └──────────────┘ └──────────────────┘ └───────────────────┘
26
+ ```
27
+
28
+ ## Privacy model: a fixed field list, nothing else
29
+
30
+ The report is not a redaction of something bigger — it is **constructed from a fixed field list**. There is no code path that could leak anything else:
31
+
32
+ | Field | Value |
33
+ |-------|-------|
34
+ | `hardware.platform` | `windows` / `linux` / `darwin` |
35
+ | `hardware.cpu_count` | core count |
36
+ | `hardware.ram_gb` | total RAM (rounded) |
37
+ | `hardware.gpu.{vendor,name,vram_gb}` | GPU shape only — no compute capability, no count |
38
+ | `models[].model_id` | e.g. `qwen3.5:9b` |
39
+ | `models[].engine` | e.g. `ollama` |
40
+ | `models[].call_count` | calls in the window |
41
+ | `models[].avg_latency_s`, `avg_ttft_s` | latency averages |
42
+ | `models[].avg_throughput_tok_per_sec` | throughput |
43
+ | `models[].avg_tokens_per_joule` | energy efficiency |
44
+ | `models[].total_tokens` | volume in the window |
45
+ | `report_id` | `hash_id(platform|cpu|ram|gpu)` — a stable pseudonym for dedupe |
46
+
47
+ What never leaves the machine: **no prompts, no responses, no file paths, no user IDs, no timestamps** (only the aggregation window length), no IP addresses. Models with fewer calls than `min_calls_per_model` are dropped (k-anonymity) so a personal model can't be fingerprinted.
48
+
49
+ ```toml
50
+ # ~/.nova_ai/config.toml
51
+ [learning.fleet]
52
+ share_reports = false # opt-in — this is the switch
53
+ dataset_repo = "" # git URL of the shared dataset repo
54
+ min_calls_per_model = 5 # k-anonymity threshold
55
+ since_days = 30 # aggregation window
56
+ ```
57
+
58
+ ## Commands
59
+
60
+ ```bash
61
+ # Build and preview the report — see exactly what sharing would publish
62
+ nova oracle export
63
+ nova oracle export -o report.json # write it to a file instead
64
+
65
+ # Publish it (refuses unless share_reports = true)
66
+ nova oracle push
67
+
68
+ # Ask the fleet — answered locally from the dataset, no LLM involved
69
+ nova oracle ask "best 8B model for code on a 4090?"
70
+ nova oracle ask "most energy efficient model on 16 gb?"
71
+
72
+ # Config + dataset state
73
+ nova oracle status
74
+ ```
75
+
76
+ ## How questions are answered
77
+
78
+ Deliberately simple and explainable — no LLM in the loop:
79
+
80
+ 1. **Intent** — keyword buckets pick the ranking metric: *fast/latency* → avg latency (lower wins), *throughput/tok/s* → throughput, *energy/efficient/watt* → tokens per joule, *code* → throughput as the quality proxy.
81
+ 2. **Hardware bucket** — the question's VRAM hint (`"24 gb"` or a known card like `4090`) selects a VRAM bucket (`<=8GB`, `9-16GB`, `17-24GB`, `25-48GB`, `>48GB`).
82
+ 3. **Winner** — within the bucket, per-model stats are call-weighted across machines; the metric winner is the headline. The full table is printed underneath.
83
+
84
+ Every answer is inspectable: the table shows machines and call counts behind it, so you can see how much data the answer rests on.
85
+
86
+ ## Running a fleet dataset
87
+
88
+ The dataset is an ordinary git repo of `reports/<report_id>.json` files — no server, no API. To host one: create a repo, point `dataset_repo` at it for everyone in the group, and merge push requests if you want curation. Any git remote works (GitHub, Gitea, a bare repo on a NAS).
89
+
90
+ ## Artifacts
91
+
92
+ | Path | Contents |
93
+ |------|----------|
94
+ | `~/.nova_ai/fleet/cache/` | Local clone of the dataset repo (read + push staging) |
95
+
96
+ ## See also
97
+
98
+ - [Telemetry](../user-guide/telemetry.md) — the local data the reports are built from.
99
+ - [Model Proving Ground](proving-ground.md) — proving candidate models on *your* traces before adopting them.
100
+ - [Self-Training](self-training.md) — the other consumer of your local performance data.
@@ -0,0 +1,112 @@
1
+ ---
2
+ title: Memory Consolidation
3
+ description: NOVA sleeps on your conversations and wakes up smarter — distilling durable facts into a core memory it injects into every query
4
+ ---
5
+
6
+ # Memory Consolidation: NOVA's sleep cycle
7
+
8
+ Every chat leaves traces, and the useful parts — your stack, your naming conventions, "deploys on Fridays are forbidden", the project you keep circling back to — stay scattered across hundreds of rows. Memory consolidation is a **sleep cycle**: on schedule (or on demand) NOVA replays recent conversations, clusters the related ones, and distills them into a short list of **atomic facts** with provenance. Those facts become a compact **core memory** prepended to every query, so NOVA *stays* knowing you without you re-explaining.
9
+
10
+ **The pitch: NOVA sleeps on your conversations and wakes up smarter.**
11
+
12
+ ## The cycle
13
+
14
+ ```
15
+ ┌──────────────┐ ┌──────────────────┐ ┌───────────────────┐
16
+ │ Recent traces│───▶│ SessionMiner │───▶│ Fact extraction │
17
+ │ (traces.db) │ │ (class buckets + │ │ (local LLM per │
18
+ │ │ │ embedding │ │ cluster → JSON) │
19
+ └──────────────┘ │ clusters) │ └─────────┬─────────┘
20
+ └──────────────────┘ ▼
21
+ ┌──────────────┐ ┌──────────────────┐ ┌───────────────────┐
22
+ │ Core memory │◀───│ facts.db │◀───│ Dedup + resolve │
23
+ │ in every │ │ (confidence, │ │ contradictions │
24
+ │ query │ │ provenance) │ │ (recency+conf) │
25
+ └──────────────┘ └──────────────────┘ └───────────────────┘
26
+ ```
27
+
28
+ 1. **Mine** — recent traces are bucketed by query class (`code` / `math` / …), then optionally split further by embedding similarity within each class. Clusters smaller than `min_session_messages` are dropped: one-off chats are noise, patterns are signal.
29
+ 2. **Distill** — each cluster goes to the local model with a strict extraction prompt (JSON array of `{content, topic, confidence}` — no prose). Clusters fail independently; a broken cluster never sinks the run.
30
+ 3. **Resolve** — new facts are deduplicated against the active fact base (exact/containment match → the old row is *touched*, its `last_seen` refreshed). Contradictions ("prefers tabs" vs "does not prefer tabs") are resolved by **confidence**: a strictly more confident new fact supersedes the old one; an unconfident one is recorded *alongside* and both stay.
31
+ 4. **Decay** — facts untouched for `decay_days` flip from `active` to `decayed` and stop being served. Memory that isn't reinforced fades — like yours.
32
+ 5. **Serve** — active facts render as a `## What NOVA knows about you` block (packed under `core_memory_max_chars`, highest confidence first) and are injected as a system message on every query.
33
+
34
+ ## Quickstart
35
+
36
+ ```toml
37
+ # ~/.nova_ai/config.toml
38
+ [learning.consolidation]
39
+ enabled = true
40
+ ```
41
+
42
+ ```bash
43
+ # Run one cycle (background by default, --foreground to watch it work)
44
+ nova memory consolidate run --foreground
45
+
46
+ # Inspect what NOVA learned
47
+ nova memory consolidate status # latest run summary
48
+ nova memory consolidate facts # the fact base as a table
49
+
50
+ # Something wrong or stale? Remove it — the manual override always wins
51
+ nova memory consolidate forget fact_ab12cd34ef56
52
+ ```
53
+
54
+ Fact provenance is preserved end-to-end: every fact stores the trace IDs of the conversations it was distilled from, so you can always trace a "fact" back to where NOVA got it.
55
+
56
+ ## Running it nightly
57
+
58
+ Create a scheduler task with `kind="consolidate"` metadata (requires `[learning.consolidation] enabled = true`):
59
+
60
+ ```bash
61
+ nova scheduler create "memory sleep cycle" --cron "30 3 * * *" \
62
+ --metadata '{"kind": "consolidate"}'
63
+ ```
64
+
65
+ The scheduled run behaves exactly like a foreground run and logs `[consolidate] run consol_…: completed (facts_added=N, …)` to the task's run log.
66
+
67
+ ## The injection contract
68
+
69
+ Core-memory injection is **fail-open everywhere**: an empty fact base injects nothing, a broken fact store logs at debug and the query proceeds untouched, and the block is capped at `core_memory_max_chars` so it can never crowd out your actual prompt. It composes with (and runs after) the existing vector-memory context injection — vector memory provides *what you told NOVA before*, core memory provides *what NOVA concluded*.
70
+
71
+ ## Safety model
72
+
73
+ 1. **Off by default** — `enabled = false`; nothing runs until you opt in.
74
+ 2. **Manual override is supreme** — `forget` removes a fact instantly; a superseded fact keeps its row (status `superseded`, with `superseded_by`) so history is auditable.
75
+ 3. **Local-only** — extraction uses your configured local engine (`judge_model = ""` → `intelligence.default_model`); no conversation content leaves the machine.
76
+ 4. **Bounded** — `max_facts_per_run` caps distillation per run; the served block is capped by characters.
77
+
78
+ ## Config reference
79
+
80
+ ```toml
81
+ [learning.consolidation]
82
+ enabled = false # master switch
83
+ schedule = "" # cron expression; empty = run manually
84
+ min_session_messages = 6 # skip clusters smaller than this
85
+ max_facts_per_run = 50 # cap on facts distilled per run
86
+ judge_model = "" # "" uses intelligence.default_model
87
+ decay_days = 90 # facts untouched this long stop being served
88
+ core_memory_max_chars = 4000 # core-memory block budget
89
+ ```
90
+
91
+ ## Artifacts
92
+
93
+ | Path | Contents |
94
+ |------|----------|
95
+ | `~/.nova_ai/learning/consolidation/facts.db` | Fact base (`nova memory consolidate facts`) |
96
+ | `~/.nova_ai/learning/consolidation/runs.db` | Run history (`nova memory consolidate status`) |
97
+ | `~/.nova_ai/learning/consolidation/last_run.log` | Background run output |
98
+
99
+ ## CLI reference
100
+
101
+ | Command | What it does |
102
+ |---------|-------------|
103
+ | `nova memory consolidate run [--foreground]` | Run one sleep cycle |
104
+ | `nova memory consolidate status` | Latest run summary |
105
+ | `nova memory consolidate facts [-n N]` | Fact table (confidence, topic, content) |
106
+ | `nova memory consolidate forget FACT_ID` | Remove a fact (manual override) |
107
+
108
+ ## See also
109
+
110
+ - [Model Proving Ground](proving-ground.md) — the same distill→verify→adopt-by-hand discipline, for models.
111
+ - [Memory](../user-guide/memory.md) — the vector memory store consolidation composes with.
112
+ - [Conversation Forking](conversation-forking.md) — the other way your conversation history becomes training signal.
@@ -107,6 +107,40 @@ Background runs spawn a detached process (Windows-safe) writing to `~/.nova_ai/l
107
107
  | `~/.nova_ai/learning/training/runs.db` | Run history (`nova train list`) |
108
108
  | `~/.nova_ai/learning/training/merged/<model>/` | Merged models (llamacpp target) |
109
109
 
110
+ ## Preference tuning lane (DPO)
111
+
112
+ SFT clones *an* answer; **DPO (Direct Preference Optimization)** teaches the model *which of two answers is better*. The second training lane consumes the preference pairs recorded by [conversation forking](conversation-forking.md) — fork/regenerate/model-race sibling choices — plus two trace-derived signals (same query asked twice with feedback improving, and a thumbs-down followed by a better later answer).
113
+
114
+ ```
115
+ ┌──────────────────┐ ┌──────────────────┐ ┌───────────────────┐
116
+ │ preference_pairs │───▶│ DPO miner │───▶│ DPOTrainer (trl + │
117
+ │ fork / regen / │ │ dedup, drop │ │ LoRA, β=0.1, lr │
118
+ │ race / thumbs │ │ identical pairs │ │ 5e-6, 1 epoch) │
119
+ └──────────────────┘ └──────────────────┘ └─────────┬─────────┘
120
+
121
+ ┌──────────────┐ ┌──────────────────┐ ┌───────────────────┐
122
+ │ nova-dpo- │◀───│ deploy (manual │◀───│ Same benchmark │
123
+ │ <model> tags │ │ pending_review) │ │ gate as SFT │
124
+ └──────────────┘ └──────────────────┘ └───────────────────┘
125
+ ```
126
+
127
+ ```toml
128
+ # ~/.nova_ai/config.toml — appended to [learning.training]
129
+ dpo_enabled = true # master switch for the DPO lane
130
+ dpo_min_pairs = 20 # minimum preference pairs before a run starts
131
+ dpo_tag_prefix = "nova-dpo" # Ollama tag prefix for DPO deploys
132
+ ```
133
+
134
+ ```bash
135
+ # See what preference data you have
136
+ nova conversation pairs
137
+
138
+ # Train + deploy the DPO adapter (same gates as SFT)
139
+ nova train run --lane dpo
140
+ ```
141
+
142
+ Lane behavior mirrors SFT exactly: pairs are capped at `max_pairs`, the benchmark gate and `pending_review` still apply, adapters save under `adapters/<run_id>/dpo/`, runs record `lane = "dpo"`, and scheduled runs pick the lane from the task's `lane` metadata. TRL is an optional dependency — `pip install 'nova-ai[dpo-training]'` — and the CLI refuses a DPO run with a clear message when `[learning.training] dpo_enabled` is off.
143
+
110
144
  ## Where it plugs into spec-search
111
145
 
112
146
  The `LoraFinetuneApplier` (`src/nova_ai/learning/spec_search/execute/appliers/lora.py`) implements the `lora_finetune` edit op, so the teacher can propose weight updates when diagnosis shows a skill gap that prompt edits can't fix. In TIERED/MANUAL autonomy it routes to review like any MANUAL-tier edit; with `auto_apply` it trains and activates the adapter directly. The old `LoraStubApplier` remains as the torch-free fallback that refuses the op with a clear message.
@@ -114,3 +148,10 @@ The `LoraFinetuneApplier` (`src/nova_ai/learning/spec_search/execute/appliers/lo
114
148
  ## Requirements
115
149
 
116
150
  Training requires `torch`, `transformers`, and `peft` (install with `pip install torch transformers peft`). Everything else — mining, export, run history, deployment plumbing — works without them; the CLI reports a clear install hint if torch is missing at train time.
151
+
152
+ ## See also
153
+
154
+ - [Conversation Forking](conversation-forking.md) — where the DPO preference pairs come from.
155
+ - [Model Proving Ground](proving-ground.md) — prove a freshly trained adapter against the base before adopting it.
156
+ - [Memory Consolidation](memory-consolidation.md) — the other offline loop that distills your history.
157
+ - [Skill Foundry](skill-foundry.md) — the sibling "learn from traces" pipeline for tool workflows.
@@ -0,0 +1,117 @@
1
+ ---
2
+ title: Skill Foundry
3
+ description: Show NOVA a task twice — it forges the skill, proves it on your past runs, and installs it only when you say so
4
+ ---
5
+
6
+ # Skill Foundry: your repeated workflows become skills
7
+
8
+ Watch any operator long enough and you'll see it: the same three tool calls, in the same order, on slightly different inputs — search, then summarize, then file it away. The Skill Foundry notices. It mines your traces for **repeated multi-step tool sequences**, asks your local model to write a skill manifest chaining those tools, verifies the candidate against your own past runs in a three-gate gauntlet, and — only when you approve — installs it as a first-class skill.
9
+
10
+ **The pitch: show NOVA a task three times — it writes the skill and proves it before you ever run it.**
11
+
12
+ ## The forge
13
+
14
+ ```
15
+ ┌──────────────┐ ┌──────────────────┐ ┌───────────────────┐
16
+ │ Your traces │───▶│ PatternMiner │───▶│ SkillSynthesizer │
17
+ │ (TOOL_CALL │ │ same sequence │ │ local LLM writes │
18
+ │ steps) │ │ ≥ 3x, feedback │ │ skill.toml against│
19
+ └──────────────┘ │ ≥ 0.7 │ │ the real catalog │
20
+ └──────────────────┘ └─────────┬─────────┘
21
+
22
+ ┌──────────────┐ ┌──────────────────┐ ┌───────────────────┐
23
+ │ Installed │◀───│ nova forge adopt │◀───│ Gauntlet │
24
+ │ skill lives │ │ (the only │ │ static → replay → │
25
+ │ in generated/│ │ mutation) │ │ judge │
26
+ └──────────────┘ └──────────────────┘ └───────────────────┘
27
+ ```
28
+
29
+ 1. **Mine** — `PatternMiner` extracts ordered tool sequences from `TOOL_CALL` trace steps. Traces are grouped by exact sequence; a pattern qualifies with `min_pattern_count` repetitions and average feedback at least `min_feedback`. Single-tool traces are ignored — one-call "skills" are just tools.
30
+ 2. **Synthesize** — `SkillSynthesizer` prompts the local model with the observed sequence, the **real tool catalog** (names, descriptions, parameter schemas from the `ToolRegistry`), and worked examples with the actual recorded arguments. The output must parse through the stock `load_skill` and its step tools must match the observed order — anything else gets one retry, then rejection.
31
+ 3. **Gauntlet** — three sequential gates, each reported by name:
32
+ - **static** — name/description sanity, capability validation, no dangerous capabilities, and every step targets a tool that actually exists.
33
+ - **replay** — each mined example runs through `SkillExecutor` against your real tools; code/shell-shaped steps are forced through the **subprocess sandbox** with `sandbox_timeout`.
34
+ - **judge** — the LLM compares replay output with the trace's known-good result (first line YES/NO, same convention as the proving ground).
35
+ 4. **Adopt** — candidates wait in `passed` state. `nova forge adopt` writes `~/.nova_ai/skills/generated/<name>/skill.toml` with a provenance block (run id, pattern count, gauntlet report). `nova forge revert <name>` deletes it. Discovery is automatic — adopted skills are ordinary skills.
36
+
37
+ ## Quickstart
38
+
39
+ ```toml
40
+ # ~/.nova_ai/config.toml
41
+ [learning.skillforge]
42
+ enabled = true
43
+ ```
44
+
45
+ ```bash
46
+ # Mine + synthesize + gauntlet (background by default, --foreground to watch)
47
+ nova forge run --foreground
48
+
49
+ # Inspect candidates and their gauntlet reports
50
+ nova forge status # latest run, gate-by-gate
51
+ nova forge list # all candidates
52
+
53
+ # Your call — install it or reject it
54
+ nova forge adopt forge_20260903_ab12cd34
55
+ nova forge reject forge_20260903_ef56ab78
56
+
57
+ # Undo any time
58
+ nova forge revert search-and-summarize
59
+ ```
60
+
61
+ ## Running it on a schedule
62
+
63
+ ```bash
64
+ nova scheduler create "forge skills" --cron "0 5 * * *" \
65
+ --metadata '{"kind": "skillforge"}'
66
+ ```
67
+
68
+ The scheduled run behaves exactly like a foreground run and logs `[skillforge] run forge_…: completed (patterns=N, passed=N)` to the task's run log.
69
+
70
+ ## Safety model
71
+
72
+ Generated skills are **step pipelines over audited tools** — there is no arbitrary shell, no new code paths, no tool the registry doesn't already know:
73
+
74
+ 1. **No invention** — every step must name a registered tool; the static gate rejects unknown tools before anything executes.
75
+ 2. **No dangerous capabilities** — a candidate requiring `shell:execute`, `network:listen`, or `filesystem:write` is refused at the static gate.
76
+ 3. **Sandboxed replay** — code/shell-shaped steps run through `run_sandboxed` (clean env, process-tree kill, output truncation, timeout).
77
+ 4. **Manual by default** — `auto_adopt = false`: a passed candidate sits in the store until `nova forge adopt`. `auto_adopt = true` exists for hands-off setups, but the gauntlet still runs first.
78
+ 5. **Reversible** — `nova forge revert <name>` deletes the skill directory instantly. Adopted skills are plain files in `generated/`.
79
+
80
+ ## Config reference
81
+
82
+ ```toml
83
+ [learning.skillforge]
84
+ enabled = false # master switch
85
+ auto_trigger = false # forge automatically when patterns accrue
86
+ auto_adopt = false # install passing skills without `nova forge adopt`
87
+ min_pattern_count = 3 # same tool-sequence must appear this often
88
+ min_feedback = 0.7 # average trace feedback required to mine a pattern
89
+ max_candidates_per_run = 3 # cap on skills synthesized per run
90
+ sandbox_timeout = 30.0 # seconds per sandboxed replay step
91
+ judge_model = "" # "" uses intelligence.default_model
92
+ ```
93
+
94
+ ## Artifacts
95
+
96
+ | Path | Contents |
97
+ |------|----------|
98
+ | `~/.nova_ai/learning/skillforge/runs.db` | Run + candidate history (`nova forge list`) |
99
+ | `~/.nova_ai/learning/skillforge/last_run.log` | Background run output |
100
+ | `~/.nova_ai/skills/generated/<name>/skill.toml` | Adopted skills (auto-discovered) |
101
+
102
+ ## CLI reference
103
+
104
+ | Command | What it does |
105
+ |---------|-------------|
106
+ | `nova forge run [--foreground]` | Mine patterns and forge candidates |
107
+ | `nova forge status` | Latest run + gate-by-gate gauntlet report |
108
+ | `nova forge list [-n N]` | Candidate history |
109
+ | `nova forge adopt RUN_ID` | Install a passed candidate |
110
+ | `nova forge reject RUN_ID` | Mark a candidate rejected |
111
+ | `nova forge revert SKILL_NAME` | Uninstall an adopted skill |
112
+
113
+ ## See also
114
+
115
+ - [Model Proving Ground](proving-ground.md) — the same gauntlet discipline, applied to models instead of skills.
116
+ - [Memory Consolidation](memory-consolidation.md) — the other consumer of your trace history.
117
+ - [Fleet Oracle](fleet-oracle.md) — pool anonymized performance data so others can learn from your hardware, too.
@@ -586,3 +586,25 @@ Remove a query class from the adoption map (rollback).
586
586
  ### `nova prove watch [--prove]`
587
587
 
588
588
  Check for newly pulled models; with `--prove`, run the gauntlet for each.
589
+
590
+ ---
591
+
592
+ ## `nova oracle`
593
+
594
+ The Fleet Oracle: opt-in anonymized performance reports pooled via a git dataset, queried locally. See [Fleet Oracle](../learning/fleet-oracle.md) for the privacy model (a fixed field list — nothing else ever leaves the machine).
595
+
596
+ ### `nova oracle export [-o PATH]`
597
+
598
+ Build the anonymized report from local telemetry and preview it (or write it to a file). This is the exact payload sharing would publish.
599
+
600
+ ### `nova oracle push`
601
+
602
+ Push the report to `learning.fleet.dataset_repo`. Refuses unless `learning.fleet.share_reports = true` (default off).
603
+
604
+ ### `nova oracle ask "QUESTION"`
605
+
606
+ Answer from the pooled dataset locally, e.g. `nova oracle ask "best 8B model for code on a 4090?"` — keyword-bucketed, no LLM, table shows the machines behind the answer.
607
+
608
+ ### `nova oracle status`
609
+
610
+ Fleet config, sharing state, and the local dataset copy size.
@@ -324,6 +324,26 @@ Use it to inform your response, citing sources where applicable:
324
324
 
325
325
  ---
326
326
 
327
+ ## Core Memory (distilled facts)
328
+
329
+ Beyond raw document retrieval, NOVA can consolidate your conversations into a compact **core memory** — a short list of durable facts ("prefers dark mode", "deploys on Fridays are forbidden") that is prepended to every query alongside retrieved context. This runs as a background "sleep cycle" and is off by default:
330
+
331
+ ```toml
332
+ # ~/.nova_ai/config.toml
333
+ [learning.consolidation]
334
+ enabled = true
335
+ ```
336
+
337
+ ```bash
338
+ nova memory consolidate run --foreground # run one cycle now
339
+ nova memory consolidate facts # see what NOVA learned
340
+ nova memory consolidate forget FACT_ID # remove a wrong fact
341
+ ```
342
+
343
+ See [Memory Consolidation](../learning/memory-consolidation.md) for the full pipeline (clustering, fact distillation, contradiction resolution, decay).
344
+
345
+ ---
346
+
327
347
  ## CLI Usage
328
348
 
329
349
  ```bash
@@ -421,3 +421,9 @@ TraceAnalyzer / TelemetryAggregator --> Learning System
421
421
  ```
422
422
 
423
423
  Both systems operate transparently -- no manual instrumentation is needed when using the CLI or SDK, as they automatically set up the event bus and telemetry store.
424
+
425
+ ---
426
+
427
+ ## Sharing aggregates: the Fleet Oracle
428
+
429
+ The per-model aggregates shown here are also the input to the [Fleet Oracle](../learning/fleet-oracle.md): with `learning.fleet.share_reports = true`, `nova oracle push` publishes a fixed-field, k-anonymized summary (hardware shape + per-model latency/throughput/energy averages — never prompts, content, or paths) to a shared git dataset, and `nova oracle ask` answers "best model for my hardware?" from the pooled fleet data locally. Sharing is off by default.