OpenJarvisAI 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1654) hide show
  1. openjarvisai-0.1.0/.github/ISSUE_TEMPLATE/bug_report.yml +95 -0
  2. openjarvisai-0.1.0/.github/ISSUE_TEMPLATE/config.yml +5 -0
  3. openjarvisai-0.1.0/.github/ISSUE_TEMPLATE/feature_request.yml +47 -0
  4. openjarvisai-0.1.0/.github/ISSUE_TEMPLATE/new_eval.yml +63 -0
  5. openjarvisai-0.1.0/.github/clone-stats/badge.json +7 -0
  6. openjarvisai-0.1.0/.github/clone-stats/clone-data.json +5 -0
  7. openjarvisai-0.1.0/.github/pull_request_template.md +16 -0
  8. openjarvisai-0.1.0/.github/workflows/ci.yml +95 -0
  9. openjarvisai-0.1.0/.github/workflows/claude-issues.yml +75 -0
  10. openjarvisai-0.1.0/.github/workflows/claude-review.yml +51 -0
  11. openjarvisai-0.1.0/.github/workflows/desktop.yml +222 -0
  12. openjarvisai-0.1.0/.github/workflows/docs.yml +63 -0
  13. openjarvisai-0.1.0/.github/workflows/frontend.yml +37 -0
  14. openjarvisai-0.1.0/.github/workflows/pypi-publish.yml +29 -0
  15. openjarvisai-0.1.0/.github/workflows/take-assign.yml +29 -0
  16. openjarvisai-0.1.0/.github/workflows/track-clones.yml +84 -0
  17. openjarvisai-0.1.0/.gitignore +93 -0
  18. openjarvisai-0.1.0/.pre-commit-config.yaml +7 -0
  19. openjarvisai-0.1.0/CHANGELOG.md +78 -0
  20. openjarvisai-0.1.0/CODE_OF_CONDUCT.md +85 -0
  21. openjarvisai-0.1.0/CONTRIBUTING.md +201 -0
  22. openjarvisai-0.1.0/LICENSE +190 -0
  23. openjarvisai-0.1.0/PKG-INFO +350 -0
  24. openjarvisai-0.1.0/README.md +194 -0
  25. openjarvisai-0.1.0/REVIEW.md +42 -0
  26. openjarvisai-0.1.0/assets/OpenJarvis_Architecture.png +0 -0
  27. openjarvisai-0.1.0/assets/OpenJarvis_Circular_Logo.png +0 -0
  28. openjarvisai-0.1.0/assets/OpenJarvis_Horizontal_Logo.png +0 -0
  29. openjarvisai-0.1.0/assets/openjarvis-slack-icon.jpg +0 -0
  30. openjarvisai-0.1.0/configs/openjarvis/config.toml +114 -0
  31. openjarvisai-0.1.0/configs/openjarvis/examples/chat-simple.toml +24 -0
  32. openjarvisai-0.1.0/configs/openjarvis/examples/code-assistant.toml +21 -0
  33. openjarvisai-0.1.0/configs/openjarvis/examples/deep-research.toml +27 -0
  34. openjarvisai-0.1.0/configs/openjarvis/examples/morning-digest-linux.toml +51 -0
  35. openjarvisai-0.1.0/configs/openjarvis/examples/morning-digest-mac.toml +56 -0
  36. openjarvisai-0.1.0/configs/openjarvis/examples/morning-digest-minimal.toml +31 -0
  37. openjarvisai-0.1.0/configs/openjarvis/examples/scheduled-monitor.toml +35 -0
  38. openjarvisai-0.1.0/configs/openjarvis/prompts/personas/jarvis.md +30 -0
  39. openjarvisai-0.1.0/configs/openjarvis/prompts/personas/neutral.md +11 -0
  40. openjarvisai-0.1.0/deploy/docker/Dockerfile +33 -0
  41. openjarvisai-0.1.0/deploy/docker/Dockerfile.gpu +40 -0
  42. openjarvisai-0.1.0/deploy/docker/Dockerfile.gpu.rocm +40 -0
  43. openjarvisai-0.1.0/deploy/docker/Dockerfile.sandbox +16 -0
  44. openjarvisai-0.1.0/deploy/docker/docker-compose.gpu.nvidia.yml +31 -0
  45. openjarvisai-0.1.0/deploy/docker/docker-compose.gpu.rocm.yml +15 -0
  46. openjarvisai-0.1.0/deploy/docker/docker-compose.yml +31 -0
  47. openjarvisai-0.1.0/deploy/launchd/com.openjarvis.plist +25 -0
  48. openjarvisai-0.1.0/deploy/systemd/openjarvis.service +15 -0
  49. openjarvisai-0.1.0/desktop/README.md +121 -0
  50. openjarvisai-0.1.0/desktop/index.html +12 -0
  51. openjarvisai-0.1.0/desktop/package-lock.json +2491 -0
  52. openjarvisai-0.1.0/desktop/package.json +32 -0
  53. openjarvisai-0.1.0/desktop/scripts/download-ollama.sh +138 -0
  54. openjarvisai-0.1.0/desktop/src/App.tsx +116 -0
  55. openjarvisai-0.1.0/desktop/src/components/AdminPanel.tsx +454 -0
  56. openjarvisai-0.1.0/desktop/src/components/AgentsPanel.tsx +1210 -0
  57. openjarvisai-0.1.0/desktop/src/components/EnergyDashboard.tsx +406 -0
  58. openjarvisai-0.1.0/desktop/src/components/LearningCurve.tsx +436 -0
  59. openjarvisai-0.1.0/desktop/src/components/MemoryBrowser.tsx +369 -0
  60. openjarvisai-0.1.0/desktop/src/components/SavingsDashboard.tsx +675 -0
  61. openjarvisai-0.1.0/desktop/src/components/SettingsPanel.tsx +205 -0
  62. openjarvisai-0.1.0/desktop/src/components/TraceDebugger.tsx +607 -0
  63. openjarvisai-0.1.0/desktop/src/components/UpdateChecker.tsx +187 -0
  64. openjarvisai-0.1.0/desktop/src/hooks/useTauriApi.ts +87 -0
  65. openjarvisai-0.1.0/desktop/src/lib/api.ts +182 -0
  66. openjarvisai-0.1.0/desktop/src/main.tsx +9 -0
  67. openjarvisai-0.1.0/desktop/src-tauri/Cargo.lock +6202 -0
  68. openjarvisai-0.1.0/desktop/src-tauri/Cargo.toml +27 -0
  69. openjarvisai-0.1.0/desktop/src-tauri/Entitlements.plist +20 -0
  70. openjarvisai-0.1.0/desktop/src-tauri/binaries/.gitignore +3 -0
  71. openjarvisai-0.1.0/desktop/src-tauri/build.rs +3 -0
  72. openjarvisai-0.1.0/desktop/src-tauri/capabilities/default.json +28 -0
  73. openjarvisai-0.1.0/desktop/src-tauri/icons/128x128.png +0 -0
  74. openjarvisai-0.1.0/desktop/src-tauri/icons/128x128@2x.png +0 -0
  75. openjarvisai-0.1.0/desktop/src-tauri/icons/256x256.png +0 -0
  76. openjarvisai-0.1.0/desktop/src-tauri/icons/32x32.png +0 -0
  77. openjarvisai-0.1.0/desktop/src-tauri/icons/icon.icns +0 -0
  78. openjarvisai-0.1.0/desktop/src-tauri/icons/icon.ico +0 -0
  79. openjarvisai-0.1.0/desktop/src-tauri/icons/icon.png +0 -0
  80. openjarvisai-0.1.0/desktop/src-tauri/src/lib.rs +1306 -0
  81. openjarvisai-0.1.0/desktop/src-tauri/src/main.rs +6 -0
  82. openjarvisai-0.1.0/desktop/src-tauri/tauri.conf.json +71 -0
  83. openjarvisai-0.1.0/desktop/tsconfig.json +21 -0
  84. openjarvisai-0.1.0/desktop/tsconfig.tsbuildinfo +1 -0
  85. openjarvisai-0.1.0/desktop/vite.config.ts +20 -0
  86. openjarvisai-0.1.0/docs/architecture/agents.md +567 -0
  87. openjarvisai-0.1.0/docs/architecture/channels.md +192 -0
  88. openjarvisai-0.1.0/docs/architecture/design-principles.md +299 -0
  89. openjarvisai-0.1.0/docs/architecture/engine.md +406 -0
  90. openjarvisai-0.1.0/docs/architecture/intelligence.md +258 -0
  91. openjarvisai-0.1.0/docs/architecture/learning.md +555 -0
  92. openjarvisai-0.1.0/docs/architecture/memory.md +355 -0
  93. openjarvisai-0.1.0/docs/architecture/overview.md +242 -0
  94. openjarvisai-0.1.0/docs/architecture/query-flow.md +319 -0
  95. openjarvisai-0.1.0/docs/architecture/security.md +211 -0
  96. openjarvisai-0.1.0/docs/architecture/skills.md +222 -0
  97. openjarvisai-0.1.0/docs/assets/OpenJarvis_Architecture.png +0 -0
  98. openjarvisai-0.1.0/docs/deployment/api-server.md +510 -0
  99. openjarvisai-0.1.0/docs/deployment/docker.md +337 -0
  100. openjarvisai-0.1.0/docs/deployment/index.md +34 -0
  101. openjarvisai-0.1.0/docs/deployment/launchd.md +251 -0
  102. openjarvisai-0.1.0/docs/deployment/systemd.md +243 -0
  103. openjarvisai-0.1.0/docs/development/contributing.md +415 -0
  104. openjarvisai-0.1.0/docs/development/roadmap.md +140 -0
  105. openjarvisai-0.1.0/docs/downloads.md +255 -0
  106. openjarvisai-0.1.0/docs/experiments/neurips-2026-plan.md +240 -0
  107. openjarvisai-0.1.0/docs/gen_ref_pages.py +31 -0
  108. openjarvisai-0.1.0/docs/getting-started/configuration.md +1059 -0
  109. openjarvisai-0.1.0/docs/getting-started/installation.md +340 -0
  110. openjarvisai-0.1.0/docs/getting-started/macos.md +421 -0
  111. openjarvisai-0.1.0/docs/getting-started/quickstart.md +562 -0
  112. openjarvisai-0.1.0/docs/getting-started/snippets.md +135 -0
  113. openjarvisai-0.1.0/docs/includes/abbreviations.md +13 -0
  114. openjarvisai-0.1.0/docs/index.md +234 -0
  115. openjarvisai-0.1.0/docs/javascripts/docsearch-init.js +36 -0
  116. openjarvisai-0.1.0/docs/javascripts/leaderboard.js +178 -0
  117. openjarvisai-0.1.0/docs/leaderboard.md +59 -0
  118. openjarvisai-0.1.0/docs/overrides/main.html +14 -0
  119. openjarvisai-0.1.0/docs/stylesheets/extra.css +534 -0
  120. openjarvisai-0.1.0/docs/testing/agent-qa-runbook.md +75 -0
  121. openjarvisai-0.1.0/docs/tutorials/code-companion.md +218 -0
  122. openjarvisai-0.1.0/docs/tutorials/deep-research.md +197 -0
  123. openjarvisai-0.1.0/docs/tutorials/index.md +70 -0
  124. openjarvisai-0.1.0/docs/tutorials/messaging-hub.md +215 -0
  125. openjarvisai-0.1.0/docs/tutorials/scheduled-ops.md +215 -0
  126. openjarvisai-0.1.0/docs/tutorials/skills-workflow.md +236 -0
  127. openjarvisai-0.1.0/docs/user-guide/agents.md +684 -0
  128. openjarvisai-0.1.0/docs/user-guide/benchmarks.md +337 -0
  129. openjarvisai-0.1.0/docs/user-guide/channels-and-connectors.md +555 -0
  130. openjarvisai-0.1.0/docs/user-guide/channels.md +646 -0
  131. openjarvisai-0.1.0/docs/user-guide/chat-simple.md +154 -0
  132. openjarvisai-0.1.0/docs/user-guide/cli.md +433 -0
  133. openjarvisai-0.1.0/docs/user-guide/code-assistant.md +137 -0
  134. openjarvisai-0.1.0/docs/user-guide/deep-research.md +165 -0
  135. openjarvisai-0.1.0/docs/user-guide/evaluations.md +661 -0
  136. openjarvisai-0.1.0/docs/user-guide/mcp-external-servers.md +158 -0
  137. openjarvisai-0.1.0/docs/user-guide/memory.md +368 -0
  138. openjarvisai-0.1.0/docs/user-guide/morning-digest.md +218 -0
  139. openjarvisai-0.1.0/docs/user-guide/python-sdk.md +385 -0
  140. openjarvisai-0.1.0/docs/user-guide/scheduled-monitor.md +201 -0
  141. openjarvisai-0.1.0/docs/user-guide/scheduler.md +240 -0
  142. openjarvisai-0.1.0/docs/user-guide/security.md +454 -0
  143. openjarvisai-0.1.0/docs/user-guide/skills.md +405 -0
  144. openjarvisai-0.1.0/docs/user-guide/telemetry.md +423 -0
  145. openjarvisai-0.1.0/docs/user-guide/tools.md +596 -0
  146. openjarvisai-0.1.0/examples/browser_assistant/README.md +31 -0
  147. openjarvisai-0.1.0/examples/browser_assistant/browser_assistant.py +113 -0
  148. openjarvisai-0.1.0/examples/code_companion/README.md +148 -0
  149. openjarvisai-0.1.0/examples/code_companion/debugger.py +123 -0
  150. openjarvisai-0.1.0/examples/code_companion/reviewer.py +112 -0
  151. openjarvisai-0.1.0/examples/code_companion/test_gen.py +137 -0
  152. openjarvisai-0.1.0/examples/daily_digest/README.md +30 -0
  153. openjarvisai-0.1.0/examples/daily_digest/daily_digest.py +120 -0
  154. openjarvisai-0.1.0/examples/deep_research/README.md +111 -0
  155. openjarvisai-0.1.0/examples/deep_research/research.py +118 -0
  156. openjarvisai-0.1.0/examples/deep_research/research.toml +23 -0
  157. openjarvisai-0.1.0/examples/doc_qa/README.md +36 -0
  158. openjarvisai-0.1.0/examples/doc_qa/doc_qa.py +120 -0
  159. openjarvisai-0.1.0/examples/messaging_hub/README.md +144 -0
  160. openjarvisai-0.1.0/examples/messaging_hub/messaging.toml +25 -0
  161. openjarvisai-0.1.0/examples/messaging_hub/smart_inbox.py +267 -0
  162. openjarvisai-0.1.0/examples/multi_model_router/README.md +52 -0
  163. openjarvisai-0.1.0/examples/multi_model_router/multi_model_router.py +151 -0
  164. openjarvisai-0.1.0/examples/scheduled_ops/README.md +129 -0
  165. openjarvisai-0.1.0/examples/scheduled_ops/code_review.py +105 -0
  166. openjarvisai-0.1.0/examples/scheduled_ops/daily_digest.py +93 -0
  167. openjarvisai-0.1.0/examples/scheduled_ops/gym_scheduler.py +137 -0
  168. openjarvisai-0.1.0/examples/scheduled_ops/schedules.toml +19 -0
  169. openjarvisai-0.1.0/examples/security_scanner/README.md +33 -0
  170. openjarvisai-0.1.0/examples/security_scanner/security_scanner.py +117 -0
  171. openjarvisai-0.1.0/frontend/components.json +25 -0
  172. openjarvisai-0.1.0/frontend/index.html +16 -0
  173. openjarvisai-0.1.0/frontend/package-lock.json +12463 -0
  174. openjarvisai-0.1.0/frontend/package.json +56 -0
  175. openjarvisai-0.1.0/frontend/public/apple-touch-icon.png +0 -0
  176. openjarvisai-0.1.0/frontend/public/favicon.ico +0 -0
  177. openjarvisai-0.1.0/frontend/public/pwa-192x192.png +0 -0
  178. openjarvisai-0.1.0/frontend/public/pwa-512x512.png +0 -0
  179. openjarvisai-0.1.0/frontend/src/App.tsx +181 -0
  180. openjarvisai-0.1.0/frontend/src/components/Chat/AudioPlayer.tsx +119 -0
  181. openjarvisai-0.1.0/frontend/src/components/Chat/ChatArea.tsx +163 -0
  182. openjarvisai-0.1.0/frontend/src/components/Chat/InputArea.tsx +377 -0
  183. openjarvisai-0.1.0/frontend/src/components/Chat/MessageBubble.tsx +160 -0
  184. openjarvisai-0.1.0/frontend/src/components/Chat/MicButton.tsx +80 -0
  185. openjarvisai-0.1.0/frontend/src/components/Chat/StreamingDots.tsx +29 -0
  186. openjarvisai-0.1.0/frontend/src/components/Chat/SystemPanel.tsx +312 -0
  187. openjarvisai-0.1.0/frontend/src/components/Chat/ToolCallCard.tsx +86 -0
  188. openjarvisai-0.1.0/frontend/src/components/Chat/XRayFooter.tsx +123 -0
  189. openjarvisai-0.1.0/frontend/src/components/CommandPalette.tsx +545 -0
  190. openjarvisai-0.1.0/frontend/src/components/Dashboard/CostComparison.tsx +107 -0
  191. openjarvisai-0.1.0/frontend/src/components/Dashboard/EnergyDashboard.tsx +212 -0
  192. openjarvisai-0.1.0/frontend/src/components/Dashboard/TraceDebugger.tsx +210 -0
  193. openjarvisai-0.1.0/frontend/src/components/ErrorBoundary.tsx +60 -0
  194. openjarvisai-0.1.0/frontend/src/components/Layout.tsx +69 -0
  195. openjarvisai-0.1.0/frontend/src/components/OptInModal.tsx +263 -0
  196. openjarvisai-0.1.0/frontend/src/components/SetupScreen.tsx +174 -0
  197. openjarvisai-0.1.0/frontend/src/components/Sidebar/ConversationList.tsx +98 -0
  198. openjarvisai-0.1.0/frontend/src/components/Sidebar/Sidebar.tsx +219 -0
  199. openjarvisai-0.1.0/frontend/src/components/SystemPulse.tsx +60 -0
  200. openjarvisai-0.1.0/frontend/src/components/setup/IngestDashboard.tsx +179 -0
  201. openjarvisai-0.1.0/frontend/src/components/setup/ReadyScreen.tsx +142 -0
  202. openjarvisai-0.1.0/frontend/src/components/setup/SetupWizard.tsx +119 -0
  203. openjarvisai-0.1.0/frontend/src/components/setup/SourceConnectFlow.tsx +605 -0
  204. openjarvisai-0.1.0/frontend/src/components/setup/SourcePicker.tsx +178 -0
  205. openjarvisai-0.1.0/frontend/src/components/ui/button.tsx +58 -0
  206. openjarvisai-0.1.0/frontend/src/components/ui/dialog.tsx +157 -0
  207. openjarvisai-0.1.0/frontend/src/components/ui/input.tsx +20 -0
  208. openjarvisai-0.1.0/frontend/src/components/ui/select.tsx +199 -0
  209. openjarvisai-0.1.0/frontend/src/components/ui/sonner.tsx +43 -0
  210. openjarvisai-0.1.0/frontend/src/components/ui/tooltip.tsx +64 -0
  211. openjarvisai-0.1.0/frontend/src/hooks/useSpeech.ts +92 -0
  212. openjarvisai-0.1.0/frontend/src/index.css +483 -0
  213. openjarvisai-0.1.0/frontend/src/lib/api.ts +786 -0
  214. openjarvisai-0.1.0/frontend/src/lib/connectors-api.ts +53 -0
  215. openjarvisai-0.1.0/frontend/src/lib/deep-link.ts +61 -0
  216. openjarvisai-0.1.0/frontend/src/lib/profanity.ts +24 -0
  217. openjarvisai-0.1.0/frontend/src/lib/sse.ts +59 -0
  218. openjarvisai-0.1.0/frontend/src/lib/store.ts +436 -0
  219. openjarvisai-0.1.0/frontend/src/lib/utils.ts +6 -0
  220. openjarvisai-0.1.0/frontend/src/main.tsx +39 -0
  221. openjarvisai-0.1.0/frontend/src/pages/AgentsPage.tsx +3589 -0
  222. openjarvisai-0.1.0/frontend/src/pages/ChatPage.tsx +16 -0
  223. openjarvisai-0.1.0/frontend/src/pages/DashboardPage.tsx +26 -0
  224. openjarvisai-0.1.0/frontend/src/pages/DataSourcesPage.tsx +1510 -0
  225. openjarvisai-0.1.0/frontend/src/pages/GetStartedPage.tsx +485 -0
  226. openjarvisai-0.1.0/frontend/src/pages/LogsPage.tsx +89 -0
  227. openjarvisai-0.1.0/frontend/src/pages/SettingsPage.tsx +459 -0
  228. openjarvisai-0.1.0/frontend/src/types/connectors.ts +444 -0
  229. openjarvisai-0.1.0/frontend/src/types/index.ts +143 -0
  230. openjarvisai-0.1.0/frontend/src/vite-env.d.ts +9 -0
  231. openjarvisai-0.1.0/frontend/src-tauri/Cargo.lock +6184 -0
  232. openjarvisai-0.1.0/frontend/src-tauri/Cargo.toml +27 -0
  233. openjarvisai-0.1.0/frontend/src-tauri/Entitlements.plist +14 -0
  234. openjarvisai-0.1.0/frontend/src-tauri/build.rs +3 -0
  235. openjarvisai-0.1.0/frontend/src-tauri/icons/128x128.png +0 -0
  236. openjarvisai-0.1.0/frontend/src-tauri/icons/128x128@2x.png +0 -0
  237. openjarvisai-0.1.0/frontend/src-tauri/icons/256x256.png +0 -0
  238. openjarvisai-0.1.0/frontend/src-tauri/icons/32x32.png +0 -0
  239. openjarvisai-0.1.0/frontend/src-tauri/icons/icon.ico +0 -0
  240. openjarvisai-0.1.0/frontend/src-tauri/icons/icon.png +0 -0
  241. openjarvisai-0.1.0/frontend/src-tauri/src/lib.rs +246 -0
  242. openjarvisai-0.1.0/frontend/src-tauri/src/main.rs +6 -0
  243. openjarvisai-0.1.0/frontend/src-tauri/tauri.conf.json +68 -0
  244. openjarvisai-0.1.0/frontend/tsconfig.json +25 -0
  245. openjarvisai-0.1.0/frontend/tsconfig.tsbuildinfo +1 -0
  246. openjarvisai-0.1.0/frontend/vite.config.ts +59 -0
  247. openjarvisai-0.1.0/mkdocs.yml +184 -0
  248. openjarvisai-0.1.0/pyproject.toml +171 -0
  249. openjarvisai-0.1.0/rust/Cargo.lock +3654 -0
  250. openjarvisai-0.1.0/rust/Cargo.toml +49 -0
  251. openjarvisai-0.1.0/rust/crates/openjarvis-a2a/Cargo.toml +10 -0
  252. openjarvisai-0.1.0/rust/crates/openjarvis-a2a/src/lib.rs +343 -0
  253. openjarvisai-0.1.0/rust/crates/openjarvis-agents/Cargo.toml +20 -0
  254. openjarvisai-0.1.0/rust/crates/openjarvis-agents/src/helpers.rs +80 -0
  255. openjarvisai-0.1.0/rust/crates/openjarvis-agents/src/lib.rs +23 -0
  256. openjarvisai-0.1.0/rust/crates/openjarvis-agents/src/loop_guard.rs +135 -0
  257. openjarvisai-0.1.0/rust/crates/openjarvis-agents/src/monitor_operative.rs +473 -0
  258. openjarvisai-0.1.0/rust/crates/openjarvis-agents/src/native_openhands.rs +339 -0
  259. openjarvisai-0.1.0/rust/crates/openjarvis-agents/src/native_react.rs +211 -0
  260. openjarvisai-0.1.0/rust/crates/openjarvis-agents/src/orchestrator.rs +100 -0
  261. openjarvisai-0.1.0/rust/crates/openjarvis-agents/src/simple.rs +79 -0
  262. openjarvisai-0.1.0/rust/crates/openjarvis-agents/src/traits.rs +20 -0
  263. openjarvisai-0.1.0/rust/crates/openjarvis-agents/src/utils.rs +32 -0
  264. openjarvisai-0.1.0/rust/crates/openjarvis-core/Cargo.toml +19 -0
  265. openjarvisai-0.1.0/rust/crates/openjarvis-core/src/config.rs +1053 -0
  266. openjarvisai-0.1.0/rust/crates/openjarvis-core/src/error.rs +267 -0
  267. openjarvisai-0.1.0/rust/crates/openjarvis-core/src/events.rs +324 -0
  268. openjarvisai-0.1.0/rust/crates/openjarvis-core/src/hardware.rs +345 -0
  269. openjarvisai-0.1.0/rust/crates/openjarvis-core/src/lib.rs +19 -0
  270. openjarvisai-0.1.0/rust/crates/openjarvis-core/src/model_catalog.rs +306 -0
  271. openjarvisai-0.1.0/rust/crates/openjarvis-core/src/registry.rs +230 -0
  272. openjarvisai-0.1.0/rust/crates/openjarvis-core/src/types.rs +738 -0
  273. openjarvisai-0.1.0/rust/crates/openjarvis-engine/Cargo.toml +22 -0
  274. openjarvisai-0.1.0/rust/crates/openjarvis-engine/src/discovery.rs +131 -0
  275. openjarvisai-0.1.0/rust/crates/openjarvis-engine/src/engine_enum.rs +207 -0
  276. openjarvisai-0.1.0/rust/crates/openjarvis-engine/src/lib.rs +23 -0
  277. openjarvisai-0.1.0/rust/crates/openjarvis-engine/src/llamacpp.rs +338 -0
  278. openjarvisai-0.1.0/rust/crates/openjarvis-engine/src/ollama.rs +274 -0
  279. openjarvisai-0.1.0/rust/crates/openjarvis-engine/src/openai_compat.rs +380 -0
  280. openjarvisai-0.1.0/rust/crates/openjarvis-engine/src/rig_adapter.rs +277 -0
  281. openjarvisai-0.1.0/rust/crates/openjarvis-engine/src/sglang.rs +326 -0
  282. openjarvisai-0.1.0/rust/crates/openjarvis-engine/src/traits.rs +115 -0
  283. openjarvisai-0.1.0/rust/crates/openjarvis-engine/src/vllm.rs +367 -0
  284. openjarvisai-0.1.0/rust/crates/openjarvis-learning/Cargo.toml +18 -0
  285. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/agent_advisor.rs +192 -0
  286. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/agent_evolver.rs +283 -0
  287. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/bandit.rs +188 -0
  288. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/grpo.rs +129 -0
  289. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/heuristic.rs +80 -0
  290. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/heuristic_reward.rs +93 -0
  291. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/icl_updater.rs +233 -0
  292. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/learning_orchestrator.rs +199 -0
  293. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/lib.rs +40 -0
  294. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/optimize/engine.rs +484 -0
  295. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/optimize/llm_optimizer.rs +860 -0
  296. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/optimize/mod.rs +20 -0
  297. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/optimize/search_space.rs +354 -0
  298. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/optimize/store.rs +671 -0
  299. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/optimize/types.rs +638 -0
  300. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/orchestrator_types.rs +383 -0
  301. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/reward.rs +335 -0
  302. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/router_enum.rs +35 -0
  303. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/sft_policy.rs +179 -0
  304. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/skill_discovery.rs +198 -0
  305. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/trace_policy.rs +324 -0
  306. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/training_data.rs +345 -0
  307. openjarvisai-0.1.0/rust/crates/openjarvis-learning/src/traits.rs +18 -0
  308. openjarvisai-0.1.0/rust/crates/openjarvis-mcp/Cargo.toml +13 -0
  309. openjarvisai-0.1.0/rust/crates/openjarvis-mcp/src/lib.rs +7 -0
  310. openjarvisai-0.1.0/rust/crates/openjarvis-mcp/src/protocol.rs +110 -0
  311. openjarvisai-0.1.0/rust/crates/openjarvis-mcp/src/server.rs +153 -0
  312. openjarvisai-0.1.0/rust/crates/openjarvis-python/Cargo.toml +32 -0
  313. openjarvisai-0.1.0/rust/crates/openjarvis-python/pyproject.toml +12 -0
  314. openjarvisai-0.1.0/rust/crates/openjarvis-python/src/a2a.rs +111 -0
  315. openjarvisai-0.1.0/rust/crates/openjarvis-python/src/agents.rs +378 -0
  316. openjarvisai-0.1.0/rust/crates/openjarvis-python/src/core.rs +212 -0
  317. openjarvisai-0.1.0/rust/crates/openjarvis-python/src/engine.rs +189 -0
  318. openjarvisai-0.1.0/rust/crates/openjarvis-python/src/learning.rs +573 -0
  319. openjarvisai-0.1.0/rust/crates/openjarvis-python/src/lib.rs +195 -0
  320. openjarvisai-0.1.0/rust/crates/openjarvis-python/src/mcp.rs +25 -0
  321. openjarvisai-0.1.0/rust/crates/openjarvis-python/src/recipes.rs +67 -0
  322. openjarvisai-0.1.0/rust/crates/openjarvis-python/src/scheduler.rs +63 -0
  323. openjarvisai-0.1.0/rust/crates/openjarvis-python/src/security.rs +258 -0
  324. openjarvisai-0.1.0/rust/crates/openjarvis-python/src/sessions.rs +66 -0
  325. openjarvisai-0.1.0/rust/crates/openjarvis-python/src/skills.rs +64 -0
  326. openjarvisai-0.1.0/rust/crates/openjarvis-python/src/storage.rs +356 -0
  327. openjarvisai-0.1.0/rust/crates/openjarvis-python/src/telemetry.rs +382 -0
  328. openjarvisai-0.1.0/rust/crates/openjarvis-python/src/templates.rs +57 -0
  329. openjarvisai-0.1.0/rust/crates/openjarvis-python/src/tools.rs +237 -0
  330. openjarvisai-0.1.0/rust/crates/openjarvis-python/src/traces.rs +92 -0
  331. openjarvisai-0.1.0/rust/crates/openjarvis-python/src/workflow.rs +127 -0
  332. openjarvisai-0.1.0/rust/crates/openjarvis-python/uv.lock +8 -0
  333. openjarvisai-0.1.0/rust/crates/openjarvis-recipes/Cargo.toml +10 -0
  334. openjarvisai-0.1.0/rust/crates/openjarvis-recipes/src/lib.rs +186 -0
  335. openjarvisai-0.1.0/rust/crates/openjarvis-scheduler/Cargo.toml +12 -0
  336. openjarvisai-0.1.0/rust/crates/openjarvis-scheduler/src/lib.rs +431 -0
  337. openjarvisai-0.1.0/rust/crates/openjarvis-security/Cargo.toml +25 -0
  338. openjarvisai-0.1.0/rust/crates/openjarvis-security/src/audit.rs +316 -0
  339. openjarvisai-0.1.0/rust/crates/openjarvis-security/src/capabilities.rs +238 -0
  340. openjarvisai-0.1.0/rust/crates/openjarvis-security/src/file_policy.rs +84 -0
  341. openjarvisai-0.1.0/rust/crates/openjarvis-security/src/guardrails.rs +267 -0
  342. openjarvisai-0.1.0/rust/crates/openjarvis-security/src/injection.rs +208 -0
  343. openjarvisai-0.1.0/rust/crates/openjarvis-security/src/lib.rs +23 -0
  344. openjarvisai-0.1.0/rust/crates/openjarvis-security/src/rate_limiter.rs +147 -0
  345. openjarvisai-0.1.0/rust/crates/openjarvis-security/src/scanner.rs +256 -0
  346. openjarvisai-0.1.0/rust/crates/openjarvis-security/src/ssrf.rs +120 -0
  347. openjarvisai-0.1.0/rust/crates/openjarvis-security/src/taint.rs +195 -0
  348. openjarvisai-0.1.0/rust/crates/openjarvis-security/src/types.rs +127 -0
  349. openjarvisai-0.1.0/rust/crates/openjarvis-sessions/Cargo.toml +11 -0
  350. openjarvisai-0.1.0/rust/crates/openjarvis-sessions/src/lib.rs +733 -0
  351. openjarvisai-0.1.0/rust/crates/openjarvis-skills/Cargo.toml +11 -0
  352. openjarvisai-0.1.0/rust/crates/openjarvis-skills/src/lib.rs +164 -0
  353. openjarvisai-0.1.0/rust/crates/openjarvis-telemetry/Cargo.toml +22 -0
  354. openjarvisai-0.1.0/rust/crates/openjarvis-telemetry/src/aggregator.rs +23 -0
  355. openjarvisai-0.1.0/rust/crates/openjarvis-telemetry/src/energy.rs +100 -0
  356. openjarvisai-0.1.0/rust/crates/openjarvis-telemetry/src/flops.rs +228 -0
  357. openjarvisai-0.1.0/rust/crates/openjarvis-telemetry/src/instrumented.rs +117 -0
  358. openjarvisai-0.1.0/rust/crates/openjarvis-telemetry/src/itl.rs +156 -0
  359. openjarvisai-0.1.0/rust/crates/openjarvis-telemetry/src/lib.rs +14 -0
  360. openjarvisai-0.1.0/rust/crates/openjarvis-telemetry/src/phase.rs +201 -0
  361. openjarvisai-0.1.0/rust/crates/openjarvis-telemetry/src/session.rs +391 -0
  362. openjarvisai-0.1.0/rust/crates/openjarvis-telemetry/src/store.rs +152 -0
  363. openjarvisai-0.1.0/rust/crates/openjarvis-templates/Cargo.toml +10 -0
  364. openjarvisai-0.1.0/rust/crates/openjarvis-templates/src/lib.rs +79 -0
  365. openjarvisai-0.1.0/rust/crates/openjarvis-tools/Cargo.toml +28 -0
  366. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/builtin/calculator.rs +90 -0
  367. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/builtin/file_tools.rs +147 -0
  368. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/builtin/git_tools.rs +92 -0
  369. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/builtin/http_tools.rs +99 -0
  370. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/builtin/mod.rs +59 -0
  371. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/builtin/shell.rs +80 -0
  372. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/builtin/think.rs +46 -0
  373. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/executor.rs +147 -0
  374. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/lib.rs +10 -0
  375. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/rig_tools.rs +416 -0
  376. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/storage/backend_enum.rs +83 -0
  377. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/storage/bm25.rs +196 -0
  378. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/storage/colbert.rs +415 -0
  379. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/storage/faiss.rs +393 -0
  380. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/storage/hybrid.rs +243 -0
  381. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/storage/knowledge_graph.rs +263 -0
  382. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/storage/mod.rs +20 -0
  383. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/storage/sqlite.rs +336 -0
  384. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/storage/traits.rs +22 -0
  385. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/storage/utils.rs +57 -0
  386. openjarvisai-0.1.0/rust/crates/openjarvis-tools/src/traits.rs +24 -0
  387. openjarvisai-0.1.0/rust/crates/openjarvis-traces/Cargo.toml +17 -0
  388. openjarvisai-0.1.0/rust/crates/openjarvis-traces/src/analyzer.rs +153 -0
  389. openjarvisai-0.1.0/rust/crates/openjarvis-traces/src/collector.rs +102 -0
  390. openjarvisai-0.1.0/rust/crates/openjarvis-traces/src/lib.rs +9 -0
  391. openjarvisai-0.1.0/rust/crates/openjarvis-traces/src/store.rs +246 -0
  392. openjarvisai-0.1.0/rust/crates/openjarvis-workflow/Cargo.toml +10 -0
  393. openjarvisai-0.1.0/rust/crates/openjarvis-workflow/src/lib.rs +501 -0
  394. openjarvisai-0.1.0/scripts/bump-desktop-version.sh +56 -0
  395. openjarvisai-0.1.0/scripts/migrate_savings_single_provider.sql +37 -0
  396. openjarvisai-0.1.0/scripts/oauth_all.py +341 -0
  397. openjarvisai-0.1.0/scripts/quickstart.sh +198 -0
  398. openjarvisai-0.1.0/src/openjarvis/__init__.py +9 -0
  399. openjarvisai-0.1.0/src/openjarvis/_rust_bridge.py +180 -0
  400. openjarvisai-0.1.0/src/openjarvis/a2a/__init__.py +16 -0
  401. openjarvisai-0.1.0/src/openjarvis/a2a/client.py +115 -0
  402. openjarvisai-0.1.0/src/openjarvis/a2a/protocol.py +116 -0
  403. openjarvisai-0.1.0/src/openjarvis/a2a/server.py +132 -0
  404. openjarvisai-0.1.0/src/openjarvis/a2a/tool.py +81 -0
  405. openjarvisai-0.1.0/src/openjarvis/agents/__init__.py +91 -0
  406. openjarvisai-0.1.0/src/openjarvis/agents/_stubs.py +358 -0
  407. openjarvisai-0.1.0/src/openjarvis/agents/channel_agent.py +148 -0
  408. openjarvisai-0.1.0/src/openjarvis/agents/claude_code.py +247 -0
  409. openjarvisai-0.1.0/src/openjarvis/agents/claude_code_runner/package.json +8 -0
  410. openjarvisai-0.1.0/src/openjarvis/agents/claude_code_runner/src/index.ts +157 -0
  411. openjarvisai-0.1.0/src/openjarvis/agents/deep_research.py +370 -0
  412. openjarvisai-0.1.0/src/openjarvis/agents/digest_store.py +153 -0
  413. openjarvisai-0.1.0/src/openjarvis/agents/errors.py +101 -0
  414. openjarvisai-0.1.0/src/openjarvis/agents/executor.py +652 -0
  415. openjarvisai-0.1.0/src/openjarvis/agents/loop_guard.py +243 -0
  416. openjarvisai-0.1.0/src/openjarvis/agents/manager.py +695 -0
  417. openjarvisai-0.1.0/src/openjarvis/agents/monitor_operative.py +613 -0
  418. openjarvisai-0.1.0/src/openjarvis/agents/morning_digest.py +248 -0
  419. openjarvisai-0.1.0/src/openjarvis/agents/native_openhands.py +429 -0
  420. openjarvisai-0.1.0/src/openjarvis/agents/native_react.py +238 -0
  421. openjarvisai-0.1.0/src/openjarvis/agents/openhands.py +86 -0
  422. openjarvisai-0.1.0/src/openjarvis/agents/operative.py +319 -0
  423. openjarvisai-0.1.0/src/openjarvis/agents/orchestrator.py +376 -0
  424. openjarvisai-0.1.0/src/openjarvis/agents/react.py +6 -0
  425. openjarvisai-0.1.0/src/openjarvis/agents/rlm.py +361 -0
  426. openjarvisai-0.1.0/src/openjarvis/agents/rlm_repl.py +183 -0
  427. openjarvisai-0.1.0/src/openjarvis/agents/scheduler.py +290 -0
  428. openjarvisai-0.1.0/src/openjarvis/agents/simple.py +35 -0
  429. openjarvisai-0.1.0/src/openjarvis/agents/templates/__init__.py +0 -0
  430. openjarvisai-0.1.0/src/openjarvis/agents/templates/code_reviewer.toml +48 -0
  431. openjarvisai-0.1.0/src/openjarvis/agents/templates/inbox_triager.toml +44 -0
  432. openjarvisai-0.1.0/src/openjarvis/agents/templates/personal_deep_research.toml +12 -0
  433. openjarvisai-0.1.0/src/openjarvis/agents/templates/research_monitor.toml +45 -0
  434. openjarvisai-0.1.0/src/openjarvis/bench/__init__.py +29 -0
  435. openjarvisai-0.1.0/src/openjarvis/bench/_stats.py +35 -0
  436. openjarvisai-0.1.0/src/openjarvis/bench/_stubs.py +116 -0
  437. openjarvisai-0.1.0/src/openjarvis/bench/energy.py +162 -0
  438. openjarvisai-0.1.0/src/openjarvis/bench/latency.py +92 -0
  439. openjarvisai-0.1.0/src/openjarvis/bench/throughput.py +101 -0
  440. openjarvisai-0.1.0/src/openjarvis/channels/__init__.py +58 -0
  441. openjarvisai-0.1.0/src/openjarvis/channels/_stubs.py +78 -0
  442. openjarvisai-0.1.0/src/openjarvis/channels/bluebubbles.py +134 -0
  443. openjarvisai-0.1.0/src/openjarvis/channels/discord_channel.py +201 -0
  444. openjarvisai-0.1.0/src/openjarvis/channels/email_channel.py +243 -0
  445. openjarvisai-0.1.0/src/openjarvis/channels/feishu.py +165 -0
  446. openjarvisai-0.1.0/src/openjarvis/channels/gmail.py +305 -0
  447. openjarvisai-0.1.0/src/openjarvis/channels/google_chat.py +127 -0
  448. openjarvisai-0.1.0/src/openjarvis/channels/imessage_daemon.py +183 -0
  449. openjarvisai-0.1.0/src/openjarvis/channels/irc_channel.py +145 -0
  450. openjarvisai-0.1.0/src/openjarvis/channels/line_channel.py +156 -0
  451. openjarvisai-0.1.0/src/openjarvis/channels/mastodon_channel.py +157 -0
  452. openjarvisai-0.1.0/src/openjarvis/channels/matrix_channel.py +141 -0
  453. openjarvisai-0.1.0/src/openjarvis/channels/mattermost.py +138 -0
  454. openjarvisai-0.1.0/src/openjarvis/channels/messenger_channel.py +136 -0
  455. openjarvisai-0.1.0/src/openjarvis/channels/nostr_channel.py +164 -0
  456. openjarvisai-0.1.0/src/openjarvis/channels/reddit_channel.py +171 -0
  457. openjarvisai-0.1.0/src/openjarvis/channels/rocketchat_channel.py +169 -0
  458. openjarvisai-0.1.0/src/openjarvis/channels/sendblue.py +228 -0
  459. openjarvisai-0.1.0/src/openjarvis/channels/signal_channel.py +133 -0
  460. openjarvisai-0.1.0/src/openjarvis/channels/slack.py +226 -0
  461. openjarvisai-0.1.0/src/openjarvis/channels/slack_daemon.py +213 -0
  462. openjarvisai-0.1.0/src/openjarvis/channels/teams.py +145 -0
  463. openjarvisai-0.1.0/src/openjarvis/channels/telegram.py +215 -0
  464. openjarvisai-0.1.0/src/openjarvis/channels/twilio_sms.py +140 -0
  465. openjarvisai-0.1.0/src/openjarvis/channels/twitch_channel.py +164 -0
  466. openjarvisai-0.1.0/src/openjarvis/channels/twitter.py +250 -0
  467. openjarvisai-0.1.0/src/openjarvis/channels/viber_channel.py +146 -0
  468. openjarvisai-0.1.0/src/openjarvis/channels/webchat.py +114 -0
  469. openjarvisai-0.1.0/src/openjarvis/channels/webhook.py +143 -0
  470. openjarvisai-0.1.0/src/openjarvis/channels/whatsapp.py +143 -0
  471. openjarvisai-0.1.0/src/openjarvis/channels/whatsapp_baileys.py +340 -0
  472. openjarvisai-0.1.0/src/openjarvis/channels/whatsapp_baileys_bridge/package-lock.json +1351 -0
  473. openjarvisai-0.1.0/src/openjarvis/channels/whatsapp_baileys_bridge/package.json +17 -0
  474. openjarvisai-0.1.0/src/openjarvis/channels/whatsapp_baileys_bridge/src/bridge.ts +156 -0
  475. openjarvisai-0.1.0/src/openjarvis/channels/whatsapp_baileys_bridge/tsconfig.json +13 -0
  476. openjarvisai-0.1.0/src/openjarvis/channels/xmpp_channel.py +153 -0
  477. openjarvisai-0.1.0/src/openjarvis/channels/zulip_channel.py +169 -0
  478. openjarvisai-0.1.0/src/openjarvis/cli/__init__.py +123 -0
  479. openjarvisai-0.1.0/src/openjarvis/cli/__main__.py +6 -0
  480. openjarvisai-0.1.0/src/openjarvis/cli/_tool_names.py +40 -0
  481. openjarvisai-0.1.0/src/openjarvis/cli/_version_check.py +89 -0
  482. openjarvisai-0.1.0/src/openjarvis/cli/add_cmd.py +138 -0
  483. openjarvisai-0.1.0/src/openjarvis/cli/agent_cmd.py +750 -0
  484. openjarvisai-0.1.0/src/openjarvis/cli/ask.py +591 -0
  485. openjarvisai-0.1.0/src/openjarvis/cli/auth_cmd.py +71 -0
  486. openjarvisai-0.1.0/src/openjarvis/cli/bench_cmd.py +487 -0
  487. openjarvisai-0.1.0/src/openjarvis/cli/channel_cmd.py +266 -0
  488. openjarvisai-0.1.0/src/openjarvis/cli/channels_cmd.py +153 -0
  489. openjarvisai-0.1.0/src/openjarvis/cli/chat_cmd.py +216 -0
  490. openjarvisai-0.1.0/src/openjarvis/cli/compose_cmd.py +483 -0
  491. openjarvisai-0.1.0/src/openjarvis/cli/config_cmd.py +375 -0
  492. openjarvisai-0.1.0/src/openjarvis/cli/connect_cmd.py +227 -0
  493. openjarvisai-0.1.0/src/openjarvis/cli/daemon_cmd.py +175 -0
  494. openjarvisai-0.1.0/src/openjarvis/cli/dashboard.py +167 -0
  495. openjarvisai-0.1.0/src/openjarvis/cli/deep_research_setup_cmd.py +439 -0
  496. openjarvisai-0.1.0/src/openjarvis/cli/digest_cmd.py +264 -0
  497. openjarvisai-0.1.0/src/openjarvis/cli/doctor_cmd.py +347 -0
  498. openjarvisai-0.1.0/src/openjarvis/cli/eval_cmd.py +578 -0
  499. openjarvisai-0.1.0/src/openjarvis/cli/feedback_cmd.py +198 -0
  500. openjarvisai-0.1.0/src/openjarvis/cli/gateway_cmd.py +107 -0
  501. openjarvisai-0.1.0/src/openjarvis/cli/hints.py +45 -0
  502. openjarvisai-0.1.0/src/openjarvis/cli/host_cmd.py +392 -0
  503. openjarvisai-0.1.0/src/openjarvis/cli/init_cmd.py +535 -0
  504. openjarvisai-0.1.0/src/openjarvis/cli/log_config.py +86 -0
  505. openjarvisai-0.1.0/src/openjarvis/cli/memory_cmd.py +206 -0
  506. openjarvisai-0.1.0/src/openjarvis/cli/model.py +265 -0
  507. openjarvisai-0.1.0/src/openjarvis/cli/operators_cmd.py +286 -0
  508. openjarvisai-0.1.0/src/openjarvis/cli/optimize_cmd.py +513 -0
  509. openjarvisai-0.1.0/src/openjarvis/cli/quickstart_cmd.py +160 -0
  510. openjarvisai-0.1.0/src/openjarvis/cli/registry_cmd.py +146 -0
  511. openjarvisai-0.1.0/src/openjarvis/cli/scan_cmd.py +522 -0
  512. openjarvisai-0.1.0/src/openjarvis/cli/scheduler_cmd.py +259 -0
  513. openjarvisai-0.1.0/src/openjarvis/cli/serve.py +506 -0
  514. openjarvisai-0.1.0/src/openjarvis/cli/skill_cmd.py +525 -0
  515. openjarvisai-0.1.0/src/openjarvis/cli/telemetry_cmd.py +232 -0
  516. openjarvisai-0.1.0/src/openjarvis/cli/tool_cmd.py +107 -0
  517. openjarvisai-0.1.0/src/openjarvis/cli/tunnel_cmd.py +71 -0
  518. openjarvisai-0.1.0/src/openjarvis/cli/vault_cmd.py +140 -0
  519. openjarvisai-0.1.0/src/openjarvis/cli/workflow_cmd.py +70 -0
  520. openjarvisai-0.1.0/src/openjarvis/connectors/__init__.py +129 -0
  521. openjarvisai-0.1.0/src/openjarvis/connectors/_stubs.py +101 -0
  522. openjarvisai-0.1.0/src/openjarvis/connectors/apple_health.py +419 -0
  523. openjarvisai-0.1.0/src/openjarvis/connectors/apple_music.py +242 -0
  524. openjarvisai-0.1.0/src/openjarvis/connectors/apple_notes.py +291 -0
  525. openjarvisai-0.1.0/src/openjarvis/connectors/attachment_store.py +180 -0
  526. openjarvisai-0.1.0/src/openjarvis/connectors/chunker.py +284 -0
  527. openjarvisai-0.1.0/src/openjarvis/connectors/dropbox.py +375 -0
  528. openjarvisai-0.1.0/src/openjarvis/connectors/embedding_store.py +179 -0
  529. openjarvisai-0.1.0/src/openjarvis/connectors/gcalendar.py +474 -0
  530. openjarvisai-0.1.0/src/openjarvis/connectors/gcontacts.py +368 -0
  531. openjarvisai-0.1.0/src/openjarvis/connectors/gdrive.py +383 -0
  532. openjarvisai-0.1.0/src/openjarvis/connectors/github_notifications.py +111 -0
  533. openjarvisai-0.1.0/src/openjarvis/connectors/gmail.py +402 -0
  534. openjarvisai-0.1.0/src/openjarvis/connectors/gmail_imap.py +247 -0
  535. openjarvisai-0.1.0/src/openjarvis/connectors/google_tasks.py +116 -0
  536. openjarvisai-0.1.0/src/openjarvis/connectors/granola.py +404 -0
  537. openjarvisai-0.1.0/src/openjarvis/connectors/hackernews.py +91 -0
  538. openjarvisai-0.1.0/src/openjarvis/connectors/imessage.py +286 -0
  539. openjarvisai-0.1.0/src/openjarvis/connectors/news_rss.py +162 -0
  540. openjarvisai-0.1.0/src/openjarvis/connectors/notion.py +439 -0
  541. openjarvisai-0.1.0/src/openjarvis/connectors/oauth.py +662 -0
  542. openjarvisai-0.1.0/src/openjarvis/connectors/obsidian.py +235 -0
  543. openjarvisai-0.1.0/src/openjarvis/connectors/oura.py +90 -0
  544. openjarvisai-0.1.0/src/openjarvis/connectors/outlook.py +58 -0
  545. openjarvisai-0.1.0/src/openjarvis/connectors/pipeline.py +204 -0
  546. openjarvisai-0.1.0/src/openjarvis/connectors/retriever.py +301 -0
  547. openjarvisai-0.1.0/src/openjarvis/connectors/scheduler.py +149 -0
  548. openjarvisai-0.1.0/src/openjarvis/connectors/slack_connector.py +479 -0
  549. openjarvisai-0.1.0/src/openjarvis/connectors/spotify.py +157 -0
  550. openjarvisai-0.1.0/src/openjarvis/connectors/store.py +376 -0
  551. openjarvisai-0.1.0/src/openjarvis/connectors/strava.py +173 -0
  552. openjarvisai-0.1.0/src/openjarvis/connectors/sync_engine.py +192 -0
  553. openjarvisai-0.1.0/src/openjarvis/connectors/weather.py +131 -0
  554. openjarvisai-0.1.0/src/openjarvis/connectors/whatsapp.py +298 -0
  555. openjarvisai-0.1.0/src/openjarvis/core/__init__.py +37 -0
  556. openjarvisai-0.1.0/src/openjarvis/core/config.py +1930 -0
  557. openjarvisai-0.1.0/src/openjarvis/core/credentials.py +129 -0
  558. openjarvisai-0.1.0/src/openjarvis/core/events.py +198 -0
  559. openjarvisai-0.1.0/src/openjarvis/core/registry.py +172 -0
  560. openjarvisai-0.1.0/src/openjarvis/core/types.py +277 -0
  561. openjarvisai-0.1.0/src/openjarvis/daemon/__init__.py +1 -0
  562. openjarvisai-0.1.0/src/openjarvis/daemon/gateway.py +39 -0
  563. openjarvisai-0.1.0/src/openjarvis/daemon/service.py +57 -0
  564. openjarvisai-0.1.0/src/openjarvis/daemon/session_expiry.py +33 -0
  565. openjarvisai-0.1.0/src/openjarvis/engine/__init__.py +31 -0
  566. openjarvisai-0.1.0/src/openjarvis/engine/_base.py +65 -0
  567. openjarvisai-0.1.0/src/openjarvis/engine/_discovery.py +124 -0
  568. openjarvisai-0.1.0/src/openjarvis/engine/_openai_compat.py +245 -0
  569. openjarvisai-0.1.0/src/openjarvis/engine/_stubs.py +123 -0
  570. openjarvisai-0.1.0/src/openjarvis/engine/apple_fm_shim.py +164 -0
  571. openjarvisai-0.1.0/src/openjarvis/engine/cloud.py +1359 -0
  572. openjarvisai-0.1.0/src/openjarvis/engine/gemma_cpp.py +179 -0
  573. openjarvisai-0.1.0/src/openjarvis/engine/litellm.py +146 -0
  574. openjarvisai-0.1.0/src/openjarvis/engine/multi.py +127 -0
  575. openjarvisai-0.1.0/src/openjarvis/engine/nexa_shim.py +164 -0
  576. openjarvisai-0.1.0/src/openjarvis/engine/ollama.py +257 -0
  577. openjarvisai-0.1.0/src/openjarvis/engine/openai_compat_engines.py +28 -0
  578. openjarvisai-0.1.0/src/openjarvis/evals/__init__.py +1 -0
  579. openjarvisai-0.1.0/src/openjarvis/evals/__main__.py +6 -0
  580. openjarvisai-0.1.0/src/openjarvis/evals/backends/__init__.py +1 -0
  581. openjarvisai-0.1.0/src/openjarvis/evals/backends/jarvis_agent.py +160 -0
  582. openjarvisai-0.1.0/src/openjarvis/evals/backends/jarvis_direct.py +102 -0
  583. openjarvisai-0.1.0/src/openjarvis/evals/backends/tb_agent.py +32 -0
  584. openjarvisai-0.1.0/src/openjarvis/evals/backends/terminalbench_native.py +124 -0
  585. openjarvisai-0.1.0/src/openjarvis/evals/cli.py +1442 -0
  586. openjarvisai-0.1.0/src/openjarvis/evals/configs/deepplanning-monitor-operative.toml +42 -0
  587. openjarvisai-0.1.0/src/openjarvis/evals/configs/full-suite.toml +63 -0
  588. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-gemini-31-pro.toml +29 -0
  589. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-gemma4-26b.toml +31 -0
  590. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-gpt54.toml +29 -0
  591. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-nemotron-nano.toml +30 -0
  592. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-nemotron-super.toml +30 -0
  593. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-nemotron3-super.toml +31 -0
  594. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-qwen-122b.toml +30 -0
  595. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-qwen-27b.toml +30 -0
  596. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-qwen-2b.toml +31 -0
  597. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-qwen-35b.toml +30 -0
  598. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-qwen-9b.toml +31 -0
  599. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-qwen122b.toml +30 -0
  600. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-qwen35b.toml +30 -0
  601. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-rerun-claude-opus.toml +29 -0
  602. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-rerun-claude-sonnet.toml +29 -0
  603. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-rerun-glm47flash.toml +30 -0
  604. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-rerun-gpt5mini.toml +29 -0
  605. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-rerun-minimax-m25.toml +30 -0
  606. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-rerun-qwen122b.toml +32 -0
  607. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-rerun-qwen35b.toml +30 -0
  608. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-rerun-qwen397b.toml +30 -0
  609. openjarvisai-0.1.0/src/openjarvis/evals/configs/gaia-trinity-large.toml +34 -0
  610. openjarvisai-0.1.0/src/openjarvis/evals/configs/glm-4.7-flash-openhands-remaining.toml +60 -0
  611. openjarvisai-0.1.0/src/openjarvis/evals/configs/glm-4.7-flash-openhands.toml +69 -0
  612. openjarvisai-0.1.0/src/openjarvis/evals/configs/glm-4.7-fp8-openhands-gaia.toml +43 -0
  613. openjarvisai-0.1.0/src/openjarvis/evals/configs/glm5-fp8-monitor-operative.toml +74 -0
  614. openjarvisai-0.1.0/src/openjarvis/evals/configs/kimi-k2.5-monitor-operative.toml +74 -0
  615. openjarvisai-0.1.0/src/openjarvis/evals/configs/livecodebench-claude-opus.toml +30 -0
  616. openjarvisai-0.1.0/src/openjarvis/evals/configs/livecodebench-gemma4-26b.toml +30 -0
  617. openjarvisai-0.1.0/src/openjarvis/evals/configs/livecodebench-gemma4-e4b.toml +30 -0
  618. openjarvisai-0.1.0/src/openjarvis/evals/configs/livecodebench-kimi-k25.toml +39 -0
  619. openjarvisai-0.1.0/src/openjarvis/evals/configs/livecodebench-minimax-m25.toml +36 -0
  620. openjarvisai-0.1.0/src/openjarvis/evals/configs/livecodebench-nemotron-nano.toml +30 -0
  621. openjarvisai-0.1.0/src/openjarvis/evals/configs/livecodebench-nemotron-super.toml +28 -0
  622. openjarvisai-0.1.0/src/openjarvis/evals/configs/livecodebench-qwen-122b.toml +28 -0
  623. openjarvisai-0.1.0/src/openjarvis/evals/configs/livecodebench-qwen-27b.toml +30 -0
  624. openjarvisai-0.1.0/src/openjarvis/evals/configs/livecodebench-qwen-2b.toml +30 -0
  625. openjarvisai-0.1.0/src/openjarvis/evals/configs/livecodebench-qwen-35b.toml +28 -0
  626. openjarvisai-0.1.0/src/openjarvis/evals/configs/liveresearch-claude-opus.toml +29 -0
  627. openjarvisai-0.1.0/src/openjarvis/evals/configs/liveresearch-gemma4-26b.toml +31 -0
  628. openjarvisai-0.1.0/src/openjarvis/evals/configs/liveresearch-nemotron-nano.toml +30 -0
  629. openjarvisai-0.1.0/src/openjarvis/evals/configs/liveresearch-nemotron-super.toml +30 -0
  630. openjarvisai-0.1.0/src/openjarvis/evals/configs/liveresearch-qwen-122b.toml +30 -0
  631. openjarvisai-0.1.0/src/openjarvis/evals/configs/liveresearch-qwen-27b.toml +30 -0
  632. openjarvisai-0.1.0/src/openjarvis/evals/configs/liveresearch-qwen-2b.toml +31 -0
  633. openjarvisai-0.1.0/src/openjarvis/evals/configs/liveresearch-qwen-35b.toml +30 -0
  634. openjarvisai-0.1.0/src/openjarvis/evals/configs/liveresearch-qwen-9b.toml +31 -0
  635. openjarvisai-0.1.0/src/openjarvis/evals/configs/liveresearch-trinity-large.toml +34 -0
  636. openjarvisai-0.1.0/src/openjarvis/evals/configs/long-horizon-claude-opus.toml +51 -0
  637. openjarvisai-0.1.0/src/openjarvis/evals/configs/long-horizon-claude-sonnet.toml +51 -0
  638. openjarvisai-0.1.0/src/openjarvis/evals/configs/long-horizon-glm47flash.toml +58 -0
  639. openjarvisai-0.1.0/src/openjarvis/evals/configs/long-horizon-gpt5mini.toml +51 -0
  640. openjarvisai-0.1.0/src/openjarvis/evals/configs/long-horizon-kimik25.toml +60 -0
  641. openjarvisai-0.1.0/src/openjarvis/evals/configs/long-horizon-minimax-m25.toml +58 -0
  642. openjarvisai-0.1.0/src/openjarvis/evals/configs/long-horizon-qwen122b.toml +58 -0
  643. openjarvisai-0.1.0/src/openjarvis/evals/configs/long-horizon-qwen35b.toml +58 -0
  644. openjarvisai-0.1.0/src/openjarvis/evals/configs/long-horizon-qwen397b.toml +58 -0
  645. openjarvisai-0.1.0/src/openjarvis/evals/configs/minimal.toml +7 -0
  646. openjarvisai-0.1.0/src/openjarvis/evals/configs/paperarena-monitor-operative.toml +42 -0
  647. openjarvisai-0.1.0/src/openjarvis/evals/configs/pinchbench-claude-opus.toml +34 -0
  648. openjarvisai-0.1.0/src/openjarvis/evals/configs/pinchbench-gemini-31-pro.toml +34 -0
  649. openjarvisai-0.1.0/src/openjarvis/evals/configs/pinchbench-gemma4-26b.toml +35 -0
  650. openjarvisai-0.1.0/src/openjarvis/evals/configs/pinchbench-gemma4-e4b.toml +35 -0
  651. openjarvisai-0.1.0/src/openjarvis/evals/configs/pinchbench-gpt54.toml +34 -0
  652. openjarvisai-0.1.0/src/openjarvis/evals/configs/pinchbench-kimi-k25.toml +44 -0
  653. openjarvisai-0.1.0/src/openjarvis/evals/configs/pinchbench-minimax-m25.toml +41 -0
  654. openjarvisai-0.1.0/src/openjarvis/evals/configs/pinchbench-nemotron-nano.toml +35 -0
  655. openjarvisai-0.1.0/src/openjarvis/evals/configs/pinchbench-nemotron-super.toml +34 -0
  656. openjarvisai-0.1.0/src/openjarvis/evals/configs/pinchbench-nemotron3-super.toml +35 -0
  657. openjarvisai-0.1.0/src/openjarvis/evals/configs/pinchbench-qwen-122b.toml +34 -0
  658. openjarvisai-0.1.0/src/openjarvis/evals/configs/pinchbench-qwen-27b.toml +35 -0
  659. openjarvisai-0.1.0/src/openjarvis/evals/configs/pinchbench-qwen-2b.toml +35 -0
  660. openjarvisai-0.1.0/src/openjarvis/evals/configs/pinchbench-qwen-35b.toml +34 -0
  661. openjarvisai-0.1.0/src/openjarvis/evals/configs/pinchbench-qwen122b.toml +35 -0
  662. openjarvisai-0.1.0/src/openjarvis/evals/configs/pinchbench-qwen35b.toml +35 -0
  663. openjarvisai-0.1.0/src/openjarvis/evals/configs/pinchbench-qwen397b.toml +35 -0
  664. openjarvisai-0.1.0/src/openjarvis/evals/configs/pinchbench.toml +26 -0
  665. openjarvisai-0.1.0/src/openjarvis/evals/configs/qwen3.5-122b-kg-agentic.toml +42 -0
  666. openjarvisai-0.1.0/src/openjarvis/evals/configs/qwen3.5-122b-kg-hightoken.toml +38 -0
  667. openjarvisai-0.1.0/src/openjarvis/evals/configs/qwen3.5-122b-reasoning-suite.toml +51 -0
  668. openjarvisai-0.1.0/src/openjarvis/evals/configs/qwen3.5-35b-kg.toml +38 -0
  669. openjarvisai-0.1.0/src/openjarvis/evals/configs/qwen3.5-35b-monitor-operative.toml +57 -0
  670. openjarvisai-0.1.0/src/openjarvis/evals/configs/qwen3.5-397b-monitor-operative.toml +42 -0
  671. openjarvisai-0.1.0/src/openjarvis/evals/configs/single-run.toml +31 -0
  672. openjarvisai-0.1.0/src/openjarvis/evals/configs/smoke_amd.toml +106 -0
  673. openjarvisai-0.1.0/src/openjarvis/evals/configs/smoke_apple.toml +79 -0
  674. openjarvisai-0.1.0/src/openjarvis/evals/configs/smoke_nvidia.toml +112 -0
  675. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-claude-opus.toml +29 -0
  676. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-gemini-31-pro.toml +29 -0
  677. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-gemma4-26b.toml +31 -0
  678. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-gemma4-e4b.toml +31 -0
  679. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-gpt54.toml +29 -0
  680. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-kimi-k25.toml +40 -0
  681. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-minimax-m25.toml +37 -0
  682. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-nemotron-nano.toml +31 -0
  683. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-nemotron-super.toml +29 -0
  684. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-nemotron3-super.toml +29 -0
  685. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-qwen-122b.toml +29 -0
  686. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-qwen-27b.toml +31 -0
  687. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-qwen-2b.toml +31 -0
  688. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-qwen-35b.toml +29 -0
  689. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-qwen122b.toml +28 -0
  690. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-qwen35b.toml +28 -0
  691. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-qwen397b.toml +30 -0
  692. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-telecom-claude.toml +27 -0
  693. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-telecom-gemma4-26b.toml +29 -0
  694. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-telecom-gpt54.toml +27 -0
  695. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-telecom-nemotron-nano.toml +28 -0
  696. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-telecom-nemotron-super.toml +29 -0
  697. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-telecom-nemotron.toml +28 -0
  698. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-telecom-qwen-122b.toml +29 -0
  699. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-telecom-qwen-27b.toml +28 -0
  700. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-telecom-qwen-35b.toml +29 -0
  701. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-telecom-qwen27b.toml +29 -0
  702. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-telecom-qwen2b.toml +29 -0
  703. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-telecom-qwen9b.toml +29 -0
  704. openjarvisai-0.1.0/src/openjarvis/evals/configs/taubench-telecom-trinity-large.toml +28 -0
  705. openjarvisai-0.1.0/src/openjarvis/evals/configs/terminalbench-native-qwen122b.toml +30 -0
  706. openjarvisai-0.1.0/src/openjarvis/evals/configs/terminalbench-qwen122b.toml +30 -0
  707. openjarvisai-0.1.0/src/openjarvis/evals/configs/toolcall15-claude-opus.toml +28 -0
  708. openjarvisai-0.1.0/src/openjarvis/evals/configs/toolcall15-gemma4-26b.toml +29 -0
  709. openjarvisai-0.1.0/src/openjarvis/evals/configs/toolcall15-gemma4-e4b.toml +29 -0
  710. openjarvisai-0.1.0/src/openjarvis/evals/configs/toolcall15-kimi-k25.toml +38 -0
  711. openjarvisai-0.1.0/src/openjarvis/evals/configs/toolcall15-minimax-m25.toml +35 -0
  712. openjarvisai-0.1.0/src/openjarvis/evals/configs/toolcall15-nemotron-nano.toml +29 -0
  713. openjarvisai-0.1.0/src/openjarvis/evals/configs/toolcall15-nemotron-super.toml +28 -0
  714. openjarvisai-0.1.0/src/openjarvis/evals/configs/toolcall15-qwen-122b.toml +28 -0
  715. openjarvisai-0.1.0/src/openjarvis/evals/configs/toolcall15-qwen-27b.toml +29 -0
  716. openjarvisai-0.1.0/src/openjarvis/evals/configs/toolcall15-qwen-2b.toml +29 -0
  717. openjarvisai-0.1.0/src/openjarvis/evals/configs/toolcall15-qwen-35b.toml +28 -0
  718. openjarvisai-0.1.0/src/openjarvis/evals/configs/use_case_cloud_comparison.toml +78 -0
  719. openjarvisai-0.1.0/src/openjarvis/evals/configs/use_case_cloud_openhands.toml +93 -0
  720. openjarvisai-0.1.0/src/openjarvis/evals/configs/use_case_cloud_orchestrator.toml +93 -0
  721. openjarvisai-0.1.0/src/openjarvis/evals/configs/use_case_direct.toml +47 -0
  722. openjarvisai-0.1.0/src/openjarvis/evals/configs/use_case_ibm_granite.toml +56 -0
  723. openjarvisai-0.1.0/src/openjarvis/evals/configs/use_case_openhands.toml +57 -0
  724. openjarvisai-0.1.0/src/openjarvis/evals/configs/use_case_opensource_openhands.toml +101 -0
  725. openjarvisai-0.1.0/src/openjarvis/evals/configs/use_case_opensource_orchestrator.toml +101 -0
  726. openjarvisai-0.1.0/src/openjarvis/evals/configs/use_case_orchestrator.toml +57 -0
  727. openjarvisai-0.1.0/src/openjarvis/evals/configs/use_case_react.toml +57 -0
  728. openjarvisai-0.1.0/src/openjarvis/evals/configs/use_case_suite.toml +48 -0
  729. openjarvisai-0.1.0/src/openjarvis/evals/configs/use_case_v2_cloud.toml +64 -0
  730. openjarvisai-0.1.0/src/openjarvis/evals/configs/use_case_v2_granite.toml +52 -0
  731. openjarvisai-0.1.0/src/openjarvis/evals/configs/use_case_v2_local.toml +60 -0
  732. openjarvisai-0.1.0/src/openjarvis/evals/configs/use_case_v2_suite.toml +57 -0
  733. openjarvisai-0.1.0/src/openjarvis/evals/core/__init__.py +1 -0
  734. openjarvisai-0.1.0/src/openjarvis/evals/core/agentic_runner.py +799 -0
  735. openjarvisai-0.1.0/src/openjarvis/evals/core/backend.py +45 -0
  736. openjarvisai-0.1.0/src/openjarvis/evals/core/config.py +306 -0
  737. openjarvisai-0.1.0/src/openjarvis/evals/core/dataset.py +58 -0
  738. openjarvisai-0.1.0/src/openjarvis/evals/core/display.py +453 -0
  739. openjarvisai-0.1.0/src/openjarvis/evals/core/environment.py +52 -0
  740. openjarvisai-0.1.0/src/openjarvis/evals/core/event_recorder.py +98 -0
  741. openjarvisai-0.1.0/src/openjarvis/evals/core/export.py +418 -0
  742. openjarvisai-0.1.0/src/openjarvis/evals/core/pricing.py +17 -0
  743. openjarvisai-0.1.0/src/openjarvis/evals/core/runner.py +1156 -0
  744. openjarvisai-0.1.0/src/openjarvis/evals/core/scorer.py +55 -0
  745. openjarvisai-0.1.0/src/openjarvis/evals/core/trace.py +279 -0
  746. openjarvisai-0.1.0/src/openjarvis/evals/core/tracker.py +34 -0
  747. openjarvisai-0.1.0/src/openjarvis/evals/core/types.py +273 -0
  748. openjarvisai-0.1.0/src/openjarvis/evals/datasets/__init__.py +1 -0
  749. openjarvisai-0.1.0/src/openjarvis/evals/datasets/ama_bench.py +272 -0
  750. openjarvisai-0.1.0/src/openjarvis/evals/datasets/browser_assistant.py +445 -0
  751. openjarvisai-0.1.0/src/openjarvis/evals/datasets/coding_assistant.py +1632 -0
  752. openjarvisai-0.1.0/src/openjarvis/evals/datasets/coding_task.py +284 -0
  753. openjarvisai-0.1.0/src/openjarvis/evals/datasets/daily_digest.py +688 -0
  754. openjarvisai-0.1.0/src/openjarvis/evals/datasets/deepplanning.py +236 -0
  755. openjarvisai-0.1.0/src/openjarvis/evals/datasets/doc_qa.py +1106 -0
  756. openjarvisai-0.1.0/src/openjarvis/evals/datasets/email_triage.py +334 -0
  757. openjarvisai-0.1.0/src/openjarvis/evals/datasets/frames.py +141 -0
  758. openjarvisai-0.1.0/src/openjarvis/evals/datasets/gaia.py +168 -0
  759. openjarvisai-0.1.0/src/openjarvis/evals/datasets/gpqa.py +146 -0
  760. openjarvisai-0.1.0/src/openjarvis/evals/datasets/hle.py +135 -0
  761. openjarvisai-0.1.0/src/openjarvis/evals/datasets/ipw_mixed.py +195 -0
  762. openjarvisai-0.1.0/src/openjarvis/evals/datasets/knowledge_base.py +227 -0
  763. openjarvisai-0.1.0/src/openjarvis/evals/datasets/lifelong_agent.py +517 -0
  764. openjarvisai-0.1.0/src/openjarvis/evals/datasets/livecodebench.py +277 -0
  765. openjarvisai-0.1.0/src/openjarvis/evals/datasets/liveresearch.py +191 -0
  766. openjarvisai-0.1.0/src/openjarvis/evals/datasets/loghub.py +260 -0
  767. openjarvisai-0.1.0/src/openjarvis/evals/datasets/math500.py +110 -0
  768. openjarvisai-0.1.0/src/openjarvis/evals/datasets/mmlu_pro.py +115 -0
  769. openjarvisai-0.1.0/src/openjarvis/evals/datasets/morning_brief.py +217 -0
  770. openjarvisai-0.1.0/src/openjarvis/evals/datasets/natural_reasoning.py +115 -0
  771. openjarvisai-0.1.0/src/openjarvis/evals/datasets/paperarena.py +169 -0
  772. openjarvisai-0.1.0/src/openjarvis/evals/datasets/pinchbench.py +215 -0
  773. openjarvisai-0.1.0/src/openjarvis/evals/datasets/research_mining.py +266 -0
  774. openjarvisai-0.1.0/src/openjarvis/evals/datasets/security_scanner.py +1074 -0
  775. openjarvisai-0.1.0/src/openjarvis/evals/datasets/simpleqa.py +129 -0
  776. openjarvisai-0.1.0/src/openjarvis/evals/datasets/supergpqa.py +128 -0
  777. openjarvisai-0.1.0/src/openjarvis/evals/datasets/swebench.py +168 -0
  778. openjarvisai-0.1.0/src/openjarvis/evals/datasets/swefficiency.py +173 -0
  779. openjarvisai-0.1.0/src/openjarvis/evals/datasets/taubench.py +259 -0
  780. openjarvisai-0.1.0/src/openjarvis/evals/datasets/terminalbench.py +123 -0
  781. openjarvisai-0.1.0/src/openjarvis/evals/datasets/terminalbench_native.py +187 -0
  782. openjarvisai-0.1.0/src/openjarvis/evals/datasets/toolcall15.py +717 -0
  783. openjarvisai-0.1.0/src/openjarvis/evals/datasets/webchorearena.py +266 -0
  784. openjarvisai-0.1.0/src/openjarvis/evals/datasets/wildchat.py +111 -0
  785. openjarvisai-0.1.0/src/openjarvis/evals/datasets/workarena.py +257 -0
  786. openjarvisai-0.1.0/src/openjarvis/evals/environments/__init__.py +5 -0
  787. openjarvisai-0.1.0/src/openjarvis/evals/environments/base.py +154 -0
  788. openjarvisai-0.1.0/src/openjarvis/evals/environments/lifelong_agent_env.py +1185 -0
  789. openjarvisai-0.1.0/src/openjarvis/evals/execution/__init__.py +1 -0
  790. openjarvisai-0.1.0/src/openjarvis/evals/execution/pinchbench_env.py +161 -0
  791. openjarvisai-0.1.0/src/openjarvis/evals/execution/taubench_env.py +391 -0
  792. openjarvisai-0.1.0/src/openjarvis/evals/execution/terminalbench_env.py +183 -0
  793. openjarvisai-0.1.0/src/openjarvis/evals/execution/webchorearena_env.py +777 -0
  794. openjarvisai-0.1.0/src/openjarvis/evals/execution/workarena_env.py +496 -0
  795. openjarvisai-0.1.0/src/openjarvis/evals/scorers/__init__.py +1 -0
  796. openjarvisai-0.1.0/src/openjarvis/evals/scorers/_checklist.py +172 -0
  797. openjarvisai-0.1.0/src/openjarvis/evals/scorers/ama_bench_judge.py +159 -0
  798. openjarvisai-0.1.0/src/openjarvis/evals/scorers/browser_assistant.py +236 -0
  799. openjarvisai-0.1.0/src/openjarvis/evals/scorers/coding_assistant.py +172 -0
  800. openjarvisai-0.1.0/src/openjarvis/evals/scorers/coding_task.py +142 -0
  801. openjarvisai-0.1.0/src/openjarvis/evals/scorers/daily_digest.py +169 -0
  802. openjarvisai-0.1.0/src/openjarvis/evals/scorers/deepplanning_scorer.py +89 -0
  803. openjarvisai-0.1.0/src/openjarvis/evals/scorers/doc_qa.py +186 -0
  804. openjarvisai-0.1.0/src/openjarvis/evals/scorers/email_triage.py +136 -0
  805. openjarvisai-0.1.0/src/openjarvis/evals/scorers/frames_judge.py +105 -0
  806. openjarvisai-0.1.0/src/openjarvis/evals/scorers/gaia_exact.py +167 -0
  807. openjarvisai-0.1.0/src/openjarvis/evals/scorers/gpqa_mcq.py +106 -0
  808. openjarvisai-0.1.0/src/openjarvis/evals/scorers/hle_judge.py +102 -0
  809. openjarvisai-0.1.0/src/openjarvis/evals/scorers/ipw_mixed.py +111 -0
  810. openjarvisai-0.1.0/src/openjarvis/evals/scorers/knowledge_base.py +118 -0
  811. openjarvisai-0.1.0/src/openjarvis/evals/scorers/lifelong_agent_scorer.py +929 -0
  812. openjarvisai-0.1.0/src/openjarvis/evals/scorers/livecodebench.py +255 -0
  813. openjarvisai-0.1.0/src/openjarvis/evals/scorers/liveresearch.py +316 -0
  814. openjarvisai-0.1.0/src/openjarvis/evals/scorers/loghub_scorer.py +83 -0
  815. openjarvisai-0.1.0/src/openjarvis/evals/scorers/mmlu_pro_mcq.py +106 -0
  816. openjarvisai-0.1.0/src/openjarvis/evals/scorers/morning_brief.py +128 -0
  817. openjarvisai-0.1.0/src/openjarvis/evals/scorers/paperarena_judge.py +162 -0
  818. openjarvisai-0.1.0/src/openjarvis/evals/scorers/pinchbench.py +578 -0
  819. openjarvisai-0.1.0/src/openjarvis/evals/scorers/reasoning_judge.py +166 -0
  820. openjarvisai-0.1.0/src/openjarvis/evals/scorers/research_mining.py +109 -0
  821. openjarvisai-0.1.0/src/openjarvis/evals/scorers/security_scanner.py +263 -0
  822. openjarvisai-0.1.0/src/openjarvis/evals/scorers/simpleqa_judge.py +142 -0
  823. openjarvisai-0.1.0/src/openjarvis/evals/scorers/supergpqa_mcq.py +106 -0
  824. openjarvisai-0.1.0/src/openjarvis/evals/scorers/swebench_structural.py +71 -0
  825. openjarvisai-0.1.0/src/openjarvis/evals/scorers/swefficiency_structural.py +72 -0
  826. openjarvisai-0.1.0/src/openjarvis/evals/scorers/taubench.py +48 -0
  827. openjarvisai-0.1.0/src/openjarvis/evals/scorers/terminalbench_judge.py +109 -0
  828. openjarvisai-0.1.0/src/openjarvis/evals/scorers/terminalbench_native_structural.py +69 -0
  829. openjarvisai-0.1.0/src/openjarvis/evals/scorers/toolcall15.py +606 -0
  830. openjarvisai-0.1.0/src/openjarvis/evals/scorers/webchorearena_scorer.py +94 -0
  831. openjarvisai-0.1.0/src/openjarvis/evals/scorers/wildchat_judge.py +173 -0
  832. openjarvisai-0.1.0/src/openjarvis/evals/scorers/workarena_scorer.py +88 -0
  833. openjarvisai-0.1.0/src/openjarvis/evals/skill_benchmark.py +508 -0
  834. openjarvisai-0.1.0/src/openjarvis/evals/tests/__init__.py +1 -0
  835. openjarvisai-0.1.0/src/openjarvis/evals/tests/conftest.py +154 -0
  836. openjarvisai-0.1.0/src/openjarvis/evals/tests/test_backends.py +139 -0
  837. openjarvisai-0.1.0/src/openjarvis/evals/tests/test_cli_flags.py +19 -0
  838. openjarvisai-0.1.0/src/openjarvis/evals/tests/test_config.py +719 -0
  839. openjarvisai-0.1.0/src/openjarvis/evals/tests/test_display.py +152 -0
  840. openjarvisai-0.1.0/src/openjarvis/evals/tests/test_frames.py +111 -0
  841. openjarvisai-0.1.0/src/openjarvis/evals/tests/test_gaia.py +138 -0
  842. openjarvisai-0.1.0/src/openjarvis/evals/tests/test_runner.py +465 -0
  843. openjarvisai-0.1.0/src/openjarvis/evals/tests/test_supergpqa.py +105 -0
  844. openjarvisai-0.1.0/src/openjarvis/evals/tests/test_types.py +444 -0
  845. openjarvisai-0.1.0/src/openjarvis/evals/tests/test_wildchat.py +117 -0
  846. openjarvisai-0.1.0/src/openjarvis/evals/trackers/__init__.py +23 -0
  847. openjarvisai-0.1.0/src/openjarvis/evals/trackers/sheets_tracker.py +164 -0
  848. openjarvisai-0.1.0/src/openjarvis/evals/trackers/wandb_tracker.py +157 -0
  849. openjarvisai-0.1.0/src/openjarvis/intelligence/__init__.py +11 -0
  850. openjarvisai-0.1.0/src/openjarvis/intelligence/_stubs.py +5 -0
  851. openjarvisai-0.1.0/src/openjarvis/intelligence/model_catalog.py +1024 -0
  852. openjarvisai-0.1.0/src/openjarvis/intelligence/router.py +9 -0
  853. openjarvisai-0.1.0/src/openjarvis/learning/__init__.py +86 -0
  854. openjarvisai-0.1.0/src/openjarvis/learning/_stubs.py +78 -0
  855. openjarvisai-0.1.0/src/openjarvis/learning/agents/__init__.py +3 -0
  856. openjarvisai-0.1.0/src/openjarvis/learning/agents/agent_evolver.py +365 -0
  857. openjarvisai-0.1.0/src/openjarvis/learning/agents/dspy_optimizer.py +208 -0
  858. openjarvisai-0.1.0/src/openjarvis/learning/agents/gepa_optimizer.py +326 -0
  859. openjarvisai-0.1.0/src/openjarvis/learning/agents/skill_discovery.py +204 -0
  860. openjarvisai-0.1.0/src/openjarvis/learning/agents/skill_optimizer.py +312 -0
  861. openjarvisai-0.1.0/src/openjarvis/learning/intelligence/__init__.py +13 -0
  862. openjarvisai-0.1.0/src/openjarvis/learning/intelligence/grpo_trainer.py +373 -0
  863. openjarvisai-0.1.0/src/openjarvis/learning/intelligence/orchestrator/__init__.py +87 -0
  864. openjarvisai-0.1.0/src/openjarvis/learning/intelligence/orchestrator/environment.py +112 -0
  865. openjarvisai-0.1.0/src/openjarvis/learning/intelligence/orchestrator/grpo_trainer.py +491 -0
  866. openjarvisai-0.1.0/src/openjarvis/learning/intelligence/orchestrator/policy_model.py +280 -0
  867. openjarvisai-0.1.0/src/openjarvis/learning/intelligence/orchestrator/prompt_registry.py +345 -0
  868. openjarvisai-0.1.0/src/openjarvis/learning/intelligence/orchestrator/reward.py +217 -0
  869. openjarvisai-0.1.0/src/openjarvis/learning/intelligence/orchestrator/sft_trainer.py +407 -0
  870. openjarvisai-0.1.0/src/openjarvis/learning/intelligence/orchestrator/types.py +334 -0
  871. openjarvisai-0.1.0/src/openjarvis/learning/intelligence/sft_trainer.py +147 -0
  872. openjarvisai-0.1.0/src/openjarvis/learning/learning_orchestrator.py +256 -0
  873. openjarvisai-0.1.0/src/openjarvis/learning/optimize/__init__.py +61 -0
  874. openjarvisai-0.1.0/src/openjarvis/learning/optimize/config.py +102 -0
  875. openjarvisai-0.1.0/src/openjarvis/learning/optimize/configs/qwen3-235b-dry-run.toml +90 -0
  876. openjarvisai-0.1.0/src/openjarvis/learning/optimize/configs/qwen3.5-joint-agentic.toml +91 -0
  877. openjarvisai-0.1.0/src/openjarvis/learning/optimize/feedback/__init__.py +6 -0
  878. openjarvisai-0.1.0/src/openjarvis/learning/optimize/feedback/collector.py +120 -0
  879. openjarvisai-0.1.0/src/openjarvis/learning/optimize/feedback/judge.py +119 -0
  880. openjarvisai-0.1.0/src/openjarvis/learning/optimize/llm_optimizer.py +661 -0
  881. openjarvisai-0.1.0/src/openjarvis/learning/optimize/optimizer.py +437 -0
  882. openjarvisai-0.1.0/src/openjarvis/learning/optimize/personal/__init__.py +17 -0
  883. openjarvisai-0.1.0/src/openjarvis/learning/optimize/personal/dataset.py +54 -0
  884. openjarvisai-0.1.0/src/openjarvis/learning/optimize/personal/scorer.py +50 -0
  885. openjarvisai-0.1.0/src/openjarvis/learning/optimize/personal/synthesizer.py +119 -0
  886. openjarvisai-0.1.0/src/openjarvis/learning/optimize/search_space.py +200 -0
  887. openjarvisai-0.1.0/src/openjarvis/learning/optimize/store.py +508 -0
  888. openjarvisai-0.1.0/src/openjarvis/learning/optimize/trial_runner.py +403 -0
  889. openjarvisai-0.1.0/src/openjarvis/learning/optimize/types.py +253 -0
  890. openjarvisai-0.1.0/src/openjarvis/learning/routing/__init__.py +3 -0
  891. openjarvisai-0.1.0/src/openjarvis/learning/routing/_utils.py +34 -0
  892. openjarvisai-0.1.0/src/openjarvis/learning/routing/complexity.py +257 -0
  893. openjarvisai-0.1.0/src/openjarvis/learning/routing/heuristic_policy.py +15 -0
  894. openjarvisai-0.1.0/src/openjarvis/learning/routing/heuristic_reward.py +56 -0
  895. openjarvisai-0.1.0/src/openjarvis/learning/routing/learned_router.py +236 -0
  896. openjarvisai-0.1.0/src/openjarvis/learning/routing/router.py +174 -0
  897. openjarvisai-0.1.0/src/openjarvis/learning/training/__init__.py +15 -0
  898. openjarvisai-0.1.0/src/openjarvis/learning/training/data.py +221 -0
  899. openjarvisai-0.1.0/src/openjarvis/learning/training/lora.py +430 -0
  900. openjarvisai-0.1.0/src/openjarvis/mcp/__init__.py +26 -0
  901. openjarvisai-0.1.0/src/openjarvis/mcp/client.py +122 -0
  902. openjarvisai-0.1.0/src/openjarvis/mcp/protocol.py +145 -0
  903. openjarvisai-0.1.0/src/openjarvis/mcp/server.py +284 -0
  904. openjarvisai-0.1.0/src/openjarvis/mcp/transport.py +234 -0
  905. openjarvisai-0.1.0/src/openjarvis/operators/__init__.py +7 -0
  906. openjarvisai-0.1.0/src/openjarvis/operators/data/knowledge_curator.toml +45 -0
  907. openjarvisai-0.1.0/src/openjarvis/operators/data/news_digest.toml +47 -0
  908. openjarvisai-0.1.0/src/openjarvis/operators/data/researcher.toml +43 -0
  909. openjarvisai-0.1.0/src/openjarvis/operators/data/system_monitor.toml +42 -0
  910. openjarvisai-0.1.0/src/openjarvis/operators/loader.py +71 -0
  911. openjarvisai-0.1.0/src/openjarvis/operators/manager.py +213 -0
  912. openjarvisai-0.1.0/src/openjarvis/operators/types.py +36 -0
  913. openjarvisai-0.1.0/src/openjarvis/optimize/__init__.py +4 -0
  914. openjarvisai-0.1.0/src/openjarvis/optimize/config.py +4 -0
  915. openjarvisai-0.1.0/src/openjarvis/optimize/feedback/__init__.py +4 -0
  916. openjarvisai-0.1.0/src/openjarvis/optimize/feedback/collector.py +4 -0
  917. openjarvisai-0.1.0/src/openjarvis/optimize/feedback/judge.py +7 -0
  918. openjarvisai-0.1.0/src/openjarvis/optimize/llm_optimizer.py +4 -0
  919. openjarvisai-0.1.0/src/openjarvis/optimize/optimizer.py +4 -0
  920. openjarvisai-0.1.0/src/openjarvis/optimize/personal/__init__.py +4 -0
  921. openjarvisai-0.1.0/src/openjarvis/optimize/personal/dataset.py +4 -0
  922. openjarvisai-0.1.0/src/openjarvis/optimize/personal/scorer.py +4 -0
  923. openjarvisai-0.1.0/src/openjarvis/optimize/personal/synthesizer.py +4 -0
  924. openjarvisai-0.1.0/src/openjarvis/optimize/search_space.py +4 -0
  925. openjarvisai-0.1.0/src/openjarvis/optimize/store.py +4 -0
  926. openjarvisai-0.1.0/src/openjarvis/optimize/trial_runner.py +4 -0
  927. openjarvisai-0.1.0/src/openjarvis/optimize/types.py +7 -0
  928. openjarvisai-0.1.0/src/openjarvis/prompt/__init__.py +1 -0
  929. openjarvisai-0.1.0/src/openjarvis/prompt/builder.py +104 -0
  930. openjarvisai-0.1.0/src/openjarvis/recipes/__init__.py +21 -0
  931. openjarvisai-0.1.0/src/openjarvis/recipes/composer.py +143 -0
  932. openjarvisai-0.1.0/src/openjarvis/recipes/data/coding_assistant.toml +25 -0
  933. openjarvisai-0.1.0/src/openjarvis/recipes/data/coding_benchmark.toml +36 -0
  934. openjarvisai-0.1.0/src/openjarvis/recipes/data/gaia_orchestrator.toml +35 -0
  935. openjarvisai-0.1.0/src/openjarvis/recipes/data/general_assistant.toml +24 -0
  936. openjarvisai-0.1.0/src/openjarvis/recipes/data/monitor_assistant.toml +25 -0
  937. openjarvisai-0.1.0/src/openjarvis/recipes/data/operators/correspondent.toml +14 -0
  938. openjarvisai-0.1.0/src/openjarvis/recipes/data/operators/correspondent_prompt.md +52 -0
  939. openjarvisai-0.1.0/src/openjarvis/recipes/data/operators/inbox_triage.toml +57 -0
  940. openjarvisai-0.1.0/src/openjarvis/recipes/data/operators/news_briefing.toml +57 -0
  941. openjarvisai-0.1.0/src/openjarvis/recipes/data/operators/repo_watcher.toml +64 -0
  942. openjarvisai-0.1.0/src/openjarvis/recipes/data/operators/researcher.toml +14 -0
  943. openjarvisai-0.1.0/src/openjarvis/recipes/data/operators/researcher_prompt.md +45 -0
  944. openjarvisai-0.1.0/src/openjarvis/recipes/data/operators/sentinel.toml +14 -0
  945. openjarvisai-0.1.0/src/openjarvis/recipes/data/operators/sentinel_prompt.md +74 -0
  946. openjarvisai-0.1.0/src/openjarvis/recipes/data/operators/twitter_sentinel.toml +50 -0
  947. openjarvisai-0.1.0/src/openjarvis/recipes/data/research_assistant.toml +24 -0
  948. openjarvisai-0.1.0/src/openjarvis/recipes/data/swebench_openhands.toml +41 -0
  949. openjarvisai-0.1.0/src/openjarvis/recipes/data/terminalbench_react.toml +35 -0
  950. openjarvisai-0.1.0/src/openjarvis/recipes/loader.py +334 -0
  951. openjarvisai-0.1.0/src/openjarvis/sandbox/__init__.py +18 -0
  952. openjarvisai-0.1.0/src/openjarvis/sandbox/mount_security.py +195 -0
  953. openjarvisai-0.1.0/src/openjarvis/sandbox/runner.py +361 -0
  954. openjarvisai-0.1.0/src/openjarvis/sandbox/wasm_runner.py +159 -0
  955. openjarvisai-0.1.0/src/openjarvis/scheduler/__init__.py +6 -0
  956. openjarvisai-0.1.0/src/openjarvis/scheduler/scheduler.py +352 -0
  957. openjarvisai-0.1.0/src/openjarvis/scheduler/store.py +167 -0
  958. openjarvisai-0.1.0/src/openjarvis/scheduler/tools.py +350 -0
  959. openjarvisai-0.1.0/src/openjarvis/sdk.py +623 -0
  960. openjarvisai-0.1.0/src/openjarvis/security/__init__.py +123 -0
  961. openjarvisai-0.1.0/src/openjarvis/security/_stubs.py +28 -0
  962. openjarvisai-0.1.0/src/openjarvis/security/audit.py +266 -0
  963. openjarvisai-0.1.0/src/openjarvis/security/boundary.py +139 -0
  964. openjarvisai-0.1.0/src/openjarvis/security/capabilities.py +190 -0
  965. openjarvisai-0.1.0/src/openjarvis/security/credential_stripper.py +31 -0
  966. openjarvisai-0.1.0/src/openjarvis/security/file_policy.py +67 -0
  967. openjarvisai-0.1.0/src/openjarvis/security/file_utils.py +34 -0
  968. openjarvisai-0.1.0/src/openjarvis/security/guardrails.py +317 -0
  969. openjarvisai-0.1.0/src/openjarvis/security/injection_scanner.py +140 -0
  970. openjarvisai-0.1.0/src/openjarvis/security/rate_limiter.py +107 -0
  971. openjarvisai-0.1.0/src/openjarvis/security/scanner.py +148 -0
  972. openjarvisai-0.1.0/src/openjarvis/security/severity_policy.py +22 -0
  973. openjarvisai-0.1.0/src/openjarvis/security/signing.py +132 -0
  974. openjarvisai-0.1.0/src/openjarvis/security/ssrf.py +79 -0
  975. openjarvisai-0.1.0/src/openjarvis/security/subprocess_sandbox.py +126 -0
  976. openjarvisai-0.1.0/src/openjarvis/security/taint.py +137 -0
  977. openjarvisai-0.1.0/src/openjarvis/security/types.py +104 -0
  978. openjarvisai-0.1.0/src/openjarvis/server/__init__.py +3 -0
  979. openjarvisai-0.1.0/src/openjarvis/server/agent_manager_routes.py +1931 -0
  980. openjarvisai-0.1.0/src/openjarvis/server/api_routes.py +868 -0
  981. openjarvisai-0.1.0/src/openjarvis/server/app.py +302 -0
  982. openjarvisai-0.1.0/src/openjarvis/server/auth_middleware.py +81 -0
  983. openjarvisai-0.1.0/src/openjarvis/server/channel_bridge.py +379 -0
  984. openjarvisai-0.1.0/src/openjarvis/server/cloud_router.py +389 -0
  985. openjarvisai-0.1.0/src/openjarvis/server/comparison.py +451 -0
  986. openjarvisai-0.1.0/src/openjarvis/server/connectors_router.py +555 -0
  987. openjarvisai-0.1.0/src/openjarvis/server/cost_calculator.py +137 -0
  988. openjarvisai-0.1.0/src/openjarvis/server/dashboard.py +435 -0
  989. openjarvisai-0.1.0/src/openjarvis/server/digest_routes.py +124 -0
  990. openjarvisai-0.1.0/src/openjarvis/server/middleware.py +66 -0
  991. openjarvisai-0.1.0/src/openjarvis/server/models.py +131 -0
  992. openjarvisai-0.1.0/src/openjarvis/server/routes.py +771 -0
  993. openjarvisai-0.1.0/src/openjarvis/server/savings.py +198 -0
  994. openjarvisai-0.1.0/src/openjarvis/server/session_store.py +177 -0
  995. openjarvisai-0.1.0/src/openjarvis/server/stream_bridge.py +368 -0
  996. openjarvisai-0.1.0/src/openjarvis/server/upload_router.py +218 -0
  997. openjarvisai-0.1.0/src/openjarvis/server/webhook_routes.py +448 -0
  998. openjarvisai-0.1.0/src/openjarvis/server/ws_bridge.py +82 -0
  999. openjarvisai-0.1.0/src/openjarvis/sessions/__init__.py +5 -0
  1000. openjarvisai-0.1.0/src/openjarvis/sessions/compression.py +102 -0
  1001. openjarvisai-0.1.0/src/openjarvis/sessions/session.py +363 -0
  1002. openjarvisai-0.1.0/src/openjarvis/skills/__init__.py +46 -0
  1003. openjarvisai-0.1.0/src/openjarvis/skills/data/backup-files.toml +20 -0
  1004. openjarvisai-0.1.0/src/openjarvis/skills/data/calendar-prep.toml +20 -0
  1005. openjarvisai-0.1.0/src/openjarvis/skills/data/code-lint.toml +20 -0
  1006. openjarvisai-0.1.0/src/openjarvis/skills/data/code-test-gen.toml +25 -0
  1007. openjarvisai-0.1.0/src/openjarvis/skills/data/compare-docs.toml +25 -0
  1008. openjarvisai-0.1.0/src/openjarvis/skills/data/daily-digest.toml +20 -0
  1009. openjarvisai-0.1.0/src/openjarvis/skills/data/data-analyze.toml +25 -0
  1010. openjarvisai-0.1.0/src/openjarvis/skills/data/dependency-audit.toml +25 -0
  1011. openjarvisai-0.1.0/src/openjarvis/skills/data/email-draft.toml +20 -0
  1012. openjarvisai-0.1.0/src/openjarvis/skills/data/file-deduplicator.toml +20 -0
  1013. openjarvisai-0.1.0/src/openjarvis/skills/data/file-organizer.toml +25 -0
  1014. openjarvisai-0.1.0/src/openjarvis/skills/data/knowledge-extract.toml +20 -0
  1015. openjarvisai-0.1.0/src/openjarvis/skills/data/meeting-notes.toml +20 -0
  1016. openjarvisai-0.1.0/src/openjarvis/skills/data/pdf-summarize.toml +20 -0
  1017. openjarvisai-0.1.0/src/openjarvis/skills/data/search-and-index.toml +25 -0
  1018. openjarvisai-0.1.0/src/openjarvis/skills/data/security-scan.toml +20 -0
  1019. openjarvisai-0.1.0/src/openjarvis/skills/data/todo-from-notes.toml +20 -0
  1020. openjarvisai-0.1.0/src/openjarvis/skills/data/topic-research.toml +25 -0
  1021. openjarvisai-0.1.0/src/openjarvis/skills/data/translate-doc.toml +25 -0
  1022. openjarvisai-0.1.0/src/openjarvis/skills/data/web-summarize.toml +20 -0
  1023. openjarvisai-0.1.0/src/openjarvis/skills/dependency.py +186 -0
  1024. openjarvisai-0.1.0/src/openjarvis/skills/executor.py +180 -0
  1025. openjarvisai-0.1.0/src/openjarvis/skills/importer.py +195 -0
  1026. openjarvisai-0.1.0/src/openjarvis/skills/index.py +99 -0
  1027. openjarvisai-0.1.0/src/openjarvis/skills/loader.py +319 -0
  1028. openjarvisai-0.1.0/src/openjarvis/skills/manager.py +396 -0
  1029. openjarvisai-0.1.0/src/openjarvis/skills/overlay.py +151 -0
  1030. openjarvisai-0.1.0/src/openjarvis/skills/parser.py +231 -0
  1031. openjarvisai-0.1.0/src/openjarvis/skills/security.py +65 -0
  1032. openjarvisai-0.1.0/src/openjarvis/skills/sources/__init__.py +16 -0
  1033. openjarvisai-0.1.0/src/openjarvis/skills/sources/base.py +66 -0
  1034. openjarvisai-0.1.0/src/openjarvis/skills/sources/github.py +121 -0
  1035. openjarvisai-0.1.0/src/openjarvis/skills/sources/hermes.py +130 -0
  1036. openjarvisai-0.1.0/src/openjarvis/skills/sources/openclaw.py +129 -0
  1037. openjarvisai-0.1.0/src/openjarvis/skills/tool_adapter.py +196 -0
  1038. openjarvisai-0.1.0/src/openjarvis/skills/tool_translator.py +114 -0
  1039. openjarvisai-0.1.0/src/openjarvis/skills/types.py +62 -0
  1040. openjarvisai-0.1.0/src/openjarvis/speech/__init__.py +17 -0
  1041. openjarvisai-0.1.0/src/openjarvis/speech/_discovery.py +75 -0
  1042. openjarvisai-0.1.0/src/openjarvis/speech/_stubs.py +55 -0
  1043. openjarvisai-0.1.0/src/openjarvis/speech/cartesia_tts.py +109 -0
  1044. openjarvisai-0.1.0/src/openjarvis/speech/deepgram.py +97 -0
  1045. openjarvisai-0.1.0/src/openjarvis/speech/faster_whisper.py +100 -0
  1046. openjarvisai-0.1.0/src/openjarvis/speech/kokoro_tts.py +80 -0
  1047. openjarvisai-0.1.0/src/openjarvis/speech/openai_tts.py +82 -0
  1048. openjarvisai-0.1.0/src/openjarvis/speech/openai_whisper.py +64 -0
  1049. openjarvisai-0.1.0/src/openjarvis/speech/tts.py +53 -0
  1050. openjarvisai-0.1.0/src/openjarvis/system.py +1289 -0
  1051. openjarvisai-0.1.0/src/openjarvis/telemetry/__init__.py +111 -0
  1052. openjarvisai-0.1.0/src/openjarvis/telemetry/aggregator.py +425 -0
  1053. openjarvisai-0.1.0/src/openjarvis/telemetry/batch.py +126 -0
  1054. openjarvisai-0.1.0/src/openjarvis/telemetry/efficiency.py +129 -0
  1055. openjarvisai-0.1.0/src/openjarvis/telemetry/energy_amd.py +137 -0
  1056. openjarvisai-0.1.0/src/openjarvis/telemetry/energy_apple.py +184 -0
  1057. openjarvisai-0.1.0/src/openjarvis/telemetry/energy_monitor.py +176 -0
  1058. openjarvisai-0.1.0/src/openjarvis/telemetry/energy_nvidia.py +257 -0
  1059. openjarvisai-0.1.0/src/openjarvis/telemetry/energy_rapl.py +197 -0
  1060. openjarvisai-0.1.0/src/openjarvis/telemetry/flops.py +101 -0
  1061. openjarvisai-0.1.0/src/openjarvis/telemetry/gpu_monitor.py +322 -0
  1062. openjarvisai-0.1.0/src/openjarvis/telemetry/instrumented_engine.py +505 -0
  1063. openjarvisai-0.1.0/src/openjarvis/telemetry/itl.py +47 -0
  1064. openjarvisai-0.1.0/src/openjarvis/telemetry/phase_metrics.py +44 -0
  1065. openjarvisai-0.1.0/src/openjarvis/telemetry/session.py +148 -0
  1066. openjarvisai-0.1.0/src/openjarvis/telemetry/steady_state.py +129 -0
  1067. openjarvisai-0.1.0/src/openjarvis/telemetry/store.py +204 -0
  1068. openjarvisai-0.1.0/src/openjarvis/telemetry/vllm_metrics.py +182 -0
  1069. openjarvisai-0.1.0/src/openjarvis/telemetry/wrapper.py +57 -0
  1070. openjarvisai-0.1.0/src/openjarvis/templates/__init__.py +9 -0
  1071. openjarvisai-0.1.0/src/openjarvis/templates/agent_templates.py +106 -0
  1072. openjarvisai-0.1.0/src/openjarvis/templates/data/architect.toml +10 -0
  1073. openjarvisai-0.1.0/src/openjarvis/templates/data/assistant.toml +10 -0
  1074. openjarvisai-0.1.0/src/openjarvis/templates/data/code-reviewer.toml +10 -0
  1075. openjarvisai-0.1.0/src/openjarvis/templates/data/data-analyst.toml +10 -0
  1076. openjarvisai-0.1.0/src/openjarvis/templates/data/debugger.toml +10 -0
  1077. openjarvisai-0.1.0/src/openjarvis/templates/data/deep-researcher.toml +10 -0
  1078. openjarvisai-0.1.0/src/openjarvis/templates/data/fact-checker.toml +10 -0
  1079. openjarvisai-0.1.0/src/openjarvis/templates/data/inbox-triager.toml +10 -0
  1080. openjarvisai-0.1.0/src/openjarvis/templates/data/meeting-prep.toml +10 -0
  1081. openjarvisai-0.1.0/src/openjarvis/templates/data/monitor.toml +25 -0
  1082. openjarvisai-0.1.0/src/openjarvis/templates/data/note-taker.toml +10 -0
  1083. openjarvisai-0.1.0/src/openjarvis/templates/data/security-auditor.toml +10 -0
  1084. openjarvisai-0.1.0/src/openjarvis/templates/data/summarizer.toml +10 -0
  1085. openjarvisai-0.1.0/src/openjarvis/templates/data/translator.toml +10 -0
  1086. openjarvisai-0.1.0/src/openjarvis/templates/data/tutor.toml +10 -0
  1087. openjarvisai-0.1.0/src/openjarvis/templates/data/writer.toml +10 -0
  1088. openjarvisai-0.1.0/src/openjarvis/tools/__init__.py +144 -0
  1089. openjarvisai-0.1.0/src/openjarvis/tools/_stubs.py +392 -0
  1090. openjarvisai-0.1.0/src/openjarvis/tools/agent_tools.py +324 -0
  1091. openjarvisai-0.1.0/src/openjarvis/tools/apply_patch.py +340 -0
  1092. openjarvisai-0.1.0/src/openjarvis/tools/audio_tool.py +180 -0
  1093. openjarvisai-0.1.0/src/openjarvis/tools/browser.py +540 -0
  1094. openjarvisai-0.1.0/src/openjarvis/tools/browser_axtree.py +137 -0
  1095. openjarvisai-0.1.0/src/openjarvis/tools/calculator.py +164 -0
  1096. openjarvisai-0.1.0/src/openjarvis/tools/channel_tools.py +189 -0
  1097. openjarvisai-0.1.0/src/openjarvis/tools/code_interpreter.py +111 -0
  1098. openjarvisai-0.1.0/src/openjarvis/tools/code_interpreter_docker.py +141 -0
  1099. openjarvisai-0.1.0/src/openjarvis/tools/db_query.py +357 -0
  1100. openjarvisai-0.1.0/src/openjarvis/tools/digest_collect.py +519 -0
  1101. openjarvisai-0.1.0/src/openjarvis/tools/file_read.py +139 -0
  1102. openjarvisai-0.1.0/src/openjarvis/tools/file_write.py +208 -0
  1103. openjarvisai-0.1.0/src/openjarvis/tools/git_tool.py +387 -0
  1104. openjarvisai-0.1.0/src/openjarvis/tools/http_request.py +191 -0
  1105. openjarvisai-0.1.0/src/openjarvis/tools/image_tool.py +151 -0
  1106. openjarvisai-0.1.0/src/openjarvis/tools/knowledge_search.py +182 -0
  1107. openjarvisai-0.1.0/src/openjarvis/tools/knowledge_sql.py +130 -0
  1108. openjarvisai-0.1.0/src/openjarvis/tools/knowledge_tools.py +294 -0
  1109. openjarvisai-0.1.0/src/openjarvis/tools/llm_tool.py +95 -0
  1110. openjarvisai-0.1.0/src/openjarvis/tools/mcp_adapter.py +75 -0
  1111. openjarvisai-0.1.0/src/openjarvis/tools/memory_manage.py +139 -0
  1112. openjarvisai-0.1.0/src/openjarvis/tools/pdf_tool.py +176 -0
  1113. openjarvisai-0.1.0/src/openjarvis/tools/repl.py +335 -0
  1114. openjarvisai-0.1.0/src/openjarvis/tools/retrieval.py +92 -0
  1115. openjarvisai-0.1.0/src/openjarvis/tools/scan_chunks.py +191 -0
  1116. openjarvisai-0.1.0/src/openjarvis/tools/shell_exec.py +216 -0
  1117. openjarvisai-0.1.0/src/openjarvis/tools/skill_manage.py +152 -0
  1118. openjarvisai-0.1.0/src/openjarvis/tools/storage/__init__.py +44 -0
  1119. openjarvisai-0.1.0/src/openjarvis/tools/storage/_stubs.py +62 -0
  1120. openjarvisai-0.1.0/src/openjarvis/tools/storage/bm25.py +98 -0
  1121. openjarvisai-0.1.0/src/openjarvis/tools/storage/chunking.py +154 -0
  1122. openjarvisai-0.1.0/src/openjarvis/tools/storage/colbert_backend.py +251 -0
  1123. openjarvisai-0.1.0/src/openjarvis/tools/storage/context.py +131 -0
  1124. openjarvisai-0.1.0/src/openjarvis/tools/storage/embeddings.py +62 -0
  1125. openjarvisai-0.1.0/src/openjarvis/tools/storage/faiss_backend.py +161 -0
  1126. openjarvisai-0.1.0/src/openjarvis/tools/storage/hybrid.py +184 -0
  1127. openjarvisai-0.1.0/src/openjarvis/tools/storage/ingest.py +246 -0
  1128. openjarvisai-0.1.0/src/openjarvis/tools/storage/knowledge_graph.py +316 -0
  1129. openjarvisai-0.1.0/src/openjarvis/tools/storage/sqlite.py +130 -0
  1130. openjarvisai-0.1.0/src/openjarvis/tools/storage_tools.py +311 -0
  1131. openjarvisai-0.1.0/src/openjarvis/tools/templates/__init__.py +5 -0
  1132. openjarvisai-0.1.0/src/openjarvis/tools/templates/builtin/base64_encode.toml +11 -0
  1133. openjarvisai-0.1.0/src/openjarvis/tools/templates/builtin/date_info.toml +8 -0
  1134. openjarvisai-0.1.0/src/openjarvis/tools/templates/builtin/hash_compute.toml +11 -0
  1135. openjarvisai-0.1.0/src/openjarvis/tools/templates/builtin/json_transform.toml +11 -0
  1136. openjarvisai-0.1.0/src/openjarvis/tools/templates/builtin/regex_extract.toml +14 -0
  1137. openjarvisai-0.1.0/src/openjarvis/tools/templates/builtin/text_length.toml +11 -0
  1138. openjarvisai-0.1.0/src/openjarvis/tools/templates/builtin/text_lower.toml +11 -0
  1139. openjarvisai-0.1.0/src/openjarvis/tools/templates/builtin/text_reverse.toml +11 -0
  1140. openjarvisai-0.1.0/src/openjarvis/tools/templates/builtin/text_upper.toml +11 -0
  1141. openjarvisai-0.1.0/src/openjarvis/tools/templates/builtin/unit_convert.toml +17 -0
  1142. openjarvisai-0.1.0/src/openjarvis/tools/templates/loader.py +205 -0
  1143. openjarvisai-0.1.0/src/openjarvis/tools/text_to_speech.py +106 -0
  1144. openjarvisai-0.1.0/src/openjarvis/tools/think.py +58 -0
  1145. openjarvisai-0.1.0/src/openjarvis/tools/user_profile_manage.py +137 -0
  1146. openjarvisai-0.1.0/src/openjarvis/tools/web_search.py +207 -0
  1147. openjarvisai-0.1.0/src/openjarvis/workflow/__init__.py +23 -0
  1148. openjarvisai-0.1.0/src/openjarvis/workflow/builder.py +150 -0
  1149. openjarvisai-0.1.0/src/openjarvis/workflow/engine.py +338 -0
  1150. openjarvisai-0.1.0/src/openjarvis/workflow/graph.py +127 -0
  1151. openjarvisai-0.1.0/src/openjarvis/workflow/loader.py +84 -0
  1152. openjarvisai-0.1.0/src/openjarvis/workflow/types.py +66 -0
  1153. openjarvisai-0.1.0/tests/__init__.py +0 -0
  1154. openjarvisai-0.1.0/tests/a2a/test_a2a.py +223 -0
  1155. openjarvisai-0.1.0/tests/agents/__init__.py +0 -0
  1156. openjarvisai-0.1.0/tests/agents/conftest.py +49 -0
  1157. openjarvisai-0.1.0/tests/agents/fake_engine.py +77 -0
  1158. openjarvisai-0.1.0/tests/agents/scenario_harness.py +38 -0
  1159. openjarvisai-0.1.0/tests/agents/test_agent_lifecycle_scenarios.py +538 -0
  1160. openjarvisai-0.1.0/tests/agents/test_agent_routing_matrix.py +185 -0
  1161. openjarvisai-0.1.0/tests/agents/test_backward_compat.py +43 -0
  1162. openjarvisai-0.1.0/tests/agents/test_base_agent.py +329 -0
  1163. openjarvisai-0.1.0/tests/agents/test_budget.py +80 -0
  1164. openjarvisai-0.1.0/tests/agents/test_channel_agent.py +253 -0
  1165. openjarvisai-0.1.0/tests/agents/test_channel_agent_integration.py +284 -0
  1166. openjarvisai-0.1.0/tests/agents/test_claude_code.py +564 -0
  1167. openjarvisai-0.1.0/tests/agents/test_config_defaults.py +171 -0
  1168. openjarvisai-0.1.0/tests/agents/test_continuation.py +102 -0
  1169. openjarvisai-0.1.0/tests/agents/test_deep_research.py +178 -0
  1170. openjarvisai-0.1.0/tests/agents/test_deep_research_integration.py +221 -0
  1171. openjarvisai-0.1.0/tests/agents/test_deep_research_prompt.py +86 -0
  1172. openjarvisai-0.1.0/tests/agents/test_digest_store.py +77 -0
  1173. openjarvisai-0.1.0/tests/agents/test_errors.py +58 -0
  1174. openjarvisai-0.1.0/tests/agents/test_executor.py +165 -0
  1175. openjarvisai-0.1.0/tests/agents/test_executor_ephemeral.py +45 -0
  1176. openjarvisai-0.1.0/tests/agents/test_executor_error_detail.py +38 -0
  1177. openjarvisai-0.1.0/tests/agents/test_executor_tools.py +104 -0
  1178. openjarvisai-0.1.0/tests/agents/test_fake_engine.py +50 -0
  1179. openjarvisai-0.1.0/tests/agents/test_learning_integration.py +105 -0
  1180. openjarvisai-0.1.0/tests/agents/test_loop_guard.py +134 -0
  1181. openjarvisai-0.1.0/tests/agents/test_loop_guard_warn.py +68 -0
  1182. openjarvisai-0.1.0/tests/agents/test_manager.py +336 -0
  1183. openjarvisai-0.1.0/tests/agents/test_manager_recover.py +37 -0
  1184. openjarvisai-0.1.0/tests/agents/test_monitor_operative.py +65 -0
  1185. openjarvisai-0.1.0/tests/agents/test_morning_digest.py +71 -0
  1186. openjarvisai-0.1.0/tests/agents/test_native_openhands.py +548 -0
  1187. openjarvisai-0.1.0/tests/agents/test_native_react.py +547 -0
  1188. openjarvisai-0.1.0/tests/agents/test_openhands.py +57 -0
  1189. openjarvisai-0.1.0/tests/agents/test_orchestrator.py +667 -0
  1190. openjarvisai-0.1.0/tests/agents/test_react.py +44 -0
  1191. openjarvisai-0.1.0/tests/agents/test_rlm.py +453 -0
  1192. openjarvisai-0.1.0/tests/agents/test_rlm_repl.py +206 -0
  1193. openjarvisai-0.1.0/tests/agents/test_scenario_harness_smoke.py +22 -0
  1194. openjarvisai-0.1.0/tests/agents/test_scheduler.py +139 -0
  1195. openjarvisai-0.1.0/tests/agents/test_simple.py +140 -0
  1196. openjarvisai-0.1.0/tests/agents/test_stall.py +143 -0
  1197. openjarvisai-0.1.0/tests/agents/test_suggest_action.py +29 -0
  1198. openjarvisai-0.1.0/tests/agents/test_system_prompt_builder_integration.py +28 -0
  1199. openjarvisai-0.1.0/tests/agents/test_template_prompts.py +40 -0
  1200. openjarvisai-0.1.0/tests/agents/test_trace_recording.py +101 -0
  1201. openjarvisai-0.1.0/tests/bench/__init__.py +0 -0
  1202. openjarvisai-0.1.0/tests/bench/test_bench_stats.py +69 -0
  1203. openjarvisai-0.1.0/tests/bench/test_energy.py +120 -0
  1204. openjarvisai-0.1.0/tests/bench/test_latency.py +86 -0
  1205. openjarvisai-0.1.0/tests/bench/test_stubs.py +129 -0
  1206. openjarvisai-0.1.0/tests/bench/test_throughput.py +78 -0
  1207. openjarvisai-0.1.0/tests/channels/__init__.py +0 -0
  1208. openjarvisai-0.1.0/tests/channels/conftest.py +69 -0
  1209. openjarvisai-0.1.0/tests/channels/test_agent_channel_e2e.py +73 -0
  1210. openjarvisai-0.1.0/tests/channels/test_bluebubbles.py +158 -0
  1211. openjarvisai-0.1.0/tests/channels/test_channel_config.py +197 -0
  1212. openjarvisai-0.1.0/tests/channels/test_channel_contract.py +83 -0
  1213. openjarvisai-0.1.0/tests/channels/test_channel_registry.py +130 -0
  1214. openjarvisai-0.1.0/tests/channels/test_channels_phase21.py +333 -0
  1215. openjarvisai-0.1.0/tests/channels/test_config.py +78 -0
  1216. openjarvisai-0.1.0/tests/channels/test_discord_channel.py +150 -0
  1217. openjarvisai-0.1.0/tests/channels/test_email_channel.py +218 -0
  1218. openjarvisai-0.1.0/tests/channels/test_feishu.py +156 -0
  1219. openjarvisai-0.1.0/tests/channels/test_google_chat.py +174 -0
  1220. openjarvisai-0.1.0/tests/channels/test_imessage_daemon.py +108 -0
  1221. openjarvisai-0.1.0/tests/channels/test_irc_channel.py +154 -0
  1222. openjarvisai-0.1.0/tests/channels/test_matrix_channel.py +182 -0
  1223. openjarvisai-0.1.0/tests/channels/test_mattermost.py +168 -0
  1224. openjarvisai-0.1.0/tests/channels/test_sendblue.py +267 -0
  1225. openjarvisai-0.1.0/tests/channels/test_signal_channel.py +155 -0
  1226. openjarvisai-0.1.0/tests/channels/test_slack.py +170 -0
  1227. openjarvisai-0.1.0/tests/channels/test_slack_messaging.py +89 -0
  1228. openjarvisai-0.1.0/tests/channels/test_stubs.py +120 -0
  1229. openjarvisai-0.1.0/tests/channels/test_teams.py +148 -0
  1230. openjarvisai-0.1.0/tests/channels/test_telegram.py +264 -0
  1231. openjarvisai-0.1.0/tests/channels/test_tier1_gmail.py +209 -0
  1232. openjarvisai-0.1.0/tests/channels/test_tier2_twitter.py +137 -0
  1233. openjarvisai-0.1.0/tests/channels/test_twilio_sms.py +166 -0
  1234. openjarvisai-0.1.0/tests/channels/test_webchat.py +103 -0
  1235. openjarvisai-0.1.0/tests/channels/test_webhook.py +184 -0
  1236. openjarvisai-0.1.0/tests/channels/test_whatsapp.py +159 -0
  1237. openjarvisai-0.1.0/tests/channels/test_whatsapp_baileys.py +333 -0
  1238. openjarvisai-0.1.0/tests/cli/__init__.py +0 -0
  1239. openjarvisai-0.1.0/tests/cli/test_add_cmd.py +61 -0
  1240. openjarvisai-0.1.0/tests/cli/test_agent_cmd.py +98 -0
  1241. openjarvisai-0.1.0/tests/cli/test_ask_agent.py +306 -0
  1242. openjarvisai-0.1.0/tests/cli/test_ask_context.py +73 -0
  1243. openjarvisai-0.1.0/tests/cli/test_ask_e2e.py +93 -0
  1244. openjarvisai-0.1.0/tests/cli/test_ask_router.py +131 -0
  1245. openjarvisai-0.1.0/tests/cli/test_bench_cmd.py +84 -0
  1246. openjarvisai-0.1.0/tests/cli/test_bench_skills_command.py +115 -0
  1247. openjarvisai-0.1.0/tests/cli/test_channel_cmd.py +104 -0
  1248. openjarvisai-0.1.0/tests/cli/test_chat_cmd.py +147 -0
  1249. openjarvisai-0.1.0/tests/cli/test_cli.py +91 -0
  1250. openjarvisai-0.1.0/tests/cli/test_config_cmd.py +210 -0
  1251. openjarvisai-0.1.0/tests/cli/test_config_set.py +154 -0
  1252. openjarvisai-0.1.0/tests/cli/test_connect.py +110 -0
  1253. openjarvisai-0.1.0/tests/cli/test_daemon_cmd.py +81 -0
  1254. openjarvisai-0.1.0/tests/cli/test_dashboard.py +31 -0
  1255. openjarvisai-0.1.0/tests/cli/test_deep_research_setup.py +183 -0
  1256. openjarvisai-0.1.0/tests/cli/test_digest_cmd.py +54 -0
  1257. openjarvisai-0.1.0/tests/cli/test_doctor_cmd.py +166 -0
  1258. openjarvisai-0.1.0/tests/cli/test_doctor_labels.py +66 -0
  1259. openjarvisai-0.1.0/tests/cli/test_eval_cmd.py +39 -0
  1260. openjarvisai-0.1.0/tests/cli/test_hints.py +47 -0
  1261. openjarvisai-0.1.0/tests/cli/test_init_guidance.py +240 -0
  1262. openjarvisai-0.1.0/tests/cli/test_init_host.py +117 -0
  1263. openjarvisai-0.1.0/tests/cli/test_log_config.py +37 -0
  1264. openjarvisai-0.1.0/tests/cli/test_memory_cmd.py +110 -0
  1265. openjarvisai-0.1.0/tests/cli/test_model_cmd.py +70 -0
  1266. openjarvisai-0.1.0/tests/cli/test_model_pull.py +109 -0
  1267. openjarvisai-0.1.0/tests/cli/test_optimize_skills_command.py +82 -0
  1268. openjarvisai-0.1.0/tests/cli/test_quickstart.py +222 -0
  1269. openjarvisai-0.1.0/tests/cli/test_registry_cmd.py +154 -0
  1270. openjarvisai-0.1.0/tests/cli/test_scan.py +463 -0
  1271. openjarvisai-0.1.0/tests/cli/test_serve_channel_wiring.py +298 -0
  1272. openjarvisai-0.1.0/tests/cli/test_skill_cmd.py +255 -0
  1273. openjarvisai-0.1.0/tests/cli/test_telemetry_cmd.py +154 -0
  1274. openjarvisai-0.1.0/tests/cli/test_tool_cmd.py +238 -0
  1275. openjarvisai-0.1.0/tests/cli/test_vault_cmd.py +72 -0
  1276. openjarvisai-0.1.0/tests/cli/test_workflow_cmd.py +28 -0
  1277. openjarvisai-0.1.0/tests/conftest.py +250 -0
  1278. openjarvisai-0.1.0/tests/connectors/__init__.py +0 -0
  1279. openjarvisai-0.1.0/tests/connectors/test_apple_health.py +161 -0
  1280. openjarvisai-0.1.0/tests/connectors/test_apple_music.py +177 -0
  1281. openjarvisai-0.1.0/tests/connectors/test_apple_notes.py +210 -0
  1282. openjarvisai-0.1.0/tests/connectors/test_attachment_store.py +102 -0
  1283. openjarvisai-0.1.0/tests/connectors/test_chunker.py +264 -0
  1284. openjarvisai-0.1.0/tests/connectors/test_connector_health.py +162 -0
  1285. openjarvisai-0.1.0/tests/connectors/test_dropbox.py +169 -0
  1286. openjarvisai-0.1.0/tests/connectors/test_embedding_store.py +164 -0
  1287. openjarvisai-0.1.0/tests/connectors/test_gcalendar.py +183 -0
  1288. openjarvisai-0.1.0/tests/connectors/test_gcontacts.py +176 -0
  1289. openjarvisai-0.1.0/tests/connectors/test_gdrive.py +182 -0
  1290. openjarvisai-0.1.0/tests/connectors/test_github_notifications.py +105 -0
  1291. openjarvisai-0.1.0/tests/connectors/test_gmail.py +271 -0
  1292. openjarvisai-0.1.0/tests/connectors/test_google_tasks.py +72 -0
  1293. openjarvisai-0.1.0/tests/connectors/test_granola.py +247 -0
  1294. openjarvisai-0.1.0/tests/connectors/test_hackernews.py +124 -0
  1295. openjarvisai-0.1.0/tests/connectors/test_imessage.py +202 -0
  1296. openjarvisai-0.1.0/tests/connectors/test_incremental_sync.py +186 -0
  1297. openjarvisai-0.1.0/tests/connectors/test_integration.py +75 -0
  1298. openjarvisai-0.1.0/tests/connectors/test_live_smoke.py +85 -0
  1299. openjarvisai-0.1.0/tests/connectors/test_new_connectors_live.py +57 -0
  1300. openjarvisai-0.1.0/tests/connectors/test_news_rss.py +173 -0
  1301. openjarvisai-0.1.0/tests/connectors/test_notion.py +251 -0
  1302. openjarvisai-0.1.0/tests/connectors/test_oauth_flow.py +146 -0
  1303. openjarvisai-0.1.0/tests/connectors/test_obsidian.py +186 -0
  1304. openjarvisai-0.1.0/tests/connectors/test_oura.py +95 -0
  1305. openjarvisai-0.1.0/tests/connectors/test_outlook.py +79 -0
  1306. openjarvisai-0.1.0/tests/connectors/test_pipeline.py +294 -0
  1307. openjarvisai-0.1.0/tests/connectors/test_pipeline_attachments.py +163 -0
  1308. openjarvisai-0.1.0/tests/connectors/test_retriever.py +323 -0
  1309. openjarvisai-0.1.0/tests/connectors/test_scheduler.py +140 -0
  1310. openjarvisai-0.1.0/tests/connectors/test_slack_connector.py +215 -0
  1311. openjarvisai-0.1.0/tests/connectors/test_spotify.py +72 -0
  1312. openjarvisai-0.1.0/tests/connectors/test_store.py +335 -0
  1313. openjarvisai-0.1.0/tests/connectors/test_strava.py +75 -0
  1314. openjarvisai-0.1.0/tests/connectors/test_stubs.py +102 -0
  1315. openjarvisai-0.1.0/tests/connectors/test_sync_engine.py +184 -0
  1316. openjarvisai-0.1.0/tests/connectors/test_weather.py +96 -0
  1317. openjarvisai-0.1.0/tests/connectors/test_whatsapp.py +194 -0
  1318. openjarvisai-0.1.0/tests/core/__init__.py +0 -0
  1319. openjarvisai-0.1.0/tests/core/test_config.py +510 -0
  1320. openjarvisai-0.1.0/tests/core/test_config_key_validation.py +54 -0
  1321. openjarvisai-0.1.0/tests/core/test_config_phase3.py +78 -0
  1322. openjarvisai-0.1.0/tests/core/test_config_phase4.py +77 -0
  1323. openjarvisai-0.1.0/tests/core/test_config_phase5.py +53 -0
  1324. openjarvisai-0.1.0/tests/core/test_config_skills_sources.py +43 -0
  1325. openjarvisai-0.1.0/tests/core/test_credentials.py +56 -0
  1326. openjarvisai-0.1.0/tests/core/test_events.py +124 -0
  1327. openjarvisai-0.1.0/tests/core/test_intent_routing.py +66 -0
  1328. openjarvisai-0.1.0/tests/core/test_recommend_model.py +151 -0
  1329. openjarvisai-0.1.0/tests/core/test_registry.py +94 -0
  1330. openjarvisai-0.1.0/tests/core/test_rust_bridge.py +155 -0
  1331. openjarvisai-0.1.0/tests/core/test_skills_learning_config.py +40 -0
  1332. openjarvisai-0.1.0/tests/core/test_types.py +103 -0
  1333. openjarvisai-0.1.0/tests/daemon/__init__.py +0 -0
  1334. openjarvisai-0.1.0/tests/daemon/test_gateway.py +18 -0
  1335. openjarvisai-0.1.0/tests/daemon/test_session_expiry.py +29 -0
  1336. openjarvisai-0.1.0/tests/deployment/test_docker.py +50 -0
  1337. openjarvisai-0.1.0/tests/engine/__init__.py +0 -0
  1338. openjarvisai-0.1.0/tests/engine/test_cache_breakpoint.py +37 -0
  1339. openjarvisai-0.1.0/tests/engine/test_cloud.py +292 -0
  1340. openjarvisai-0.1.0/tests/engine/test_cloud_extended.py +652 -0
  1341. openjarvisai-0.1.0/tests/engine/test_cloud_minimax.py +325 -0
  1342. openjarvisai-0.1.0/tests/engine/test_cloud_stream_full.py +466 -0
  1343. openjarvisai-0.1.0/tests/engine/test_discovery.py +126 -0
  1344. openjarvisai-0.1.0/tests/engine/test_engine_model_matrix.py +272 -0
  1345. openjarvisai-0.1.0/tests/engine/test_engine_wrappers.py +142 -0
  1346. openjarvisai-0.1.0/tests/engine/test_gemma_cpp.py +423 -0
  1347. openjarvisai-0.1.0/tests/engine/test_lemonade.py +110 -0
  1348. openjarvisai-0.1.0/tests/engine/test_litellm.py +206 -0
  1349. openjarvisai-0.1.0/tests/engine/test_llamacpp_models.py +208 -0
  1350. openjarvisai-0.1.0/tests/engine/test_lmstudio.py +97 -0
  1351. openjarvisai-0.1.0/tests/engine/test_mlx.py +70 -0
  1352. openjarvisai-0.1.0/tests/engine/test_ollama.py +102 -0
  1353. openjarvisai-0.1.0/tests/engine/test_ollama_models.py +250 -0
  1354. openjarvisai-0.1.0/tests/engine/test_openai_compat.py +131 -0
  1355. openjarvisai-0.1.0/tests/engine/test_openai_compat_tools.py +293 -0
  1356. openjarvisai-0.1.0/tests/engine/test_stream_full.py +250 -0
  1357. openjarvisai-0.1.0/tests/engine/test_structured_output.py +377 -0
  1358. openjarvisai-0.1.0/tests/engine/test_vllm_models.py +221 -0
  1359. openjarvisai-0.1.0/tests/evals/__init__.py +0 -0
  1360. openjarvisai-0.1.0/tests/evals/datasets/__init__.py +0 -0
  1361. openjarvisai-0.1.0/tests/evals/datasets/test_browser_assistant.py +61 -0
  1362. openjarvisai-0.1.0/tests/evals/datasets/test_coding_assistant.py +38 -0
  1363. openjarvisai-0.1.0/tests/evals/datasets/test_daily_digest.py +38 -0
  1364. openjarvisai-0.1.0/tests/evals/datasets/test_doc_qa.py +56 -0
  1365. openjarvisai-0.1.0/tests/evals/datasets/test_security_scanner.py +48 -0
  1366. openjarvisai-0.1.0/tests/evals/scorers/__init__.py +0 -0
  1367. openjarvisai-0.1.0/tests/evals/scorers/test_browser_assistant.py +105 -0
  1368. openjarvisai-0.1.0/tests/evals/scorers/test_checklist.py +89 -0
  1369. openjarvisai-0.1.0/tests/evals/scorers/test_coding_assistant.py +69 -0
  1370. openjarvisai-0.1.0/tests/evals/scorers/test_daily_digest.py +88 -0
  1371. openjarvisai-0.1.0/tests/evals/scorers/test_doc_qa.py +112 -0
  1372. openjarvisai-0.1.0/tests/evals/scorers/test_security_scanner.py +123 -0
  1373. openjarvisai-0.1.0/tests/evals/test_agentic_runner.py +167 -0
  1374. openjarvisai-0.1.0/tests/evals/test_ama_bench.py +231 -0
  1375. openjarvisai-0.1.0/tests/evals/test_benchmark_datasets.py +433 -0
  1376. openjarvisai-0.1.0/tests/evals/test_deepplanning.py +92 -0
  1377. openjarvisai-0.1.0/tests/evals/test_display.py +213 -0
  1378. openjarvisai-0.1.0/tests/evals/test_environment_provider.py +41 -0
  1379. openjarvisai-0.1.0/tests/evals/test_episode_mode.py +53 -0
  1380. openjarvisai-0.1.0/tests/evals/test_eval_telemetry_wiring.py +591 -0
  1381. openjarvisai-0.1.0/tests/evals/test_eval_trace.py +151 -0
  1382. openjarvisai-0.1.0/tests/evals/test_event_recorder.py +89 -0
  1383. openjarvisai-0.1.0/tests/evals/test_export.py +430 -0
  1384. openjarvisai-0.1.0/tests/evals/test_jarvis_agent_backend_skills.py +70 -0
  1385. openjarvisai-0.1.0/tests/evals/test_lifelong_agent.py +1097 -0
  1386. openjarvisai-0.1.0/tests/evals/test_loghub.py +167 -0
  1387. openjarvisai-0.1.0/tests/evals/test_paperarena.py +120 -0
  1388. openjarvisai-0.1.0/tests/evals/test_pinchbench_dataset.py +130 -0
  1389. openjarvisai-0.1.0/tests/evals/test_pinchbench_grading.py +161 -0
  1390. openjarvisai-0.1.0/tests/evals/test_pinchbench_integration.py +123 -0
  1391. openjarvisai-0.1.0/tests/evals/test_pinchbench_transcript.py +93 -0
  1392. openjarvisai-0.1.0/tests/evals/test_pricing.py +38 -0
  1393. openjarvisai-0.1.0/tests/evals/test_skill_benchmark.py +382 -0
  1394. openjarvisai-0.1.0/tests/evals/test_terminalbench_env.py +48 -0
  1395. openjarvisai-0.1.0/tests/evals/test_trackers.py +344 -0
  1396. openjarvisai-0.1.0/tests/evals/test_use_case_benchmarks.py +460 -0
  1397. openjarvisai-0.1.0/tests/hardware/__init__.py +0 -0
  1398. openjarvisai-0.1.0/tests/hardware/test_amd.py +204 -0
  1399. openjarvisai-0.1.0/tests/hardware/test_apple.py +136 -0
  1400. openjarvisai-0.1.0/tests/hardware/test_hardware_profiles.py +131 -0
  1401. openjarvisai-0.1.0/tests/hardware/test_nvidia.py +168 -0
  1402. openjarvisai-0.1.0/tests/integration/test_agent_manager_e2e.py +87 -0
  1403. openjarvisai-0.1.0/tests/integration/test_integration.py +621 -0
  1404. openjarvisai-0.1.0/tests/integration/test_integration_extended.py +554 -0
  1405. openjarvisai-0.1.0/tests/integration/test_minimax_cloud.py +63 -0
  1406. openjarvisai-0.1.0/tests/intelligence/__init__.py +0 -0
  1407. openjarvisai-0.1.0/tests/intelligence/test_intelligence_stubs.py +79 -0
  1408. openjarvisai-0.1.0/tests/intelligence/test_model_catalog.py +49 -0
  1409. openjarvisai-0.1.0/tests/intelligence/test_model_catalog_extended.py +343 -0
  1410. openjarvisai-0.1.0/tests/intelligence/test_router.py +50 -0
  1411. openjarvisai-0.1.0/tests/intelligence/test_routing_models.py +35 -0
  1412. openjarvisai-0.1.0/tests/learning/__init__.py +0 -0
  1413. openjarvisai-0.1.0/tests/learning/agents/__init__.py +0 -0
  1414. openjarvisai-0.1.0/tests/learning/agents/test_dspy_optimizer.py +90 -0
  1415. openjarvisai-0.1.0/tests/learning/agents/test_gepa_optimizer.py +97 -0
  1416. openjarvisai-0.1.0/tests/learning/intelligence/__init__.py +0 -0
  1417. openjarvisai-0.1.0/tests/learning/intelligence/test_grpo_trainer.py +88 -0
  1418. openjarvisai-0.1.0/tests/learning/intelligence/test_sft_trainer.py +66 -0
  1419. openjarvisai-0.1.0/tests/learning/routing/__init__.py +0 -0
  1420. openjarvisai-0.1.0/tests/learning/routing/test_complexity.py +183 -0
  1421. openjarvisai-0.1.0/tests/learning/routing/test_learned_router.py +169 -0
  1422. openjarvisai-0.1.0/tests/learning/routing/test_utils.py +27 -0
  1423. openjarvisai-0.1.0/tests/learning/test_agent_evolver.py +240 -0
  1424. openjarvisai-0.1.0/tests/learning/test_device_selection.py +83 -0
  1425. openjarvisai-0.1.0/tests/learning/test_feedback_collector.py +239 -0
  1426. openjarvisai-0.1.0/tests/learning/test_heuristic_policy.py +23 -0
  1427. openjarvisai-0.1.0/tests/learning/test_heuristic_reward.py +151 -0
  1428. openjarvisai-0.1.0/tests/learning/test_learning_api.py +81 -0
  1429. openjarvisai-0.1.0/tests/learning/test_learning_orchestrator.py +194 -0
  1430. openjarvisai-0.1.0/tests/learning/test_learning_taxonomy.py +35 -0
  1431. openjarvisai-0.1.0/tests/learning/test_llm_optimizer.py +985 -0
  1432. openjarvisai-0.1.0/tests/learning/test_multi_bench_runner.py +315 -0
  1433. openjarvisai-0.1.0/tests/learning/test_optimize_cmd.py +172 -0
  1434. openjarvisai-0.1.0/tests/learning/test_optimize_store.py +468 -0
  1435. openjarvisai-0.1.0/tests/learning/test_optimize_types.py +576 -0
  1436. openjarvisai-0.1.0/tests/learning/test_optimizer_engine.py +791 -0
  1437. openjarvisai-0.1.0/tests/learning/test_orchestrator_skill_optimization.py +146 -0
  1438. openjarvisai-0.1.0/tests/learning/test_pareto.py +224 -0
  1439. openjarvisai-0.1.0/tests/learning/test_personal_synthesizer.py +392 -0
  1440. openjarvisai-0.1.0/tests/learning/test_router.py +161 -0
  1441. openjarvisai-0.1.0/tests/learning/test_router_stubs.py +74 -0
  1442. openjarvisai-0.1.0/tests/learning/test_routing_models.py +227 -0
  1443. openjarvisai-0.1.0/tests/learning/test_search_space.py +448 -0
  1444. openjarvisai-0.1.0/tests/learning/test_skill_discovery.py +211 -0
  1445. openjarvisai-0.1.0/tests/learning/test_skill_optimizer.py +141 -0
  1446. openjarvisai-0.1.0/tests/learning/test_stubs.py +34 -0
  1447. openjarvisai-0.1.0/tests/learning/test_system_learning.py +50 -0
  1448. openjarvisai-0.1.0/tests/learning/test_trace_judge.py +210 -0
  1449. openjarvisai-0.1.0/tests/learning/test_trial_runner.py +429 -0
  1450. openjarvisai-0.1.0/tests/learning/training/__init__.py +0 -0
  1451. openjarvisai-0.1.0/tests/learning/training/test_data.py +238 -0
  1452. openjarvisai-0.1.0/tests/learning/training/test_lora.py +147 -0
  1453. openjarvisai-0.1.0/tests/mcp/__init__.py +0 -0
  1454. openjarvisai-0.1.0/tests/mcp/test_client.py +103 -0
  1455. openjarvisai-0.1.0/tests/mcp/test_client_extended.py +176 -0
  1456. openjarvisai-0.1.0/tests/mcp/test_discovery.py +195 -0
  1457. openjarvisai-0.1.0/tests/mcp/test_mcp_tools_matrix.py +82 -0
  1458. openjarvisai-0.1.0/tests/mcp/test_protocol.py +167 -0
  1459. openjarvisai-0.1.0/tests/mcp/test_server.py +195 -0
  1460. openjarvisai-0.1.0/tests/mcp/test_server_upgrade.py +132 -0
  1461. openjarvisai-0.1.0/tests/mcp/test_streamable_http_transport.py +142 -0
  1462. openjarvisai-0.1.0/tests/mcp/test_transport.py +268 -0
  1463. openjarvisai-0.1.0/tests/memory/__init__.py +0 -0
  1464. openjarvisai-0.1.0/tests/memory/test_bm25.py +156 -0
  1465. openjarvisai-0.1.0/tests/memory/test_chunking.py +92 -0
  1466. openjarvisai-0.1.0/tests/memory/test_colbert.py +164 -0
  1467. openjarvisai-0.1.0/tests/memory/test_context.py +200 -0
  1468. openjarvisai-0.1.0/tests/memory/test_embeddings.py +73 -0
  1469. openjarvisai-0.1.0/tests/memory/test_faiss.py +198 -0
  1470. openjarvisai-0.1.0/tests/memory/test_hybrid.py +224 -0
  1471. openjarvisai-0.1.0/tests/memory/test_ingest.py +177 -0
  1472. openjarvisai-0.1.0/tests/memory/test_retrieval_quality.py +195 -0
  1473. openjarvisai-0.1.0/tests/memory/test_sqlite.py +165 -0
  1474. openjarvisai-0.1.0/tests/memory/test_storage_suite.py +189 -0
  1475. openjarvisai-0.1.0/tests/operators/__init__.py +0 -0
  1476. openjarvisai-0.1.0/tests/operators/test_operator_recipes.py +98 -0
  1477. openjarvisai-0.1.0/tests/operators/test_operators.py +914 -0
  1478. openjarvisai-0.1.0/tests/prompt/__init__.py +0 -0
  1479. openjarvisai-0.1.0/tests/prompt/test_builder.py +125 -0
  1480. openjarvisai-0.1.0/tests/prompt/test_system_prompt_builder_few_shot.py +37 -0
  1481. openjarvisai-0.1.0/tests/recipes/__init__.py +0 -0
  1482. openjarvisai-0.1.0/tests/recipes/test_compose.py +471 -0
  1483. openjarvisai-0.1.0/tests/recipes/test_loader.py +159 -0
  1484. openjarvisai-0.1.0/tests/sandbox/__init__.py +0 -0
  1485. openjarvisai-0.1.0/tests/sandbox/test_mount_security.py +170 -0
  1486. openjarvisai-0.1.0/tests/sandbox/test_runner.py +315 -0
  1487. openjarvisai-0.1.0/tests/sandbox/test_wasm_runner.py +58 -0
  1488. openjarvisai-0.1.0/tests/scheduler/__init__.py +0 -0
  1489. openjarvisai-0.1.0/tests/scheduler/test_digest_schedule.py +193 -0
  1490. openjarvisai-0.1.0/tests/scheduler/test_scheduler.py +320 -0
  1491. openjarvisai-0.1.0/tests/scheduler/test_store.py +164 -0
  1492. openjarvisai-0.1.0/tests/scheduler/test_tools.py +138 -0
  1493. openjarvisai-0.1.0/tests/sdk/__init__.py +0 -0
  1494. openjarvisai-0.1.0/tests/sdk/test_sdk.py +296 -0
  1495. openjarvisai-0.1.0/tests/sdk/test_system.py +438 -0
  1496. openjarvisai-0.1.0/tests/security/__init__.py +0 -0
  1497. openjarvisai-0.1.0/tests/security/test_audit.py +169 -0
  1498. openjarvisai-0.1.0/tests/security/test_boundary_guard.py +266 -0
  1499. openjarvisai-0.1.0/tests/security/test_capabilities.py +114 -0
  1500. openjarvisai-0.1.0/tests/security/test_credential_stripper.py +52 -0
  1501. openjarvisai-0.1.0/tests/security/test_file_permissions.py +74 -0
  1502. openjarvisai-0.1.0/tests/security/test_file_policy.py +103 -0
  1503. openjarvisai-0.1.0/tests/security/test_guardrails.py +297 -0
  1504. openjarvisai-0.1.0/tests/security/test_injection_scanner.py +91 -0
  1505. openjarvisai-0.1.0/tests/security/test_log_sanitization.py +110 -0
  1506. openjarvisai-0.1.0/tests/security/test_merkle_audit.py +117 -0
  1507. openjarvisai-0.1.0/tests/security/test_network_defaults.py +139 -0
  1508. openjarvisai-0.1.0/tests/security/test_rate_limiter.py +140 -0
  1509. openjarvisai-0.1.0/tests/security/test_scanner.py +175 -0
  1510. openjarvisai-0.1.0/tests/security/test_security_profiles.py +54 -0
  1511. openjarvisai-0.1.0/tests/security/test_security_wiring.py +82 -0
  1512. openjarvisai-0.1.0/tests/security/test_setup_security.py +82 -0
  1513. openjarvisai-0.1.0/tests/security/test_severity_policy.py +33 -0
  1514. openjarvisai-0.1.0/tests/security/test_signing.py +87 -0
  1515. openjarvisai-0.1.0/tests/security/test_ssrf.py +123 -0
  1516. openjarvisai-0.1.0/tests/security/test_subprocess_sandbox.py +121 -0
  1517. openjarvisai-0.1.0/tests/security/test_taint.py +142 -0
  1518. openjarvisai-0.1.0/tests/security/test_tool_confirmation.py +139 -0
  1519. openjarvisai-0.1.0/tests/security/test_webhook_validation.py +38 -0
  1520. openjarvisai-0.1.0/tests/server/__init__.py +0 -0
  1521. openjarvisai-0.1.0/tests/server/test_agent_manager_routes.py +427 -0
  1522. openjarvisai-0.1.0/tests/server/test_api_routes.py +95 -0
  1523. openjarvisai-0.1.0/tests/server/test_auth_middleware.py +71 -0
  1524. openjarvisai-0.1.0/tests/server/test_channel_bridge.py +188 -0
  1525. openjarvisai-0.1.0/tests/server/test_channel_bridge_deep_research.py +55 -0
  1526. openjarvisai-0.1.0/tests/server/test_channel_routes.py +149 -0
  1527. openjarvisai-0.1.0/tests/server/test_connectors_router.py +94 -0
  1528. openjarvisai-0.1.0/tests/server/test_deep_research_tools_wiring.py +55 -0
  1529. openjarvisai-0.1.0/tests/server/test_digest_routes.py +104 -0
  1530. openjarvisai-0.1.0/tests/server/test_mcp_tools_cache.py +154 -0
  1531. openjarvisai-0.1.0/tests/server/test_middleware.py +120 -0
  1532. openjarvisai-0.1.0/tests/server/test_model_management.py +270 -0
  1533. openjarvisai-0.1.0/tests/server/test_models_pydantic.py +104 -0
  1534. openjarvisai-0.1.0/tests/server/test_pwa_serving.py +106 -0
  1535. openjarvisai-0.1.0/tests/server/test_recommended_model.py +52 -0
  1536. openjarvisai-0.1.0/tests/server/test_routes.py +315 -0
  1537. openjarvisai-0.1.0/tests/server/test_sendblue_webhook.py +236 -0
  1538. openjarvisai-0.1.0/tests/server/test_session_store.py +117 -0
  1539. openjarvisai-0.1.0/tests/server/test_speech_routes.py +86 -0
  1540. openjarvisai-0.1.0/tests/server/test_tools_endpoint.py +47 -0
  1541. openjarvisai-0.1.0/tests/server/test_webhook_routes.py +215 -0
  1542. openjarvisai-0.1.0/tests/server/test_websocket.py +215 -0
  1543. openjarvisai-0.1.0/tests/server/test_ws_bridge.py +62 -0
  1544. openjarvisai-0.1.0/tests/sessions/test_compression.py +88 -0
  1545. openjarvisai-0.1.0/tests/sessions/test_session.py +129 -0
  1546. openjarvisai-0.1.0/tests/sessions/test_wire_channel_history.py +115 -0
  1547. openjarvisai-0.1.0/tests/skills/__init__.py +0 -0
  1548. openjarvisai-0.1.0/tests/skills/test_bundled_skills.py +97 -0
  1549. openjarvisai-0.1.0/tests/skills/test_cli_install.py +83 -0
  1550. openjarvisai-0.1.0/tests/skills/test_dependency.py +251 -0
  1551. openjarvisai-0.1.0/tests/skills/test_importer.py +204 -0
  1552. openjarvisai-0.1.0/tests/skills/test_index.py +105 -0
  1553. openjarvisai-0.1.0/tests/skills/test_integration_live.py +175 -0
  1554. openjarvisai-0.1.0/tests/skills/test_loader_markdown.py +215 -0
  1555. openjarvisai-0.1.0/tests/skills/test_manager.py +520 -0
  1556. openjarvisai-0.1.0/tests/skills/test_manager_discover_from_traces.py +111 -0
  1557. openjarvisai-0.1.0/tests/skills/test_native_react_few_shot.py +167 -0
  1558. openjarvisai-0.1.0/tests/skills/test_overlay.py +99 -0
  1559. openjarvisai-0.1.0/tests/skills/test_parser.py +213 -0
  1560. openjarvisai-0.1.0/tests/skills/test_security.py +59 -0
  1561. openjarvisai-0.1.0/tests/skills/test_skill_tool_metadata_tagging.py +105 -0
  1562. openjarvisai-0.1.0/tests/skills/test_skill_trace_tagging_integration.py +212 -0
  1563. openjarvisai-0.1.0/tests/skills/test_skills.py +295 -0
  1564. openjarvisai-0.1.0/tests/skills/test_sources.py +329 -0
  1565. openjarvisai-0.1.0/tests/skills/test_tool_adapter_v2.py +202 -0
  1566. openjarvisai-0.1.0/tests/skills/test_tool_translator.py +81 -0
  1567. openjarvisai-0.1.0/tests/speech/__init__.py +0 -0
  1568. openjarvisai-0.1.0/tests/speech/test_config.py +19 -0
  1569. openjarvisai-0.1.0/tests/speech/test_deepgram.py +61 -0
  1570. openjarvisai-0.1.0/tests/speech/test_discovery.py +48 -0
  1571. openjarvisai-0.1.0/tests/speech/test_faster_whisper.py +78 -0
  1572. openjarvisai-0.1.0/tests/speech/test_openai_whisper.py +57 -0
  1573. openjarvisai-0.1.0/tests/speech/test_stubs.py +32 -0
  1574. openjarvisai-0.1.0/tests/speech/test_system_integration.py +8 -0
  1575. openjarvisai-0.1.0/tests/speech/test_tts_backends.py +106 -0
  1576. openjarvisai-0.1.0/tests/telemetry/__init__.py +0 -0
  1577. openjarvisai-0.1.0/tests/telemetry/test_aggregator.py +250 -0
  1578. openjarvisai-0.1.0/tests/telemetry/test_batch.py +283 -0
  1579. openjarvisai-0.1.0/tests/telemetry/test_derived_metrics.py +193 -0
  1580. openjarvisai-0.1.0/tests/telemetry/test_efficiency.py +191 -0
  1581. openjarvisai-0.1.0/tests/telemetry/test_energy_amd.py +188 -0
  1582. openjarvisai-0.1.0/tests/telemetry/test_energy_apple.py +173 -0
  1583. openjarvisai-0.1.0/tests/telemetry/test_energy_monitor.py +244 -0
  1584. openjarvisai-0.1.0/tests/telemetry/test_energy_nvidia.py +360 -0
  1585. openjarvisai-0.1.0/tests/telemetry/test_energy_rapl.py +255 -0
  1586. openjarvisai-0.1.0/tests/telemetry/test_energy_wiring.py +1021 -0
  1587. openjarvisai-0.1.0/tests/telemetry/test_flops_new.py +93 -0
  1588. openjarvisai-0.1.0/tests/telemetry/test_gpu_monitor.py +387 -0
  1589. openjarvisai-0.1.0/tests/telemetry/test_instrumented_engine.py +161 -0
  1590. openjarvisai-0.1.0/tests/telemetry/test_itl_metrics.py +355 -0
  1591. openjarvisai-0.1.0/tests/telemetry/test_itl_new.py +68 -0
  1592. openjarvisai-0.1.0/tests/telemetry/test_phase_energy.py +231 -0
  1593. openjarvisai-0.1.0/tests/telemetry/test_phase_metrics_new.py +51 -0
  1594. openjarvisai-0.1.0/tests/telemetry/test_session.py +95 -0
  1595. openjarvisai-0.1.0/tests/telemetry/test_steady_state.py +161 -0
  1596. openjarvisai-0.1.0/tests/telemetry/test_store.py +82 -0
  1597. openjarvisai-0.1.0/tests/telemetry/test_store_tokens_per_joule.py +65 -0
  1598. openjarvisai-0.1.0/tests/telemetry/test_telemetry_record.py +20 -0
  1599. openjarvisai-0.1.0/tests/telemetry/test_vllm_metrics.py +202 -0
  1600. openjarvisai-0.1.0/tests/telemetry/test_wrapper.py +112 -0
  1601. openjarvisai-0.1.0/tests/templates/__init__.py +0 -0
  1602. openjarvisai-0.1.0/tests/templates/test_agent_templates.py +66 -0
  1603. openjarvisai-0.1.0/tests/test_digest_integration.py +79 -0
  1604. openjarvisai-0.1.0/tests/test_orchestrator_learning/__init__.py +1 -0
  1605. openjarvisai-0.1.0/tests/test_orchestrator_learning/test_environment.py +124 -0
  1606. openjarvisai-0.1.0/tests/test_orchestrator_learning/test_grpo_trainer.py +103 -0
  1607. openjarvisai-0.1.0/tests/test_orchestrator_learning/test_orchestrator_structured.py +183 -0
  1608. openjarvisai-0.1.0/tests/test_orchestrator_learning/test_policy_model.py +120 -0
  1609. openjarvisai-0.1.0/tests/test_orchestrator_learning/test_prompt_registry.py +69 -0
  1610. openjarvisai-0.1.0/tests/test_orchestrator_learning/test_reward.py +143 -0
  1611. openjarvisai-0.1.0/tests/test_orchestrator_learning/test_sft_trainer.py +132 -0
  1612. openjarvisai-0.1.0/tests/test_orchestrator_learning/test_types.py +242 -0
  1613. openjarvisai-0.1.0/tests/tools/__init__.py +0 -0
  1614. openjarvisai-0.1.0/tests/tools/test_agent_tools.py +252 -0
  1615. openjarvisai-0.1.0/tests/tools/test_apply_patch.py +196 -0
  1616. openjarvisai-0.1.0/tests/tools/test_audio_tool.py +197 -0
  1617. openjarvisai-0.1.0/tests/tools/test_browser.py +906 -0
  1618. openjarvisai-0.1.0/tests/tools/test_browser_axtree.py +121 -0
  1619. openjarvisai-0.1.0/tests/tools/test_calculator.py +112 -0
  1620. openjarvisai-0.1.0/tests/tools/test_channel_tools.py +223 -0
  1621. openjarvisai-0.1.0/tests/tools/test_code_interpreter.py +132 -0
  1622. openjarvisai-0.1.0/tests/tools/test_code_interpreter_docker.py +149 -0
  1623. openjarvisai-0.1.0/tests/tools/test_db_query.py +283 -0
  1624. openjarvisai-0.1.0/tests/tools/test_digest_collect.py +60 -0
  1625. openjarvisai-0.1.0/tests/tools/test_file_read.py +95 -0
  1626. openjarvisai-0.1.0/tests/tools/test_file_write.py +135 -0
  1627. openjarvisai-0.1.0/tests/tools/test_git_tool.py +539 -0
  1628. openjarvisai-0.1.0/tests/tools/test_http_request.py +274 -0
  1629. openjarvisai-0.1.0/tests/tools/test_image_tool.py +150 -0
  1630. openjarvisai-0.1.0/tests/tools/test_knowledge_graph.py +135 -0
  1631. openjarvisai-0.1.0/tests/tools/test_knowledge_search.py +155 -0
  1632. openjarvisai-0.1.0/tests/tools/test_knowledge_sql.py +90 -0
  1633. openjarvisai-0.1.0/tests/tools/test_llm_tool.py +67 -0
  1634. openjarvisai-0.1.0/tests/tools/test_mcp_adapter.py +158 -0
  1635. openjarvisai-0.1.0/tests/tools/test_memory_manage.py +50 -0
  1636. openjarvisai-0.1.0/tests/tools/test_pdf_tool.py +197 -0
  1637. openjarvisai-0.1.0/tests/tools/test_repl.py +264 -0
  1638. openjarvisai-0.1.0/tests/tools/test_retrieval.py +110 -0
  1639. openjarvisai-0.1.0/tests/tools/test_scan_chunks.py +72 -0
  1640. openjarvisai-0.1.0/tests/tools/test_shell_exec.py +275 -0
  1641. openjarvisai-0.1.0/tests/tools/test_skill_manage.py +88 -0
  1642. openjarvisai-0.1.0/tests/tools/test_storage_stubs.py +86 -0
  1643. openjarvisai-0.1.0/tests/tools/test_storage_tools.py +225 -0
  1644. openjarvisai-0.1.0/tests/tools/test_stubs.py +198 -0
  1645. openjarvisai-0.1.0/tests/tools/test_templates.py +161 -0
  1646. openjarvisai-0.1.0/tests/tools/test_text_to_speech.py +53 -0
  1647. openjarvisai-0.1.0/tests/tools/test_think.py +37 -0
  1648. openjarvisai-0.1.0/tests/tools/test_tool_descriptions.py +181 -0
  1649. openjarvisai-0.1.0/tests/tools/test_tool_registration.py +102 -0
  1650. openjarvisai-0.1.0/tests/tools/test_tool_timeout.py +112 -0
  1651. openjarvisai-0.1.0/tests/tools/test_user_profile_manage.py +39 -0
  1652. openjarvisai-0.1.0/tests/tools/test_web_search.py +427 -0
  1653. openjarvisai-0.1.0/tests/workflow/test_workflow.py +152 -0
  1654. openjarvisai-0.1.0/uv.lock +9933 -0
