nova-ai-pro 1.2.5.dev91__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 (2239) hide show
  1. nova_ai_pro-1.2.5.dev91/.github/CODEOWNERS +16 -0
  2. nova_ai_pro-1.2.5.dev91/.github/ISSUE_TEMPLATE/bug_report.yml +95 -0
  3. nova_ai_pro-1.2.5.dev91/.github/ISSUE_TEMPLATE/config.yml +5 -0
  4. nova_ai_pro-1.2.5.dev91/.github/ISSUE_TEMPLATE/feature_request.yml +47 -0
  5. nova_ai_pro-1.2.5.dev91/.github/ISSUE_TEMPLATE/new_eval.yml +63 -0
  6. nova_ai_pro-1.2.5.dev91/.github/ISSUE_TEMPLATE/pearl_model_validation.yml +98 -0
  7. nova_ai_pro-1.2.5.dev91/.github/clone-stats/badge.json +7 -0
  8. nova_ai_pro-1.2.5.dev91/.github/clone-stats/clone-data.json +5 -0
  9. nova_ai_pro-1.2.5.dev91/.github/pull_request_template.md +16 -0
  10. nova_ai_pro-1.2.5.dev91/.github/workflows/autotag.yml +92 -0
  11. nova_ai_pro-1.2.5.dev91/.github/workflows/bash-tests.yml +27 -0
  12. nova_ai_pro-1.2.5.dev91/.github/workflows/ci.yml +168 -0
  13. nova_ai_pro-1.2.5.dev91/.github/workflows/claude-issues.yml +86 -0
  14. nova_ai_pro-1.2.5.dev91/.github/workflows/claude-review.yml +58 -0
  15. nova_ai_pro-1.2.5.dev91/.github/workflows/desktop.yml +374 -0
  16. nova_ai_pro-1.2.5.dev91/.github/workflows/docs.yml +63 -0
  17. nova_ai_pro-1.2.5.dev91/.github/workflows/frontend.yml +37 -0
  18. nova_ai_pro-1.2.5.dev91/.github/workflows/installer-integration.yml +118 -0
  19. nova_ai_pro-1.2.5.dev91/.github/workflows/jekyll-gh-pages.yml +51 -0
  20. nova_ai_pro-1.2.5.dev91/.github/workflows/pypi-publish.yml +135 -0
  21. nova_ai_pro-1.2.5.dev91/.github/workflows/release.yml +107 -0
  22. nova_ai_pro-1.2.5.dev91/.github/workflows/take-assign.yml +29 -0
  23. nova_ai_pro-1.2.5.dev91/.github/workflows/track-clones.yml +86 -0
  24. nova_ai_pro-1.2.5.dev91/.gitignore +148 -0
  25. nova_ai_pro-1.2.5.dev91/.pre-commit-config.yaml +7 -0
  26. nova_ai_pro-1.2.5.dev91/CHANGELOG.md +438 -0
  27. nova_ai_pro-1.2.5.dev91/CODE_OF_CONDUCT.md +85 -0
  28. nova_ai_pro-1.2.5.dev91/CONTRIBUTING.md +245 -0
  29. nova_ai_pro-1.2.5.dev91/LICENSE +190 -0
  30. nova_ai_pro-1.2.5.dev91/PKG-INFO +407 -0
  31. nova_ai_pro-1.2.5.dev91/README.md +220 -0
  32. nova_ai_pro-1.2.5.dev91/REVIEW.md +43 -0
  33. nova_ai_pro-1.2.5.dev91/SETUP_AND_USAGE_GUIDE.md +313 -0
  34. nova_ai_pro-1.2.5.dev91/assets/Chats.png +0 -0
  35. nova_ai_pro-1.2.5.dev91/assets/Close.png +0 -0
  36. nova_ai_pro-1.2.5.dev91/assets/Home.png +0 -0
  37. nova_ai_pro-1.2.5.dev91/assets/Maximize.png +0 -0
  38. nova_ai_pro-1.2.5.dev91/assets/Mic_off.png +0 -0
  39. nova_ai_pro-1.2.5.dev91/assets/Mic_on.png +0 -0
  40. nova_ai_pro-1.2.5.dev91/assets/Minimize.png +0 -0
  41. nova_ai_pro-1.2.5.dev91/assets/Minimize2.png +0 -0
  42. nova_ai_pro-1.2.5.dev91/assets/Nova.gif +0 -0
  43. nova_ai_pro-1.2.5.dev91/assets/NovaAI_Horizontal_Logo.jpg +0 -0
  44. nova_ai_pro-1.2.5.dev91/assets/NovaAI_Icon.jpg +0 -0
  45. nova_ai_pro-1.2.5.dev91/assets/Settings.png +0 -0
  46. nova_ai_pro-1.2.5.dev91/assets/nova_ai_demo_reel.jpg +0 -0
  47. nova_ai_pro-1.2.5.dev91/assets/nova_ai_demo_reel.webp +0 -0
  48. nova_ai_pro-1.2.5.dev91/browser-extension/README.md +25 -0
  49. nova_ai_pro-1.2.5.dev91/browser-extension/background.js +84 -0
  50. nova_ai_pro-1.2.5.dev91/browser-extension/content.css +136 -0
  51. nova_ai_pro-1.2.5.dev91/browser-extension/content.js +142 -0
  52. nova_ai_pro-1.2.5.dev91/browser-extension/icons/README.md +2 -0
  53. nova_ai_pro-1.2.5.dev91/browser-extension/icons/icon128.png +0 -0
  54. nova_ai_pro-1.2.5.dev91/browser-extension/icons/icon16.png +0 -0
  55. nova_ai_pro-1.2.5.dev91/browser-extension/icons/icon48.png +0 -0
  56. nova_ai_pro-1.2.5.dev91/browser-extension/manifest.json +37 -0
  57. nova_ai_pro-1.2.5.dev91/browser-extension/package.json +6 -0
  58. nova_ai_pro-1.2.5.dev91/browser-extension/popup.html +109 -0
  59. nova_ai_pro-1.2.5.dev91/browser-extension/popup.js +62 -0
  60. nova_ai_pro-1.2.5.dev91/configs/nova_ai/config.toml +116 -0
  61. nova_ai_pro-1.2.5.dev91/configs/nova_ai/examples/chat-simple.toml +24 -0
  62. nova_ai_pro-1.2.5.dev91/configs/nova_ai/examples/code-assistant.toml +21 -0
  63. nova_ai_pro-1.2.5.dev91/configs/nova_ai/examples/deep-research.toml +27 -0
  64. nova_ai_pro-1.2.5.dev91/configs/nova_ai/examples/morning-digest-linux.toml +51 -0
  65. nova_ai_pro-1.2.5.dev91/configs/nova_ai/examples/morning-digest-mac.toml +56 -0
  66. nova_ai_pro-1.2.5.dev91/configs/nova_ai/examples/morning-digest-minimal.toml +31 -0
  67. nova_ai_pro-1.2.5.dev91/configs/nova_ai/examples/scheduled-monitor.toml +35 -0
  68. nova_ai_pro-1.2.5.dev91/configs/nova_ai/examples/spec-search-quickstart.toml +76 -0
  69. nova_ai_pro-1.2.5.dev91/configs/nova_ai/prompts/personas/neutral.md +11 -0
  70. nova_ai_pro-1.2.5.dev91/configs/nova_ai/prompts/personas/nova.md +30 -0
  71. nova_ai_pro-1.2.5.dev91/deploy/docker/.env.example +7 -0
  72. nova_ai_pro-1.2.5.dev91/deploy/docker/Dockerfile +35 -0
  73. nova_ai_pro-1.2.5.dev91/deploy/docker/Dockerfile.gpu +42 -0
  74. nova_ai_pro-1.2.5.dev91/deploy/docker/Dockerfile.gpu.rocm +42 -0
  75. nova_ai_pro-1.2.5.dev91/deploy/docker/Dockerfile.sandbox +16 -0
  76. nova_ai_pro-1.2.5.dev91/deploy/docker/docker-compose.gpu.nvidia.yml +31 -0
  77. nova_ai_pro-1.2.5.dev91/deploy/docker/docker-compose.gpu.rocm.yml +15 -0
  78. nova_ai_pro-1.2.5.dev91/deploy/docker/docker-compose.yml +35 -0
  79. nova_ai_pro-1.2.5.dev91/deploy/launchd/com.nova-ai.plist +37 -0
  80. nova_ai_pro-1.2.5.dev91/deploy/posthog/posthog-hetzner-prep.sh +142 -0
  81. nova_ai_pro-1.2.5.dev91/deploy/systemd/nova_ai.service +20 -0
  82. nova_ai_pro-1.2.5.dev91/deploy/windows/README.md +136 -0
  83. nova_ai_pro-1.2.5.dev91/deploy/windows/install.ps1 +529 -0
  84. nova_ai_pro-1.2.5.dev91/deploy/windows/nova-ai-setup.iss +160 -0
  85. nova_ai_pro-1.2.5.dev91/deploy/windows/nova-service.ps1 +208 -0
  86. nova_ai_pro-1.2.5.dev91/desktop/src-tauri/src/overlay.html +450 -0
  87. nova_ai_pro-1.2.5.dev91/docs/architecture/agents.md +567 -0
  88. nova_ai_pro-1.2.5.dev91/docs/architecture/channels.md +192 -0
  89. nova_ai_pro-1.2.5.dev91/docs/architecture/design-principles.md +299 -0
  90. nova_ai_pro-1.2.5.dev91/docs/architecture/engine.md +406 -0
  91. nova_ai_pro-1.2.5.dev91/docs/architecture/intelligence.md +258 -0
  92. nova_ai_pro-1.2.5.dev91/docs/architecture/learning.md +628 -0
  93. nova_ai_pro-1.2.5.dev91/docs/architecture/memory.md +355 -0
  94. nova_ai_pro-1.2.5.dev91/docs/architecture/overview.md +242 -0
  95. nova_ai_pro-1.2.5.dev91/docs/architecture/query-flow.md +319 -0
  96. nova_ai_pro-1.2.5.dev91/docs/architecture/security.md +211 -0
  97. nova_ai_pro-1.2.5.dev91/docs/architecture/skills.md +222 -0
  98. nova_ai_pro-1.2.5.dev91/docs/assets/NovaAI_Architecture.png +0 -0
  99. nova_ai_pro-1.2.5.dev91/docs/assets/showcase/README.md +45 -0
  100. nova_ai_pro-1.2.5.dev91/docs/assets/showcase/coding-assistant.png +0 -0
  101. nova_ai_pro-1.2.5.dev91/docs/assets/showcase/cost-savings.png +0 -0
  102. nova_ai_pro-1.2.5.dev91/docs/assets/showcase/discord-companion.png +0 -0
  103. nova_ai_pro-1.2.5.dev91/docs/assets/showcase/morning-brief.png +0 -0
  104. nova_ai_pro-1.2.5.dev91/docs/assets/showcase/persistent-memory.png +0 -0
  105. nova_ai_pro-1.2.5.dev91/docs/deployment/api-server.md +510 -0
  106. nova_ai_pro-1.2.5.dev91/docs/deployment/docker.md +350 -0
  107. nova_ai_pro-1.2.5.dev91/docs/deployment/index.md +34 -0
  108. nova_ai_pro-1.2.5.dev91/docs/deployment/launchd.md +266 -0
  109. nova_ai_pro-1.2.5.dev91/docs/deployment/systemd.md +257 -0
  110. nova_ai_pro-1.2.5.dev91/docs/design/2026-05-05-apple-silicon-pearl-mining-design.md +711 -0
  111. nova_ai_pro-1.2.5.dev91/docs/design/2026-05-05-apple-silicon-pearl-mining-plan-v1.md +1811 -0
  112. nova_ai_pro-1.2.5.dev91/docs/design/2026-05-05-pearl-coordination-discussion-draft.md +91 -0
  113. nova_ai_pro-1.2.5.dev91/docs/design/2026-05-05-vllm-pearl-mining-integration-design.md +560 -0
  114. nova_ai_pro-1.2.5.dev91/docs/design/2026-05-05-vllm-pearl-mining-integration-plan.md +3558 -0
  115. nova_ai_pro-1.2.5.dev91/docs/desktop-auto-update.md +112 -0
  116. nova_ai_pro-1.2.5.dev91/docs/development/contributing.md +415 -0
  117. nova_ai_pro-1.2.5.dev91/docs/development/mining-nvidia-validation.md +289 -0
  118. nova_ai_pro-1.2.5.dev91/docs/development/mining.md +84 -0
  119. nova_ai_pro-1.2.5.dev91/docs/development/pearl-model-enablement.md +148 -0
  120. nova_ai_pro-1.2.5.dev91/docs/development/release-checklist.md +52 -0
  121. nova_ai_pro-1.2.5.dev91/docs/development/roadmap.md +141 -0
  122. nova_ai_pro-1.2.5.dev91/docs/downloads.md +255 -0
  123. nova_ai_pro-1.2.5.dev91/docs/gen_install_script.py +30 -0
  124. nova_ai_pro-1.2.5.dev91/docs/gen_ref_pages.py +31 -0
  125. nova_ai_pro-1.2.5.dev91/docs/getting-started/configuration.md +1155 -0
  126. nova_ai_pro-1.2.5.dev91/docs/getting-started/install.md +136 -0
  127. nova_ai_pro-1.2.5.dev91/docs/getting-started/installation.md +357 -0
  128. nova_ai_pro-1.2.5.dev91/docs/getting-started/linux.md +30 -0
  129. nova_ai_pro-1.2.5.dev91/docs/getting-started/macos.md +26 -0
  130. nova_ai_pro-1.2.5.dev91/docs/getting-started/quickstart.md +574 -0
  131. nova_ai_pro-1.2.5.dev91/docs/getting-started/snippets.md +135 -0
  132. nova_ai_pro-1.2.5.dev91/docs/getting-started/windows-native.md +83 -0
  133. nova_ai_pro-1.2.5.dev91/docs/getting-started/wsl2.md +34 -0
  134. nova_ai_pro-1.2.5.dev91/docs/includes/abbreviations.md +13 -0
  135. nova_ai_pro-1.2.5.dev91/docs/index.md +213 -0
  136. nova_ai_pro-1.2.5.dev91/docs/javascripts/docsearch-init.js +36 -0
  137. nova_ai_pro-1.2.5.dev91/docs/javascripts/leaderboard.js +221 -0
  138. nova_ai_pro-1.2.5.dev91/docs/leaderboard.md +59 -0
  139. nova_ai_pro-1.2.5.dev91/docs/learning/ace.md +135 -0
  140. nova_ai_pro-1.2.5.dev91/docs/learning/conversation-forking.md +112 -0
  141. nova_ai_pro-1.2.5.dev91/docs/learning/fleet-oracle.md +100 -0
  142. nova_ai_pro-1.2.5.dev91/docs/learning/memory-consolidation.md +112 -0
  143. nova_ai_pro-1.2.5.dev91/docs/learning/proving-ground.md +150 -0
  144. nova_ai_pro-1.2.5.dev91/docs/learning/self-training.md +157 -0
  145. nova_ai_pro-1.2.5.dev91/docs/learning/skill-foundry.md +117 -0
  146. nova_ai_pro-1.2.5.dev91/docs/overrides/main.html +33 -0
  147. nova_ai_pro-1.2.5.dev91/docs/proposal/NOVA_AI_Presentation.md +308 -0
  148. nova_ai_pro-1.2.5.dev91/docs/proposal/NOVA_AI_Project_Proposal.md +363 -0
  149. nova_ai_pro-1.2.5.dev91/docs/proposal/NOVA_AI_Technical_Presentation.pptx +0 -0
  150. nova_ai_pro-1.2.5.dev91/docs/proposal/NOVA_AI_Technical_Proposal.pdf +0 -0
  151. nova_ai_pro-1.2.5.dev91/docs/proposal/generate_pdf.py +565 -0
  152. nova_ai_pro-1.2.5.dev91/docs/proposal/generate_pptx.py +477 -0
  153. nova_ai_pro-1.2.5.dev91/docs/showcase/CONTRIBUTING.md +104 -0
  154. nova_ai_pro-1.2.5.dev91/docs/showcase/coding-assistant.md +36 -0
  155. nova_ai_pro-1.2.5.dev91/docs/showcase/cost-savings.md +38 -0
  156. nova_ai_pro-1.2.5.dev91/docs/showcase/discord-companion.md +34 -0
  157. nova_ai_pro-1.2.5.dev91/docs/showcase/index.md +72 -0
  158. nova_ai_pro-1.2.5.dev91/docs/showcase/morning-brief.md +39 -0
  159. nova_ai_pro-1.2.5.dev91/docs/showcase/persistent-memory.md +34 -0
  160. nova_ai_pro-1.2.5.dev91/docs/stylesheets/extra.css +586 -0
  161. nova_ai_pro-1.2.5.dev91/docs/telemetry.md +124 -0
  162. nova_ai_pro-1.2.5.dev91/docs/testing/agent-qa-runbook.md +75 -0
  163. nova_ai_pro-1.2.5.dev91/docs/tutorials/code-companion.md +218 -0
  164. nova_ai_pro-1.2.5.dev91/docs/tutorials/deep-research.md +197 -0
  165. nova_ai_pro-1.2.5.dev91/docs/tutorials/index.md +70 -0
  166. nova_ai_pro-1.2.5.dev91/docs/tutorials/messaging-hub.md +215 -0
  167. nova_ai_pro-1.2.5.dev91/docs/tutorials/scheduled-ops.md +215 -0
  168. nova_ai_pro-1.2.5.dev91/docs/tutorials/skills-workflow.md +236 -0
  169. nova_ai_pro-1.2.5.dev91/docs/user-guide/agents.md +743 -0
  170. nova_ai_pro-1.2.5.dev91/docs/user-guide/benchmarks.md +337 -0
  171. nova_ai_pro-1.2.5.dev91/docs/user-guide/channels-and-connectors.md +555 -0
  172. nova_ai_pro-1.2.5.dev91/docs/user-guide/channels.md +646 -0
  173. nova_ai_pro-1.2.5.dev91/docs/user-guide/chat-simple.md +154 -0
  174. nova_ai_pro-1.2.5.dev91/docs/user-guide/cli.md +610 -0
  175. nova_ai_pro-1.2.5.dev91/docs/user-guide/code-assistant.md +137 -0
  176. nova_ai_pro-1.2.5.dev91/docs/user-guide/deep-research.md +165 -0
  177. nova_ai_pro-1.2.5.dev91/docs/user-guide/evaluations.md +800 -0
  178. nova_ai_pro-1.2.5.dev91/docs/user-guide/llm-guided-spec-search.md +214 -0
  179. nova_ai_pro-1.2.5.dev91/docs/user-guide/mcp-external-servers.md +158 -0
  180. nova_ai_pro-1.2.5.dev91/docs/user-guide/memory.md +388 -0
  181. nova_ai_pro-1.2.5.dev91/docs/user-guide/mining-apple-silicon.md +162 -0
  182. nova_ai_pro-1.2.5.dev91/docs/user-guide/mining.md +141 -0
  183. nova_ai_pro-1.2.5.dev91/docs/user-guide/morning-digest.md +218 -0
  184. nova_ai_pro-1.2.5.dev91/docs/user-guide/pearl.md +58 -0
  185. nova_ai_pro-1.2.5.dev91/docs/user-guide/python-sdk.md +385 -0
  186. nova_ai_pro-1.2.5.dev91/docs/user-guide/scheduled-monitor.md +201 -0
  187. nova_ai_pro-1.2.5.dev91/docs/user-guide/scheduler.md +240 -0
  188. nova_ai_pro-1.2.5.dev91/docs/user-guide/security.md +454 -0
  189. nova_ai_pro-1.2.5.dev91/docs/user-guide/skills.md +413 -0
  190. nova_ai_pro-1.2.5.dev91/docs/user-guide/telemetry.md +429 -0
  191. nova_ai_pro-1.2.5.dev91/docs/user-guide/tools.md +596 -0
  192. nova_ai_pro-1.2.5.dev91/examples/browser_assistant/README.md +31 -0
  193. nova_ai_pro-1.2.5.dev91/examples/browser_assistant/browser_assistant.py +113 -0
  194. nova_ai_pro-1.2.5.dev91/examples/code_companion/README.md +148 -0
  195. nova_ai_pro-1.2.5.dev91/examples/code_companion/debugger.py +123 -0
  196. nova_ai_pro-1.2.5.dev91/examples/code_companion/reviewer.py +112 -0
  197. nova_ai_pro-1.2.5.dev91/examples/code_companion/test_gen.py +137 -0
  198. nova_ai_pro-1.2.5.dev91/examples/daily_digest/README.md +30 -0
  199. nova_ai_pro-1.2.5.dev91/examples/daily_digest/daily_digest.py +120 -0
  200. nova_ai_pro-1.2.5.dev91/examples/deep_research/README.md +111 -0
  201. nova_ai_pro-1.2.5.dev91/examples/deep_research/research.py +118 -0
  202. nova_ai_pro-1.2.5.dev91/examples/deep_research/research.toml +23 -0
  203. nova_ai_pro-1.2.5.dev91/examples/doc_qa/README.md +36 -0
  204. nova_ai_pro-1.2.5.dev91/examples/doc_qa/doc_qa.py +120 -0
  205. nova_ai_pro-1.2.5.dev91/examples/messaging_hub/README.md +144 -0
  206. nova_ai_pro-1.2.5.dev91/examples/messaging_hub/messaging.toml +25 -0
  207. nova_ai_pro-1.2.5.dev91/examples/messaging_hub/smart_inbox.py +267 -0
  208. nova_ai_pro-1.2.5.dev91/examples/multi_model_router/README.md +52 -0
  209. nova_ai_pro-1.2.5.dev91/examples/multi_model_router/multi_model_router.py +151 -0
  210. nova_ai_pro-1.2.5.dev91/examples/nova_ai/spec_search_quickstart.py +306 -0
  211. nova_ai_pro-1.2.5.dev91/examples/scheduled_ops/README.md +129 -0
  212. nova_ai_pro-1.2.5.dev91/examples/scheduled_ops/code_review.py +105 -0
  213. nova_ai_pro-1.2.5.dev91/examples/scheduled_ops/daily_digest.py +93 -0
  214. nova_ai_pro-1.2.5.dev91/examples/scheduled_ops/gym_scheduler.py +137 -0
  215. nova_ai_pro-1.2.5.dev91/examples/scheduled_ops/schedules.toml +19 -0
  216. nova_ai_pro-1.2.5.dev91/examples/security_scanner/README.md +33 -0
  217. nova_ai_pro-1.2.5.dev91/examples/security_scanner/security_scanner.py +117 -0
  218. nova_ai_pro-1.2.5.dev91/examples/twitter_bot/slack_preview.py +211 -0
  219. nova_ai_pro-1.2.5.dev91/examples/twitter_bot/test_grounding.py +126 -0
  220. nova_ai_pro-1.2.5.dev91/examples/twitter_bot/test_real_world.py +276 -0
  221. nova_ai_pro-1.2.5.dev91/examples/twitter_bot/twitter_bot.py +1060 -0
  222. nova_ai_pro-1.2.5.dev91/frontend/components.json +25 -0
  223. nova_ai_pro-1.2.5.dev91/frontend/index.html +16 -0
  224. nova_ai_pro-1.2.5.dev91/frontend/package-lock.json +13422 -0
  225. nova_ai_pro-1.2.5.dev91/frontend/package.json +61 -0
  226. nova_ai_pro-1.2.5.dev91/frontend/public/apple-touch-icon.png +0 -0
  227. nova_ai_pro-1.2.5.dev91/frontend/public/favicon.ico +0 -0
  228. nova_ai_pro-1.2.5.dev91/frontend/public/pwa-192x192.png +0 -0
  229. nova_ai_pro-1.2.5.dev91/frontend/public/pwa-512x512.png +0 -0
  230. nova_ai_pro-1.2.5.dev91/frontend/src/App.tsx +222 -0
  231. nova_ai_pro-1.2.5.dev91/frontend/src/components/ApprovalBell.tsx +264 -0
  232. nova_ai_pro-1.2.5.dev91/frontend/src/components/Chat/AudioPlayer.tsx +119 -0
  233. nova_ai_pro-1.2.5.dev91/frontend/src/components/Chat/CanvasPanel.tsx +100 -0
  234. nova_ai_pro-1.2.5.dev91/frontend/src/components/Chat/ChatArea.tsx +460 -0
  235. nova_ai_pro-1.2.5.dev91/frontend/src/components/Chat/InputArea.tsx +726 -0
  236. nova_ai_pro-1.2.5.dev91/frontend/src/components/Chat/MessageBubble.tsx +238 -0
  237. nova_ai_pro-1.2.5.dev91/frontend/src/components/Chat/MicButton.tsx +84 -0
  238. nova_ai_pro-1.2.5.dev91/frontend/src/components/Chat/ReasoningGraph.tsx +279 -0
  239. nova_ai_pro-1.2.5.dev91/frontend/src/components/Chat/ResearchTimeline.tsx +236 -0
  240. nova_ai_pro-1.2.5.dev91/frontend/src/components/Chat/StreamingDots.tsx +29 -0
  241. nova_ai_pro-1.2.5.dev91/frontend/src/components/Chat/SystemPanel.tsx +315 -0
  242. nova_ai_pro-1.2.5.dev91/frontend/src/components/Chat/ToolCallCard.tsx +168 -0
  243. nova_ai_pro-1.2.5.dev91/frontend/src/components/Chat/XRayFooter.tsx +132 -0
  244. nova_ai_pro-1.2.5.dev91/frontend/src/components/CommandPalette.tsx +545 -0
  245. nova_ai_pro-1.2.5.dev91/frontend/src/components/Dashboard/CostComparison.tsx +101 -0
  246. nova_ai_pro-1.2.5.dev91/frontend/src/components/Dashboard/EnergyDashboard.tsx +201 -0
  247. nova_ai_pro-1.2.5.dev91/frontend/src/components/Dashboard/HardwareGauges.tsx +136 -0
  248. nova_ai_pro-1.2.5.dev91/frontend/src/components/Dashboard/TraceDebugger.tsx +204 -0
  249. nova_ai_pro-1.2.5.dev91/frontend/src/components/Desktop/AdminPanel.tsx +454 -0
  250. nova_ai_pro-1.2.5.dev91/frontend/src/components/Desktop/AgentsPanel.tsx +1210 -0
  251. nova_ai_pro-1.2.5.dev91/frontend/src/components/Desktop/EnergyDashboard.tsx +406 -0
  252. nova_ai_pro-1.2.5.dev91/frontend/src/components/Desktop/LearningCurve.tsx +436 -0
  253. nova_ai_pro-1.2.5.dev91/frontend/src/components/Desktop/MemoryBrowser.tsx +369 -0
  254. nova_ai_pro-1.2.5.dev91/frontend/src/components/Desktop/SavingsDashboard.tsx +675 -0
  255. nova_ai_pro-1.2.5.dev91/frontend/src/components/Desktop/SettingsPanel.tsx +205 -0
  256. nova_ai_pro-1.2.5.dev91/frontend/src/components/Desktop/TaskPlannerPanel.tsx +298 -0
  257. nova_ai_pro-1.2.5.dev91/frontend/src/components/Desktop/TraceDebugger.tsx +607 -0
  258. nova_ai_pro-1.2.5.dev91/frontend/src/components/Desktop/UpdateChecker.tsx +232 -0
  259. nova_ai_pro-1.2.5.dev91/frontend/src/components/Desktop/hooks/useTauriApi.ts +87 -0
  260. nova_ai_pro-1.2.5.dev91/frontend/src/components/Desktop/lib/api.ts +182 -0
  261. nova_ai_pro-1.2.5.dev91/frontend/src/components/Docs/DocChatPanel.tsx +123 -0
  262. nova_ai_pro-1.2.5.dev91/frontend/src/components/Docs/DocLibrary.tsx +149 -0
  263. nova_ai_pro-1.2.5.dev91/frontend/src/components/ErrorBoundary.tsx +60 -0
  264. nova_ai_pro-1.2.5.dev91/frontend/src/components/Layout.tsx +78 -0
  265. nova_ai_pro-1.2.5.dev91/frontend/src/components/NotificationBell.tsx +151 -0
  266. nova_ai_pro-1.2.5.dev91/frontend/src/components/OptInModal.tsx +263 -0
  267. nova_ai_pro-1.2.5.dev91/frontend/src/components/SetupScreen.tsx +210 -0
  268. nova_ai_pro-1.2.5.dev91/frontend/src/components/Sidebar/ConversationList.tsx +190 -0
  269. nova_ai_pro-1.2.5.dev91/frontend/src/components/Sidebar/Sidebar.tsx +253 -0
  270. nova_ai_pro-1.2.5.dev91/frontend/src/components/SystemPulse.tsx +60 -0
  271. nova_ai_pro-1.2.5.dev91/frontend/src/components/setup/IngestDashboard.tsx +179 -0
  272. nova_ai_pro-1.2.5.dev91/frontend/src/components/setup/ReadyScreen.tsx +142 -0
  273. nova_ai_pro-1.2.5.dev91/frontend/src/components/setup/SetupWizard.tsx +119 -0
  274. nova_ai_pro-1.2.5.dev91/frontend/src/components/setup/SourceConnectFlow.tsx +605 -0
  275. nova_ai_pro-1.2.5.dev91/frontend/src/components/setup/SourcePicker.tsx +178 -0
  276. nova_ai_pro-1.2.5.dev91/frontend/src/components/ui/button.tsx +58 -0
  277. nova_ai_pro-1.2.5.dev91/frontend/src/components/ui/dialog.tsx +157 -0
  278. nova_ai_pro-1.2.5.dev91/frontend/src/components/ui/input.tsx +20 -0
  279. nova_ai_pro-1.2.5.dev91/frontend/src/components/ui/select.tsx +199 -0
  280. nova_ai_pro-1.2.5.dev91/frontend/src/components/ui/sonner.tsx +43 -0
  281. nova_ai_pro-1.2.5.dev91/frontend/src/components/ui/tooltip.tsx +64 -0
  282. nova_ai_pro-1.2.5.dev91/frontend/src/hooks/useSpeech.ts +92 -0
  283. nova_ai_pro-1.2.5.dev91/frontend/src/hooks/useSystemTelemetry.ts +72 -0
  284. nova_ai_pro-1.2.5.dev91/frontend/src/index.css +785 -0
  285. nova_ai_pro-1.2.5.dev91/frontend/src/lib/analytics.ts +208 -0
  286. nova_ai_pro-1.2.5.dev91/frontend/src/lib/api.auth.test.ts +85 -0
  287. nova_ai_pro-1.2.5.dev91/frontend/src/lib/api.ts +1286 -0
  288. nova_ai_pro-1.2.5.dev91/frontend/src/lib/connectors-api.ts +84 -0
  289. nova_ai_pro-1.2.5.dev91/frontend/src/lib/deep-link.ts +61 -0
  290. nova_ai_pro-1.2.5.dev91/frontend/src/lib/profanity.ts +24 -0
  291. nova_ai_pro-1.2.5.dev91/frontend/src/lib/rehype-citations.ts +203 -0
  292. nova_ai_pro-1.2.5.dev91/frontend/src/lib/sse.ts +109 -0
  293. nova_ai_pro-1.2.5.dev91/frontend/src/lib/store.ts +589 -0
  294. nova_ai_pro-1.2.5.dev91/frontend/src/lib/useAgentEvents.ts +90 -0
  295. nova_ai_pro-1.2.5.dev91/frontend/src/lib/utils.ts +6 -0
  296. nova_ai_pro-1.2.5.dev91/frontend/src/main.tsx +44 -0
  297. nova_ai_pro-1.2.5.dev91/frontend/src/pages/AgentsPage.tsx +4007 -0
  298. nova_ai_pro-1.2.5.dev91/frontend/src/pages/CalendarPage.tsx +324 -0
  299. nova_ai_pro-1.2.5.dev91/frontend/src/pages/ChatPage.tsx +16 -0
  300. nova_ai_pro-1.2.5.dev91/frontend/src/pages/DashboardPage.tsx +43 -0
  301. nova_ai_pro-1.2.5.dev91/frontend/src/pages/DataSourcesPage.tsx +2068 -0
  302. nova_ai_pro-1.2.5.dev91/frontend/src/pages/DocsPage.tsx +18 -0
  303. nova_ai_pro-1.2.5.dev91/frontend/src/pages/EmailPage.tsx +304 -0
  304. nova_ai_pro-1.2.5.dev91/frontend/src/pages/GGUFHubPage.tsx +419 -0
  305. nova_ai_pro-1.2.5.dev91/frontend/src/pages/GetStartedPage.tsx +485 -0
  306. nova_ai_pro-1.2.5.dev91/frontend/src/pages/IntegrationsPage.tsx +448 -0
  307. nova_ai_pro-1.2.5.dev91/frontend/src/pages/LogsPage.tsx +94 -0
  308. nova_ai_pro-1.2.5.dev91/frontend/src/pages/MobilePairPage.tsx +61 -0
  309. nova_ai_pro-1.2.5.dev91/frontend/src/pages/ModelComparePage.tsx +142 -0
  310. nova_ai_pro-1.2.5.dev91/frontend/src/pages/ModelHubPage.tsx +101 -0
  311. nova_ai_pro-1.2.5.dev91/frontend/src/pages/PersonasPage.tsx +133 -0
  312. nova_ai_pro-1.2.5.dev91/frontend/src/pages/SettingsPage.tsx +741 -0
  313. nova_ai_pro-1.2.5.dev91/frontend/src/types/connectors.ts +479 -0
  314. nova_ai_pro-1.2.5.dev91/frontend/src/types/index.ts +232 -0
  315. nova_ai_pro-1.2.5.dev91/frontend/src/vite-env.d.ts +9 -0
  316. nova_ai_pro-1.2.5.dev91/frontend/src-tauri/Cargo.lock +6333 -0
  317. nova_ai_pro-1.2.5.dev91/frontend/src-tauri/Cargo.toml +33 -0
  318. nova_ai_pro-1.2.5.dev91/frontend/src-tauri/Entitlements.plist +20 -0
  319. nova_ai_pro-1.2.5.dev91/frontend/src-tauri/binaries/.gitignore +3 -0
  320. nova_ai_pro-1.2.5.dev91/frontend/src-tauri/build.rs +3 -0
  321. nova_ai_pro-1.2.5.dev91/frontend/src-tauri/capabilities/default.json +29 -0
  322. nova_ai_pro-1.2.5.dev91/frontend/src-tauri/icons/128x128.png +0 -0
  323. nova_ai_pro-1.2.5.dev91/frontend/src-tauri/icons/128x128@2x.png +0 -0
  324. nova_ai_pro-1.2.5.dev91/frontend/src-tauri/icons/256x256.png +0 -0
  325. nova_ai_pro-1.2.5.dev91/frontend/src-tauri/icons/32x32.png +0 -0
  326. nova_ai_pro-1.2.5.dev91/frontend/src-tauri/icons/icon.icns +0 -0
  327. nova_ai_pro-1.2.5.dev91/frontend/src-tauri/icons/icon.ico +0 -0
  328. nova_ai_pro-1.2.5.dev91/frontend/src-tauri/icons/icon.png +0 -0
  329. nova_ai_pro-1.2.5.dev91/frontend/src-tauri/scripts/download-ollama.sh +182 -0
  330. nova_ai_pro-1.2.5.dev91/frontend/src-tauri/src/lib.rs +2815 -0
  331. nova_ai_pro-1.2.5.dev91/frontend/src-tauri/src/main.rs +6 -0
  332. nova_ai_pro-1.2.5.dev91/frontend/src-tauri/src/overlay.html +450 -0
  333. nova_ai_pro-1.2.5.dev91/frontend/src-tauri/tauri.conf.json +73 -0
  334. nova_ai_pro-1.2.5.dev91/frontend/tsconfig.json +26 -0
  335. nova_ai_pro-1.2.5.dev91/frontend/vite.config.ts +59 -0
  336. nova_ai_pro-1.2.5.dev91/install.bat +35 -0
  337. nova_ai_pro-1.2.5.dev91/mkdocs.yml +210 -0
  338. nova_ai_pro-1.2.5.dev91/pyproject.toml +294 -0
  339. nova_ai_pro-1.2.5.dev91/rust/Cargo.lock +3202 -0
  340. nova_ai_pro-1.2.5.dev91/rust/Cargo.toml +57 -0
  341. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-a2a/Cargo.toml +10 -0
  342. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-a2a/src/lib.rs +343 -0
  343. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-agents/Cargo.toml +20 -0
  344. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-agents/src/helpers.rs +80 -0
  345. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-agents/src/lib.rs +23 -0
  346. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-agents/src/loop_guard.rs +134 -0
  347. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-agents/src/monitor_operative.rs +473 -0
  348. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-agents/src/native_openhands.rs +339 -0
  349. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-agents/src/native_react.rs +211 -0
  350. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-agents/src/orchestrator.rs +100 -0
  351. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-agents/src/simple.rs +79 -0
  352. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-agents/src/traits.rs +20 -0
  353. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-agents/src/utils.rs +32 -0
  354. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-core/Cargo.toml +19 -0
  355. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-core/src/config.rs +1053 -0
  356. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-core/src/error.rs +267 -0
  357. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-core/src/events.rs +324 -0
  358. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-core/src/hardware.rs +345 -0
  359. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-core/src/lib.rs +19 -0
  360. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-core/src/model_catalog.rs +306 -0
  361. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-core/src/registry.rs +230 -0
  362. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-core/src/types.rs +738 -0
  363. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-engine/Cargo.toml +22 -0
  364. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-engine/src/discovery.rs +130 -0
  365. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-engine/src/engine_enum.rs +207 -0
  366. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-engine/src/lib.rs +23 -0
  367. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-engine/src/llamacpp.rs +337 -0
  368. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-engine/src/ollama.rs +274 -0
  369. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-engine/src/openai_compat.rs +380 -0
  370. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-engine/src/rig_adapter.rs +276 -0
  371. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-engine/src/sglang.rs +325 -0
  372. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-engine/src/traits.rs +115 -0
  373. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-engine/src/vllm.rs +366 -0
  374. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/Cargo.toml +18 -0
  375. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/agent_advisor.rs +191 -0
  376. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/agent_evolver.rs +283 -0
  377. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/bandit.rs +188 -0
  378. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/grpo.rs +129 -0
  379. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/heuristic.rs +80 -0
  380. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/heuristic_reward.rs +93 -0
  381. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/icl_updater.rs +233 -0
  382. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/learning_orchestrator.rs +199 -0
  383. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/lib.rs +40 -0
  384. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/optimize/engine.rs +484 -0
  385. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/optimize/llm_optimizer.rs +860 -0
  386. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/optimize/mod.rs +20 -0
  387. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/optimize/search_space.rs +354 -0
  388. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/optimize/store.rs +671 -0
  389. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/optimize/types.rs +638 -0
  390. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/orchestrator_types.rs +383 -0
  391. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/reward.rs +335 -0
  392. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/router_enum.rs +35 -0
  393. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/sft_policy.rs +179 -0
  394. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/skill_discovery.rs +198 -0
  395. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/trace_policy.rs +324 -0
  396. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/training_data.rs +345 -0
  397. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-learning/src/traits.rs +18 -0
  398. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-mcp/Cargo.toml +13 -0
  399. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-mcp/src/lib.rs +7 -0
  400. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-mcp/src/protocol.rs +110 -0
  401. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-mcp/src/server.rs +153 -0
  402. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/Cargo.toml +32 -0
  403. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/pyproject.toml +12 -0
  404. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/src/a2a.rs +111 -0
  405. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/src/agents.rs +378 -0
  406. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/src/core.rs +212 -0
  407. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/src/engine.rs +189 -0
  408. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/src/learning.rs +573 -0
  409. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/src/lib.rs +195 -0
  410. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/src/mcp.rs +25 -0
  411. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/src/recipes.rs +67 -0
  412. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/src/scheduler.rs +61 -0
  413. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/src/security.rs +258 -0
  414. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/src/sessions.rs +66 -0
  415. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/src/skills.rs +128 -0
  416. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/src/storage.rs +355 -0
  417. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/src/telemetry.rs +382 -0
  418. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/src/templates.rs +57 -0
  419. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/src/tools.rs +237 -0
  420. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/src/traces.rs +92 -0
  421. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/src/workflow.rs +127 -0
  422. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-python/uv.lock +8 -0
  423. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-recipes/Cargo.toml +10 -0
  424. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-recipes/src/lib.rs +186 -0
  425. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-scheduler/Cargo.toml +12 -0
  426. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-scheduler/src/lib.rs +431 -0
  427. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-security/Cargo.toml +25 -0
  428. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-security/src/audit.rs +316 -0
  429. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-security/src/capabilities.rs +238 -0
  430. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-security/src/file_policy.rs +84 -0
  431. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-security/src/guardrails.rs +267 -0
  432. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-security/src/injection.rs +208 -0
  433. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-security/src/lib.rs +23 -0
  434. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-security/src/rate_limiter.rs +147 -0
  435. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-security/src/scanner.rs +256 -0
  436. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-security/src/ssrf.rs +319 -0
  437. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-security/src/taint.rs +195 -0
  438. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-security/src/types.rs +127 -0
  439. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-sessions/Cargo.toml +11 -0
  440. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-sessions/src/lib.rs +731 -0
  441. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-skills/Cargo.toml +11 -0
  442. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-skills/src/lib.rs +164 -0
  443. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-telemetry/Cargo.toml +22 -0
  444. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-telemetry/src/aggregator.rs +23 -0
  445. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-telemetry/src/energy.rs +100 -0
  446. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-telemetry/src/flops.rs +228 -0
  447. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-telemetry/src/instrumented.rs +117 -0
  448. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-telemetry/src/itl.rs +156 -0
  449. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-telemetry/src/lib.rs +14 -0
  450. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-telemetry/src/phase.rs +201 -0
  451. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-telemetry/src/session.rs +391 -0
  452. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-telemetry/src/store.rs +152 -0
  453. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-templates/Cargo.toml +10 -0
  454. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-templates/src/lib.rs +79 -0
  455. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/Cargo.toml +28 -0
  456. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/builtin/calculator.rs +90 -0
  457. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/builtin/file_tools.rs +147 -0
  458. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/builtin/git_tools.rs +92 -0
  459. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/builtin/http_tools.rs +99 -0
  460. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/builtin/mod.rs +59 -0
  461. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/builtin/shell.rs +79 -0
  462. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/builtin/think.rs +46 -0
  463. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/executor.rs +147 -0
  464. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/lib.rs +10 -0
  465. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/rig_tools.rs +416 -0
  466. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/storage/backend_enum.rs +83 -0
  467. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/storage/bm25.rs +196 -0
  468. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/storage/colbert.rs +415 -0
  469. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/storage/faiss.rs +393 -0
  470. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/storage/hybrid.rs +243 -0
  471. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/storage/knowledge_graph.rs +263 -0
  472. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/storage/mod.rs +20 -0
  473. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/storage/sqlite.rs +336 -0
  474. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/storage/traits.rs +22 -0
  475. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/storage/utils.rs +57 -0
  476. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-tools/src/traits.rs +24 -0
  477. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-traces/Cargo.toml +17 -0
  478. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-traces/src/analyzer.rs +153 -0
  479. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-traces/src/collector.rs +102 -0
  480. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-traces/src/lib.rs +9 -0
  481. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-traces/src/store.rs +246 -0
  482. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-workflow/Cargo.toml +10 -0
  483. nova_ai_pro-1.2.5.dev91/rust/crates/nova_ai-workflow/src/lib.rs +498 -0
  484. nova_ai_pro-1.2.5.dev91/rust/rust-toolchain.toml +12 -0
  485. nova_ai_pro-1.2.5.dev91/scripts/bump-desktop-version.sh +56 -0
  486. nova_ai_pro-1.2.5.dev91/scripts/index_docs.py +184 -0
  487. nova_ai_pro-1.2.5.dev91/scripts/install/bg-orchestrator.sh +49 -0
  488. nova_ai_pro-1.2.5.dev91/scripts/install/build-extension.sh +60 -0
  489. nova_ai_pro-1.2.5.dev91/scripts/install/install-rust.sh +23 -0
  490. nova_ai_pro-1.2.5.dev91/scripts/install/install.sh +745 -0
  491. nova_ai_pro-1.2.5.dev91/scripts/install/nova-uninstall.sh +47 -0
  492. nova_ai_pro-1.2.5.dev91/scripts/install/nova-wrapper.sh +14 -0
  493. nova_ai_pro-1.2.5.dev91/scripts/install/pull-model.sh +64 -0
  494. nova_ai_pro-1.2.5.dev91/scripts/mining/pearl_model_converter.py +16 -0
  495. nova_ai_pro-1.2.5.dev91/scripts/oauth_all.py +358 -0
  496. nova_ai_pro-1.2.5.dev91/scripts/pearl/README.md +11 -0
  497. nova_ai_pro-1.2.5.dev91/scripts/pearl/model_converter.py +361 -0
  498. nova_ai_pro-1.2.5.dev91/scripts/quickstart.sh +204 -0
  499. nova_ai_pro-1.2.5.dev91/scripts/smoke_framework_comparison.sh +95 -0
  500. nova_ai_pro-1.2.5.dev91/src/nova_ai/__init__.py +18 -0
  501. nova_ai_pro-1.2.5.dev91/src/nova_ai/_rust_bridge.py +194 -0
  502. nova_ai_pro-1.2.5.dev91/src/nova_ai/a2a/__init__.py +16 -0
  503. nova_ai_pro-1.2.5.dev91/src/nova_ai/a2a/client.py +115 -0
  504. nova_ai_pro-1.2.5.dev91/src/nova_ai/a2a/protocol.py +116 -0
  505. nova_ai_pro-1.2.5.dev91/src/nova_ai/a2a/server.py +168 -0
  506. nova_ai_pro-1.2.5.dev91/src/nova_ai/a2a/tool.py +81 -0
  507. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/__init__.py +114 -0
  508. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/_stubs.py +385 -0
  509. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/channel_agent.py +154 -0
  510. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/claude_code.py +248 -0
  511. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/claude_code_runner/package.json +8 -0
  512. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/claude_code_runner/src/index.ts +157 -0
  513. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/deep_research.py +381 -0
  514. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/digest_evaluator.py +139 -0
  515. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/digest_store.py +155 -0
  516. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/errors.py +101 -0
  517. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/executor.py +823 -0
  518. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/README.md +101 -0
  519. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/__init__.py +44 -0
  520. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/_base.py +1431 -0
  521. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/_energy.py +180 -0
  522. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/_openai_retry.py +451 -0
  523. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/_prices.py +73 -0
  524. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/_prompts.py +68 -0
  525. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/advisors.py +454 -0
  526. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/archon.py +706 -0
  527. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/baseline_cloud.py +192 -0
  528. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/baseline_local.py +159 -0
  529. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/conductor.py +1079 -0
  530. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/mini_swe_agent.py +1603 -0
  531. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/minions.py +747 -0
  532. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/registry/advisors.toml +41 -0
  533. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/registry/archon.toml +94 -0
  534. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/registry/baseline_local.toml +82 -0
  535. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/registry/conductor.toml +105 -0
  536. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/registry/mini_swe_agent.toml +33 -0
  537. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/registry/minions.toml +96 -0
  538. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/registry/skillorchestra.toml +59 -0
  539. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/registry/swe_agent_loop.toml +70 -0
  540. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/registry/toolorchestra.toml +229 -0
  541. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/runner.py +938 -0
  542. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/scripts/new_experiment.sh +108 -0
  543. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/skillorchestra/README.md +48 -0
  544. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/skillorchestra/__init__.py +22 -0
  545. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/skillorchestra/agent.py +161 -0
  546. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/skillorchestra/handbook_seed.json +500 -0
  547. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/skillorchestra/orchestrator.py +433 -0
  548. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/skillorchestra/pool.py +176 -0
  549. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/skillorchestra/prompts/__init__.py +49 -0
  550. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/skillorchestra/prompts/eval_orchestrator.py +233 -0
  551. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/skillorchestra/prompts/learning.py +448 -0
  552. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/skillorchestra/prompts/model_routing.py +134 -0
  553. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/skillorchestra/stage_router.py +530 -0
  554. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/skillorchestra/tools.py +438 -0
  555. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/skillorchestra/types.py +434 -0
  556. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/skillorchestra.py +416 -0
  557. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/hybrid/toolorchestra.py +1868 -0
  558. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/loop_guard.py +243 -0
  559. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/manager.py +852 -0
  560. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/monitor_operative.py +753 -0
  561. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/morning_digest.py +255 -0
  562. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/native_openhands.py +422 -0
  563. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/native_react.py +256 -0
  564. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/opencode.py +401 -0
  565. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/openhands.py +86 -0
  566. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/operative.py +323 -0
  567. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/orchestrator.py +376 -0
  568. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/proactive_agent.py +618 -0
  569. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/prompt_loader.py +84 -0
  570. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/research_loop.py +883 -0
  571. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/rlm.py +461 -0
  572. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/rlm_repl.py +247 -0
  573. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/scheduler.py +290 -0
  574. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/self_healing.py +628 -0
  575. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/simple.py +35 -0
  576. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/templates/__init__.py +0 -0
  577. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/templates/code_reviewer.toml +48 -0
  578. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/templates/inbox_triager.toml +44 -0
  579. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/templates/personal_deep_research.toml +12 -0
  580. nova_ai_pro-1.2.5.dev91/src/nova_ai/agents/templates/research_monitor.toml +45 -0
  581. nova_ai_pro-1.2.5.dev91/src/nova_ai/analytics/__init__.py +33 -0
  582. nova_ai_pro-1.2.5.dev91/src/nova_ai/analytics/aggregator.py +186 -0
  583. nova_ai_pro-1.2.5.dev91/src/nova_ai/analytics/bridge.py +222 -0
  584. nova_ai_pro-1.2.5.dev91/src/nova_ai/analytics/client.py +128 -0
  585. nova_ai_pro-1.2.5.dev91/src/nova_ai/analytics/events.py +407 -0
  586. nova_ai_pro-1.2.5.dev91/src/nova_ai/analytics/identity.py +49 -0
  587. nova_ai_pro-1.2.5.dev91/src/nova_ai/analytics/redaction.py +106 -0
  588. nova_ai_pro-1.2.5.dev91/src/nova_ai/bench/__init__.py +29 -0
  589. nova_ai_pro-1.2.5.dev91/src/nova_ai/bench/_stats.py +35 -0
  590. nova_ai_pro-1.2.5.dev91/src/nova_ai/bench/_stubs.py +116 -0
  591. nova_ai_pro-1.2.5.dev91/src/nova_ai/bench/energy.py +162 -0
  592. nova_ai_pro-1.2.5.dev91/src/nova_ai/bench/latency.py +92 -0
  593. nova_ai_pro-1.2.5.dev91/src/nova_ai/bench/throughput.py +101 -0
  594. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/__init__.py +58 -0
  595. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/_stubs.py +98 -0
  596. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/bluebubbles.py +134 -0
  597. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/discord_channel.py +265 -0
  598. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/email_channel.py +243 -0
  599. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/feishu.py +165 -0
  600. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/gmail.py +318 -0
  601. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/google_chat.py +127 -0
  602. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/imessage_daemon.py +205 -0
  603. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/irc_channel.py +145 -0
  604. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/line_channel.py +156 -0
  605. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/mastodon_channel.py +157 -0
  606. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/matrix_channel.py +141 -0
  607. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/mattermost.py +138 -0
  608. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/messenger_channel.py +136 -0
  609. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/nostr_channel.py +164 -0
  610. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/reddit_channel.py +171 -0
  611. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/rocketchat_channel.py +169 -0
  612. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/sendblue.py +228 -0
  613. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/signal_channel.py +133 -0
  614. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/slack.py +266 -0
  615. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/slack_blocks.py +250 -0
  616. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/slack_daemon.py +278 -0
  617. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/teams.py +145 -0
  618. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/telegram.py +291 -0
  619. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/twilio_sms.py +140 -0
  620. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/twitch_channel.py +164 -0
  621. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/twitter_channel.py +343 -0
  622. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/viber_channel.py +146 -0
  623. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/webchat.py +114 -0
  624. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/webhook.py +143 -0
  625. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/whatsapp.py +143 -0
  626. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/whatsapp_baileys.py +345 -0
  627. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/whatsapp_baileys_bridge/package-lock.json +1351 -0
  628. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/whatsapp_baileys_bridge/package.json +17 -0
  629. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/whatsapp_baileys_bridge/src/bridge.ts +156 -0
  630. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/whatsapp_baileys_bridge/tsconfig.json +13 -0
  631. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/xmpp_channel.py +153 -0
  632. nova_ai_pro-1.2.5.dev91/src/nova_ai/channels/zulip_channel.py +169 -0
  633. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/__init__.py +202 -0
  634. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/__main__.py +6 -0
  635. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/_banner.py +39 -0
  636. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/_bg_state.py +116 -0
  637. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/_bootstrap.py +249 -0
  638. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/_chat_banner.py +29 -0
  639. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/_chat_notifications.py +48 -0
  640. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/_first_run.py +68 -0
  641. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/_install_detect.py +87 -0
  642. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/_screen.py +79 -0
  643. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/_tool_names.py +40 -0
  644. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/_version_check.py +220 -0
  645. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/add_cmd.py +138 -0
  646. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/agent_cmd.py +884 -0
  647. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/ask.py +1024 -0
  648. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/auth_cmd.py +71 -0
  649. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/bench_cmd.py +486 -0
  650. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/canvas_cmd.py +83 -0
  651. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/channel_cmd.py +266 -0
  652. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/channels_cmd.py +153 -0
  653. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/chat_cmd.py +291 -0
  654. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/clip_cmd.py +54 -0
  655. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/compose_cmd.py +483 -0
  656. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/config_cmd.py +405 -0
  657. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/connect_cmd.py +227 -0
  658. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/conversation_cmd.py +175 -0
  659. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/daemon_cmd.py +207 -0
  660. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/dashboard.py +167 -0
  661. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/deep_research_setup_cmd.py +439 -0
  662. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/digest_cmd.py +299 -0
  663. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/doctor_cmd.py +447 -0
  664. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/eval_cmd.py +620 -0
  665. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/feedback_cmd.py +198 -0
  666. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/forge_cmd.py +357 -0
  667. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/gateway_cmd.py +103 -0
  668. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/hints.py +52 -0
  669. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/host_cmd.py +392 -0
  670. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/init_cmd.py +570 -0
  671. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/integrations_cmd.py +395 -0
  672. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/log_config.py +87 -0
  673. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/memory_cmd.py +389 -0
  674. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/memory_wiki_cmd.py +90 -0
  675. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/mine_cmd.py +1008 -0
  676. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/model.py +270 -0
  677. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/operators_cmd.py +376 -0
  678. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/optimize_cmd.py +521 -0
  679. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/oracle_cmd.py +222 -0
  680. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/pearl_cmd.py +149 -0
  681. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/prove_cmd.py +425 -0
  682. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/quickstart_cmd.py +160 -0
  683. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/registry_cmd.py +146 -0
  684. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/router_cmd.py +50 -0
  685. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/scan_cmd.py +543 -0
  686. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/scheduler_cmd.py +371 -0
  687. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/screen_cmd.py +81 -0
  688. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/self_update_cmd.py +89 -0
  689. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/serve.py +720 -0
  690. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/skill_cmd.py +731 -0
  691. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/telemetry_cmd.py +232 -0
  692. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/tool_cmd.py +107 -0
  693. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/train_cmd.py +362 -0
  694. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/tunnel_cmd.py +71 -0
  695. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/vault_cmd.py +140 -0
  696. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/voice_cmd.py +38 -0
  697. nova_ai_pro-1.2.5.dev91/src/nova_ai/cli/workflow_cmd.py +70 -0
  698. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/__init__.py +134 -0
  699. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/_stubs.py +110 -0
  700. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/apple_contacts.py +482 -0
  701. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/apple_health.py +419 -0
  702. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/apple_music.py +251 -0
  703. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/apple_notes.py +291 -0
  704. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/attachment_store.py +185 -0
  705. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/caldav_connector.py +151 -0
  706. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/chunker.py +398 -0
  707. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/dropbox.py +375 -0
  708. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/embedding_store.py +181 -0
  709. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/embeddings.py +167 -0
  710. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/gcalendar.py +562 -0
  711. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/gcontacts.py +360 -0
  712. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/gdrive.py +383 -0
  713. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/github_notifications.py +111 -0
  714. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/gmail.py +693 -0
  715. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/gmail_imap.py +322 -0
  716. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/google_auth.py +130 -0
  717. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/google_tasks.py +130 -0
  718. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/granola.py +460 -0
  719. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/hackernews.py +91 -0
  720. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/hybrid_search.py +479 -0
  721. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/imessage.py +286 -0
  722. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/news_rss.py +162 -0
  723. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/notion.py +439 -0
  724. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/oauth.py +720 -0
  725. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/obsidian.py +235 -0
  726. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/oura.py +90 -0
  727. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/outlook.py +58 -0
  728. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/pipeline.py +294 -0
  729. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/retriever.py +302 -0
  730. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/scheduler.py +149 -0
  731. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/slack_connector.py +703 -0
  732. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/smtp_sender.py +74 -0
  733. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/spotify.py +157 -0
  734. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/store.py +611 -0
  735. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/strava.py +173 -0
  736. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/sync_engine.py +192 -0
  737. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/weather.py +131 -0
  738. nova_ai_pro-1.2.5.dev91/src/nova_ai/connectors/whatsapp.py +298 -0
  739. nova_ai_pro-1.2.5.dev91/src/nova_ai/conversations/__init__.py +12 -0
  740. nova_ai_pro-1.2.5.dev91/src/nova_ai/conversations/racer.py +193 -0
  741. nova_ai_pro-1.2.5.dev91/src/nova_ai/conversations/store.py +335 -0
  742. nova_ai_pro-1.2.5.dev91/src/nova_ai/core/__init__.py +45 -0
  743. nova_ai_pro-1.2.5.dev91/src/nova_ai/core/config/__init__.py +253 -0
  744. nova_ai_pro-1.2.5.dev91/src/nova_ai/core/config/hardware.py +288 -0
  745. nova_ai_pro-1.2.5.dev91/src/nova_ai/core/config/loader.py +229 -0
  746. nova_ai_pro-1.2.5.dev91/src/nova_ai/core/config/models.py +74 -0
  747. nova_ai_pro-1.2.5.dev91/src/nova_ai/core/config/sections.py +1416 -0
  748. nova_ai_pro-1.2.5.dev91/src/nova_ai/core/config/tomlgen.py +315 -0
  749. nova_ai_pro-1.2.5.dev91/src/nova_ai/core/config/validation.py +111 -0
  750. nova_ai_pro-1.2.5.dev91/src/nova_ai/core/credentials.py +136 -0
  751. nova_ai_pro-1.2.5.dev91/src/nova_ai/core/events.py +198 -0
  752. nova_ai_pro-1.2.5.dev91/src/nova_ai/core/paths.py +132 -0
  753. nova_ai_pro-1.2.5.dev91/src/nova_ai/core/registry.py +183 -0
  754. nova_ai_pro-1.2.5.dev91/src/nova_ai/core/types.py +304 -0
  755. nova_ai_pro-1.2.5.dev91/src/nova_ai/core/utils.py +102 -0
  756. nova_ai_pro-1.2.5.dev91/src/nova_ai/daemon/__init__.py +1 -0
  757. nova_ai_pro-1.2.5.dev91/src/nova_ai/daemon/gateway.py +39 -0
  758. nova_ai_pro-1.2.5.dev91/src/nova_ai/daemon/service.py +57 -0
  759. nova_ai_pro-1.2.5.dev91/src/nova_ai/daemon/session_expiry.py +33 -0
  760. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/__init__.py +31 -0
  761. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/_base.py +69 -0
  762. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/_discovery.py +205 -0
  763. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/_openai_compat.py +284 -0
  764. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/_stubs.py +140 -0
  765. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/apple_fm_shim.py +204 -0
  766. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/cloud.py +1825 -0
  767. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/gemma_cpp.py +179 -0
  768. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/gguf.py +529 -0
  769. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/litellm.py +146 -0
  770. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/model_downloader.py +627 -0
  771. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/multi.py +288 -0
  772. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/nexa_shim.py +164 -0
  773. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/offload.py +491 -0
  774. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/ollama.py +449 -0
  775. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/openai_compat_engines.py +61 -0
  776. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/router.py +378 -0
  777. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/router_config.py +28 -0
  778. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/router_learning.py +186 -0
  779. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/self_optimizer.py +486 -0
  780. nova_ai_pro-1.2.5.dev91/src/nova_ai/engine/task_planner.py +433 -0
  781. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/__init__.py +1 -0
  782. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/__main__.py +6 -0
  783. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/backends/__init__.py +1 -0
  784. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/backends/_commit_util.py +34 -0
  785. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/backends/_endpoint_util.py +52 -0
  786. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/backends/external/__init__.py +6 -0
  787. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/backends/external/_runners/__init__.py +6 -0
  788. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/backends/external/_runners/hermes_runner.py +200 -0
  789. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/backends/external/_runners/openclaw_runner.mjs +142 -0
  790. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/backends/external/_subprocess_runner.py +324 -0
  791. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/backends/external/hermes_agent.py +134 -0
  792. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/backends/external/openclaw.py +122 -0
  793. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/backends/nova_agent.py +216 -0
  794. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/backends/nova_direct.py +140 -0
  795. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/backends/tb_agent.py +32 -0
  796. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/backends/terminalbench_native.py +277 -0
  797. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/cli.py +1799 -0
  798. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/comparison/__init__.py +5 -0
  799. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/comparison/make_configs.py +207 -0
  800. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/comparison/table_gen.py +424 -0
  801. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/comparison/third_party.py +170 -0
  802. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/deepplanning-monitor-operative.toml +42 -0
  803. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/framework_comparison/_template.toml +49 -0
  804. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/framework_comparison/_third_party.toml +27 -0
  805. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/full-suite.toml +63 -0
  806. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-gemini-31-pro.toml +29 -0
  807. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-gemma4-26b.toml +31 -0
  808. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-gpt54.toml +29 -0
  809. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-nemotron-nano.toml +30 -0
  810. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-nemotron-super.toml +30 -0
  811. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-nemotron3-super.toml +31 -0
  812. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-qwen-122b.toml +30 -0
  813. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-qwen-27b.toml +30 -0
  814. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-qwen-2b.toml +31 -0
  815. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-qwen-35b.toml +30 -0
  816. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-qwen-9b.toml +31 -0
  817. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-qwen122b.toml +30 -0
  818. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-qwen35b.toml +30 -0
  819. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-rerun-claude-opus.toml +29 -0
  820. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-rerun-claude-sonnet.toml +29 -0
  821. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-rerun-glm47flash.toml +30 -0
  822. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-rerun-gpt5mini.toml +29 -0
  823. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-rerun-minimax-m25.toml +30 -0
  824. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-rerun-qwen122b.toml +32 -0
  825. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-rerun-qwen35b.toml +30 -0
  826. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-rerun-qwen397b.toml +30 -0
  827. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/gaia-trinity-large.toml +34 -0
  828. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/glm-4.7-flash-openhands-remaining.toml +60 -0
  829. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/glm-4.7-flash-openhands.toml +69 -0
  830. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/glm-4.7-fp8-openhands-gaia.toml +43 -0
  831. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/glm5-fp8-monitor-operative.toml +74 -0
  832. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/kimi-k2.5-monitor-operative.toml +74 -0
  833. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/livecodebench-claude-opus.toml +30 -0
  834. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/livecodebench-gemma4-26b.toml +30 -0
  835. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/livecodebench-gemma4-e4b.toml +30 -0
  836. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/livecodebench-kimi-k25.toml +39 -0
  837. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/livecodebench-minimax-m25.toml +36 -0
  838. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/livecodebench-nemotron-nano.toml +30 -0
  839. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/livecodebench-nemotron-super.toml +28 -0
  840. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/livecodebench-qwen-122b.toml +28 -0
  841. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/livecodebench-qwen-27b.toml +30 -0
  842. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/livecodebench-qwen-2b.toml +30 -0
  843. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/livecodebench-qwen-35b.toml +28 -0
  844. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/livecodebench-qwen-9b.toml +30 -0
  845. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-claude-opus.toml +29 -0
  846. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-gemini-31-pro.toml +29 -0
  847. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-gemma4-26b.toml +31 -0
  848. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-gemma4-31b.toml +30 -0
  849. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-gpt54.toml +29 -0
  850. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-granite-3.3-8b-lora.toml +30 -0
  851. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-granite-3.3-8b.toml +30 -0
  852. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-granite-4.0-h-small.toml +30 -0
  853. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-granite-4.0-micro.toml +30 -0
  854. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-nemotron-nano.toml +30 -0
  855. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-nemotron-super.toml +30 -0
  856. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-qwen-122b.toml +30 -0
  857. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-qwen-27b-lora-r32.toml +30 -0
  858. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-qwen-27b.toml +30 -0
  859. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-qwen-2b-lora-r16.toml +31 -0
  860. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-qwen-2b-lora-r32.toml +31 -0
  861. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-qwen-2b-mixed.toml +31 -0
  862. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-qwen-2b-trackb.toml +31 -0
  863. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-qwen-2b.toml +31 -0
  864. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-qwen-35b.toml +30 -0
  865. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-qwen-9b-lora-r32.toml +31 -0
  866. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-qwen-9b-mixed.toml +31 -0
  867. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-qwen-9b-trackb.toml +31 -0
  868. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-qwen-9b.toml +31 -0
  869. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearch-trinity-large.toml +34 -0
  870. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearchbench-qwen-27b.toml +31 -0
  871. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearchbench-qwen-2b.toml +31 -0
  872. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/liveresearchbench-qwen-9b.toml +31 -0
  873. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/long-horizon-claude-opus.toml +51 -0
  874. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/long-horizon-claude-sonnet.toml +51 -0
  875. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/long-horizon-glm47flash.toml +58 -0
  876. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/long-horizon-gpt5mini.toml +51 -0
  877. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/long-horizon-kimik25.toml +60 -0
  878. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/long-horizon-minimax-m25.toml +58 -0
  879. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/long-horizon-qwen122b.toml +58 -0
  880. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/long-horizon-qwen35b.toml +58 -0
  881. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/long-horizon-qwen397b.toml +58 -0
  882. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/minimal.toml +7 -0
  883. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/paperarena-monitor-operative.toml +42 -0
  884. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench-claude-opus.toml +35 -0
  885. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench-gemini-31-pro.toml +35 -0
  886. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench-gemma4-26b.toml +35 -0
  887. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench-gemma4-e4b.toml +35 -0
  888. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench-gpt54.toml +34 -0
  889. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench-kimi-k25.toml +44 -0
  890. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench-minimax-m25.toml +41 -0
  891. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench-nemotron-nano.toml +35 -0
  892. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench-nemotron-super.toml +34 -0
  893. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench-nemotron3-super.toml +35 -0
  894. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench-qwen-122b.toml +34 -0
  895. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench-qwen-27b.toml +35 -0
  896. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench-qwen-2b.toml +35 -0
  897. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench-qwen-35b.toml +34 -0
  898. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench-qwen-9b.toml +35 -0
  899. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench-qwen122b.toml +35 -0
  900. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench-qwen35b.toml +35 -0
  901. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench-qwen397b.toml +35 -0
  902. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/pinchbench.toml +26 -0
  903. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/qwen3.5-122b-kg-agentic.toml +42 -0
  904. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/qwen3.5-122b-kg-hightoken.toml +38 -0
  905. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/qwen3.5-122b-reasoning-suite.toml +51 -0
  906. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/qwen3.5-35b-kg.toml +38 -0
  907. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/qwen3.5-35b-monitor-operative.toml +57 -0
  908. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/qwen3.5-397b-monitor-operative.toml +42 -0
  909. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/single-run.toml +31 -0
  910. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/smoke_amd.toml +106 -0
  911. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/smoke_apple.toml +79 -0
  912. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/smoke_nvidia.toml +112 -0
  913. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-claude-opus.toml +29 -0
  914. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-gemini-31-pro.toml +30 -0
  915. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-gemma4-26b.toml +31 -0
  916. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-gemma4-e4b.toml +31 -0
  917. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-gpt54.toml +29 -0
  918. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-kimi-k25.toml +40 -0
  919. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-minimax-m25.toml +37 -0
  920. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-nemotron-nano.toml +31 -0
  921. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-nemotron-super.toml +29 -0
  922. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-nemotron3-super.toml +29 -0
  923. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-qwen-122b.toml +29 -0
  924. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-qwen-27b.toml +31 -0
  925. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-qwen-2b.toml +31 -0
  926. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-qwen-35b.toml +29 -0
  927. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-qwen-9b.toml +31 -0
  928. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-qwen122b.toml +28 -0
  929. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-qwen35b.toml +28 -0
  930. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-qwen397b.toml +30 -0
  931. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-telecom-claude.toml +27 -0
  932. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-telecom-gemma4-26b.toml +29 -0
  933. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-telecom-gpt54.toml +27 -0
  934. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-telecom-nemotron-nano.toml +28 -0
  935. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-telecom-nemotron-super.toml +29 -0
  936. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-telecom-nemotron.toml +28 -0
  937. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-telecom-qwen-122b.toml +29 -0
  938. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-telecom-qwen-27b.toml +28 -0
  939. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-telecom-qwen-35b.toml +29 -0
  940. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-telecom-qwen27b.toml +29 -0
  941. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-telecom-qwen2b.toml +29 -0
  942. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-telecom-qwen9b.toml +29 -0
  943. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/taubench-telecom-trinity-large.toml +28 -0
  944. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/terminalbench-native-qwen122b.toml +30 -0
  945. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/terminalbench-qwen122b.toml +30 -0
  946. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/toolcall15-claude-opus.toml +28 -0
  947. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/toolcall15-gemma4-26b.toml +29 -0
  948. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/toolcall15-gemma4-e4b.toml +29 -0
  949. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/toolcall15-kimi-k25.toml +38 -0
  950. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/toolcall15-minimax-m25.toml +35 -0
  951. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/toolcall15-nemotron-nano.toml +29 -0
  952. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/toolcall15-nemotron-super.toml +28 -0
  953. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/toolcall15-qwen-122b.toml +28 -0
  954. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/toolcall15-qwen-27b.toml +29 -0
  955. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/toolcall15-qwen-2b.toml +29 -0
  956. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/toolcall15-qwen-35b.toml +28 -0
  957. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/toolcall15-qwen-9b.toml +29 -0
  958. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/use_case_cloud_comparison.toml +78 -0
  959. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/use_case_cloud_openhands.toml +93 -0
  960. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/use_case_cloud_orchestrator.toml +93 -0
  961. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/use_case_direct.toml +47 -0
  962. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/use_case_ibm_granite.toml +56 -0
  963. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/use_case_openhands.toml +57 -0
  964. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/use_case_opensource_openhands.toml +101 -0
  965. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/use_case_opensource_orchestrator.toml +101 -0
  966. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/use_case_orchestrator.toml +57 -0
  967. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/use_case_react.toml +57 -0
  968. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/use_case_suite.toml +48 -0
  969. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/use_case_v2_cloud.toml +64 -0
  970. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/use_case_v2_granite.toml +52 -0
  971. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/use_case_v2_local.toml +60 -0
  972. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/configs/use_case_v2_suite.toml +57 -0
  973. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/core/__init__.py +1 -0
  974. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/core/agentic_runner.py +908 -0
  975. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/core/backend.py +55 -0
  976. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/core/config.py +365 -0
  977. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/core/dataset.py +58 -0
  978. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/core/display.py +452 -0
  979. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/core/environment.py +67 -0
  980. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/core/event_recorder.py +98 -0
  981. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/core/export.py +505 -0
  982. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/core/pricing.py +17 -0
  983. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/core/runner.py +1394 -0
  984. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/core/scorer.py +55 -0
  985. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/core/splits.py +40 -0
  986. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/core/trace.py +290 -0
  987. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/core/tracker.py +34 -0
  988. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/core/types.py +315 -0
  989. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/__init__.py +1 -0
  990. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/adp.py +211 -0
  991. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/ama_bench.py +272 -0
  992. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/browser_assistant.py +445 -0
  993. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/coding_assistant.py +1632 -0
  994. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/coding_task.py +284 -0
  995. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/daily_digest.py +688 -0
  996. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/deepplanning.py +236 -0
  997. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/doc_qa.py +1106 -0
  998. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/email_triage.py +334 -0
  999. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/frames.py +141 -0
  1000. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/gaia.py +179 -0
  1001. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/generalthoughts.py +118 -0
  1002. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/gpqa.py +146 -0
  1003. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/hle.py +135 -0
  1004. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/ipw_mixed.py +195 -0
  1005. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/knowledge_base.py +227 -0
  1006. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/lifelong_agent.py +517 -0
  1007. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/livecodebench.py +286 -0
  1008. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/liveresearch.py +198 -0
  1009. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/liveresearchbench.py +190 -0
  1010. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/loghub.py +259 -0
  1011. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/math500.py +110 -0
  1012. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/mmlu_pro.py +115 -0
  1013. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/morning_brief.py +217 -0
  1014. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/natural_reasoning.py +115 -0
  1015. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/paperarena.py +170 -0
  1016. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/pinchbench.py +220 -0
  1017. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/research_mining.py +266 -0
  1018. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/security_scanner.py +1074 -0
  1019. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/simpleqa.py +129 -0
  1020. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/supergpqa.py +128 -0
  1021. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/swebench.py +174 -0
  1022. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/swefficiency.py +173 -0
  1023. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/taubench.py +274 -0
  1024. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/terminalbench.py +123 -0
  1025. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/terminalbench_native.py +187 -0
  1026. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/terminalbench_v2_1.py +242 -0
  1027. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/toolcall15.py +723 -0
  1028. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/toolorchestra.py +171 -0
  1029. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/webchorearena.py +267 -0
  1030. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/wildchat.py +111 -0
  1031. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/datasets/workarena.py +257 -0
  1032. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/environments/__init__.py +5 -0
  1033. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/environments/base.py +154 -0
  1034. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/environments/lifelong_agent_env.py +1188 -0
  1035. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/execution/__init__.py +1 -0
  1036. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/execution/pinchbench_env.py +161 -0
  1037. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/execution/taubench_env.py +422 -0
  1038. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/execution/terminalbench_env.py +300 -0
  1039. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/execution/terminalbench_v2_1_env.py +123 -0
  1040. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/execution/webchorearena_env.py +793 -0
  1041. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/execution/workarena_env.py +500 -0
  1042. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/__init__.py +1 -0
  1043. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/_checklist.py +172 -0
  1044. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/ama_bench_judge.py +159 -0
  1045. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/browser_assistant.py +236 -0
  1046. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/coding_assistant.py +172 -0
  1047. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/coding_task.py +165 -0
  1048. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/daily_digest.py +169 -0
  1049. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/deepplanning_scorer.py +89 -0
  1050. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/doc_qa.py +186 -0
  1051. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/email_triage.py +136 -0
  1052. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/frames_judge.py +105 -0
  1053. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/gaia_exact.py +167 -0
  1054. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/gpqa_mcq.py +106 -0
  1055. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/hle_judge.py +102 -0
  1056. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/ipw_mixed.py +111 -0
  1057. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/knowledge_base.py +118 -0
  1058. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/lifelong_agent_scorer.py +930 -0
  1059. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/livecodebench.py +256 -0
  1060. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/liveresearch.py +435 -0
  1061. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/liveresearchbench.py +228 -0
  1062. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/loghub_scorer.py +83 -0
  1063. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/mmlu_pro_mcq.py +106 -0
  1064. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/morning_brief.py +128 -0
  1065. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/paperarena_judge.py +168 -0
  1066. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/pinchbench.py +578 -0
  1067. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/reasoning_judge.py +166 -0
  1068. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/research_mining.py +109 -0
  1069. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/security_scanner.py +263 -0
  1070. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/simpleqa_judge.py +142 -0
  1071. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/supergpqa_mcq.py +106 -0
  1072. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/swebench_harness.py +574 -0
  1073. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/swebench_structural.py +71 -0
  1074. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/swefficiency_structural.py +72 -0
  1075. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/taubench.py +58 -0
  1076. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/terminalbench_judge.py +109 -0
  1077. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/terminalbench_native_structural.py +69 -0
  1078. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/terminalbench_v2_1.py +258 -0
  1079. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/toolcall15.py +606 -0
  1080. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/webchorearena_scorer.py +94 -0
  1081. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/wildchat_judge.py +173 -0
  1082. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/scorers/workarena_scorer.py +88 -0
  1083. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/skill_benchmark.py +508 -0
  1084. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/tests/__init__.py +1 -0
  1085. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/tests/conftest.py +154 -0
  1086. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/tests/test_backends.py +287 -0
  1087. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/tests/test_cli_endpoint.py +190 -0
  1088. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/tests/test_cli_flags.py +19 -0
  1089. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/tests/test_config.py +719 -0
  1090. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/tests/test_display.py +152 -0
  1091. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/tests/test_frames.py +111 -0
  1092. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/tests/test_gaia.py +138 -0
  1093. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/tests/test_runner.py +465 -0
  1094. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/tests/test_supergpqa.py +105 -0
  1095. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/tests/test_types.py +444 -0
  1096. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/tests/test_wildchat.py +117 -0
  1097. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/trackers/__init__.py +23 -0
  1098. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/trackers/sheets_tracker.py +164 -0
  1099. nova_ai_pro-1.2.5.dev91/src/nova_ai/evals/trackers/wandb_tracker.py +157 -0
  1100. nova_ai_pro-1.2.5.dev91/src/nova_ai/intelligence/__init__.py +11 -0
  1101. nova_ai_pro-1.2.5.dev91/src/nova_ai/intelligence/model_catalog.py +1024 -0
  1102. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/__init__.py +90 -0
  1103. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/_stubs.py +78 -0
  1104. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/agents/__init__.py +3 -0
  1105. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/agents/ace_optimizer.py +241 -0
  1106. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/agents/agent_evolver.py +365 -0
  1107. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/agents/dspy_optimizer.py +206 -0
  1108. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/agents/gepa_optimizer.py +324 -0
  1109. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/agents/skill_discovery.py +204 -0
  1110. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/agents/skill_optimizer.py +316 -0
  1111. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/fleet/__init__.py +29 -0
  1112. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/fleet/oracle.py +289 -0
  1113. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/fleet/push.py +154 -0
  1114. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/fleet/report.py +131 -0
  1115. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/intelligence/__init__.py +13 -0
  1116. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/intelligence/grpo_trainer.py +373 -0
  1117. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/intelligence/orchestrator/__init__.py +87 -0
  1118. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/intelligence/orchestrator/environment.py +112 -0
  1119. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/intelligence/orchestrator/grpo_trainer.py +491 -0
  1120. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/intelligence/orchestrator/policy_model.py +280 -0
  1121. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/intelligence/orchestrator/prompt_registry.py +345 -0
  1122. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/intelligence/orchestrator/reward.py +217 -0
  1123. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/intelligence/orchestrator/sft_trainer.py +415 -0
  1124. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/intelligence/orchestrator/types.py +334 -0
  1125. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/intelligence/sft_trainer.py +147 -0
  1126. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/learning_orchestrator.py +256 -0
  1127. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/optimize/__init__.py +61 -0
  1128. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/optimize/config.py +102 -0
  1129. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/optimize/configs/qwen3-235b-dry-run.toml +90 -0
  1130. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/optimize/configs/qwen3.5-joint-agentic.toml +91 -0
  1131. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/optimize/feedback/__init__.py +6 -0
  1132. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/optimize/feedback/collector.py +120 -0
  1133. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/optimize/feedback/judge.py +119 -0
  1134. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/optimize/llm_optimizer.py +661 -0
  1135. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/optimize/optimizer.py +437 -0
  1136. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/optimize/personal/__init__.py +17 -0
  1137. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/optimize/personal/dataset.py +54 -0
  1138. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/optimize/personal/scorer.py +50 -0
  1139. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/optimize/personal/synthesizer.py +119 -0
  1140. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/optimize/search_space.py +200 -0
  1141. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/optimize/store.py +508 -0
  1142. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/optimize/trial_runner.py +403 -0
  1143. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/optimize/types.py +253 -0
  1144. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/proving/__init__.py +21 -0
  1145. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/proving/adoption.py +133 -0
  1146. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/proving/pipeline.py +345 -0
  1147. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/proving/store.py +201 -0
  1148. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/proving/watcher.py +172 -0
  1149. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/routing/__init__.py +3 -0
  1150. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/routing/_utils.py +34 -0
  1151. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/routing/complexity.py +257 -0
  1152. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/routing/heuristic_policy.py +15 -0
  1153. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/routing/heuristic_reward.py +56 -0
  1154. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/routing/learned_router.py +287 -0
  1155. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/routing/router.py +174 -0
  1156. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/skillforge/__init__.py +15 -0
  1157. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/skillforge/adoption.py +159 -0
  1158. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/skillforge/gauntlet.py +266 -0
  1159. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/skillforge/miner.py +127 -0
  1160. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/skillforge/pipeline.py +223 -0
  1161. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/skillforge/store.py +178 -0
  1162. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/skillforge/synthesizer.py +205 -0
  1163. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/__init__.py +1 -0
  1164. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/checkpoint/__init__.py +1 -0
  1165. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/checkpoint/store.py +255 -0
  1166. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/composite_reward.py +97 -0
  1167. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/diagnose/__init__.py +1 -0
  1168. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/diagnose/runner.py +320 -0
  1169. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/diagnose/teacher_agent.py +269 -0
  1170. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/diagnose/tools.py +543 -0
  1171. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/diagnose/types.py +129 -0
  1172. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/execute/__init__.py +1 -0
  1173. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/execute/appliers/__init__.py +10 -0
  1174. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/execute/appliers/agent.py +226 -0
  1175. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/execute/appliers/intelligence.py +117 -0
  1176. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/execute/appliers/lora.py +272 -0
  1177. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/execute/appliers/lora_stub.py +38 -0
  1178. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/execute/appliers/tools.py +159 -0
  1179. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/execute/base.py +95 -0
  1180. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/execute/loop.py +213 -0
  1181. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/external_adapter.py +70 -0
  1182. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/gate/__init__.py +1 -0
  1183. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/gate/benchmark_gate.py +131 -0
  1184. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/gate/cold_start.py +109 -0
  1185. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/gate/regression.py +60 -0
  1186. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/models.py +372 -0
  1187. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/multi_session.py +129 -0
  1188. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/orchestrator.py +463 -0
  1189. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/pending_queue.py +75 -0
  1190. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/plan/__init__.py +1 -0
  1191. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/plan/planner.py +285 -0
  1192. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/plan/prompt_diff.py +170 -0
  1193. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/plan/risk_tier.py +63 -0
  1194. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/storage/__init__.py +1 -0
  1195. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/storage/paths.py +88 -0
  1196. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/storage/session_store.py +304 -0
  1197. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/student_runner.py +135 -0
  1198. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/spec_search/triggers.py +66 -0
  1199. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/training/__init__.py +15 -0
  1200. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/training/data.py +373 -0
  1201. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/training/deploy.py +335 -0
  1202. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/training/dpo.py +271 -0
  1203. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/training/lora.py +435 -0
  1204. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/training/pipeline.py +354 -0
  1205. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/training/store.py +235 -0
  1206. nova_ai_pro-1.2.5.dev91/src/nova_ai/learning/training/triggers.py +201 -0
  1207. nova_ai_pro-1.2.5.dev91/src/nova_ai/mcp/__init__.py +26 -0
  1208. nova_ai_pro-1.2.5.dev91/src/nova_ai/mcp/client.py +126 -0
  1209. nova_ai_pro-1.2.5.dev91/src/nova_ai/mcp/loader.py +131 -0
  1210. nova_ai_pro-1.2.5.dev91/src/nova_ai/mcp/protocol.py +145 -0
  1211. nova_ai_pro-1.2.5.dev91/src/nova_ai/mcp/server.py +284 -0
  1212. nova_ai_pro-1.2.5.dev91/src/nova_ai/mcp/transport.py +260 -0
  1213. nova_ai_pro-1.2.5.dev91/src/nova_ai/memory/__init__.py +7 -0
  1214. nova_ai_pro-1.2.5.dev91/src/nova_ai/memory/consolidation/__init__.py +12 -0
  1215. nova_ai_pro-1.2.5.dev91/src/nova_ai/memory/consolidation/cluster.py +162 -0
  1216. nova_ai_pro-1.2.5.dev91/src/nova_ai/memory/consolidation/inject.py +61 -0
  1217. nova_ai_pro-1.2.5.dev91/src/nova_ai/memory/consolidation/pipeline.py +335 -0
  1218. nova_ai_pro-1.2.5.dev91/src/nova_ai/memory/consolidation/store.py +358 -0
  1219. nova_ai_pro-1.2.5.dev91/src/nova_ai/memory/wiki.py +246 -0
  1220. nova_ai_pro-1.2.5.dev91/src/nova_ai/mining/__init__.py +60 -0
  1221. nova_ai_pro-1.2.5.dev91/src/nova_ai/mining/_collector.py +78 -0
  1222. nova_ai_pro-1.2.5.dev91/src/nova_ai/mining/_constants.py +55 -0
  1223. nova_ai_pro-1.2.5.dev91/src/nova_ai/mining/_discovery.py +176 -0
  1224. nova_ai_pro-1.2.5.dev91/src/nova_ai/mining/_docker.py +530 -0
  1225. nova_ai_pro-1.2.5.dev91/src/nova_ai/mining/_install.py +62 -0
  1226. nova_ai_pro-1.2.5.dev91/src/nova_ai/mining/_metrics.py +96 -0
  1227. nova_ai_pro-1.2.5.dev91/src/nova_ai/mining/_miner_loop_main.py +231 -0
  1228. nova_ai_pro-1.2.5.dev91/src/nova_ai/mining/_models.py +92 -0
  1229. nova_ai_pro-1.2.5.dev91/src/nova_ai/mining/_mps_miner_loop_main.py +311 -0
  1230. nova_ai_pro-1.2.5.dev91/src/nova_ai/mining/_pearl_subprocess.py +206 -0
  1231. nova_ai_pro-1.2.5.dev91/src/nova_ai/mining/_stubs.py +177 -0
  1232. nova_ai_pro-1.2.5.dev91/src/nova_ai/mining/apple_mps_pearl.py +103 -0
  1233. nova_ai_pro-1.2.5.dev91/src/nova_ai/mining/cpu_pearl.py +214 -0
  1234. nova_ai_pro-1.2.5.dev91/src/nova_ai/mining/pools/__init__.py +9 -0
  1235. nova_ai_pro-1.2.5.dev91/src/nova_ai/mining/vllm_pearl.py +156 -0
  1236. nova_ai_pro-1.2.5.dev91/src/nova_ai/notifications/__init__.py +1 -0
  1237. nova_ai_pro-1.2.5.dev91/src/nova_ai/notifications/notifier.py +165 -0
  1238. nova_ai_pro-1.2.5.dev91/src/nova_ai/operators/__init__.py +17 -0
  1239. nova_ai_pro-1.2.5.dev91/src/nova_ai/operators/data/knowledge_curator.toml +45 -0
  1240. nova_ai_pro-1.2.5.dev91/src/nova_ai/operators/data/news_digest.toml +47 -0
  1241. nova_ai_pro-1.2.5.dev91/src/nova_ai/operators/data/researcher.toml +43 -0
  1242. nova_ai_pro-1.2.5.dev91/src/nova_ai/operators/data/system_monitor.toml +42 -0
  1243. nova_ai_pro-1.2.5.dev91/src/nova_ai/operators/loader.py +73 -0
  1244. nova_ai_pro-1.2.5.dev91/src/nova_ai/operators/manager.py +489 -0
  1245. nova_ai_pro-1.2.5.dev91/src/nova_ai/operators/types.py +39 -0
  1246. nova_ai_pro-1.2.5.dev91/src/nova_ai/prompt/__init__.py +1 -0
  1247. nova_ai_pro-1.2.5.dev91/src/nova_ai/prompt/builder.py +290 -0
  1248. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/__init__.py +21 -0
  1249. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/composer.py +143 -0
  1250. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/coding_assistant.toml +25 -0
  1251. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/coding_benchmark.toml +36 -0
  1252. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/gaia_orchestrator.toml +35 -0
  1253. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/general_assistant.toml +24 -0
  1254. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/monitor_assistant.toml +25 -0
  1255. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/operators/correspondent.toml +14 -0
  1256. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/operators/correspondent_prompt.md +52 -0
  1257. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/operators/inbox_triage.toml +57 -0
  1258. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/operators/news_briefing.toml +57 -0
  1259. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/operators/nova_ai_twitter_bot.toml +22 -0
  1260. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/operators/nova_ai_twitter_bot_prompt.md +73 -0
  1261. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/operators/repo_watcher.toml +64 -0
  1262. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/operators/researcher.toml +14 -0
  1263. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/operators/researcher_prompt.md +45 -0
  1264. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/operators/sentinel.toml +14 -0
  1265. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/operators/sentinel_prompt.md +74 -0
  1266. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/operators/twitter_sentinel.toml +50 -0
  1267. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/research_assistant.toml +24 -0
  1268. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/swebench_openhands.toml +41 -0
  1269. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/data/terminalbench_react.toml +35 -0
  1270. nova_ai_pro-1.2.5.dev91/src/nova_ai/recipes/loader.py +341 -0
  1271. nova_ai_pro-1.2.5.dev91/src/nova_ai/sandbox/__init__.py +18 -0
  1272. nova_ai_pro-1.2.5.dev91/src/nova_ai/sandbox/mount_security.py +195 -0
  1273. nova_ai_pro-1.2.5.dev91/src/nova_ai/sandbox/runner.py +361 -0
  1274. nova_ai_pro-1.2.5.dev91/src/nova_ai/sandbox/wasm_runner.py +159 -0
  1275. nova_ai_pro-1.2.5.dev91/src/nova_ai/scheduler/__init__.py +6 -0
  1276. nova_ai_pro-1.2.5.dev91/src/nova_ai/scheduler/scheduler.py +735 -0
  1277. nova_ai_pro-1.2.5.dev91/src/nova_ai/scheduler/store.py +167 -0
  1278. nova_ai_pro-1.2.5.dev91/src/nova_ai/scheduler/tools.py +350 -0
  1279. nova_ai_pro-1.2.5.dev91/src/nova_ai/sdk.py +629 -0
  1280. nova_ai_pro-1.2.5.dev91/src/nova_ai/security/__init__.py +123 -0
  1281. nova_ai_pro-1.2.5.dev91/src/nova_ai/security/_stubs.py +28 -0
  1282. nova_ai_pro-1.2.5.dev91/src/nova_ai/security/audit.py +266 -0
  1283. nova_ai_pro-1.2.5.dev91/src/nova_ai/security/boundary.py +139 -0
  1284. nova_ai_pro-1.2.5.dev91/src/nova_ai/security/capabilities.py +190 -0
  1285. nova_ai_pro-1.2.5.dev91/src/nova_ai/security/credential_stripper.py +31 -0
  1286. nova_ai_pro-1.2.5.dev91/src/nova_ai/security/file_policy.py +67 -0
  1287. nova_ai_pro-1.2.5.dev91/src/nova_ai/security/file_utils.py +34 -0
  1288. nova_ai_pro-1.2.5.dev91/src/nova_ai/security/guardrails.py +374 -0
  1289. nova_ai_pro-1.2.5.dev91/src/nova_ai/security/injection_scanner.py +140 -0
  1290. nova_ai_pro-1.2.5.dev91/src/nova_ai/security/rate_limiter.py +107 -0
  1291. nova_ai_pro-1.2.5.dev91/src/nova_ai/security/scanner.py +148 -0
  1292. nova_ai_pro-1.2.5.dev91/src/nova_ai/security/severity_policy.py +22 -0
  1293. nova_ai_pro-1.2.5.dev91/src/nova_ai/security/signing.py +132 -0
  1294. nova_ai_pro-1.2.5.dev91/src/nova_ai/security/ssrf.py +138 -0
  1295. nova_ai_pro-1.2.5.dev91/src/nova_ai/security/subprocess_sandbox.py +157 -0
  1296. nova_ai_pro-1.2.5.dev91/src/nova_ai/security/taint.py +137 -0
  1297. nova_ai_pro-1.2.5.dev91/src/nova_ai/security/types.py +104 -0
  1298. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/__init__.py +3 -0
  1299. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/agent_manager_routes.py +2494 -0
  1300. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/analytics_routes.py +55 -0
  1301. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/api_routes.py +1123 -0
  1302. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/app.py +420 -0
  1303. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/approval_routes.py +79 -0
  1304. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/auth_middleware.py +113 -0
  1305. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/calendar_router.py +207 -0
  1306. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/channel_bridge.py +379 -0
  1307. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/chat_history_store.py +186 -0
  1308. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/clipboard_router.py +43 -0
  1309. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/cloud_router.py +415 -0
  1310. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/comparison.py +451 -0
  1311. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/connectors_router.py +755 -0
  1312. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/conversation_routes.py +337 -0
  1313. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/cost_calculator.py +137 -0
  1314. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/dashboard.py +435 -0
  1315. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/digest_routes.py +124 -0
  1316. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/email_router.py +219 -0
  1317. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/extension_router.py +56 -0
  1318. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/gguf_hub_router.py +208 -0
  1319. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/history_router.py +88 -0
  1320. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/integrations_router.py +218 -0
  1321. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/middleware.py +68 -0
  1322. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/mobile_pair_router.py +67 -0
  1323. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/model_compare_router.py +151 -0
  1324. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/model_hub_router.py +228 -0
  1325. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/models.py +134 -0
  1326. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/notification_router.py +75 -0
  1327. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/persona_router.py +218 -0
  1328. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/research_router.py +543 -0
  1329. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/routes.py +1089 -0
  1330. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/savings.py +210 -0
  1331. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/search_router.py +59 -0
  1332. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/session_store.py +183 -0
  1333. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/stream_bridge.py +368 -0
  1334. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/system_telemetry_router.py +166 -0
  1335. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/tasks_api.py +118 -0
  1336. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/upload_router.py +303 -0
  1337. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/webhook_routes.py +459 -0
  1338. nova_ai_pro-1.2.5.dev91/src/nova_ai/server/ws_bridge.py +94 -0
  1339. nova_ai_pro-1.2.5.dev91/src/nova_ai/sessions/__init__.py +5 -0
  1340. nova_ai_pro-1.2.5.dev91/src/nova_ai/sessions/compression.py +102 -0
  1341. nova_ai_pro-1.2.5.dev91/src/nova_ai/sessions/session.py +369 -0
  1342. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/__init__.py +46 -0
  1343. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/backup-files.toml +20 -0
  1344. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/calendar-prep.toml +20 -0
  1345. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/code-lint.toml +20 -0
  1346. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/code-test-gen.toml +25 -0
  1347. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/compare-docs.toml +25 -0
  1348. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/daily-digest.toml +20 -0
  1349. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/data-analyze.toml +25 -0
  1350. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/dependency-audit.toml +25 -0
  1351. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/email-draft.toml +20 -0
  1352. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/file-deduplicator.toml +20 -0
  1353. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/file-organizer.toml +25 -0
  1354. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/knowledge-extract.toml +20 -0
  1355. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/meeting-notes.toml +20 -0
  1356. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/pdf-summarize.toml +20 -0
  1357. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/search-and-index.toml +25 -0
  1358. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/security-scan.toml +20 -0
  1359. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/todo-from-notes.toml +20 -0
  1360. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/topic-research.toml +25 -0
  1361. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/translate-doc.toml +25 -0
  1362. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/data/web-summarize.toml +20 -0
  1363. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/dependency.py +186 -0
  1364. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/executor.py +180 -0
  1365. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/importer.py +199 -0
  1366. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/index.py +99 -0
  1367. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/loader.py +326 -0
  1368. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/manager.py +446 -0
  1369. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/overlay.py +151 -0
  1370. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/parser.py +231 -0
  1371. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/security.py +65 -0
  1372. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/sources/__init__.py +16 -0
  1373. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/sources/base.py +66 -0
  1374. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/sources/github.py +121 -0
  1375. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/sources/hermes.py +131 -0
  1376. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/sources/openclaw.py +130 -0
  1377. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/tool_adapter.py +196 -0
  1378. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/tool_translator.py +114 -0
  1379. nova_ai_pro-1.2.5.dev91/src/nova_ai/skills/types.py +62 -0
  1380. nova_ai_pro-1.2.5.dev91/src/nova_ai/speech/__init__.py +17 -0
  1381. nova_ai_pro-1.2.5.dev91/src/nova_ai/speech/_discovery.py +75 -0
  1382. nova_ai_pro-1.2.5.dev91/src/nova_ai/speech/_stubs.py +55 -0
  1383. nova_ai_pro-1.2.5.dev91/src/nova_ai/speech/cartesia_tts.py +115 -0
  1384. nova_ai_pro-1.2.5.dev91/src/nova_ai/speech/deepgram.py +97 -0
  1385. nova_ai_pro-1.2.5.dev91/src/nova_ai/speech/faster_whisper.py +181 -0
  1386. nova_ai_pro-1.2.5.dev91/src/nova_ai/speech/kokoro_tts.py +80 -0
  1387. nova_ai_pro-1.2.5.dev91/src/nova_ai/speech/openai_tts.py +82 -0
  1388. nova_ai_pro-1.2.5.dev91/src/nova_ai/speech/openai_whisper.py +64 -0
  1389. nova_ai_pro-1.2.5.dev91/src/nova_ai/speech/tts.py +53 -0
  1390. nova_ai_pro-1.2.5.dev91/src/nova_ai/system/__init__.py +23 -0
  1391. nova_ai_pro-1.2.5.dev91/src/nova_ai/system/_channel_kwargs.py +199 -0
  1392. nova_ai_pro-1.2.5.dev91/src/nova_ai/system/builder.py +714 -0
  1393. nova_ai_pro-1.2.5.dev91/src/nova_ai/system/bundles.py +59 -0
  1394. nova_ai_pro-1.2.5.dev91/src/nova_ai/system/core.py +330 -0
  1395. nova_ai_pro-1.2.5.dev91/src/nova_ai/system/orchestrator.py +342 -0
  1396. nova_ai_pro-1.2.5.dev91/src/nova_ai/system/protocols.py +40 -0
  1397. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/__init__.py +111 -0
  1398. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/aggregator.py +451 -0
  1399. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/batch.py +126 -0
  1400. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/efficiency.py +129 -0
  1401. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/energy_amd.py +137 -0
  1402. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/energy_apple.py +184 -0
  1403. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/energy_monitor.py +176 -0
  1404. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/energy_nvidia.py +267 -0
  1405. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/energy_rapl.py +197 -0
  1406. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/flops.py +101 -0
  1407. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/gpu_monitor.py +357 -0
  1408. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/instrumented_engine.py +523 -0
  1409. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/itl.py +47 -0
  1410. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/phase_metrics.py +44 -0
  1411. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/session.py +148 -0
  1412. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/steady_state.py +129 -0
  1413. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/store.py +287 -0
  1414. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/vllm_metrics.py +182 -0
  1415. nova_ai_pro-1.2.5.dev91/src/nova_ai/telemetry/wrapper.py +57 -0
  1416. nova_ai_pro-1.2.5.dev91/src/nova_ai/templates/__init__.py +9 -0
  1417. nova_ai_pro-1.2.5.dev91/src/nova_ai/templates/agent_templates.py +108 -0
  1418. nova_ai_pro-1.2.5.dev91/src/nova_ai/templates/data/architect.toml +10 -0
  1419. nova_ai_pro-1.2.5.dev91/src/nova_ai/templates/data/assistant.toml +10 -0
  1420. nova_ai_pro-1.2.5.dev91/src/nova_ai/templates/data/code-reviewer.toml +10 -0
  1421. nova_ai_pro-1.2.5.dev91/src/nova_ai/templates/data/data-analyst.toml +10 -0
  1422. nova_ai_pro-1.2.5.dev91/src/nova_ai/templates/data/debugger.toml +10 -0
  1423. nova_ai_pro-1.2.5.dev91/src/nova_ai/templates/data/deep-researcher.toml +10 -0
  1424. nova_ai_pro-1.2.5.dev91/src/nova_ai/templates/data/fact-checker.toml +10 -0
  1425. nova_ai_pro-1.2.5.dev91/src/nova_ai/templates/data/inbox-triager.toml +10 -0
  1426. nova_ai_pro-1.2.5.dev91/src/nova_ai/templates/data/meeting-prep.toml +10 -0
  1427. nova_ai_pro-1.2.5.dev91/src/nova_ai/templates/data/monitor.toml +25 -0
  1428. nova_ai_pro-1.2.5.dev91/src/nova_ai/templates/data/note-taker.toml +10 -0
  1429. nova_ai_pro-1.2.5.dev91/src/nova_ai/templates/data/security-auditor.toml +10 -0
  1430. nova_ai_pro-1.2.5.dev91/src/nova_ai/templates/data/summarizer.toml +10 -0
  1431. nova_ai_pro-1.2.5.dev91/src/nova_ai/templates/data/translator.toml +10 -0
  1432. nova_ai_pro-1.2.5.dev91/src/nova_ai/templates/data/tutor.toml +10 -0
  1433. nova_ai_pro-1.2.5.dev91/src/nova_ai/templates/data/writer.toml +10 -0
  1434. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/__init__.py +172 -0
  1435. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/_stubs.py +415 -0
  1436. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/agent_tools.py +324 -0
  1437. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/api_tester.py +227 -0
  1438. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/apply_patch.py +340 -0
  1439. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/approval_store.py +406 -0
  1440. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/audio_tool.py +180 -0
  1441. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/browser.py +539 -0
  1442. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/browser_axtree.py +137 -0
  1443. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/calculator.py +173 -0
  1444. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/canvas_tool.py +216 -0
  1445. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/channel_tools.py +189 -0
  1446. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/cisco_packet_tracer.py +652 -0
  1447. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/cli_bridge.py +319 -0
  1448. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/clipboard_ai.py +136 -0
  1449. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/code_interpreter.py +111 -0
  1450. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/code_interpreter_docker.py +141 -0
  1451. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/code_scaffolder.py +383 -0
  1452. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/data_analyzer.py +273 -0
  1453. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/db_query.py +357 -0
  1454. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/description_loader.py +79 -0
  1455. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/digest_collect.py +591 -0
  1456. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/doc_generator.py +304 -0
  1457. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/docker_shell_exec.py +172 -0
  1458. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/file_converter.py +346 -0
  1459. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/file_read.py +138 -0
  1460. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/file_write.py +207 -0
  1461. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/git_manager.py +197 -0
  1462. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/git_tool.py +393 -0
  1463. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/http_request.py +254 -0
  1464. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/image_tool.py +151 -0
  1465. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/knowledge_search.py +182 -0
  1466. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/knowledge_sql.py +130 -0
  1467. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/knowledge_tools.py +294 -0
  1468. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/llm_tool.py +95 -0
  1469. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/mcp_adapter.py +75 -0
  1470. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/memory_manage.py +142 -0
  1471. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/memory_wiki_tools.py +150 -0
  1472. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/pdf_tool.py +176 -0
  1473. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/proactive_tools.py +585 -0
  1474. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/repl.py +335 -0
  1475. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/retrieval.py +92 -0
  1476. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/scan_chunks.py +191 -0
  1477. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/scheduler_tool.py +417 -0
  1478. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/screen_capture.py +221 -0
  1479. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/screen_monitor.py +99 -0
  1480. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/shell_exec.py +216 -0
  1481. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/skill_manage.py +155 -0
  1482. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/storage/__init__.py +49 -0
  1483. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/storage/_stubs.py +93 -0
  1484. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/storage/bm25.py +98 -0
  1485. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/storage/chunking.py +161 -0
  1486. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/storage/colbert_backend.py +251 -0
  1487. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/storage/context.py +131 -0
  1488. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/storage/dense.py +731 -0
  1489. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/storage/embeddings.py +173 -0
  1490. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/storage/faiss_backend.py +161 -0
  1491. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/storage/hybrid.py +184 -0
  1492. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/storage/ingest.py +246 -0
  1493. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/storage/knowledge_graph.py +316 -0
  1494. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/storage/sqlite.py +142 -0
  1495. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/storage_tools.py +311 -0
  1496. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/system_monitor.py +261 -0
  1497. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/templates/__init__.py +5 -0
  1498. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/templates/builtin/base64_encode.toml +11 -0
  1499. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/templates/builtin/date_info.toml +8 -0
  1500. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/templates/builtin/hash_compute.toml +11 -0
  1501. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/templates/builtin/json_transform.toml +11 -0
  1502. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/templates/builtin/regex_extract.toml +14 -0
  1503. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/templates/builtin/text_length.toml +11 -0
  1504. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/templates/builtin/text_lower.toml +11 -0
  1505. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/templates/builtin/text_reverse.toml +11 -0
  1506. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/templates/builtin/text_upper.toml +11 -0
  1507. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/templates/builtin/unit_convert.toml +17 -0
  1508. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/templates/loader.py +367 -0
  1509. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/text_to_speech.py +108 -0
  1510. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/think.py +58 -0
  1511. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/user_profile_manage.py +140 -0
  1512. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/web_readability.py +391 -0
  1513. nova_ai_pro-1.2.5.dev91/src/nova_ai/tools/web_search.py +300 -0
  1514. nova_ai_pro-1.2.5.dev91/src/nova_ai/traces/__init__.py +15 -0
  1515. nova_ai_pro-1.2.5.dev91/src/nova_ai/traces/analyzer.py +328 -0
  1516. nova_ai_pro-1.2.5.dev91/src/nova_ai/traces/collector.py +293 -0
  1517. nova_ai_pro-1.2.5.dev91/src/nova_ai/traces/store.py +339 -0
  1518. nova_ai_pro-1.2.5.dev91/src/nova_ai/voice/__init__.py +7 -0
  1519. nova_ai_pro-1.2.5.dev91/src/nova_ai/voice/audio_io.py +224 -0
  1520. nova_ai_pro-1.2.5.dev91/src/nova_ai/voice/session.py +251 -0
  1521. nova_ai_pro-1.2.5.dev91/src/nova_ai/workflow/__init__.py +23 -0
  1522. nova_ai_pro-1.2.5.dev91/src/nova_ai/workflow/builder.py +150 -0
  1523. nova_ai_pro-1.2.5.dev91/src/nova_ai/workflow/engine.py +379 -0
  1524. nova_ai_pro-1.2.5.dev91/src/nova_ai/workflow/graph.py +127 -0
  1525. nova_ai_pro-1.2.5.dev91/src/nova_ai/workflow/loader.py +84 -0
  1526. nova_ai_pro-1.2.5.dev91/src/nova_ai/workflow/types.py +66 -0
  1527. nova_ai_pro-1.2.5.dev91/start.bat +55 -0
  1528. nova_ai_pro-1.2.5.dev91/start.sh +55 -0
  1529. nova_ai_pro-1.2.5.dev91/tests/__init__.py +0 -0
  1530. nova_ai_pro-1.2.5.dev91/tests/a2a/test_a2a.py +223 -0
  1531. nova_ai_pro-1.2.5.dev91/tests/a2a/test_a2a_auth.py +51 -0
  1532. nova_ai_pro-1.2.5.dev91/tests/agents/__init__.py +0 -0
  1533. nova_ai_pro-1.2.5.dev91/tests/agents/conftest.py +49 -0
  1534. nova_ai_pro-1.2.5.dev91/tests/agents/fake_engine.py +77 -0
  1535. nova_ai_pro-1.2.5.dev91/tests/agents/scenario_harness.py +38 -0
  1536. nova_ai_pro-1.2.5.dev91/tests/agents/test_agent_lifecycle_scenarios.py +538 -0
  1537. nova_ai_pro-1.2.5.dev91/tests/agents/test_agent_routing_matrix.py +185 -0
  1538. nova_ai_pro-1.2.5.dev91/tests/agents/test_base_agent.py +327 -0
  1539. nova_ai_pro-1.2.5.dev91/tests/agents/test_budget.py +80 -0
  1540. nova_ai_pro-1.2.5.dev91/tests/agents/test_channel_agent.py +318 -0
  1541. nova_ai_pro-1.2.5.dev91/tests/agents/test_channel_agent_integration.py +284 -0
  1542. nova_ai_pro-1.2.5.dev91/tests/agents/test_claude_code.py +564 -0
  1543. nova_ai_pro-1.2.5.dev91/tests/agents/test_config_defaults.py +171 -0
  1544. nova_ai_pro-1.2.5.dev91/tests/agents/test_continuation.py +102 -0
  1545. nova_ai_pro-1.2.5.dev91/tests/agents/test_deep_research.py +178 -0
  1546. nova_ai_pro-1.2.5.dev91/tests/agents/test_deep_research_integration.py +221 -0
  1547. nova_ai_pro-1.2.5.dev91/tests/agents/test_deep_research_prompt.py +86 -0
  1548. nova_ai_pro-1.2.5.dev91/tests/agents/test_digest_store.py +77 -0
  1549. nova_ai_pro-1.2.5.dev91/tests/agents/test_errors.py +58 -0
  1550. nova_ai_pro-1.2.5.dev91/tests/agents/test_executor.py +238 -0
  1551. nova_ai_pro-1.2.5.dev91/tests/agents/test_executor_ephemeral.py +45 -0
  1552. nova_ai_pro-1.2.5.dev91/tests/agents/test_executor_error_detail.py +38 -0
  1553. nova_ai_pro-1.2.5.dev91/tests/agents/test_executor_tools.py +104 -0
  1554. nova_ai_pro-1.2.5.dev91/tests/agents/test_fake_engine.py +50 -0
  1555. nova_ai_pro-1.2.5.dev91/tests/agents/test_learning_integration.py +105 -0
  1556. nova_ai_pro-1.2.5.dev91/tests/agents/test_loop_guard.py +134 -0
  1557. nova_ai_pro-1.2.5.dev91/tests/agents/test_loop_guard_warn.py +68 -0
  1558. nova_ai_pro-1.2.5.dev91/tests/agents/test_manager.py +375 -0
  1559. nova_ai_pro-1.2.5.dev91/tests/agents/test_manager_recover.py +37 -0
  1560. nova_ai_pro-1.2.5.dev91/tests/agents/test_monitor_operative.py +65 -0
  1561. nova_ai_pro-1.2.5.dev91/tests/agents/test_morning_digest.py +71 -0
  1562. nova_ai_pro-1.2.5.dev91/tests/agents/test_native_openhands.py +555 -0
  1563. nova_ai_pro-1.2.5.dev91/tests/agents/test_native_react.py +547 -0
  1564. nova_ai_pro-1.2.5.dev91/tests/agents/test_opencode_agent.py +267 -0
  1565. nova_ai_pro-1.2.5.dev91/tests/agents/test_openhands.py +57 -0
  1566. nova_ai_pro-1.2.5.dev91/tests/agents/test_orchestrator.py +667 -0
  1567. nova_ai_pro-1.2.5.dev91/tests/agents/test_persona_persistent.py +96 -0
  1568. nova_ai_pro-1.2.5.dev91/tests/agents/test_research_loop.py +611 -0
  1569. nova_ai_pro-1.2.5.dev91/tests/agents/test_rlm.py +576 -0
  1570. nova_ai_pro-1.2.5.dev91/tests/agents/test_rlm_repl.py +251 -0
  1571. nova_ai_pro-1.2.5.dev91/tests/agents/test_scenario_harness_smoke.py +22 -0
  1572. nova_ai_pro-1.2.5.dev91/tests/agents/test_scheduler.py +139 -0
  1573. nova_ai_pro-1.2.5.dev91/tests/agents/test_self_healing.py +262 -0
  1574. nova_ai_pro-1.2.5.dev91/tests/agents/test_simple.py +140 -0
  1575. nova_ai_pro-1.2.5.dev91/tests/agents/test_stall.py +143 -0
  1576. nova_ai_pro-1.2.5.dev91/tests/agents/test_suggest_action.py +29 -0
  1577. nova_ai_pro-1.2.5.dev91/tests/agents/test_system_prompt_builder_integration.py +28 -0
  1578. nova_ai_pro-1.2.5.dev91/tests/agents/test_template_prompts.py +40 -0
  1579. nova_ai_pro-1.2.5.dev91/tests/agents/test_trace_recording.py +101 -0
  1580. nova_ai_pro-1.2.5.dev91/tests/analytics/__init__.py +0 -0
  1581. nova_ai_pro-1.2.5.dev91/tests/analytics/test_redaction.py +339 -0
  1582. nova_ai_pro-1.2.5.dev91/tests/bench/__init__.py +0 -0
  1583. nova_ai_pro-1.2.5.dev91/tests/bench/test_bench_stats.py +69 -0
  1584. nova_ai_pro-1.2.5.dev91/tests/bench/test_energy.py +120 -0
  1585. nova_ai_pro-1.2.5.dev91/tests/bench/test_latency.py +86 -0
  1586. nova_ai_pro-1.2.5.dev91/tests/bench/test_stubs.py +129 -0
  1587. nova_ai_pro-1.2.5.dev91/tests/bench/test_throughput.py +78 -0
  1588. nova_ai_pro-1.2.5.dev91/tests/channels/__init__.py +0 -0
  1589. nova_ai_pro-1.2.5.dev91/tests/channels/channel_test_helpers.py +65 -0
  1590. nova_ai_pro-1.2.5.dev91/tests/channels/conftest.py +69 -0
  1591. nova_ai_pro-1.2.5.dev91/tests/channels/test_agent_channel_e2e.py +73 -0
  1592. nova_ai_pro-1.2.5.dev91/tests/channels/test_bluebubbles.py +131 -0
  1593. nova_ai_pro-1.2.5.dev91/tests/channels/test_channel_config.py +197 -0
  1594. nova_ai_pro-1.2.5.dev91/tests/channels/test_channel_contract.py +83 -0
  1595. nova_ai_pro-1.2.5.dev91/tests/channels/test_channel_registry.py +130 -0
  1596. nova_ai_pro-1.2.5.dev91/tests/channels/test_channels_phase21.py +333 -0
  1597. nova_ai_pro-1.2.5.dev91/tests/channels/test_config.py +78 -0
  1598. nova_ai_pro-1.2.5.dev91/tests/channels/test_discord_channel.py +192 -0
  1599. nova_ai_pro-1.2.5.dev91/tests/channels/test_email_channel.py +188 -0
  1600. nova_ai_pro-1.2.5.dev91/tests/channels/test_feishu.py +129 -0
  1601. nova_ai_pro-1.2.5.dev91/tests/channels/test_google_chat.py +139 -0
  1602. nova_ai_pro-1.2.5.dev91/tests/channels/test_imessage_daemon.py +108 -0
  1603. nova_ai_pro-1.2.5.dev91/tests/channels/test_irc_channel.py +131 -0
  1604. nova_ai_pro-1.2.5.dev91/tests/channels/test_matrix_channel.py +143 -0
  1605. nova_ai_pro-1.2.5.dev91/tests/channels/test_mattermost.py +141 -0
  1606. nova_ai_pro-1.2.5.dev91/tests/channels/test_sendblue.py +266 -0
  1607. nova_ai_pro-1.2.5.dev91/tests/channels/test_signal_channel.py +131 -0
  1608. nova_ai_pro-1.2.5.dev91/tests/channels/test_slack.py +141 -0
  1609. nova_ai_pro-1.2.5.dev91/tests/channels/test_slack_blocks.py +172 -0
  1610. nova_ai_pro-1.2.5.dev91/tests/channels/test_slack_messaging.py +89 -0
  1611. nova_ai_pro-1.2.5.dev91/tests/channels/test_stubs.py +120 -0
  1612. nova_ai_pro-1.2.5.dev91/tests/channels/test_teams.py +121 -0
  1613. nova_ai_pro-1.2.5.dev91/tests/channels/test_telegram.py +270 -0
  1614. nova_ai_pro-1.2.5.dev91/tests/channels/test_tier1_gmail.py +195 -0
  1615. nova_ai_pro-1.2.5.dev91/tests/channels/test_twilio_sms.py +126 -0
  1616. nova_ai_pro-1.2.5.dev91/tests/channels/test_twitter_bot_e2e.py +879 -0
  1617. nova_ai_pro-1.2.5.dev91/tests/channels/test_twitter_channel.py +217 -0
  1618. nova_ai_pro-1.2.5.dev91/tests/channels/test_webchat.py +70 -0
  1619. nova_ai_pro-1.2.5.dev91/tests/channels/test_webhook.py +184 -0
  1620. nova_ai_pro-1.2.5.dev91/tests/channels/test_whatsapp.py +132 -0
  1621. nova_ai_pro-1.2.5.dev91/tests/channels/test_whatsapp_baileys.py +333 -0
  1622. nova_ai_pro-1.2.5.dev91/tests/cli/__init__.py +0 -0
  1623. nova_ai_pro-1.2.5.dev91/tests/cli/test_add_cmd.py +61 -0
  1624. nova_ai_pro-1.2.5.dev91/tests/cli/test_agent_cmd.py +119 -0
  1625. nova_ai_pro-1.2.5.dev91/tests/cli/test_ask_agent.py +429 -0
  1626. nova_ai_pro-1.2.5.dev91/tests/cli/test_ask_context.py +84 -0
  1627. nova_ai_pro-1.2.5.dev91/tests/cli/test_ask_e2e.py +102 -0
  1628. nova_ai_pro-1.2.5.dev91/tests/cli/test_ask_router.py +148 -0
  1629. nova_ai_pro-1.2.5.dev91/tests/cli/test_ask_vision.py +128 -0
  1630. nova_ai_pro-1.2.5.dev91/tests/cli/test_bench_cmd.py +84 -0
  1631. nova_ai_pro-1.2.5.dev91/tests/cli/test_bench_skills_command.py +115 -0
  1632. nova_ai_pro-1.2.5.dev91/tests/cli/test_channel_cmd.py +104 -0
  1633. nova_ai_pro-1.2.5.dev91/tests/cli/test_chat_cmd.py +147 -0
  1634. nova_ai_pro-1.2.5.dev91/tests/cli/test_cli.py +165 -0
  1635. nova_ai_pro-1.2.5.dev91/tests/cli/test_config_cmd.py +210 -0
  1636. nova_ai_pro-1.2.5.dev91/tests/cli/test_config_set.py +154 -0
  1637. nova_ai_pro-1.2.5.dev91/tests/cli/test_connect.py +110 -0
  1638. nova_ai_pro-1.2.5.dev91/tests/cli/test_conversation_cmd.py +151 -0
  1639. nova_ai_pro-1.2.5.dev91/tests/cli/test_daemon_cmd.py +81 -0
  1640. nova_ai_pro-1.2.5.dev91/tests/cli/test_dashboard.py +31 -0
  1641. nova_ai_pro-1.2.5.dev91/tests/cli/test_deep_research_setup.py +183 -0
  1642. nova_ai_pro-1.2.5.dev91/tests/cli/test_digest_cmd.py +54 -0
  1643. nova_ai_pro-1.2.5.dev91/tests/cli/test_doctor_cmd.py +219 -0
  1644. nova_ai_pro-1.2.5.dev91/tests/cli/test_doctor_labels.py +66 -0
  1645. nova_ai_pro-1.2.5.dev91/tests/cli/test_eval_cmd.py +39 -0
  1646. nova_ai_pro-1.2.5.dev91/tests/cli/test_eval_cmd_external_flags.py +26 -0
  1647. nova_ai_pro-1.2.5.dev91/tests/cli/test_hints.py +59 -0
  1648. nova_ai_pro-1.2.5.dev91/tests/cli/test_init_guidance.py +240 -0
  1649. nova_ai_pro-1.2.5.dev91/tests/cli/test_init_host.py +117 -0
  1650. nova_ai_pro-1.2.5.dev91/tests/cli/test_install_detect.py +85 -0
  1651. nova_ai_pro-1.2.5.dev91/tests/cli/test_integrations_cmd.py +26 -0
  1652. nova_ai_pro-1.2.5.dev91/tests/cli/test_log_config.py +37 -0
  1653. nova_ai_pro-1.2.5.dev91/tests/cli/test_memory_cmd.py +110 -0
  1654. nova_ai_pro-1.2.5.dev91/tests/cli/test_memory_consolidate.py +157 -0
  1655. nova_ai_pro-1.2.5.dev91/tests/cli/test_mine_cmd.py +564 -0
  1656. nova_ai_pro-1.2.5.dev91/tests/cli/test_model_cmd.py +70 -0
  1657. nova_ai_pro-1.2.5.dev91/tests/cli/test_model_pull.py +109 -0
  1658. nova_ai_pro-1.2.5.dev91/tests/cli/test_operators_cmd.py +152 -0
  1659. nova_ai_pro-1.2.5.dev91/tests/cli/test_optimize_skills_command.py +82 -0
  1660. nova_ai_pro-1.2.5.dev91/tests/cli/test_pearl_cmd.py +129 -0
  1661. nova_ai_pro-1.2.5.dev91/tests/cli/test_prove_cmd.py +293 -0
  1662. nova_ai_pro-1.2.5.dev91/tests/cli/test_quickstart.py +222 -0
  1663. nova_ai_pro-1.2.5.dev91/tests/cli/test_registry_cmd.py +154 -0
  1664. nova_ai_pro-1.2.5.dev91/tests/cli/test_scan.py +468 -0
  1665. nova_ai_pro-1.2.5.dev91/tests/cli/test_scheduler_create_meta.py +141 -0
  1666. nova_ai_pro-1.2.5.dev91/tests/cli/test_self_update.py +137 -0
  1667. nova_ai_pro-1.2.5.dev91/tests/cli/test_serve_channel_wiring.py +390 -0
  1668. nova_ai_pro-1.2.5.dev91/tests/cli/test_serve_model_resolution.py +64 -0
  1669. nova_ai_pro-1.2.5.dev91/tests/cli/test_serve_single_build.py +210 -0
  1670. nova_ai_pro-1.2.5.dev91/tests/cli/test_skill_cmd.py +355 -0
  1671. nova_ai_pro-1.2.5.dev91/tests/cli/test_telemetry_cmd.py +154 -0
  1672. nova_ai_pro-1.2.5.dev91/tests/cli/test_tool_cmd.py +238 -0
  1673. nova_ai_pro-1.2.5.dev91/tests/cli/test_train_cmd.py +285 -0
  1674. nova_ai_pro-1.2.5.dev91/tests/cli/test_vault_cmd.py +72 -0
  1675. nova_ai_pro-1.2.5.dev91/tests/cli/test_version_check.py +253 -0
  1676. nova_ai_pro-1.2.5.dev91/tests/cli/test_workflow_cmd.py +28 -0
  1677. nova_ai_pro-1.2.5.dev91/tests/conftest.py +291 -0
  1678. nova_ai_pro-1.2.5.dev91/tests/connectors/__init__.py +0 -0
  1679. nova_ai_pro-1.2.5.dev91/tests/connectors/test_apple_contacts.py +626 -0
  1680. nova_ai_pro-1.2.5.dev91/tests/connectors/test_apple_health.py +161 -0
  1681. nova_ai_pro-1.2.5.dev91/tests/connectors/test_apple_music.py +177 -0
  1682. nova_ai_pro-1.2.5.dev91/tests/connectors/test_apple_notes.py +210 -0
  1683. nova_ai_pro-1.2.5.dev91/tests/connectors/test_attachment_store.py +102 -0
  1684. nova_ai_pro-1.2.5.dev91/tests/connectors/test_chunker.py +264 -0
  1685. nova_ai_pro-1.2.5.dev91/tests/connectors/test_connector_health.py +175 -0
  1686. nova_ai_pro-1.2.5.dev91/tests/connectors/test_connectors_router_oauth.py +273 -0
  1687. nova_ai_pro-1.2.5.dev91/tests/connectors/test_dropbox.py +169 -0
  1688. nova_ai_pro-1.2.5.dev91/tests/connectors/test_embedding_store.py +164 -0
  1689. nova_ai_pro-1.2.5.dev91/tests/connectors/test_gcalendar.py +183 -0
  1690. nova_ai_pro-1.2.5.dev91/tests/connectors/test_gcontacts.py +176 -0
  1691. nova_ai_pro-1.2.5.dev91/tests/connectors/test_gdrive.py +182 -0
  1692. nova_ai_pro-1.2.5.dev91/tests/connectors/test_github_notifications.py +105 -0
  1693. nova_ai_pro-1.2.5.dev91/tests/connectors/test_gmail.py +776 -0
  1694. nova_ai_pro-1.2.5.dev91/tests/connectors/test_google_tasks.py +72 -0
  1695. nova_ai_pro-1.2.5.dev91/tests/connectors/test_granola.py +464 -0
  1696. nova_ai_pro-1.2.5.dev91/tests/connectors/test_hackernews.py +124 -0
  1697. nova_ai_pro-1.2.5.dev91/tests/connectors/test_imessage.py +202 -0
  1698. nova_ai_pro-1.2.5.dev91/tests/connectors/test_incremental_sync.py +186 -0
  1699. nova_ai_pro-1.2.5.dev91/tests/connectors/test_integration.py +75 -0
  1700. nova_ai_pro-1.2.5.dev91/tests/connectors/test_live_smoke.py +88 -0
  1701. nova_ai_pro-1.2.5.dev91/tests/connectors/test_new_connectors_live.py +57 -0
  1702. nova_ai_pro-1.2.5.dev91/tests/connectors/test_news_rss.py +173 -0
  1703. nova_ai_pro-1.2.5.dev91/tests/connectors/test_notion.py +251 -0
  1704. nova_ai_pro-1.2.5.dev91/tests/connectors/test_oauth_flow.py +160 -0
  1705. nova_ai_pro-1.2.5.dev91/tests/connectors/test_obsidian.py +186 -0
  1706. nova_ai_pro-1.2.5.dev91/tests/connectors/test_oura.py +95 -0
  1707. nova_ai_pro-1.2.5.dev91/tests/connectors/test_outlook.py +79 -0
  1708. nova_ai_pro-1.2.5.dev91/tests/connectors/test_pipeline.py +457 -0
  1709. nova_ai_pro-1.2.5.dev91/tests/connectors/test_pipeline_attachments.py +163 -0
  1710. nova_ai_pro-1.2.5.dev91/tests/connectors/test_retriever.py +323 -0
  1711. nova_ai_pro-1.2.5.dev91/tests/connectors/test_scheduler.py +140 -0
  1712. nova_ai_pro-1.2.5.dev91/tests/connectors/test_slack_connector.py +619 -0
  1713. nova_ai_pro-1.2.5.dev91/tests/connectors/test_spotify.py +72 -0
  1714. nova_ai_pro-1.2.5.dev91/tests/connectors/test_store.py +465 -0
  1715. nova_ai_pro-1.2.5.dev91/tests/connectors/test_strava.py +75 -0
  1716. nova_ai_pro-1.2.5.dev91/tests/connectors/test_stubs.py +102 -0
  1717. nova_ai_pro-1.2.5.dev91/tests/connectors/test_sync_engine.py +184 -0
  1718. nova_ai_pro-1.2.5.dev91/tests/connectors/test_weather.py +96 -0
  1719. nova_ai_pro-1.2.5.dev91/tests/connectors/test_whatsapp.py +194 -0
  1720. nova_ai_pro-1.2.5.dev91/tests/conversations/__init__.py +0 -0
  1721. nova_ai_pro-1.2.5.dev91/tests/conversations/test_racer.py +145 -0
  1722. nova_ai_pro-1.2.5.dev91/tests/conversations/test_store.py +129 -0
  1723. nova_ai_pro-1.2.5.dev91/tests/core/__init__.py +0 -0
  1724. nova_ai_pro-1.2.5.dev91/tests/core/test_config.py +609 -0
  1725. nova_ai_pro-1.2.5.dev91/tests/core/test_config_key_validation.py +54 -0
  1726. nova_ai_pro-1.2.5.dev91/tests/core/test_config_paths.py +176 -0
  1727. nova_ai_pro-1.2.5.dev91/tests/core/test_config_phase3.py +78 -0
  1728. nova_ai_pro-1.2.5.dev91/tests/core/test_config_phase4.py +77 -0
  1729. nova_ai_pro-1.2.5.dev91/tests/core/test_config_phase5.py +53 -0
  1730. nova_ai_pro-1.2.5.dev91/tests/core/test_config_skills_sources.py +43 -0
  1731. nova_ai_pro-1.2.5.dev91/tests/core/test_credentials.py +59 -0
  1732. nova_ai_pro-1.2.5.dev91/tests/core/test_events.py +124 -0
  1733. nova_ai_pro-1.2.5.dev91/tests/core/test_intent_routing.py +66 -0
  1734. nova_ai_pro-1.2.5.dev91/tests/core/test_preset_configs.py +43 -0
  1735. nova_ai_pro-1.2.5.dev91/tests/core/test_recommend_model.py +165 -0
  1736. nova_ai_pro-1.2.5.dev91/tests/core/test_registry.py +112 -0
  1737. nova_ai_pro-1.2.5.dev91/tests/core/test_rust_bridge.py +273 -0
  1738. nova_ai_pro-1.2.5.dev91/tests/core/test_skills_learning_config.py +43 -0
  1739. nova_ai_pro-1.2.5.dev91/tests/core/test_types.py +103 -0
  1740. nova_ai_pro-1.2.5.dev91/tests/core/test_utils_soft_fail.py +76 -0
  1741. nova_ai_pro-1.2.5.dev91/tests/daemon/__init__.py +0 -0
  1742. nova_ai_pro-1.2.5.dev91/tests/daemon/test_gateway.py +18 -0
  1743. nova_ai_pro-1.2.5.dev91/tests/daemon/test_session_expiry.py +29 -0
  1744. nova_ai_pro-1.2.5.dev91/tests/deploy/__init__.py +0 -0
  1745. nova_ai_pro-1.2.5.dev91/tests/deploy/test_deploy_auth.py +69 -0
  1746. nova_ai_pro-1.2.5.dev91/tests/deployment/test_docker.py +89 -0
  1747. nova_ai_pro-1.2.5.dev91/tests/engine/__init__.py +0 -0
  1748. nova_ai_pro-1.2.5.dev91/tests/engine/test_apple_fm_shim.py +173 -0
  1749. nova_ai_pro-1.2.5.dev91/tests/engine/test_auto_routing.py +162 -0
  1750. nova_ai_pro-1.2.5.dev91/tests/engine/test_cache_breakpoint.py +37 -0
  1751. nova_ai_pro-1.2.5.dev91/tests/engine/test_cloud.py +705 -0
  1752. nova_ai_pro-1.2.5.dev91/tests/engine/test_cloud_extended.py +661 -0
  1753. nova_ai_pro-1.2.5.dev91/tests/engine/test_cloud_minimax.py +325 -0
  1754. nova_ai_pro-1.2.5.dev91/tests/engine/test_cloud_stream_full.py +466 -0
  1755. nova_ai_pro-1.2.5.dev91/tests/engine/test_discovery.py +343 -0
  1756. nova_ai_pro-1.2.5.dev91/tests/engine/test_engine_model_matrix.py +272 -0
  1757. nova_ai_pro-1.2.5.dev91/tests/engine/test_engine_wrappers.py +142 -0
  1758. nova_ai_pro-1.2.5.dev91/tests/engine/test_gemma_cpp.py +423 -0
  1759. nova_ai_pro-1.2.5.dev91/tests/engine/test_lemonade.py +121 -0
  1760. nova_ai_pro-1.2.5.dev91/tests/engine/test_litellm.py +206 -0
  1761. nova_ai_pro-1.2.5.dev91/tests/engine/test_llamacpp_models.py +208 -0
  1762. nova_ai_pro-1.2.5.dev91/tests/engine/test_lmstudio.py +97 -0
  1763. nova_ai_pro-1.2.5.dev91/tests/engine/test_mlx.py +70 -0
  1764. nova_ai_pro-1.2.5.dev91/tests/engine/test_model_downloader.py +169 -0
  1765. nova_ai_pro-1.2.5.dev91/tests/engine/test_offload.py +132 -0
  1766. nova_ai_pro-1.2.5.dev91/tests/engine/test_ollama.py +102 -0
  1767. nova_ai_pro-1.2.5.dev91/tests/engine/test_ollama_models.py +250 -0
  1768. nova_ai_pro-1.2.5.dev91/tests/engine/test_openai_compat.py +131 -0
  1769. nova_ai_pro-1.2.5.dev91/tests/engine/test_openai_compat_api_key.py +109 -0
  1770. nova_ai_pro-1.2.5.dev91/tests/engine/test_openai_compat_tools.py +293 -0
  1771. nova_ai_pro-1.2.5.dev91/tests/engine/test_router.py +59 -0
  1772. nova_ai_pro-1.2.5.dev91/tests/engine/test_router_learning.py +68 -0
  1773. nova_ai_pro-1.2.5.dev91/tests/engine/test_stream_full.py +250 -0
  1774. nova_ai_pro-1.2.5.dev91/tests/engine/test_structured_output.py +377 -0
  1775. nova_ai_pro-1.2.5.dev91/tests/engine/test_vllm_models.py +225 -0
  1776. nova_ai_pro-1.2.5.dev91/tests/evals/__init__.py +0 -0
  1777. nova_ai_pro-1.2.5.dev91/tests/evals/comparison/__init__.py +1 -0
  1778. nova_ai_pro-1.2.5.dev91/tests/evals/comparison/test_cli_backend_dispatch.py +85 -0
  1779. nova_ai_pro-1.2.5.dev91/tests/evals/comparison/test_export_to_table_gen_roundtrip.py +246 -0
  1780. nova_ai_pro-1.2.5.dev91/tests/evals/comparison/test_hermes_backend.py +191 -0
  1781. nova_ai_pro-1.2.5.dev91/tests/evals/comparison/test_live_external.py +111 -0
  1782. nova_ai_pro-1.2.5.dev91/tests/evals/comparison/test_make_configs.py +97 -0
  1783. nova_ai_pro-1.2.5.dev91/tests/evals/comparison/test_openclaw_backend.py +177 -0
  1784. nova_ai_pro-1.2.5.dev91/tests/evals/comparison/test_openclaw_runner_contract.py +76 -0
  1785. nova_ai_pro-1.2.5.dev91/tests/evals/comparison/test_runner_error_path_framework.py +305 -0
  1786. nova_ai_pro-1.2.5.dev91/tests/evals/comparison/test_subprocess_runner.py +167 -0
  1787. nova_ai_pro-1.2.5.dev91/tests/evals/comparison/test_table_gen.py +291 -0
  1788. nova_ai_pro-1.2.5.dev91/tests/evals/comparison/test_third_party.py +139 -0
  1789. nova_ai_pro-1.2.5.dev91/tests/evals/core/__init__.py +0 -0
  1790. nova_ai_pro-1.2.5.dev91/tests/evals/core/test_config_split_parsing.py +72 -0
  1791. nova_ai_pro-1.2.5.dev91/tests/evals/core/test_config_timeouts.py +72 -0
  1792. nova_ai_pro-1.2.5.dev91/tests/evals/core/test_splits.py +72 -0
  1793. nova_ai_pro-1.2.5.dev91/tests/evals/datasets/__init__.py +0 -0
  1794. nova_ai_pro-1.2.5.dev91/tests/evals/datasets/test_browser_assistant.py +61 -0
  1795. nova_ai_pro-1.2.5.dev91/tests/evals/datasets/test_coding_assistant.py +38 -0
  1796. nova_ai_pro-1.2.5.dev91/tests/evals/datasets/test_daily_digest.py +38 -0
  1797. nova_ai_pro-1.2.5.dev91/tests/evals/datasets/test_doc_qa.py +56 -0
  1798. nova_ai_pro-1.2.5.dev91/tests/evals/datasets/test_external_agent_datasets.py +73 -0
  1799. nova_ai_pro-1.2.5.dev91/tests/evals/datasets/test_security_scanner.py +48 -0
  1800. nova_ai_pro-1.2.5.dev91/tests/evals/scorers/__init__.py +0 -0
  1801. nova_ai_pro-1.2.5.dev91/tests/evals/scorers/test_browser_assistant.py +105 -0
  1802. nova_ai_pro-1.2.5.dev91/tests/evals/scorers/test_checklist.py +89 -0
  1803. nova_ai_pro-1.2.5.dev91/tests/evals/scorers/test_coding_assistant.py +69 -0
  1804. nova_ai_pro-1.2.5.dev91/tests/evals/scorers/test_daily_digest.py +88 -0
  1805. nova_ai_pro-1.2.5.dev91/tests/evals/scorers/test_doc_qa.py +112 -0
  1806. nova_ai_pro-1.2.5.dev91/tests/evals/scorers/test_liveresearch_continuous.py +290 -0
  1807. nova_ai_pro-1.2.5.dev91/tests/evals/scorers/test_security_scanner.py +123 -0
  1808. nova_ai_pro-1.2.5.dev91/tests/evals/test_agentic_runner.py +281 -0
  1809. nova_ai_pro-1.2.5.dev91/tests/evals/test_ama_bench.py +231 -0
  1810. nova_ai_pro-1.2.5.dev91/tests/evals/test_benchmark_datasets.py +451 -0
  1811. nova_ai_pro-1.2.5.dev91/tests/evals/test_dataset_splits_integration.py +95 -0
  1812. nova_ai_pro-1.2.5.dev91/tests/evals/test_deepplanning.py +92 -0
  1813. nova_ai_pro-1.2.5.dev91/tests/evals/test_display.py +216 -0
  1814. nova_ai_pro-1.2.5.dev91/tests/evals/test_environment_provider.py +41 -0
  1815. nova_ai_pro-1.2.5.dev91/tests/evals/test_episode_mode.py +53 -0
  1816. nova_ai_pro-1.2.5.dev91/tests/evals/test_eval_telemetry_wiring.py +591 -0
  1817. nova_ai_pro-1.2.5.dev91/tests/evals/test_eval_trace.py +151 -0
  1818. nova_ai_pro-1.2.5.dev91/tests/evals/test_event_recorder.py +89 -0
  1819. nova_ai_pro-1.2.5.dev91/tests/evals/test_export.py +508 -0
  1820. nova_ai_pro-1.2.5.dev91/tests/evals/test_lifelong_agent.py +1097 -0
  1821. nova_ai_pro-1.2.5.dev91/tests/evals/test_loghub.py +167 -0
  1822. nova_ai_pro-1.2.5.dev91/tests/evals/test_nova_agent_backend_fields.py +47 -0
  1823. nova_ai_pro-1.2.5.dev91/tests/evals/test_nova_agent_backend_skills.py +70 -0
  1824. nova_ai_pro-1.2.5.dev91/tests/evals/test_nova_direct_backend_fields.py +43 -0
  1825. nova_ai_pro-1.2.5.dev91/tests/evals/test_paperarena.py +120 -0
  1826. nova_ai_pro-1.2.5.dev91/tests/evals/test_pinchbench_dataset.py +130 -0
  1827. nova_ai_pro-1.2.5.dev91/tests/evals/test_pinchbench_grading.py +161 -0
  1828. nova_ai_pro-1.2.5.dev91/tests/evals/test_pinchbench_integration.py +123 -0
  1829. nova_ai_pro-1.2.5.dev91/tests/evals/test_pinchbench_transcript.py +93 -0
  1830. nova_ai_pro-1.2.5.dev91/tests/evals/test_pricing.py +38 -0
  1831. nova_ai_pro-1.2.5.dev91/tests/evals/test_skill_benchmark.py +382 -0
  1832. nova_ai_pro-1.2.5.dev91/tests/evals/test_terminalbench_env.py +247 -0
  1833. nova_ai_pro-1.2.5.dev91/tests/evals/test_terminalbench_native_backend.py +302 -0
  1834. nova_ai_pro-1.2.5.dev91/tests/evals/test_trackers.py +344 -0
  1835. nova_ai_pro-1.2.5.dev91/tests/evals/test_use_case_benchmarks.py +506 -0
  1836. nova_ai_pro-1.2.5.dev91/tests/fixtures/docs/channels.md +19 -0
  1837. nova_ai_pro-1.2.5.dev91/tests/fixtures/docs/engines.md +19 -0
  1838. nova_ai_pro-1.2.5.dev91/tests/fixtures/docs/hardware.md +20 -0
  1839. nova_ai_pro-1.2.5.dev91/tests/fixtures/docs/memory.md +15 -0
  1840. nova_ai_pro-1.2.5.dev91/tests/fixtures/docs/pipeline_review_oct2025.md +117 -0
  1841. nova_ai_pro-1.2.5.dev91/tests/hardware/__init__.py +0 -0
  1842. nova_ai_pro-1.2.5.dev91/tests/hardware/test_amd.py +204 -0
  1843. nova_ai_pro-1.2.5.dev91/tests/hardware/test_apple.py +136 -0
  1844. nova_ai_pro-1.2.5.dev91/tests/hardware/test_hardware_profiles.py +160 -0
  1845. nova_ai_pro-1.2.5.dev91/tests/hardware/test_nvidia.py +179 -0
  1846. nova_ai_pro-1.2.5.dev91/tests/install/__init__.py +0 -0
  1847. nova_ai_pro-1.2.5.dev91/tests/install/bash/stubs/cargo +3 -0
  1848. nova_ai_pro-1.2.5.dev91/tests/install/bash/stubs/curl +7 -0
  1849. nova_ai_pro-1.2.5.dev91/tests/install/bash/stubs/git +59 -0
  1850. nova_ai_pro-1.2.5.dev91/tests/install/bash/stubs/ollama +4 -0
  1851. nova_ai_pro-1.2.5.dev91/tests/install/bash/stubs/ollama-mock +25 -0
  1852. nova_ai_pro-1.2.5.dev91/tests/install/bash/stubs/rustup +4 -0
  1853. nova_ai_pro-1.2.5.dev91/tests/install/bash/stubs/uv +4 -0
  1854. nova_ai_pro-1.2.5.dev91/tests/install/bash/test_bg_orchestrator.bats +57 -0
  1855. nova_ai_pro-1.2.5.dev91/tests/install/bash/test_build_extension.bats +49 -0
  1856. nova_ai_pro-1.2.5.dev91/tests/install/bash/test_install.bats +230 -0
  1857. nova_ai_pro-1.2.5.dev91/tests/install/bash/test_install_rust.bats +35 -0
  1858. nova_ai_pro-1.2.5.dev91/tests/install/bash/test_pull_model.bats +48 -0
  1859. nova_ai_pro-1.2.5.dev91/tests/install/cases/README.md +17 -0
  1860. nova_ai_pro-1.2.5.dev91/tests/install/cases/missing-git.md +23 -0
  1861. nova_ai_pro-1.2.5.dev91/tests/install/cases/run-as-root.md +23 -0
  1862. nova_ai_pro-1.2.5.dev91/tests/install/conftest.py +30 -0
  1863. nova_ai_pro-1.2.5.dev91/tests/install/test_bg_state.py +87 -0
  1864. nova_ai_pro-1.2.5.dev91/tests/install/test_bootstrap_cli.py +80 -0
  1865. nova_ai_pro-1.2.5.dev91/tests/install/test_bootstrap_config.py +126 -0
  1866. nova_ai_pro-1.2.5.dev91/tests/install/test_bootstrap_keys.py +101 -0
  1867. nova_ai_pro-1.2.5.dev91/tests/install/test_chat_banner.py +45 -0
  1868. nova_ai_pro-1.2.5.dev91/tests/install/test_chat_notifications.py +50 -0
  1869. nova_ai_pro-1.2.5.dev91/tests/install/test_doctor_bg.py +37 -0
  1870. nova_ai_pro-1.2.5.dev91/tests/install/test_first_run.py +98 -0
  1871. nova_ai_pro-1.2.5.dev91/tests/install/test_fixture_smoke.py +18 -0
  1872. nova_ai_pro-1.2.5.dev91/tests/install/test_init_cloud_detect.py +68 -0
  1873. nova_ai_pro-1.2.5.dev91/tests/integration/test_agent_manager_e2e.py +87 -0
  1874. nova_ai_pro-1.2.5.dev91/tests/integration/test_integration.py +621 -0
  1875. nova_ai_pro-1.2.5.dev91/tests/integration/test_integration_extended.py +554 -0
  1876. nova_ai_pro-1.2.5.dev91/tests/integration/test_minimax_cloud.py +63 -0
  1877. nova_ai_pro-1.2.5.dev91/tests/intelligence/__init__.py +0 -0
  1878. nova_ai_pro-1.2.5.dev91/tests/intelligence/test_model_catalog.py +49 -0
  1879. nova_ai_pro-1.2.5.dev91/tests/intelligence/test_model_catalog_extended.py +343 -0
  1880. nova_ai_pro-1.2.5.dev91/tests/intelligence/test_router.py +46 -0
  1881. nova_ai_pro-1.2.5.dev91/tests/intelligence/test_routing_models.py +32 -0
  1882. nova_ai_pro-1.2.5.dev91/tests/learning/__init__.py +0 -0
  1883. nova_ai_pro-1.2.5.dev91/tests/learning/agents/__init__.py +0 -0
  1884. nova_ai_pro-1.2.5.dev91/tests/learning/agents/test_ace_optimizer.py +219 -0
  1885. nova_ai_pro-1.2.5.dev91/tests/learning/agents/test_dspy_optimizer.py +90 -0
  1886. nova_ai_pro-1.2.5.dev91/tests/learning/agents/test_gepa_optimizer.py +97 -0
  1887. nova_ai_pro-1.2.5.dev91/tests/learning/intelligence/__init__.py +0 -0
  1888. nova_ai_pro-1.2.5.dev91/tests/learning/intelligence/test_grpo_trainer.py +88 -0
  1889. nova_ai_pro-1.2.5.dev91/tests/learning/intelligence/test_sft_trainer.py +66 -0
  1890. nova_ai_pro-1.2.5.dev91/tests/learning/proving/__init__.py +0 -0
  1891. nova_ai_pro-1.2.5.dev91/tests/learning/proving/test_adoption.py +168 -0
  1892. nova_ai_pro-1.2.5.dev91/tests/learning/proving/test_pipeline.py +341 -0
  1893. nova_ai_pro-1.2.5.dev91/tests/learning/proving/test_router_adoption.py +243 -0
  1894. nova_ai_pro-1.2.5.dev91/tests/learning/proving/test_store.py +143 -0
  1895. nova_ai_pro-1.2.5.dev91/tests/learning/proving/test_watcher.py +228 -0
  1896. nova_ai_pro-1.2.5.dev91/tests/learning/routing/__init__.py +0 -0
  1897. nova_ai_pro-1.2.5.dev91/tests/learning/routing/test_complexity.py +183 -0
  1898. nova_ai_pro-1.2.5.dev91/tests/learning/routing/test_learned_router.py +169 -0
  1899. nova_ai_pro-1.2.5.dev91/tests/learning/routing/test_utils.py +27 -0
  1900. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/__init__.py +1 -0
  1901. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_applier_base.py +105 -0
  1902. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_applier_lora.py +276 -0
  1903. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_applier_lora_stub.py +53 -0
  1904. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_appliers_agent.py +210 -0
  1905. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_appliers_intelligence.py +122 -0
  1906. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_appliers_tools.py +145 -0
  1907. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_benchmark_gate.py +147 -0
  1908. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_checkpoint_store.py +218 -0
  1909. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_cold_start.py +101 -0
  1910. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_composite_reward.py +79 -0
  1911. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_diagnose_tools.py +282 -0
  1912. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_diagnose_types.py +173 -0
  1913. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_diagnosis_runner.py +235 -0
  1914. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_execution_loop.py +150 -0
  1915. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_external_adapter.py +138 -0
  1916. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_live_integration.py +177 -0
  1917. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_models.py +586 -0
  1918. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_multi_session.py +146 -0
  1919. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_orchestrator.py +208 -0
  1920. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_paths.py +107 -0
  1921. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_pending_queue.py +73 -0
  1922. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_planner.py +272 -0
  1923. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_prompt_diff.py +212 -0
  1924. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_regression.py +89 -0
  1925. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_risk_tier.py +120 -0
  1926. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_rollback.py +87 -0
  1927. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_session_store.py +285 -0
  1928. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_teacher_agent.py +252 -0
  1929. nova_ai_pro-1.2.5.dev91/tests/learning/spec_search/test_triggers.py +52 -0
  1930. nova_ai_pro-1.2.5.dev91/tests/learning/test_agent_evolver.py +240 -0
  1931. nova_ai_pro-1.2.5.dev91/tests/learning/test_device_selection.py +83 -0
  1932. nova_ai_pro-1.2.5.dev91/tests/learning/test_feedback_collector.py +239 -0
  1933. nova_ai_pro-1.2.5.dev91/tests/learning/test_fleet.py +650 -0
  1934. nova_ai_pro-1.2.5.dev91/tests/learning/test_heuristic_policy.py +23 -0
  1935. nova_ai_pro-1.2.5.dev91/tests/learning/test_heuristic_reward.py +151 -0
  1936. nova_ai_pro-1.2.5.dev91/tests/learning/test_learning_api.py +81 -0
  1937. nova_ai_pro-1.2.5.dev91/tests/learning/test_learning_orchestrator.py +194 -0
  1938. nova_ai_pro-1.2.5.dev91/tests/learning/test_learning_taxonomy.py +35 -0
  1939. nova_ai_pro-1.2.5.dev91/tests/learning/test_llm_optimizer.py +985 -0
  1940. nova_ai_pro-1.2.5.dev91/tests/learning/test_multi_bench_runner.py +318 -0
  1941. nova_ai_pro-1.2.5.dev91/tests/learning/test_optimize_cmd.py +172 -0
  1942. nova_ai_pro-1.2.5.dev91/tests/learning/test_optimize_store.py +468 -0
  1943. nova_ai_pro-1.2.5.dev91/tests/learning/test_optimize_types.py +576 -0
  1944. nova_ai_pro-1.2.5.dev91/tests/learning/test_optimizer_engine.py +791 -0
  1945. nova_ai_pro-1.2.5.dev91/tests/learning/test_orchestrator_skill_optimization.py +144 -0
  1946. nova_ai_pro-1.2.5.dev91/tests/learning/test_pareto.py +224 -0
  1947. nova_ai_pro-1.2.5.dev91/tests/learning/test_personal_synthesizer.py +392 -0
  1948. nova_ai_pro-1.2.5.dev91/tests/learning/test_router.py +161 -0
  1949. nova_ai_pro-1.2.5.dev91/tests/learning/test_router_stubs.py +74 -0
  1950. nova_ai_pro-1.2.5.dev91/tests/learning/test_routing_models.py +227 -0
  1951. nova_ai_pro-1.2.5.dev91/tests/learning/test_search_space.py +448 -0
  1952. nova_ai_pro-1.2.5.dev91/tests/learning/test_skill_discovery.py +211 -0
  1953. nova_ai_pro-1.2.5.dev91/tests/learning/test_skill_optimizer.py +141 -0
  1954. nova_ai_pro-1.2.5.dev91/tests/learning/test_skillforge.py +1059 -0
  1955. nova_ai_pro-1.2.5.dev91/tests/learning/test_stubs.py +34 -0
  1956. nova_ai_pro-1.2.5.dev91/tests/learning/test_system_learning.py +50 -0
  1957. nova_ai_pro-1.2.5.dev91/tests/learning/test_trace_judge.py +210 -0
  1958. nova_ai_pro-1.2.5.dev91/tests/learning/test_trial_runner.py +431 -0
  1959. nova_ai_pro-1.2.5.dev91/tests/learning/training/__init__.py +0 -0
  1960. nova_ai_pro-1.2.5.dev91/tests/learning/training/test_data.py +238 -0
  1961. nova_ai_pro-1.2.5.dev91/tests/learning/training/test_deploy.py +192 -0
  1962. nova_ai_pro-1.2.5.dev91/tests/learning/training/test_dpo.py +281 -0
  1963. nova_ai_pro-1.2.5.dev91/tests/learning/training/test_lora.py +201 -0
  1964. nova_ai_pro-1.2.5.dev91/tests/learning/training/test_preference_pairs.py +140 -0
  1965. nova_ai_pro-1.2.5.dev91/tests/learning/training/test_store.py +277 -0
  1966. nova_ai_pro-1.2.5.dev91/tests/learning/training/test_triggers.py +165 -0
  1967. nova_ai_pro-1.2.5.dev91/tests/mcp/__init__.py +0 -0
  1968. nova_ai_pro-1.2.5.dev91/tests/mcp/test_client.py +103 -0
  1969. nova_ai_pro-1.2.5.dev91/tests/mcp/test_client_extended.py +176 -0
  1970. nova_ai_pro-1.2.5.dev91/tests/mcp/test_discovery.py +203 -0
  1971. nova_ai_pro-1.2.5.dev91/tests/mcp/test_loader.py +228 -0
  1972. nova_ai_pro-1.2.5.dev91/tests/mcp/test_mcp_tools_matrix.py +82 -0
  1973. nova_ai_pro-1.2.5.dev91/tests/mcp/test_protocol.py +167 -0
  1974. nova_ai_pro-1.2.5.dev91/tests/mcp/test_server.py +195 -0
  1975. nova_ai_pro-1.2.5.dev91/tests/mcp/test_server_upgrade.py +132 -0
  1976. nova_ai_pro-1.2.5.dev91/tests/mcp/test_streamable_http_transport.py +204 -0
  1977. nova_ai_pro-1.2.5.dev91/tests/mcp/test_transport.py +316 -0
  1978. nova_ai_pro-1.2.5.dev91/tests/memory/__init__.py +0 -0
  1979. nova_ai_pro-1.2.5.dev91/tests/memory/test_bm25.py +156 -0
  1980. nova_ai_pro-1.2.5.dev91/tests/memory/test_chunking.py +119 -0
  1981. nova_ai_pro-1.2.5.dev91/tests/memory/test_colbert.py +164 -0
  1982. nova_ai_pro-1.2.5.dev91/tests/memory/test_consolidation_inject.py +79 -0
  1983. nova_ai_pro-1.2.5.dev91/tests/memory/test_consolidation_pipeline.py +575 -0
  1984. nova_ai_pro-1.2.5.dev91/tests/memory/test_consolidation_store.py +195 -0
  1985. nova_ai_pro-1.2.5.dev91/tests/memory/test_context.py +200 -0
  1986. nova_ai_pro-1.2.5.dev91/tests/memory/test_embeddings.py +74 -0
  1987. nova_ai_pro-1.2.5.dev91/tests/memory/test_faiss.py +198 -0
  1988. nova_ai_pro-1.2.5.dev91/tests/memory/test_hybrid.py +224 -0
  1989. nova_ai_pro-1.2.5.dev91/tests/memory/test_ingest.py +181 -0
  1990. nova_ai_pro-1.2.5.dev91/tests/memory/test_retrieval_quality.py +195 -0
  1991. nova_ai_pro-1.2.5.dev91/tests/memory/test_sqlite.py +165 -0
  1992. nova_ai_pro-1.2.5.dev91/tests/memory/test_storage_suite.py +189 -0
  1993. nova_ai_pro-1.2.5.dev91/tests/memory/test_wiki.py +112 -0
  1994. nova_ai_pro-1.2.5.dev91/tests/mining/__init__.py +0 -0
  1995. nova_ai_pro-1.2.5.dev91/tests/mining/conftest.py +100 -0
  1996. nova_ai_pro-1.2.5.dev91/tests/mining/fixtures/README.md +17 -0
  1997. nova_ai_pro-1.2.5.dev91/tests/mining/fixtures/config_minimal.toml +12 -0
  1998. nova_ai_pro-1.2.5.dev91/tests/mining/fixtures/config_pool_v2.toml +10 -0
  1999. nova_ai_pro-1.2.5.dev91/tests/mining/fixtures/gateway_metrics_sample.txt +18 -0
  2000. nova_ai_pro-1.2.5.dev91/tests/mining/test_apple_mps_pearl.py +207 -0
  2001. nova_ai_pro-1.2.5.dev91/tests/mining/test_cli.py +190 -0
  2002. nova_ai_pro-1.2.5.dev91/tests/mining/test_collector.py +73 -0
  2003. nova_ai_pro-1.2.5.dev91/tests/mining/test_cpu_pearl.py +289 -0
  2004. nova_ai_pro-1.2.5.dev91/tests/mining/test_discovery.py +245 -0
  2005. nova_ai_pro-1.2.5.dev91/tests/mining/test_docker.py +383 -0
  2006. nova_ai_pro-1.2.5.dev91/tests/mining/test_install.py +64 -0
  2007. nova_ai_pro-1.2.5.dev91/tests/mining/test_metrics.py +54 -0
  2008. nova_ai_pro-1.2.5.dev91/tests/mining/test_miner_loop.py +83 -0
  2009. nova_ai_pro-1.2.5.dev91/tests/mining/test_pearl_subprocess.py +136 -0
  2010. nova_ai_pro-1.2.5.dev91/tests/mining/test_stubs.py +84 -0
  2011. nova_ai_pro-1.2.5.dev91/tests/mining/test_vllm_pearl.py +171 -0
  2012. nova_ai_pro-1.2.5.dev91/tests/operators/__init__.py +0 -0
  2013. nova_ai_pro-1.2.5.dev91/tests/operators/test_operator_recipes.py +98 -0
  2014. nova_ai_pro-1.2.5.dev91/tests/operators/test_operators.py +1229 -0
  2015. nova_ai_pro-1.2.5.dev91/tests/pearl/test_model_converter.py +122 -0
  2016. nova_ai_pro-1.2.5.dev91/tests/prompt/__init__.py +0 -0
  2017. nova_ai_pro-1.2.5.dev91/tests/prompt/test_builder.py +223 -0
  2018. nova_ai_pro-1.2.5.dev91/tests/prompt/test_persona_scope.py +55 -0
  2019. nova_ai_pro-1.2.5.dev91/tests/prompt/test_system_prompt_builder_few_shot.py +37 -0
  2020. nova_ai_pro-1.2.5.dev91/tests/recipes/__init__.py +0 -0
  2021. nova_ai_pro-1.2.5.dev91/tests/recipes/test_compose.py +475 -0
  2022. nova_ai_pro-1.2.5.dev91/tests/recipes/test_loader.py +159 -0
  2023. nova_ai_pro-1.2.5.dev91/tests/sandbox/__init__.py +0 -0
  2024. nova_ai_pro-1.2.5.dev91/tests/sandbox/test_mount_security.py +170 -0
  2025. nova_ai_pro-1.2.5.dev91/tests/sandbox/test_runner.py +315 -0
  2026. nova_ai_pro-1.2.5.dev91/tests/sandbox/test_wasm_runner.py +58 -0
  2027. nova_ai_pro-1.2.5.dev91/tests/scheduler/__init__.py +0 -0
  2028. nova_ai_pro-1.2.5.dev91/tests/scheduler/test_consolidate_dispatch.py +142 -0
  2029. nova_ai_pro-1.2.5.dev91/tests/scheduler/test_digest_schedule.py +193 -0
  2030. nova_ai_pro-1.2.5.dev91/tests/scheduler/test_prove_dispatch.py +140 -0
  2031. nova_ai_pro-1.2.5.dev91/tests/scheduler/test_scheduler.py +499 -0
  2032. nova_ai_pro-1.2.5.dev91/tests/scheduler/test_store.py +164 -0
  2033. nova_ai_pro-1.2.5.dev91/tests/scheduler/test_tools.py +138 -0
  2034. nova_ai_pro-1.2.5.dev91/tests/scheduler/test_train_dpo_dispatch.py +94 -0
  2035. nova_ai_pro-1.2.5.dev91/tests/sdk/__init__.py +0 -0
  2036. nova_ai_pro-1.2.5.dev91/tests/sdk/test_sdk.py +297 -0
  2037. nova_ai_pro-1.2.5.dev91/tests/sdk/test_system.py +517 -0
  2038. nova_ai_pro-1.2.5.dev91/tests/security/__init__.py +0 -0
  2039. nova_ai_pro-1.2.5.dev91/tests/security/test_audit.py +169 -0
  2040. nova_ai_pro-1.2.5.dev91/tests/security/test_boundary_guard.py +266 -0
  2041. nova_ai_pro-1.2.5.dev91/tests/security/test_capabilities.py +114 -0
  2042. nova_ai_pro-1.2.5.dev91/tests/security/test_credential_stripper.py +52 -0
  2043. nova_ai_pro-1.2.5.dev91/tests/security/test_file_permissions.py +93 -0
  2044. nova_ai_pro-1.2.5.dev91/tests/security/test_file_policy.py +103 -0
  2045. nova_ai_pro-1.2.5.dev91/tests/security/test_guardrails.py +297 -0
  2046. nova_ai_pro-1.2.5.dev91/tests/security/test_injection_scanner.py +91 -0
  2047. nova_ai_pro-1.2.5.dev91/tests/security/test_log_sanitization.py +110 -0
  2048. nova_ai_pro-1.2.5.dev91/tests/security/test_merkle_audit.py +117 -0
  2049. nova_ai_pro-1.2.5.dev91/tests/security/test_network_defaults.py +184 -0
  2050. nova_ai_pro-1.2.5.dev91/tests/security/test_rate_limiter.py +140 -0
  2051. nova_ai_pro-1.2.5.dev91/tests/security/test_redact_before_cloud.py +99 -0
  2052. nova_ai_pro-1.2.5.dev91/tests/security/test_scanner.py +175 -0
  2053. nova_ai_pro-1.2.5.dev91/tests/security/test_security_profiles.py +54 -0
  2054. nova_ai_pro-1.2.5.dev91/tests/security/test_security_wiring.py +82 -0
  2055. nova_ai_pro-1.2.5.dev91/tests/security/test_setup_security.py +82 -0
  2056. nova_ai_pro-1.2.5.dev91/tests/security/test_severity_policy.py +33 -0
  2057. nova_ai_pro-1.2.5.dev91/tests/security/test_signing.py +87 -0
  2058. nova_ai_pro-1.2.5.dev91/tests/security/test_ssrf.py +254 -0
  2059. nova_ai_pro-1.2.5.dev91/tests/security/test_subprocess_sandbox.py +154 -0
  2060. nova_ai_pro-1.2.5.dev91/tests/security/test_taint.py +142 -0
  2061. nova_ai_pro-1.2.5.dev91/tests/security/test_tool_confirmation.py +139 -0
  2062. nova_ai_pro-1.2.5.dev91/tests/security/test_webhook_validation.py +38 -0
  2063. nova_ai_pro-1.2.5.dev91/tests/server/__init__.py +0 -0
  2064. nova_ai_pro-1.2.5.dev91/tests/server/conftest.py +34 -0
  2065. nova_ai_pro-1.2.5.dev91/tests/server/test_agent_manager_routes.py +539 -0
  2066. nova_ai_pro-1.2.5.dev91/tests/server/test_api_routes.py +145 -0
  2067. nova_ai_pro-1.2.5.dev91/tests/server/test_approval_routes.py +357 -0
  2068. nova_ai_pro-1.2.5.dev91/tests/server/test_auth_middleware.py +84 -0
  2069. nova_ai_pro-1.2.5.dev91/tests/server/test_calendar_router.py +64 -0
  2070. nova_ai_pro-1.2.5.dev91/tests/server/test_channel_bridge.py +188 -0
  2071. nova_ai_pro-1.2.5.dev91/tests/server/test_channel_bridge_deep_research.py +55 -0
  2072. nova_ai_pro-1.2.5.dev91/tests/server/test_channel_routes.py +149 -0
  2073. nova_ai_pro-1.2.5.dev91/tests/server/test_clipboard_router.py +36 -0
  2074. nova_ai_pro-1.2.5.dev91/tests/server/test_connectors_router.py +161 -0
  2075. nova_ai_pro-1.2.5.dev91/tests/server/test_conversation_routes.py +172 -0
  2076. nova_ai_pro-1.2.5.dev91/tests/server/test_deep_research_tools_wiring.py +55 -0
  2077. nova_ai_pro-1.2.5.dev91/tests/server/test_digest_routes.py +104 -0
  2078. nova_ai_pro-1.2.5.dev91/tests/server/test_email_router.py +50 -0
  2079. nova_ai_pro-1.2.5.dev91/tests/server/test_history_router.py +66 -0
  2080. nova_ai_pro-1.2.5.dev91/tests/server/test_integrations_router.py +29 -0
  2081. nova_ai_pro-1.2.5.dev91/tests/server/test_managed_agent_streaming.py +242 -0
  2082. nova_ai_pro-1.2.5.dev91/tests/server/test_mcp_tools_cache.py +154 -0
  2083. nova_ai_pro-1.2.5.dev91/tests/server/test_middleware.py +120 -0
  2084. nova_ai_pro-1.2.5.dev91/tests/server/test_mobile_pair_router.py +28 -0
  2085. nova_ai_pro-1.2.5.dev91/tests/server/test_model_compare_router.py +91 -0
  2086. nova_ai_pro-1.2.5.dev91/tests/server/test_model_hub_router.py +53 -0
  2087. nova_ai_pro-1.2.5.dev91/tests/server/test_model_management.py +273 -0
  2088. nova_ai_pro-1.2.5.dev91/tests/server/test_models_pydantic.py +104 -0
  2089. nova_ai_pro-1.2.5.dev91/tests/server/test_notification_router.py +104 -0
  2090. nova_ai_pro-1.2.5.dev91/tests/server/test_persona_router.py +110 -0
  2091. nova_ai_pro-1.2.5.dev91/tests/server/test_pwa_serving.py +106 -0
  2092. nova_ai_pro-1.2.5.dev91/tests/server/test_rag_api.py +49 -0
  2093. nova_ai_pro-1.2.5.dev91/tests/server/test_recommended_model.py +52 -0
  2094. nova_ai_pro-1.2.5.dev91/tests/server/test_routes.py +797 -0
  2095. nova_ai_pro-1.2.5.dev91/tests/server/test_savings.py +79 -0
  2096. nova_ai_pro-1.2.5.dev91/tests/server/test_sendblue_webhook.py +260 -0
  2097. nova_ai_pro-1.2.5.dev91/tests/server/test_session_store.py +117 -0
  2098. nova_ai_pro-1.2.5.dev91/tests/server/test_speech_routes.py +112 -0
  2099. nova_ai_pro-1.2.5.dev91/tests/server/test_system_telemetry_router.py +53 -0
  2100. nova_ai_pro-1.2.5.dev91/tests/server/test_tasks_api.py +56 -0
  2101. nova_ai_pro-1.2.5.dev91/tests/server/test_tools_endpoint.py +47 -0
  2102. nova_ai_pro-1.2.5.dev91/tests/server/test_webhook_routes.py +263 -0
  2103. nova_ai_pro-1.2.5.dev91/tests/server/test_websocket.py +215 -0
  2104. nova_ai_pro-1.2.5.dev91/tests/server/test_websocket_auth.py +115 -0
  2105. nova_ai_pro-1.2.5.dev91/tests/server/test_ws_bridge.py +62 -0
  2106. nova_ai_pro-1.2.5.dev91/tests/sessions/test_compression.py +88 -0
  2107. nova_ai_pro-1.2.5.dev91/tests/sessions/test_session.py +129 -0
  2108. nova_ai_pro-1.2.5.dev91/tests/sessions/test_wire_channel_history.py +115 -0
  2109. nova_ai_pro-1.2.5.dev91/tests/skills/__init__.py +0 -0
  2110. nova_ai_pro-1.2.5.dev91/tests/skills/test_bundled_skills.py +97 -0
  2111. nova_ai_pro-1.2.5.dev91/tests/skills/test_cli_install.py +83 -0
  2112. nova_ai_pro-1.2.5.dev91/tests/skills/test_dependency.py +251 -0
  2113. nova_ai_pro-1.2.5.dev91/tests/skills/test_importer.py +204 -0
  2114. nova_ai_pro-1.2.5.dev91/tests/skills/test_index.py +105 -0
  2115. nova_ai_pro-1.2.5.dev91/tests/skills/test_integration_live.py +175 -0
  2116. nova_ai_pro-1.2.5.dev91/tests/skills/test_loader_markdown.py +215 -0
  2117. nova_ai_pro-1.2.5.dev91/tests/skills/test_local_importer.py +30 -0
  2118. nova_ai_pro-1.2.5.dev91/tests/skills/test_manager.py +569 -0
  2119. nova_ai_pro-1.2.5.dev91/tests/skills/test_manager_discover_from_traces.py +111 -0
  2120. nova_ai_pro-1.2.5.dev91/tests/skills/test_native_react_few_shot.py +167 -0
  2121. nova_ai_pro-1.2.5.dev91/tests/skills/test_overlay.py +99 -0
  2122. nova_ai_pro-1.2.5.dev91/tests/skills/test_parser.py +213 -0
  2123. nova_ai_pro-1.2.5.dev91/tests/skills/test_security.py +59 -0
  2124. nova_ai_pro-1.2.5.dev91/tests/skills/test_skill_tool_metadata_tagging.py +105 -0
  2125. nova_ai_pro-1.2.5.dev91/tests/skills/test_skill_trace_tagging_integration.py +212 -0
  2126. nova_ai_pro-1.2.5.dev91/tests/skills/test_skills.py +295 -0
  2127. nova_ai_pro-1.2.5.dev91/tests/skills/test_sources.py +329 -0
  2128. nova_ai_pro-1.2.5.dev91/tests/skills/test_tool_adapter_v2.py +202 -0
  2129. nova_ai_pro-1.2.5.dev91/tests/skills/test_tool_translator.py +81 -0
  2130. nova_ai_pro-1.2.5.dev91/tests/speech/__init__.py +0 -0
  2131. nova_ai_pro-1.2.5.dev91/tests/speech/test_config.py +26 -0
  2132. nova_ai_pro-1.2.5.dev91/tests/speech/test_deepgram.py +61 -0
  2133. nova_ai_pro-1.2.5.dev91/tests/speech/test_discovery.py +48 -0
  2134. nova_ai_pro-1.2.5.dev91/tests/speech/test_faster_whisper.py +140 -0
  2135. nova_ai_pro-1.2.5.dev91/tests/speech/test_openai_whisper.py +57 -0
  2136. nova_ai_pro-1.2.5.dev91/tests/speech/test_stubs.py +32 -0
  2137. nova_ai_pro-1.2.5.dev91/tests/speech/test_tts_backends.py +106 -0
  2138. nova_ai_pro-1.2.5.dev91/tests/telemetry/__init__.py +0 -0
  2139. nova_ai_pro-1.2.5.dev91/tests/telemetry/energy_test_helpers.py +55 -0
  2140. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_aggregator.py +308 -0
  2141. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_batch.py +283 -0
  2142. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_derived_metrics.py +193 -0
  2143. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_efficiency.py +191 -0
  2144. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_energy_amd.py +188 -0
  2145. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_energy_apple.py +176 -0
  2146. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_energy_monitor.py +244 -0
  2147. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_energy_nvidia.py +361 -0
  2148. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_energy_rapl.py +263 -0
  2149. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_energy_wiring.py +1026 -0
  2150. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_flops_new.py +93 -0
  2151. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_gpu_monitor.py +381 -0
  2152. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_instrumented_engine.py +207 -0
  2153. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_itl_metrics.py +355 -0
  2154. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_itl_new.py +68 -0
  2155. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_phase_energy.py +231 -0
  2156. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_phase_metrics_new.py +51 -0
  2157. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_session.py +95 -0
  2158. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_steady_state.py +161 -0
  2159. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_store.py +150 -0
  2160. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_store_tokens_per_joule.py +65 -0
  2161. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_vllm_metrics.py +202 -0
  2162. nova_ai_pro-1.2.5.dev91/tests/telemetry/test_wrapper.py +112 -0
  2163. nova_ai_pro-1.2.5.dev91/tests/templates/__init__.py +0 -0
  2164. nova_ai_pro-1.2.5.dev91/tests/templates/test_agent_templates.py +66 -0
  2165. nova_ai_pro-1.2.5.dev91/tests/test_digest_integration.py +79 -0
  2166. nova_ai_pro-1.2.5.dev91/tests/test_new_tools.py +230 -0
  2167. nova_ai_pro-1.2.5.dev91/tests/test_orchestrator_learning/__init__.py +1 -0
  2168. nova_ai_pro-1.2.5.dev91/tests/test_orchestrator_learning/test_environment.py +124 -0
  2169. nova_ai_pro-1.2.5.dev91/tests/test_orchestrator_learning/test_grpo_trainer.py +103 -0
  2170. nova_ai_pro-1.2.5.dev91/tests/test_orchestrator_learning/test_orchestrator_structured.py +183 -0
  2171. nova_ai_pro-1.2.5.dev91/tests/test_orchestrator_learning/test_policy_model.py +120 -0
  2172. nova_ai_pro-1.2.5.dev91/tests/test_orchestrator_learning/test_prompt_registry.py +69 -0
  2173. nova_ai_pro-1.2.5.dev91/tests/test_orchestrator_learning/test_reward.py +143 -0
  2174. nova_ai_pro-1.2.5.dev91/tests/test_orchestrator_learning/test_sft_trainer.py +184 -0
  2175. nova_ai_pro-1.2.5.dev91/tests/test_orchestrator_learning/test_types.py +242 -0
  2176. nova_ai_pro-1.2.5.dev91/tests/test_query_orchestrator.py +145 -0
  2177. nova_ai_pro-1.2.5.dev91/tests/test_vision.py +94 -0
  2178. nova_ai_pro-1.2.5.dev91/tests/tools/__init__.py +0 -0
  2179. nova_ai_pro-1.2.5.dev91/tests/tools/storage/__init__.py +0 -0
  2180. nova_ai_pro-1.2.5.dev91/tests/tools/storage/test_dense.py +476 -0
  2181. nova_ai_pro-1.2.5.dev91/tests/tools/test_agent_tools.py +252 -0
  2182. nova_ai_pro-1.2.5.dev91/tests/tools/test_apply_patch.py +196 -0
  2183. nova_ai_pro-1.2.5.dev91/tests/tools/test_audio_tool.py +197 -0
  2184. nova_ai_pro-1.2.5.dev91/tests/tools/test_browser.py +933 -0
  2185. nova_ai_pro-1.2.5.dev91/tests/tools/test_browser_axtree.py +121 -0
  2186. nova_ai_pro-1.2.5.dev91/tests/tools/test_calculator.py +112 -0
  2187. nova_ai_pro-1.2.5.dev91/tests/tools/test_canvas_tool.py +40 -0
  2188. nova_ai_pro-1.2.5.dev91/tests/tools/test_channel_tools.py +223 -0
  2189. nova_ai_pro-1.2.5.dev91/tests/tools/test_cisco_packet_tracer.py +85 -0
  2190. nova_ai_pro-1.2.5.dev91/tests/tools/test_cli_bridge.py +36 -0
  2191. nova_ai_pro-1.2.5.dev91/tests/tools/test_clipboard_ai.py +31 -0
  2192. nova_ai_pro-1.2.5.dev91/tests/tools/test_code_interpreter.py +132 -0
  2193. nova_ai_pro-1.2.5.dev91/tests/tools/test_code_interpreter_docker.py +149 -0
  2194. nova_ai_pro-1.2.5.dev91/tests/tools/test_db_query.py +283 -0
  2195. nova_ai_pro-1.2.5.dev91/tests/tools/test_digest_collect.py +63 -0
  2196. nova_ai_pro-1.2.5.dev91/tests/tools/test_doc_generator.py +64 -0
  2197. nova_ai_pro-1.2.5.dev91/tests/tools/test_file_read.py +95 -0
  2198. nova_ai_pro-1.2.5.dev91/tests/tools/test_file_write.py +135 -0
  2199. nova_ai_pro-1.2.5.dev91/tests/tools/test_git_tool.py +539 -0
  2200. nova_ai_pro-1.2.5.dev91/tests/tools/test_http_request.py +311 -0
  2201. nova_ai_pro-1.2.5.dev91/tests/tools/test_image_tool.py +150 -0
  2202. nova_ai_pro-1.2.5.dev91/tests/tools/test_knowledge_graph.py +135 -0
  2203. nova_ai_pro-1.2.5.dev91/tests/tools/test_knowledge_search.py +155 -0
  2204. nova_ai_pro-1.2.5.dev91/tests/tools/test_knowledge_sql.py +90 -0
  2205. nova_ai_pro-1.2.5.dev91/tests/tools/test_llm_tool.py +67 -0
  2206. nova_ai_pro-1.2.5.dev91/tests/tools/test_mcp_adapter.py +158 -0
  2207. nova_ai_pro-1.2.5.dev91/tests/tools/test_memory_manage.py +50 -0
  2208. nova_ai_pro-1.2.5.dev91/tests/tools/test_pdf_tool.py +197 -0
  2209. nova_ai_pro-1.2.5.dev91/tests/tools/test_repl.py +264 -0
  2210. nova_ai_pro-1.2.5.dev91/tests/tools/test_retrieval.py +110 -0
  2211. nova_ai_pro-1.2.5.dev91/tests/tools/test_scan_chunks.py +72 -0
  2212. nova_ai_pro-1.2.5.dev91/tests/tools/test_screen_capture.py +51 -0
  2213. nova_ai_pro-1.2.5.dev91/tests/tools/test_shell_exec.py +279 -0
  2214. nova_ai_pro-1.2.5.dev91/tests/tools/test_skill_manage.py +88 -0
  2215. nova_ai_pro-1.2.5.dev91/tests/tools/test_storage_stubs.py +86 -0
  2216. nova_ai_pro-1.2.5.dev91/tests/tools/test_storage_tools.py +225 -0
  2217. nova_ai_pro-1.2.5.dev91/tests/tools/test_stubs.py +198 -0
  2218. nova_ai_pro-1.2.5.dev91/tests/tools/test_template_loader_security.py +132 -0
  2219. nova_ai_pro-1.2.5.dev91/tests/tools/test_templates.py +161 -0
  2220. nova_ai_pro-1.2.5.dev91/tests/tools/test_text_to_speech.py +53 -0
  2221. nova_ai_pro-1.2.5.dev91/tests/tools/test_think.py +37 -0
  2222. nova_ai_pro-1.2.5.dev91/tests/tools/test_tool_descriptions.py +181 -0
  2223. nova_ai_pro-1.2.5.dev91/tests/tools/test_tool_registration.py +102 -0
  2224. nova_ai_pro-1.2.5.dev91/tests/tools/test_tool_timeout.py +112 -0
  2225. nova_ai_pro-1.2.5.dev91/tests/tools/test_user_profile_manage.py +39 -0
  2226. nova_ai_pro-1.2.5.dev91/tests/tools/test_web_readability.py +85 -0
  2227. nova_ai_pro-1.2.5.dev91/tests/tools/test_web_search.py +514 -0
  2228. nova_ai_pro-1.2.5.dev91/tests/tools/test_web_search_providers.py +81 -0
  2229. nova_ai_pro-1.2.5.dev91/tests/traces/__init__.py +0 -0
  2230. nova_ai_pro-1.2.5.dev91/tests/traces/test_analyzer.py +195 -0
  2231. nova_ai_pro-1.2.5.dev91/tests/traces/test_analyzer_energy.py +122 -0
  2232. nova_ai_pro-1.2.5.dev91/tests/traces/test_collector.py +492 -0
  2233. nova_ai_pro-1.2.5.dev91/tests/traces/test_store.py +193 -0
  2234. nova_ai_pro-1.2.5.dev91/tests/traces/test_store_fts.py +93 -0
  2235. nova_ai_pro-1.2.5.dev91/tests/traces/test_types.py +104 -0
  2236. nova_ai_pro-1.2.5.dev91/tests/voice/test_session.py +96 -0
  2237. nova_ai_pro-1.2.5.dev91/tests/workflow/test_workflow.py +152 -0
  2238. nova_ai_pro-1.2.5.dev91/tools/pearl-reference-oracle/README.md +111 -0
  2239. nova_ai_pro-1.2.5.dev91/tools/pearl-reference-oracle/smoke_test.py +139 -0
@@ -0,0 +1,16 @@
1
+ # CODEOWNERS — gates which approvals satisfy the "Require review from
2
+ # Code Owners" branch ruleset on `main`.
3
+ #
4
+ # Anyone listed here may approve PRs against the patterns they own.
5
+ # Combined with the matching branch ruleset toggle, only their approvals
6
+ # count toward the merge requirement. Non-owners can still leave reviews
7
+ # and comments; their approvals simply do not unblock merge.
8
+ #
9
+ # See: https://docs.github.com/repositories/managing-your-repositories-settings-and-features/customizing-your-repository/about-code-owners
10
+ #
11
+ # To add more owners, append GitHub handles (`@username`) or team slugs
12
+ # (`@nova-ai/<team>`) to the line below. To gate specific paths
13
+ # differently, add a more-specific pattern beneath it (later, more
14
+ # specific rules win).
15
+
16
+ * @Hamza35779
@@ -0,0 +1,95 @@
1
+ name: Bug Report
2
+ description: Report a bug or unexpected behavior
3
+ labels: ["type:bug"]
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ Thank you for reporting a bug! Please fill out the information below to help us investigate.
9
+ - type: textarea
10
+ id: description
11
+ attributes:
12
+ label: Description
13
+ description: A clear description of what the bug is.
14
+ validations:
15
+ required: true
16
+ - type: textarea
17
+ id: steps
18
+ attributes:
19
+ label: Steps to Reproduce
20
+ description: Steps to reproduce the behavior.
21
+ placeholder: |
22
+ 1. Run `nova ask "..."`
23
+ 2. See error...
24
+ validations:
25
+ required: true
26
+ - type: textarea
27
+ id: expected
28
+ attributes:
29
+ label: Expected Behavior
30
+ description: What you expected to happen.
31
+ validations:
32
+ required: true
33
+ - type: textarea
34
+ id: actual
35
+ attributes:
36
+ label: Actual Behavior
37
+ description: What actually happened.
38
+ validations:
39
+ required: true
40
+ - type: dropdown
41
+ id: os
42
+ attributes:
43
+ label: Operating System
44
+ options:
45
+ - Linux
46
+ - macOS
47
+ - Windows
48
+ validations:
49
+ required: true
50
+ - type: dropdown
51
+ id: python
52
+ attributes:
53
+ label: Python Version
54
+ options:
55
+ - "3.10"
56
+ - "3.11"
57
+ - "3.12"
58
+ - "3.13"
59
+ validations:
60
+ required: true
61
+ - type: dropdown
62
+ id: hardware
63
+ attributes:
64
+ label: Hardware
65
+ options:
66
+ - NVIDIA GPU
67
+ - AMD GPU
68
+ - Apple Silicon
69
+ - CPU only
70
+ validations:
71
+ required: true
72
+ - type: dropdown
73
+ id: engine
74
+ attributes:
75
+ label: Engine
76
+ description: Which inference engine are you using?
77
+ options:
78
+ - Ollama
79
+ - vLLM
80
+ - llama.cpp
81
+ - SGLang
82
+ - MLX
83
+ - Cloud (OpenAI/Anthropic/Google)
84
+ - LiteLLM
85
+ - Other
86
+ validations:
87
+ required: false
88
+ - type: textarea
89
+ id: logs
90
+ attributes:
91
+ label: Logs / Traceback
92
+ description: Paste any relevant logs or traceback here.
93
+ render: shell
94
+ validations:
95
+ required: false
@@ -0,0 +1,5 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Ask a Question
4
+ url: https://github.com/Hamza35779/NOVA-AI/discussions
5
+ about: Use Discussions for questions and help
@@ -0,0 +1,47 @@
1
+ name: Feature Request
2
+ description: Propose a new feature or enhancement
3
+ labels: ["type:feature"]
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ For non-trivial changes, please open this issue for discussion before starting a PR. This saves everyone time by catching design issues early.
9
+ - type: textarea
10
+ id: problem
11
+ attributes:
12
+ label: Problem Statement
13
+ description: What problem does this solve? Why is this needed?
14
+ validations:
15
+ required: true
16
+ - type: textarea
17
+ id: solution
18
+ attributes:
19
+ label: Proposed Solution
20
+ description: Describe how you'd like this to work.
21
+ validations:
22
+ required: true
23
+ - type: dropdown
24
+ id: area
25
+ attributes:
26
+ label: Primitive Area
27
+ description: Which part of NOVA AI does this touch?
28
+ options:
29
+ - Intelligence
30
+ - Engine
31
+ - Agent
32
+ - Tools
33
+ - Learning
34
+ - Evals
35
+ - Frontend
36
+ - Channels
37
+ - Rust
38
+ - Other
39
+ validations:
40
+ required: true
41
+ - type: textarea
42
+ id: alternatives
43
+ attributes:
44
+ label: Alternatives Considered
45
+ description: Any alternative solutions or features you've considered.
46
+ validations:
47
+ required: false
@@ -0,0 +1,63 @@
1
+ name: New Eval Dataset
2
+ description: Propose a new evaluation dataset or benchmark
3
+ labels: ["type:eval"]
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ Adding eval datasets is one of the easiest ways to contribute! Fill out the details below.
9
+ - type: input
10
+ id: name
11
+ attributes:
12
+ label: Dataset Name
13
+ placeholder: e.g., HumanEval, GSM8K
14
+ validations:
15
+ required: true
16
+ - type: input
17
+ id: url
18
+ attributes:
19
+ label: URL / Reference
20
+ description: Link to the dataset or paper.
21
+ placeholder: https://...
22
+ validations:
23
+ required: true
24
+ - type: checkboxes
25
+ id: capability
26
+ attributes:
27
+ label: What capability does it test?
28
+ options:
29
+ - label: Reasoning
30
+ - label: Math
31
+ - label: Code
32
+ - label: Knowledge
33
+ - label: Multimodal
34
+ - label: Tool Use
35
+ - label: Long Context
36
+ - label: Other
37
+ - type: input
38
+ id: size
39
+ attributes:
40
+ label: Approximate Size
41
+ description: Number of examples in the dataset.
42
+ placeholder: e.g., 500
43
+ validations:
44
+ required: false
45
+ - type: dropdown
46
+ id: scorer
47
+ attributes:
48
+ label: Proposed Scorer Type
49
+ options:
50
+ - Exact Match
51
+ - F1
52
+ - BLEU
53
+ - LLM-as-Judge
54
+ - Custom
55
+ validations:
56
+ required: false
57
+ - type: textarea
58
+ id: context
59
+ attributes:
60
+ label: Additional Context
61
+ description: Any other details about this dataset.
62
+ validations:
63
+ required: false
@@ -0,0 +1,98 @@
1
+ name: Pearl Model Validation
2
+ description: Track conversion and validation of a Pearl-compatible mining model
3
+ labels: ["type:feature", "area:mining"]
4
+ body:
5
+ - type: markdown
6
+ attributes:
7
+ value: |
8
+ Use this template when promoting a raw Hugging Face model to a
9
+ Pearl-compatible `pearl-ai/*-pearl` mining model. A model should remain
10
+ `planned` in NOVA AI until this checklist is complete.
11
+ - type: input
12
+ id: raw_model
13
+ attributes:
14
+ label: Raw model
15
+ placeholder: e.g., Qwen/Qwen3.5-9B
16
+ validations:
17
+ required: true
18
+ - type: input
19
+ id: pearl_model
20
+ attributes:
21
+ label: Pearl model artifact
22
+ placeholder: e.g., pearl-ai/Qwen3.5-9B-pearl
23
+ validations:
24
+ required: true
25
+ - type: dropdown
26
+ id: target_provider
27
+ attributes:
28
+ label: Target provider
29
+ options:
30
+ - vllm-pearl
31
+ - cpu-pearl
32
+ - apple-mps-pearl
33
+ validations:
34
+ required: true
35
+ - type: textarea
36
+ id: quantization_recipe
37
+ attributes:
38
+ label: Quantization recipe
39
+ description: Link or paste the recipe used to create the Pearl model artifact.
40
+ placeholder: |
41
+ - compressed-tensors config:
42
+ - 7-bit mining layers:
43
+ - 8-bit non-mining layers:
44
+ - calibration data:
45
+ - SmoothQuant settings:
46
+ validations:
47
+ required: true
48
+ - type: textarea
49
+ id: hardware
50
+ attributes:
51
+ label: Validation hardware
52
+ placeholder: |
53
+ - GPU:
54
+ - VRAM:
55
+ - driver/CUDA:
56
+ - Docker image/tag:
57
+ - Pearl commit/ref:
58
+ validations:
59
+ required: true
60
+ - type: checkboxes
61
+ id: acceptance
62
+ attributes:
63
+ label: Acceptance checks
64
+ options:
65
+ - label: Model loads in Pearl's vLLM miner container
66
+ required: true
67
+ - label: vLLM registers Pearl's quantization plugin
68
+ required: true
69
+ - label: Mining layers use int7 NoisyGEMM
70
+ required: true
71
+ - label: Non-mining layers use int8 vanilla Pearl GEMM
72
+ required: true
73
+ - label: `nova mine init --model <pearl-model-id>` succeeds
74
+ required: true
75
+ - label: `nova mine start` succeeds
76
+ required: true
77
+ - label: `nova ask` succeeds through the mining engine
78
+ required: true
79
+ - label: `nova mine status` reports gateway/mining metrics
80
+ required: true
81
+ - label: `nova mine validate-model --allow-planned` passes
82
+ required: true
83
+ - label: Gateway/miner logs show no submission errors
84
+ required: true
85
+ - type: textarea
86
+ id: artifacts
87
+ attributes:
88
+ label: Artifacts
89
+ description: Attach logs, metrics, model config, and command output.
90
+ placeholder: |
91
+ - /v1/models output:
92
+ - `nova mine status` output:
93
+ - `nova mine validate-model --output` JSON:
94
+ - gateway metrics excerpt:
95
+ - miner logs:
96
+ - PR/commit that flips status to validated:
97
+ validations:
98
+ required: true
@@ -0,0 +1,7 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "label": "Git Clones",
4
+ "message": "0",
5
+ "color": "green",
6
+ "namedLogo": "git"
7
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "total_clones": 0,
3
+ "last_updated": "2026-08-24T00:00:00Z",
4
+ "daily": {}
5
+ }
@@ -0,0 +1,16 @@
1
+ ## What does this PR do?
2
+
3
+ <!-- Brief description of the change and its motivation -->
4
+
5
+ ## How was this tested?
6
+
7
+ <!-- Describe tests added or manual testing performed -->
8
+
9
+ ## Checklist
10
+
11
+ - [ ] Tests pass (`uv run pytest tests/ -v`)
12
+ - [ ] Linter passes (`uv run ruff check src/ tests/`)
13
+ - [ ] Formatter passes (`uv run ruff format --check src/ tests/`)
14
+ - [ ] New/changed public API has docstrings
15
+ - [ ] Follows registry pattern (if adding new component)
16
+ - [ ] Documentation updated (if applicable)
@@ -0,0 +1,92 @@
1
+ name: Auto-tag on main push
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ workflow_dispatch:
7
+
8
+ permissions:
9
+ contents: write
10
+ actions: write
11
+
12
+ jobs:
13
+ tag:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v6
17
+ with:
18
+ fetch-depth: 0
19
+
20
+ - name: Compute dev version
21
+ id: version
22
+ run: |
23
+ set -euo pipefail
24
+ # Base version is the next patch above the latest plain release tag
25
+ # (vX.Y.Z) reachable from HEAD. pyproject.toml no longer carries a
26
+ # static version (#526 switched it to hatch-vcs), so the release tag
27
+ # is the source of truth. `.devN`/`.rcN`/`desktop-*` tags are excluded
28
+ # so they can't be mistaken for the release base.
29
+ # Any future manual `X.Y.Z` release will outrank every `X.Y.Z.devN`
30
+ # autotag — PEP 440 sorts dev releases strictly below the final.
31
+ LATEST_RELEASE=$(git tag --list 'v[0-9]*' --merged HEAD \
32
+ | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | sort -V | tail -1)
33
+ if [[ -z "$LATEST_RELEASE" ]]; then
34
+ echo "::error::No release tag (vX.Y.Z) reachable from HEAD"
35
+ exit 1
36
+ fi
37
+ BASE="${LATEST_RELEASE#v}"
38
+ MAJOR=$(echo "$BASE" | cut -d. -f1)
39
+ MINOR=$(echo "$BASE" | cut -d. -f2)
40
+ PATCH=$(echo "$BASE" | cut -d. -f3 | sed -E 's/[^0-9].*$//')
41
+ NEXT_PATCH=$((PATCH + 1))
42
+ BUILD=$(git rev-list --count HEAD)
43
+ VERSION="${MAJOR}.${MINOR}.${NEXT_PATCH}.dev${BUILD}"
44
+ TAG="v${VERSION}"
45
+ echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
46
+ echo "tag=${TAG}" >> "$GITHUB_OUTPUT"
47
+ echo "Computed ${TAG} (base=${BASE})"
48
+
49
+ - name: Create and push tag
50
+ id: tag
51
+ env:
52
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
53
+ TAG: ${{ steps.version.outputs.tag }}
54
+ run: |
55
+ set -euo pipefail
56
+ if git rev-parse "$TAG" >/dev/null 2>&1; then
57
+ EXISTING_SHA=$(git rev-parse "$TAG")
58
+ HEAD_SHA=$(git rev-parse HEAD)
59
+ if [[ "$EXISTING_SHA" != "$HEAD_SHA" ]]; then
60
+ echo "::error::Tag $TAG already exists at $EXISTING_SHA but HEAD is $HEAD_SHA"
61
+ exit 1
62
+ fi
63
+ echo "Tag $TAG already exists at HEAD, skipping creation"
64
+ echo "created=false" >> "$GITHUB_OUTPUT"
65
+ exit 0
66
+ fi
67
+ git config user.name "github-actions[bot]"
68
+ git config user.email "github-actions[bot]@users.noreply.github.com"
69
+ git tag "$TAG"
70
+ git push origin "$TAG"
71
+ echo "Created and pushed $TAG"
72
+ echo "created=true" >> "$GITHUB_OUTPUT"
73
+
74
+ # Tag pushes made with the default GITHUB_TOKEN do NOT trigger other
75
+ # workflows (recursion prevention). workflow_dispatch is the documented
76
+ # exception, so we explicitly dispatch the downstream CD workflows here.
77
+ # See: https://docs.github.com/en/actions/security-guides/automatic-token-authentication
78
+ - name: Dispatch downstream workflows
79
+ if: steps.tag.outputs.created == 'true'
80
+ env:
81
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
82
+ TAG: ${{ steps.version.outputs.tag }}
83
+ run: |
84
+ set -euo pipefail
85
+ echo "Dispatching pypi-publish.yml @ ${TAG}"
86
+ gh workflow run pypi-publish.yml \
87
+ --ref "${TAG}" \
88
+ -f tag="${TAG}"
89
+ echo "Dispatching desktop.yml @ ${TAG}"
90
+ gh workflow run desktop.yml \
91
+ --ref "${TAG}" \
92
+ -f tag="${TAG}"
@@ -0,0 +1,27 @@
1
+ name: Bash tests
2
+
3
+ on:
4
+ pull_request:
5
+ paths:
6
+ - 'scripts/install/**'
7
+ - 'tests/install/bash/**'
8
+ - '.github/workflows/bash-tests.yml'
9
+ push:
10
+ branches: [main]
11
+ paths:
12
+ - 'scripts/install/**'
13
+ - 'tests/install/bash/**'
14
+
15
+ jobs:
16
+ bats:
17
+ runs-on: ubuntu-latest
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+
21
+ - name: Install bats-core
22
+ run: |
23
+ sudo apt-get update
24
+ sudo apt-get install -y bats
25
+
26
+ - name: Run bats tests
27
+ run: bats tests/install/bash/
@@ -0,0 +1,168 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ concurrency:
10
+ group: ci-${{ github.ref }}
11
+ cancel-in-progress: true
12
+
13
+ jobs:
14
+ lint:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v6
18
+
19
+ - name: Set up Python
20
+ uses: actions/setup-python@v6
21
+ with:
22
+ python-version: "3.12"
23
+
24
+ - name: Install uv
25
+ uses: astral-sh/setup-uv@v8.0.0
26
+
27
+ - name: Install dependencies
28
+ run: uv sync --extra dev --extra framework-comparison --extra server
29
+
30
+ - name: Ruff check
31
+ run: uv run ruff check src/ tests/
32
+
33
+ test:
34
+ runs-on: ubuntu-latest
35
+ steps:
36
+ - uses: actions/checkout@v6
37
+
38
+ - name: Set up Python
39
+ uses: actions/setup-python@v6
40
+ with:
41
+ python-version: "3.12"
42
+
43
+ - name: Install Rust toolchain
44
+ uses: dtolnay/rust-toolchain@stable
45
+
46
+ - name: Cargo cache
47
+ uses: actions/cache@v5
48
+ with:
49
+ path: |
50
+ ~/.cargo/registry
51
+ ~/.cargo/git
52
+ rust/target
53
+ key: rust-${{ runner.os }}-${{ hashFiles('rust/Cargo.lock') }}
54
+ restore-keys: rust-${{ runner.os }}-
55
+
56
+ - name: Install uv
57
+ uses: astral-sh/setup-uv@v8.0.0
58
+
59
+ - name: Install dependencies
60
+ run: uv sync --extra dev --extra framework-comparison --extra server
61
+
62
+ - name: Build Rust extension
63
+ run: uv run maturin develop --manifest-path rust/crates/nova_ai-python/Cargo.toml
64
+
65
+ - name: Run tests
66
+ run: |
67
+ set -o pipefail
68
+ uv run pytest tests/ -v --tb=short -m "not live and not cloud and not hub and not slow" \
69
+ --cov=nova_ai \
70
+ --cov-report=term-missing \
71
+ --cov-report=xml \
72
+ --cov-fail-under=60
73
+
74
+ - name: Upload coverage report
75
+ if: always()
76
+ continue-on-error: true
77
+ timeout-minutes: 5
78
+ uses: actions/upload-artifact@v4
79
+ with:
80
+ name: coverage-xml
81
+ path: coverage.xml
82
+ if-no-files-found: warn
83
+
84
+ # Windows job — empirically exercises the platform-specific code paths that
85
+ # the Ubuntu `test` job can never reach: GlobalMemoryStatusEx RAM detection
86
+ # (#373) and the cp9xx -> UTF-8 stdout reconfigure (#293). Also the only CI
87
+ # job that builds + imports the mandatory `nova_ai_rust` PyO3 extension
88
+ # on Windows. Public repo -> Windows runner minutes are free.
89
+ #
90
+ # All `run:` steps use static commands only (no `github.event.*`
91
+ # interpolation), so there is no workflow-injection surface here.
92
+ test-windows:
93
+ runs-on: windows-latest
94
+ strategy:
95
+ fail-fast: false
96
+ matrix:
97
+ # 3.12 = common; 3.13 = the supported ceiling — installing there guards
98
+ # against a numpy/native wheel gap at the top of the range (#350), which
99
+ # is exactly how the source-build failure slips in on Windows.
100
+ python-version: ["3.12", "3.13"]
101
+ steps:
102
+ - uses: actions/checkout@v6
103
+
104
+ - name: Set up Python
105
+ uses: actions/setup-python@v6
106
+ with:
107
+ python-version: ${{ matrix.python-version }}
108
+
109
+ - name: Install uv
110
+ uses: astral-sh/setup-uv@v8.0.0
111
+
112
+ - name: Install dependencies
113
+ run: uv sync --extra dev --extra server
114
+
115
+ # Pure-Python check — runs before the Rust build so a flaky toolchain
116
+ # install can never mask the actual RAM-detection verification.
117
+ - name: Verify Windows RAM detection (#373)
118
+ shell: bash
119
+ run: |
120
+ uv run python -c "from nova_ai.core.config import _total_ram_gb; ram = _total_ram_gb(); print(f'GlobalMemoryStatusEx RAM = {ram} GB'); assert ram > 0, f'Windows RAM detection returned {ram}, expected > 0'"
121
+
122
+ - name: Run Windows-specific tests (hardware + CLI)
123
+ shell: bash
124
+ run: |
125
+ uv run pytest tests/hardware/test_hardware_profiles.py tests/cli/test_cli.py -v -m "not live and not cloud"
126
+
127
+ - name: Install Rust toolchain
128
+ uses: dtolnay/rust-toolchain@stable
129
+
130
+ - name: Build + import the PyO3 extension on Windows
131
+ shell: bash
132
+ run: |
133
+ uv run maturin develop --manifest-path rust/crates/nova_ai-python/Cargo.toml
134
+ uv run python -c "import nova_ai_rust; print('nova_ai_rust imports on Windows OK')"
135
+
136
+ - name: Smoke-test CLI
137
+ shell: bash
138
+ run: |
139
+ uv run nova --version
140
+
141
+ rust:
142
+ runs-on: ubuntu-latest
143
+ defaults:
144
+ run:
145
+ working-directory: rust
146
+ steps:
147
+ - uses: actions/checkout@v6
148
+
149
+ - name: Install Rust toolchain
150
+ uses: dtolnay/rust-toolchain@stable
151
+ with:
152
+ components: clippy
153
+
154
+ - name: Cargo cache
155
+ uses: actions/cache@v5
156
+ with:
157
+ path: |
158
+ ~/.cargo/registry
159
+ ~/.cargo/git
160
+ rust/target
161
+ key: rust-${{ runner.os }}-${{ hashFiles('rust/Cargo.lock') }}
162
+ restore-keys: rust-${{ runner.os }}-
163
+
164
+ - name: Clippy
165
+ run: cargo clippy --workspace --all-targets -- -D warnings
166
+
167
+ - name: Test
168
+ run: cargo test --workspace