@@ -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 `jarvis 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/open-jarvis/OpenJarvis/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 OpenJarvis 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,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": "",
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,95 @@
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@v4
18
+
19
+ - name: Set up Python
20
+ uses: actions/setup-python@v5
21
+ with:
22
+ python-version: "3.12"
23
+
24
+ - name: Install uv
25
+ uses: astral-sh/setup-uv@v4
26
+
27
+ - name: Install dependencies
28
+ run: uv sync --extra dev
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@v4
37
+
38
+ - name: Set up Python
39
+ uses: actions/setup-python@v5
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@v4
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@v4
58
+
59
+ - name: Install dependencies
60
+ run: uv sync --extra dev
61
+
62
+ - name: Build Rust extension
63
+ run: uv run maturin develop --manifest-path rust/crates/openjarvis-python/Cargo.toml
64
+
65
+ - name: Run tests
66
+ run: uv run pytest tests/ -v --tb=short -m "not live and not cloud"
67
+
68
+ rust:
69
+ runs-on: ubuntu-latest
70
+ defaults:
71
+ run:
72
+ working-directory: rust
73
+ steps:
74
+ - uses: actions/checkout@v4
75
+
76
+ - name: Install Rust toolchain
77
+ uses: dtolnay/rust-toolchain@stable
78
+ with:
79
+ components: clippy
80
+
81
+ - name: Cargo cache
82
+ uses: actions/cache@v4
83
+ with:
84
+ path: |
85
+ ~/.cargo/registry
86
+ ~/.cargo/git
87
+ rust/target
88
+ key: rust-${{ runner.os }}-${{ hashFiles('rust/Cargo.lock') }}
89
+ restore-keys: rust-${{ runner.os }}-
90
+
91
+ - name: Clippy
92
+ run: cargo clippy --workspace --all-targets -- -D warnings
93
+
94
+ - name: Test
95
+ run: cargo test --workspace
@@ -0,0 +1,75 @@
1
+ name: Claude Issue Fixer
2
+
3
+ on:
4
+ issues:
5
+ types: [opened, labeled]
6
+ issue_comment:
7
+ types: [created]
8
+ workflow_dispatch:
9
+
10
+ concurrency:
11
+ group: claude-issues-${{ github.event.issue.number || github.run_id }}
12
+ cancel-in-progress: true
13
+
14
+ permissions:
15
+ contents: write
16
+ pull-requests: write
17
+ issues: write
18
+ id-token: write
19
+
20
+ jobs:
21
+ fix:
22
+ runs-on: ubuntu-latest
23
+ timeout-minutes: 60
24
+ if: |
25
+ github.event_name == 'workflow_dispatch' ||
26
+ (github.event_name == 'issues' &&
27
+ (contains(github.event.issue.labels.*.name, 'bug') ||
28
+ contains(github.event.issue.labels.*.name, 'autofix'))) ||
29
+ (github.event_name == 'issue_comment' &&
30
+ !github.event.issue.pull_request &&
31
+ contains(github.event.comment.body, '@claude') &&
32
+ github.actor != 'claude[bot]')
33
+ steps:
34
+ - uses: actions/checkout@v4
35
+ with:
36
+ fetch-depth: 0
37
+
38
+ - uses: anthropics/claude-code-action@v1
39
+ with:
40
+ anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
41
+ github_token: ${{ secrets.GITHUB_TOKEN }}
42
+ prompt: |
43
+ You are an automated issue fixer for the OpenJarvis repository. Follow these steps in order:
44
+
45
+ ## Step 1: Diagnose
46
+ Read the issue thoroughly. Explore the codebase to understand the problem. If this is a bug report, attempt to reproduce it. Identify the root cause and affected files.
47
+
48
+ ## Step 2: Comment your plan
49
+ BEFORE making any code changes, post a comment on this issue describing:
50
+ - Your root cause analysis
51
+ - Which files need to change and why
52
+ - Your implementation approach
53
+
54
+ ## Step 3: Implement
55
+ Create a branch named `claude/issue-${{ github.event.issue.number }}` and make the changes. Use conventional commit messages that reference the issue, e.g.:
56
+ `fix: handle empty tool responses in orchestrator (fixes #${{ github.event.issue.number }})`
57
+
58
+ ## Step 4: Test
59
+ Run these commands and ensure both pass:
60
+ - `uv run ruff check src/ tests/` (linting)
61
+ - `uv run pytest tests/ -v --tb=short` (tests)
62
+
63
+ If tests fail, fix the issues before proceeding. If you added new functionality, add corresponding tests in `tests/` mirroring the `src/` directory structure.
64
+
65
+ ## Step 5: Open PR
66
+ Create a pull request that:
67
+ - Links back to this issue (include `Fixes #${{ github.event.issue.number }}` in the PR body)
68
+ - Describes what was changed and why
69
+ - Includes a summary of test results
70
+
71
+ ## If you cannot fix it
72
+ If you cannot reproduce the issue, cannot determine the root cause, or the fix is beyond your capabilities, post a comment explaining:
73
+ - What you investigated
74
+ - What you found (or didn't find)
75
+ - What additional information you need from the reporter
@@ -0,0 +1,51 @@
1
+ name: Claude PR Review
2
+
3
+ on:
4
+ pull_request:
5
+ types: [opened, synchronize]
6
+ issue_comment:
7
+ types: [created]
8
+ pull_request_review_comment:
9
+ types: [created]
10
+ workflow_dispatch:
11
+
12
+ concurrency:
13
+ group: claude-review-${{ github.event.pull_request.number || github.event.issue.number || github.run_id }}
14
+ cancel-in-progress: true
15
+
16
+ permissions:
17
+ contents: read
18
+ pull-requests: write
19
+ issues: write
20
+ id-token: write
21
+
22
+ jobs:
23
+ review:
24
+ runs-on: ubuntu-latest
25
+ timeout-minutes: 30
26
+ if: |
27
+ github.event_name == 'pull_request' ||
28
+ github.event_name == 'workflow_dispatch' ||
29
+ (github.event_name == 'issue_comment' &&
30
+ github.event.issue.pull_request &&
31
+ contains(github.event.comment.body, '@claude') &&
32
+ github.actor != 'claude[bot]') ||
33
+ (github.event_name == 'pull_request_review_comment' &&
34
+ contains(github.event.comment.body, '@claude') &&
35
+ github.actor != 'claude[bot]')
36
+ steps:
37
+ - uses: actions/checkout@v4
38
+
39
+ - name: Read review instructions
40
+ id: review
41
+ run: |
42
+ EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
43
+ echo "instructions<<$EOF" >> "$GITHUB_OUTPUT"
44
+ cat REVIEW.md >> "$GITHUB_OUTPUT"
45
+ echo "$EOF" >> "$GITHUB_OUTPUT"
46
+
47
+ - uses: anthropics/claude-code-action@v1
48
+ with:
49
+ anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
50
+ github_token: ${{ secrets.GITHUB_TOKEN }}
51
+ prompt: ${{ steps.review.outputs.instructions }}
@@ -0,0 +1,222 @@
1
+ name: Desktop Build & Release
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ paths:
7
+ - 'desktop/**'
8
+ - 'frontend/**'
9
+ - '.github/workflows/desktop.yml'
10
+ tags:
11
+ - 'desktop-v*'
12
+ pull_request:
13
+ branches: [main]
14
+ paths:
15
+ - 'desktop/**'
16
+ - 'frontend/**'
17
+ - '.github/workflows/desktop.yml'
18
+ workflow_dispatch:
19
+
20
+ concurrency:
21
+ group: desktop-${{ github.ref }}
22
+ cancel-in-progress: true
23
+
24
+ permissions:
25
+ contents: write
26
+
27
+ jobs:
28
+ validate:
29
+ runs-on: ubuntu-22.04
30
+
31
+ steps:
32
+ - uses: actions/checkout@v4
33
+
34
+ - name: Install system dependencies
35
+ run: |
36
+ sudo apt-get update
37
+ sudo apt-get install -y \
38
+ libwebkit2gtk-4.1-dev \
39
+ libgtk-3-dev \
40
+ libappindicator3-dev \
41
+ librsvg2-dev \
42
+ patchelf \
43
+ libxdo-dev
44
+
45
+ - name: Setup Node.js
46
+ uses: actions/setup-node@v4
47
+ with:
48
+ node-version: '22'
49
+
50
+ - name: Install frontend dependencies
51
+ working-directory: frontend
52
+ run: npm install
53
+
54
+ - name: Install desktop dependencies
55
+ working-directory: desktop
56
+ run: npm install
57
+
58
+ - name: TypeScript type-check
59
+ working-directory: frontend
60
+ run: npx tsc --noEmit
61
+
62
+ - name: Install Rust stable
63
+ uses: dtolnay/rust-toolchain@stable
64
+
65
+ - name: Rust cache
66
+ uses: swatinem/rust-cache@v2
67
+ with:
68
+ workspaces: 'desktop/src-tauri -> target'
69
+
70
+ - name: Create frontend dist stub
71
+ run: mkdir -p frontend/dist && echo '<html><body></body></html>' > frontend/dist/index.html
72
+
73
+ - name: Cargo check
74
+ working-directory: desktop/src-tauri
75
+ run: cargo check
76
+
77
+ # Remove stale artifacts from the desktop-latest pre-release so that
78
+ # only the current build's files are available for download.
79
+ clean-release:
80
+ needs: [validate]
81
+ if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
82
+ runs-on: ubuntu-latest
83
+ steps:
84
+ - name: Delete old assets from desktop-latest
85
+ if: "!startsWith(github.ref, 'refs/tags/')"
86
+ env:
87
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
88
+ run: |
89
+ TAG="desktop-latest"
90
+ # List all asset IDs on the release and delete them
91
+ ASSET_IDS=$(gh api "repos/${{ github.repository }}/releases/tags/${TAG}" \
92
+ --jq '.assets[].id' 2>/dev/null || true)
93
+ for id in $ASSET_IDS; do
94
+ echo "Deleting asset $id"
95
+ gh api -X DELETE "repos/${{ github.repository }}/releases/assets/$id" || true
96
+ done
97
+
98
+ build-and-release:
99
+ needs: [validate, clean-release]
100
+ if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
101
+
102
+ strategy:
103
+ fail-fast: false
104
+ matrix:
105
+ include:
106
+ - platform: ubuntu-22.04
107
+ args: ''
108
+ - platform: macos-14
109
+ args: '--target universal-apple-darwin'
110
+ - platform: windows-latest
111
+ args: ''
112
+
113
+ runs-on: ${{ matrix.platform }}
114
+
115
+ steps:
116
+ - uses: actions/checkout@v4
117
+
118
+ - name: Install system dependencies (Linux)
119
+ if: matrix.platform == 'ubuntu-22.04'
120
+ run: |
121
+ sudo apt-get update
122
+ sudo apt-get install -y \
123
+ libwebkit2gtk-4.1-dev \
124
+ libgtk-3-dev \
125
+ libappindicator3-dev \
126
+ librsvg2-dev \
127
+ patchelf \
128
+ libxdo-dev
129
+
130
+ - name: Install Rust stable
131
+ uses: dtolnay/rust-toolchain@stable
132
+ with:
133
+ targets: ${{ matrix.platform == 'macos-14' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
134
+
135
+ - name: Rust cache
136
+ uses: swatinem/rust-cache@v2
137
+ with:
138
+ workspaces: 'desktop/src-tauri -> target'
139
+
140
+ - name: Setup Node.js
141
+ uses: actions/setup-node@v4
142
+ with:
143
+ node-version: '22'
144
+
145
+ - name: Install frontend dependencies
146
+ working-directory: frontend
147
+ run: npm install
148
+
149
+ - name: Install desktop dependencies
150
+ working-directory: desktop
151
+ run: npm install
152
+
153
+ - name: Download Ollama sidecar
154
+ shell: bash
155
+ run: |
156
+ cd desktop/scripts && chmod +x download-ollama.sh
157
+ if [[ "${{ matrix.platform }}" == "macos-14" ]]; then
158
+ ./download-ollama.sh aarch64-apple-darwin
159
+ ./download-ollama.sh x86_64-apple-darwin
160
+ else
161
+ ./download-ollama.sh
162
+ fi
163
+
164
+ - name: Determine release info
165
+ id: release-info
166
+ shell: bash
167
+ run: |
168
+ if [[ "${{ github.ref }}" == refs/tags/desktop-v* ]]; then
169
+ echo "tag=${{ github.ref_name }}" >> "$GITHUB_OUTPUT"
170
+ echo "name=Desktop ${{ github.ref_name }}" >> "$GITHUB_OUTPUT"
171
+ echo "prerelease=false" >> "$GITHUB_OUTPUT"
172
+ else
173
+ echo "tag=desktop-latest" >> "$GITHUB_OUTPUT"
174
+ echo "name=Desktop (Latest Build)" >> "$GITHUB_OUTPUT"
175
+ echo "prerelease=true" >> "$GITHUB_OUTPUT"
176
+ fi
177
+
178
+ - name: Configure Apple signing
179
+ if: runner.os == 'macOS'
180
+ env:
181
+ CERT: ${{ secrets.APPLE_CERTIFICATE }}
182
+ CERT_PASS: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
183
+ SIGN_ID: ${{ secrets.APPLE_SIGNING_IDENTITY }}
184
+ A_ID: ${{ secrets.APPLE_ID }}
185
+ A_PASS: ${{ secrets.APPLE_PASSWORD }}
186
+ A_TEAM: ${{ secrets.APPLE_TEAM_ID }}
187
+ shell: bash
188
+ run: |
189
+ if [ -n "$CERT" ]; then
190
+ echo "APPLE_CERTIFICATE=$CERT" >> "$GITHUB_ENV"
191
+ echo "APPLE_CERTIFICATE_PASSWORD=$CERT_PASS" >> "$GITHUB_ENV"
192
+ echo "APPLE_SIGNING_IDENTITY=$SIGN_ID" >> "$GITHUB_ENV"
193
+ echo "APPLE_ID=$A_ID" >> "$GITHUB_ENV"
194
+ echo "APPLE_PASSWORD=$A_PASS" >> "$GITHUB_ENV"
195
+ echo "APPLE_TEAM_ID=$A_TEAM" >> "$GITHUB_ENV"
196
+ echo "Apple signing configured"
197
+ else
198
+ if [[ "${{ github.ref }}" == refs/tags/* ]]; then
199
+ echo "::error::Apple signing secrets are required for release builds"
200
+ exit 1
201
+ fi
202
+ echo "No Apple certificate configured, skipping code signing"
203
+ fi
204
+
205
+ - name: Build and release
206
+ timeout-minutes: 120
207
+ uses: tauri-apps/tauri-action@v0
208
+ env:
209
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
210
+ TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
211
+ TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
212
+ TAURI_CONFIG: '{"bundle":{"externalBin":["binaries/ollama"]}}'
213
+ with:
214
+ projectPath: desktop
215
+ tauriScript: npx tauri
216
+ tagName: ${{ steps.release-info.outputs.tag }}
217
+ releaseName: ${{ steps.release-info.outputs.name }}
218
+ releaseBody: 'Desktop application built from ${{ github.sha }}'
219
+ releaseDraft: false
220
+ prerelease: ${{ steps.release-info.outputs.prerelease }}
221
+ includeUpdaterJson: true
222
+ args: ${{ matrix.args }}