OpenJarvis 0.1.1__py3-none-any.whl

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 (766) hide show
  1. _node_modules/claude_code_runner/package.json +8 -0
  2. _node_modules/claude_code_runner/src/index.ts +157 -0
  3. _node_modules/whatsapp_baileys_bridge/package-lock.json +1351 -0
  4. _node_modules/whatsapp_baileys_bridge/package.json +17 -0
  5. _node_modules/whatsapp_baileys_bridge/src/bridge.ts +156 -0
  6. _node_modules/whatsapp_baileys_bridge/tsconfig.json +13 -0
  7. openjarvis/__init__.py +9 -0
  8. openjarvis/_rust_bridge.py +180 -0
  9. openjarvis/a2a/__init__.py +16 -0
  10. openjarvis/a2a/client.py +115 -0
  11. openjarvis/a2a/protocol.py +116 -0
  12. openjarvis/a2a/server.py +132 -0
  13. openjarvis/a2a/tool.py +81 -0
  14. openjarvis/agents/__init__.py +91 -0
  15. openjarvis/agents/_stubs.py +358 -0
  16. openjarvis/agents/channel_agent.py +148 -0
  17. openjarvis/agents/claude_code.py +247 -0
  18. openjarvis/agents/claude_code_runner/package.json +8 -0
  19. openjarvis/agents/claude_code_runner/src/index.ts +157 -0
  20. openjarvis/agents/deep_research.py +370 -0
  21. openjarvis/agents/digest_store.py +153 -0
  22. openjarvis/agents/errors.py +101 -0
  23. openjarvis/agents/executor.py +652 -0
  24. openjarvis/agents/loop_guard.py +243 -0
  25. openjarvis/agents/manager.py +695 -0
  26. openjarvis/agents/monitor_operative.py +613 -0
  27. openjarvis/agents/morning_digest.py +248 -0
  28. openjarvis/agents/native_openhands.py +429 -0
  29. openjarvis/agents/native_react.py +238 -0
  30. openjarvis/agents/openhands.py +86 -0
  31. openjarvis/agents/operative.py +319 -0
  32. openjarvis/agents/orchestrator.py +376 -0
  33. openjarvis/agents/react.py +6 -0
  34. openjarvis/agents/rlm.py +361 -0
  35. openjarvis/agents/rlm_repl.py +183 -0
  36. openjarvis/agents/scheduler.py +290 -0
  37. openjarvis/agents/simple.py +35 -0
  38. openjarvis/agents/templates/__init__.py +0 -0
  39. openjarvis/agents/templates/code_reviewer.toml +48 -0
  40. openjarvis/agents/templates/inbox_triager.toml +44 -0
  41. openjarvis/agents/templates/personal_deep_research.toml +12 -0
  42. openjarvis/agents/templates/research_monitor.toml +45 -0
  43. openjarvis/bench/__init__.py +29 -0
  44. openjarvis/bench/_stats.py +35 -0
  45. openjarvis/bench/_stubs.py +116 -0
  46. openjarvis/bench/energy.py +162 -0
  47. openjarvis/bench/latency.py +92 -0
  48. openjarvis/bench/throughput.py +101 -0
  49. openjarvis/channels/__init__.py +58 -0
  50. openjarvis/channels/_stubs.py +78 -0
  51. openjarvis/channels/bluebubbles.py +134 -0
  52. openjarvis/channels/discord_channel.py +201 -0
  53. openjarvis/channels/email_channel.py +243 -0
  54. openjarvis/channels/feishu.py +165 -0
  55. openjarvis/channels/gmail.py +305 -0
  56. openjarvis/channels/google_chat.py +127 -0
  57. openjarvis/channels/imessage_daemon.py +183 -0
  58. openjarvis/channels/irc_channel.py +145 -0
  59. openjarvis/channels/line_channel.py +156 -0
  60. openjarvis/channels/mastodon_channel.py +157 -0
  61. openjarvis/channels/matrix_channel.py +141 -0
  62. openjarvis/channels/mattermost.py +138 -0
  63. openjarvis/channels/messenger_channel.py +136 -0
  64. openjarvis/channels/nostr_channel.py +164 -0
  65. openjarvis/channels/reddit_channel.py +171 -0
  66. openjarvis/channels/rocketchat_channel.py +169 -0
  67. openjarvis/channels/sendblue.py +228 -0
  68. openjarvis/channels/signal_channel.py +133 -0
  69. openjarvis/channels/slack.py +226 -0
  70. openjarvis/channels/slack_daemon.py +213 -0
  71. openjarvis/channels/teams.py +145 -0
  72. openjarvis/channels/telegram.py +224 -0
  73. openjarvis/channels/twilio_sms.py +140 -0
  74. openjarvis/channels/twitch_channel.py +164 -0
  75. openjarvis/channels/twitter.py +250 -0
  76. openjarvis/channels/viber_channel.py +146 -0
  77. openjarvis/channels/webchat.py +114 -0
  78. openjarvis/channels/webhook.py +143 -0
  79. openjarvis/channels/whatsapp.py +143 -0
  80. openjarvis/channels/whatsapp_baileys.py +340 -0
  81. openjarvis/channels/whatsapp_baileys_bridge/package-lock.json +1351 -0
  82. openjarvis/channels/whatsapp_baileys_bridge/package.json +17 -0
  83. openjarvis/channels/whatsapp_baileys_bridge/src/bridge.ts +156 -0
  84. openjarvis/channels/whatsapp_baileys_bridge/tsconfig.json +13 -0
  85. openjarvis/channels/xmpp_channel.py +153 -0
  86. openjarvis/channels/zulip_channel.py +169 -0
  87. openjarvis/cli/__init__.py +123 -0
  88. openjarvis/cli/__main__.py +6 -0
  89. openjarvis/cli/_tool_names.py +40 -0
  90. openjarvis/cli/_version_check.py +89 -0
  91. openjarvis/cli/add_cmd.py +138 -0
  92. openjarvis/cli/agent_cmd.py +750 -0
  93. openjarvis/cli/ask.py +591 -0
  94. openjarvis/cli/auth_cmd.py +71 -0
  95. openjarvis/cli/bench_cmd.py +487 -0
  96. openjarvis/cli/channel_cmd.py +266 -0
  97. openjarvis/cli/channels_cmd.py +153 -0
  98. openjarvis/cli/chat_cmd.py +216 -0
  99. openjarvis/cli/compose_cmd.py +483 -0
  100. openjarvis/cli/config_cmd.py +375 -0
  101. openjarvis/cli/connect_cmd.py +227 -0
  102. openjarvis/cli/daemon_cmd.py +175 -0
  103. openjarvis/cli/dashboard.py +167 -0
  104. openjarvis/cli/deep_research_setup_cmd.py +439 -0
  105. openjarvis/cli/digest_cmd.py +264 -0
  106. openjarvis/cli/doctor_cmd.py +353 -0
  107. openjarvis/cli/eval_cmd.py +578 -0
  108. openjarvis/cli/feedback_cmd.py +198 -0
  109. openjarvis/cli/gateway_cmd.py +107 -0
  110. openjarvis/cli/hints.py +45 -0
  111. openjarvis/cli/host_cmd.py +392 -0
  112. openjarvis/cli/init_cmd.py +535 -0
  113. openjarvis/cli/log_config.py +86 -0
  114. openjarvis/cli/memory_cmd.py +206 -0
  115. openjarvis/cli/model.py +265 -0
  116. openjarvis/cli/operators_cmd.py +286 -0
  117. openjarvis/cli/optimize_cmd.py +513 -0
  118. openjarvis/cli/quickstart_cmd.py +160 -0
  119. openjarvis/cli/registry_cmd.py +146 -0
  120. openjarvis/cli/scan_cmd.py +522 -0
  121. openjarvis/cli/scheduler_cmd.py +259 -0
  122. openjarvis/cli/serve.py +506 -0
  123. openjarvis/cli/skill_cmd.py +525 -0
  124. openjarvis/cli/telemetry_cmd.py +232 -0
  125. openjarvis/cli/tool_cmd.py +107 -0
  126. openjarvis/cli/tunnel_cmd.py +71 -0
  127. openjarvis/cli/vault_cmd.py +140 -0
  128. openjarvis/cli/workflow_cmd.py +70 -0
  129. openjarvis/connectors/__init__.py +129 -0
  130. openjarvis/connectors/_stubs.py +101 -0
  131. openjarvis/connectors/apple_health.py +419 -0
  132. openjarvis/connectors/apple_music.py +251 -0
  133. openjarvis/connectors/apple_notes.py +291 -0
  134. openjarvis/connectors/attachment_store.py +180 -0
  135. openjarvis/connectors/chunker.py +284 -0
  136. openjarvis/connectors/dropbox.py +375 -0
  137. openjarvis/connectors/embedding_store.py +179 -0
  138. openjarvis/connectors/gcalendar.py +474 -0
  139. openjarvis/connectors/gcontacts.py +368 -0
  140. openjarvis/connectors/gdrive.py +383 -0
  141. openjarvis/connectors/github_notifications.py +111 -0
  142. openjarvis/connectors/gmail.py +402 -0
  143. openjarvis/connectors/gmail_imap.py +247 -0
  144. openjarvis/connectors/google_tasks.py +116 -0
  145. openjarvis/connectors/granola.py +404 -0
  146. openjarvis/connectors/hackernews.py +91 -0
  147. openjarvis/connectors/imessage.py +286 -0
  148. openjarvis/connectors/news_rss.py +162 -0
  149. openjarvis/connectors/notion.py +439 -0
  150. openjarvis/connectors/oauth.py +662 -0
  151. openjarvis/connectors/obsidian.py +235 -0
  152. openjarvis/connectors/oura.py +90 -0
  153. openjarvis/connectors/outlook.py +58 -0
  154. openjarvis/connectors/pipeline.py +204 -0
  155. openjarvis/connectors/retriever.py +301 -0
  156. openjarvis/connectors/scheduler.py +149 -0
  157. openjarvis/connectors/slack_connector.py +479 -0
  158. openjarvis/connectors/spotify.py +157 -0
  159. openjarvis/connectors/store.py +376 -0
  160. openjarvis/connectors/strava.py +173 -0
  161. openjarvis/connectors/sync_engine.py +192 -0
  162. openjarvis/connectors/weather.py +131 -0
  163. openjarvis/connectors/whatsapp.py +298 -0
  164. openjarvis/core/__init__.py +37 -0
  165. openjarvis/core/config.py +1930 -0
  166. openjarvis/core/credentials.py +129 -0
  167. openjarvis/core/events.py +198 -0
  168. openjarvis/core/registry.py +172 -0
  169. openjarvis/core/types.py +277 -0
  170. openjarvis/daemon/__init__.py +1 -0
  171. openjarvis/daemon/gateway.py +39 -0
  172. openjarvis/daemon/service.py +57 -0
  173. openjarvis/daemon/session_expiry.py +33 -0
  174. openjarvis/engine/__init__.py +31 -0
  175. openjarvis/engine/_base.py +65 -0
  176. openjarvis/engine/_discovery.py +124 -0
  177. openjarvis/engine/_openai_compat.py +245 -0
  178. openjarvis/engine/_stubs.py +123 -0
  179. openjarvis/engine/apple_fm_shim.py +164 -0
  180. openjarvis/engine/cloud.py +1359 -0
  181. openjarvis/engine/gemma_cpp.py +179 -0
  182. openjarvis/engine/litellm.py +146 -0
  183. openjarvis/engine/multi.py +127 -0
  184. openjarvis/engine/nexa_shim.py +164 -0
  185. openjarvis/engine/ollama.py +257 -0
  186. openjarvis/engine/openai_compat_engines.py +28 -0
  187. openjarvis/evals/__init__.py +1 -0
  188. openjarvis/evals/__main__.py +6 -0
  189. openjarvis/evals/backends/__init__.py +1 -0
  190. openjarvis/evals/backends/jarvis_agent.py +160 -0
  191. openjarvis/evals/backends/jarvis_direct.py +102 -0
  192. openjarvis/evals/backends/tb_agent.py +32 -0
  193. openjarvis/evals/backends/terminalbench_native.py +124 -0
  194. openjarvis/evals/cli.py +1442 -0
  195. openjarvis/evals/configs/deepplanning-monitor-operative.toml +42 -0
  196. openjarvis/evals/configs/full-suite.toml +63 -0
  197. openjarvis/evals/configs/gaia-gemini-31-pro.toml +29 -0
  198. openjarvis/evals/configs/gaia-gemma4-26b.toml +31 -0
  199. openjarvis/evals/configs/gaia-gpt54.toml +29 -0
  200. openjarvis/evals/configs/gaia-nemotron-nano.toml +30 -0
  201. openjarvis/evals/configs/gaia-nemotron-super.toml +30 -0
  202. openjarvis/evals/configs/gaia-nemotron3-super.toml +31 -0
  203. openjarvis/evals/configs/gaia-qwen-122b.toml +30 -0
  204. openjarvis/evals/configs/gaia-qwen-27b.toml +30 -0
  205. openjarvis/evals/configs/gaia-qwen-2b.toml +31 -0
  206. openjarvis/evals/configs/gaia-qwen-35b.toml +30 -0
  207. openjarvis/evals/configs/gaia-qwen-9b.toml +31 -0
  208. openjarvis/evals/configs/gaia-qwen122b.toml +30 -0
  209. openjarvis/evals/configs/gaia-qwen35b.toml +30 -0
  210. openjarvis/evals/configs/gaia-rerun-claude-opus.toml +29 -0
  211. openjarvis/evals/configs/gaia-rerun-claude-sonnet.toml +29 -0
  212. openjarvis/evals/configs/gaia-rerun-glm47flash.toml +30 -0
  213. openjarvis/evals/configs/gaia-rerun-gpt5mini.toml +29 -0
  214. openjarvis/evals/configs/gaia-rerun-minimax-m25.toml +30 -0
  215. openjarvis/evals/configs/gaia-rerun-qwen122b.toml +32 -0
  216. openjarvis/evals/configs/gaia-rerun-qwen35b.toml +30 -0
  217. openjarvis/evals/configs/gaia-rerun-qwen397b.toml +30 -0
  218. openjarvis/evals/configs/gaia-trinity-large.toml +34 -0
  219. openjarvis/evals/configs/glm-4.7-flash-openhands-remaining.toml +60 -0
  220. openjarvis/evals/configs/glm-4.7-flash-openhands.toml +69 -0
  221. openjarvis/evals/configs/glm-4.7-fp8-openhands-gaia.toml +43 -0
  222. openjarvis/evals/configs/glm5-fp8-monitor-operative.toml +74 -0
  223. openjarvis/evals/configs/kimi-k2.5-monitor-operative.toml +74 -0
  224. openjarvis/evals/configs/livecodebench-claude-opus.toml +30 -0
  225. openjarvis/evals/configs/livecodebench-gemma4-26b.toml +30 -0
  226. openjarvis/evals/configs/livecodebench-gemma4-e4b.toml +30 -0
  227. openjarvis/evals/configs/livecodebench-kimi-k25.toml +39 -0
  228. openjarvis/evals/configs/livecodebench-minimax-m25.toml +36 -0
  229. openjarvis/evals/configs/livecodebench-nemotron-nano.toml +30 -0
  230. openjarvis/evals/configs/livecodebench-nemotron-super.toml +28 -0
  231. openjarvis/evals/configs/livecodebench-qwen-122b.toml +28 -0
  232. openjarvis/evals/configs/livecodebench-qwen-27b.toml +30 -0
  233. openjarvis/evals/configs/livecodebench-qwen-2b.toml +30 -0
  234. openjarvis/evals/configs/livecodebench-qwen-35b.toml +28 -0
  235. openjarvis/evals/configs/liveresearch-claude-opus.toml +29 -0
  236. openjarvis/evals/configs/liveresearch-gemma4-26b.toml +31 -0
  237. openjarvis/evals/configs/liveresearch-nemotron-nano.toml +30 -0
  238. openjarvis/evals/configs/liveresearch-nemotron-super.toml +30 -0
  239. openjarvis/evals/configs/liveresearch-qwen-122b.toml +30 -0
  240. openjarvis/evals/configs/liveresearch-qwen-27b.toml +30 -0
  241. openjarvis/evals/configs/liveresearch-qwen-2b.toml +31 -0
  242. openjarvis/evals/configs/liveresearch-qwen-35b.toml +30 -0
  243. openjarvis/evals/configs/liveresearch-qwen-9b.toml +31 -0
  244. openjarvis/evals/configs/liveresearch-trinity-large.toml +34 -0
  245. openjarvis/evals/configs/long-horizon-claude-opus.toml +51 -0
  246. openjarvis/evals/configs/long-horizon-claude-sonnet.toml +51 -0
  247. openjarvis/evals/configs/long-horizon-glm47flash.toml +58 -0
  248. openjarvis/evals/configs/long-horizon-gpt5mini.toml +51 -0
  249. openjarvis/evals/configs/long-horizon-kimik25.toml +60 -0
  250. openjarvis/evals/configs/long-horizon-minimax-m25.toml +58 -0
  251. openjarvis/evals/configs/long-horizon-qwen122b.toml +58 -0
  252. openjarvis/evals/configs/long-horizon-qwen35b.toml +58 -0
  253. openjarvis/evals/configs/long-horizon-qwen397b.toml +58 -0
  254. openjarvis/evals/configs/minimal.toml +7 -0
  255. openjarvis/evals/configs/paperarena-monitor-operative.toml +42 -0
  256. openjarvis/evals/configs/pinchbench-claude-opus.toml +34 -0
  257. openjarvis/evals/configs/pinchbench-gemini-31-pro.toml +34 -0
  258. openjarvis/evals/configs/pinchbench-gemma4-26b.toml +35 -0
  259. openjarvis/evals/configs/pinchbench-gemma4-e4b.toml +35 -0
  260. openjarvis/evals/configs/pinchbench-gpt54.toml +34 -0
  261. openjarvis/evals/configs/pinchbench-kimi-k25.toml +44 -0
  262. openjarvis/evals/configs/pinchbench-minimax-m25.toml +41 -0
  263. openjarvis/evals/configs/pinchbench-nemotron-nano.toml +35 -0
  264. openjarvis/evals/configs/pinchbench-nemotron-super.toml +34 -0
  265. openjarvis/evals/configs/pinchbench-nemotron3-super.toml +35 -0
  266. openjarvis/evals/configs/pinchbench-qwen-122b.toml +34 -0
  267. openjarvis/evals/configs/pinchbench-qwen-27b.toml +35 -0
  268. openjarvis/evals/configs/pinchbench-qwen-2b.toml +35 -0
  269. openjarvis/evals/configs/pinchbench-qwen-35b.toml +34 -0
  270. openjarvis/evals/configs/pinchbench-qwen122b.toml +35 -0
  271. openjarvis/evals/configs/pinchbench-qwen35b.toml +35 -0
  272. openjarvis/evals/configs/pinchbench-qwen397b.toml +35 -0
  273. openjarvis/evals/configs/pinchbench.toml +26 -0
  274. openjarvis/evals/configs/qwen3.5-122b-kg-agentic.toml +42 -0
  275. openjarvis/evals/configs/qwen3.5-122b-kg-hightoken.toml +38 -0
  276. openjarvis/evals/configs/qwen3.5-122b-reasoning-suite.toml +51 -0
  277. openjarvis/evals/configs/qwen3.5-35b-kg.toml +38 -0
  278. openjarvis/evals/configs/qwen3.5-35b-monitor-operative.toml +57 -0
  279. openjarvis/evals/configs/qwen3.5-397b-monitor-operative.toml +42 -0
  280. openjarvis/evals/configs/single-run.toml +31 -0
  281. openjarvis/evals/configs/smoke_amd.toml +106 -0
  282. openjarvis/evals/configs/smoke_apple.toml +79 -0
  283. openjarvis/evals/configs/smoke_nvidia.toml +112 -0
  284. openjarvis/evals/configs/taubench-claude-opus.toml +29 -0
  285. openjarvis/evals/configs/taubench-gemini-31-pro.toml +29 -0
  286. openjarvis/evals/configs/taubench-gemma4-26b.toml +31 -0
  287. openjarvis/evals/configs/taubench-gemma4-e4b.toml +31 -0
  288. openjarvis/evals/configs/taubench-gpt54.toml +29 -0
  289. openjarvis/evals/configs/taubench-kimi-k25.toml +40 -0
  290. openjarvis/evals/configs/taubench-minimax-m25.toml +37 -0
  291. openjarvis/evals/configs/taubench-nemotron-nano.toml +31 -0
  292. openjarvis/evals/configs/taubench-nemotron-super.toml +29 -0
  293. openjarvis/evals/configs/taubench-nemotron3-super.toml +29 -0
  294. openjarvis/evals/configs/taubench-qwen-122b.toml +29 -0
  295. openjarvis/evals/configs/taubench-qwen-27b.toml +31 -0
  296. openjarvis/evals/configs/taubench-qwen-2b.toml +31 -0
  297. openjarvis/evals/configs/taubench-qwen-35b.toml +29 -0
  298. openjarvis/evals/configs/taubench-qwen122b.toml +28 -0
  299. openjarvis/evals/configs/taubench-qwen35b.toml +28 -0
  300. openjarvis/evals/configs/taubench-qwen397b.toml +30 -0
  301. openjarvis/evals/configs/taubench-telecom-claude.toml +27 -0
  302. openjarvis/evals/configs/taubench-telecom-gemma4-26b.toml +29 -0
  303. openjarvis/evals/configs/taubench-telecom-gpt54.toml +27 -0
  304. openjarvis/evals/configs/taubench-telecom-nemotron-nano.toml +28 -0
  305. openjarvis/evals/configs/taubench-telecom-nemotron-super.toml +29 -0
  306. openjarvis/evals/configs/taubench-telecom-nemotron.toml +28 -0
  307. openjarvis/evals/configs/taubench-telecom-qwen-122b.toml +29 -0
  308. openjarvis/evals/configs/taubench-telecom-qwen-27b.toml +28 -0
  309. openjarvis/evals/configs/taubench-telecom-qwen-35b.toml +29 -0
  310. openjarvis/evals/configs/taubench-telecom-qwen27b.toml +29 -0
  311. openjarvis/evals/configs/taubench-telecom-qwen2b.toml +29 -0
  312. openjarvis/evals/configs/taubench-telecom-qwen9b.toml +29 -0
  313. openjarvis/evals/configs/taubench-telecom-trinity-large.toml +28 -0
  314. openjarvis/evals/configs/terminalbench-native-qwen122b.toml +30 -0
  315. openjarvis/evals/configs/terminalbench-qwen122b.toml +30 -0
  316. openjarvis/evals/configs/toolcall15-claude-opus.toml +28 -0
  317. openjarvis/evals/configs/toolcall15-gemma4-26b.toml +29 -0
  318. openjarvis/evals/configs/toolcall15-gemma4-e4b.toml +29 -0
  319. openjarvis/evals/configs/toolcall15-kimi-k25.toml +38 -0
  320. openjarvis/evals/configs/toolcall15-minimax-m25.toml +35 -0
  321. openjarvis/evals/configs/toolcall15-nemotron-nano.toml +29 -0
  322. openjarvis/evals/configs/toolcall15-nemotron-super.toml +28 -0
  323. openjarvis/evals/configs/toolcall15-qwen-122b.toml +28 -0
  324. openjarvis/evals/configs/toolcall15-qwen-27b.toml +29 -0
  325. openjarvis/evals/configs/toolcall15-qwen-2b.toml +29 -0
  326. openjarvis/evals/configs/toolcall15-qwen-35b.toml +28 -0
  327. openjarvis/evals/configs/use_case_cloud_comparison.toml +78 -0
  328. openjarvis/evals/configs/use_case_cloud_openhands.toml +93 -0
  329. openjarvis/evals/configs/use_case_cloud_orchestrator.toml +93 -0
  330. openjarvis/evals/configs/use_case_direct.toml +47 -0
  331. openjarvis/evals/configs/use_case_ibm_granite.toml +56 -0
  332. openjarvis/evals/configs/use_case_openhands.toml +57 -0
  333. openjarvis/evals/configs/use_case_opensource_openhands.toml +101 -0
  334. openjarvis/evals/configs/use_case_opensource_orchestrator.toml +101 -0
  335. openjarvis/evals/configs/use_case_orchestrator.toml +57 -0
  336. openjarvis/evals/configs/use_case_react.toml +57 -0
  337. openjarvis/evals/configs/use_case_suite.toml +48 -0
  338. openjarvis/evals/configs/use_case_v2_cloud.toml +64 -0
  339. openjarvis/evals/configs/use_case_v2_granite.toml +52 -0
  340. openjarvis/evals/configs/use_case_v2_local.toml +60 -0
  341. openjarvis/evals/configs/use_case_v2_suite.toml +57 -0
  342. openjarvis/evals/core/__init__.py +1 -0
  343. openjarvis/evals/core/agentic_runner.py +799 -0
  344. openjarvis/evals/core/backend.py +45 -0
  345. openjarvis/evals/core/config.py +306 -0
  346. openjarvis/evals/core/dataset.py +58 -0
  347. openjarvis/evals/core/display.py +453 -0
  348. openjarvis/evals/core/environment.py +52 -0
  349. openjarvis/evals/core/event_recorder.py +98 -0
  350. openjarvis/evals/core/export.py +418 -0
  351. openjarvis/evals/core/pricing.py +17 -0
  352. openjarvis/evals/core/runner.py +1156 -0
  353. openjarvis/evals/core/scorer.py +55 -0
  354. openjarvis/evals/core/trace.py +279 -0
  355. openjarvis/evals/core/tracker.py +34 -0
  356. openjarvis/evals/core/types.py +273 -0
  357. openjarvis/evals/datasets/__init__.py +1 -0
  358. openjarvis/evals/datasets/ama_bench.py +272 -0
  359. openjarvis/evals/datasets/browser_assistant.py +445 -0
  360. openjarvis/evals/datasets/coding_assistant.py +1632 -0
  361. openjarvis/evals/datasets/coding_task.py +284 -0
  362. openjarvis/evals/datasets/daily_digest.py +688 -0
  363. openjarvis/evals/datasets/deepplanning.py +236 -0
  364. openjarvis/evals/datasets/doc_qa.py +1106 -0
  365. openjarvis/evals/datasets/email_triage.py +334 -0
  366. openjarvis/evals/datasets/frames.py +141 -0
  367. openjarvis/evals/datasets/gaia.py +168 -0
  368. openjarvis/evals/datasets/gpqa.py +146 -0
  369. openjarvis/evals/datasets/hle.py +135 -0
  370. openjarvis/evals/datasets/ipw_mixed.py +195 -0
  371. openjarvis/evals/datasets/knowledge_base.py +227 -0
  372. openjarvis/evals/datasets/lifelong_agent.py +517 -0
  373. openjarvis/evals/datasets/livecodebench.py +277 -0
  374. openjarvis/evals/datasets/liveresearch.py +191 -0
  375. openjarvis/evals/datasets/loghub.py +260 -0
  376. openjarvis/evals/datasets/math500.py +110 -0
  377. openjarvis/evals/datasets/mmlu_pro.py +115 -0
  378. openjarvis/evals/datasets/morning_brief.py +217 -0
  379. openjarvis/evals/datasets/natural_reasoning.py +115 -0
  380. openjarvis/evals/datasets/paperarena.py +169 -0
  381. openjarvis/evals/datasets/pinchbench.py +215 -0
  382. openjarvis/evals/datasets/research_mining.py +266 -0
  383. openjarvis/evals/datasets/security_scanner.py +1074 -0
  384. openjarvis/evals/datasets/simpleqa.py +129 -0
  385. openjarvis/evals/datasets/supergpqa.py +128 -0
  386. openjarvis/evals/datasets/swebench.py +168 -0
  387. openjarvis/evals/datasets/swefficiency.py +173 -0
  388. openjarvis/evals/datasets/taubench.py +259 -0
  389. openjarvis/evals/datasets/terminalbench.py +123 -0
  390. openjarvis/evals/datasets/terminalbench_native.py +187 -0
  391. openjarvis/evals/datasets/toolcall15.py +717 -0
  392. openjarvis/evals/datasets/webchorearena.py +266 -0
  393. openjarvis/evals/datasets/wildchat.py +111 -0
  394. openjarvis/evals/datasets/workarena.py +257 -0
  395. openjarvis/evals/environments/__init__.py +5 -0
  396. openjarvis/evals/environments/base.py +154 -0
  397. openjarvis/evals/environments/lifelong_agent_env.py +1185 -0
  398. openjarvis/evals/execution/__init__.py +1 -0
  399. openjarvis/evals/execution/pinchbench_env.py +161 -0
  400. openjarvis/evals/execution/taubench_env.py +391 -0
  401. openjarvis/evals/execution/terminalbench_env.py +183 -0
  402. openjarvis/evals/execution/webchorearena_env.py +777 -0
  403. openjarvis/evals/execution/workarena_env.py +496 -0
  404. openjarvis/evals/scorers/__init__.py +1 -0
  405. openjarvis/evals/scorers/_checklist.py +172 -0
  406. openjarvis/evals/scorers/ama_bench_judge.py +159 -0
  407. openjarvis/evals/scorers/browser_assistant.py +236 -0
  408. openjarvis/evals/scorers/coding_assistant.py +172 -0
  409. openjarvis/evals/scorers/coding_task.py +142 -0
  410. openjarvis/evals/scorers/daily_digest.py +169 -0
  411. openjarvis/evals/scorers/deepplanning_scorer.py +89 -0
  412. openjarvis/evals/scorers/doc_qa.py +186 -0
  413. openjarvis/evals/scorers/email_triage.py +136 -0
  414. openjarvis/evals/scorers/frames_judge.py +105 -0
  415. openjarvis/evals/scorers/gaia_exact.py +167 -0
  416. openjarvis/evals/scorers/gpqa_mcq.py +106 -0
  417. openjarvis/evals/scorers/hle_judge.py +102 -0
  418. openjarvis/evals/scorers/ipw_mixed.py +111 -0
  419. openjarvis/evals/scorers/knowledge_base.py +118 -0
  420. openjarvis/evals/scorers/lifelong_agent_scorer.py +929 -0
  421. openjarvis/evals/scorers/livecodebench.py +255 -0
  422. openjarvis/evals/scorers/liveresearch.py +316 -0
  423. openjarvis/evals/scorers/loghub_scorer.py +83 -0
  424. openjarvis/evals/scorers/mmlu_pro_mcq.py +106 -0
  425. openjarvis/evals/scorers/morning_brief.py +128 -0
  426. openjarvis/evals/scorers/paperarena_judge.py +162 -0
  427. openjarvis/evals/scorers/pinchbench.py +578 -0
  428. openjarvis/evals/scorers/reasoning_judge.py +166 -0
  429. openjarvis/evals/scorers/research_mining.py +109 -0
  430. openjarvis/evals/scorers/security_scanner.py +263 -0
  431. openjarvis/evals/scorers/simpleqa_judge.py +142 -0
  432. openjarvis/evals/scorers/supergpqa_mcq.py +106 -0
  433. openjarvis/evals/scorers/swebench_structural.py +71 -0
  434. openjarvis/evals/scorers/swefficiency_structural.py +72 -0
  435. openjarvis/evals/scorers/taubench.py +48 -0
  436. openjarvis/evals/scorers/terminalbench_judge.py +109 -0
  437. openjarvis/evals/scorers/terminalbench_native_structural.py +69 -0
  438. openjarvis/evals/scorers/toolcall15.py +606 -0
  439. openjarvis/evals/scorers/webchorearena_scorer.py +94 -0
  440. openjarvis/evals/scorers/wildchat_judge.py +173 -0
  441. openjarvis/evals/scorers/workarena_scorer.py +88 -0
  442. openjarvis/evals/skill_benchmark.py +508 -0
  443. openjarvis/evals/tests/__init__.py +1 -0
  444. openjarvis/evals/tests/conftest.py +154 -0
  445. openjarvis/evals/tests/test_backends.py +139 -0
  446. openjarvis/evals/tests/test_cli_flags.py +19 -0
  447. openjarvis/evals/tests/test_config.py +719 -0
  448. openjarvis/evals/tests/test_display.py +152 -0
  449. openjarvis/evals/tests/test_frames.py +111 -0
  450. openjarvis/evals/tests/test_gaia.py +138 -0
  451. openjarvis/evals/tests/test_runner.py +465 -0
  452. openjarvis/evals/tests/test_supergpqa.py +105 -0
  453. openjarvis/evals/tests/test_types.py +444 -0
  454. openjarvis/evals/tests/test_wildchat.py +117 -0
  455. openjarvis/evals/trackers/__init__.py +23 -0
  456. openjarvis/evals/trackers/sheets_tracker.py +164 -0
  457. openjarvis/evals/trackers/wandb_tracker.py +157 -0
  458. openjarvis/intelligence/__init__.py +11 -0
  459. openjarvis/intelligence/_stubs.py +5 -0
  460. openjarvis/intelligence/model_catalog.py +1024 -0
  461. openjarvis/intelligence/router.py +9 -0
  462. openjarvis/learning/__init__.py +86 -0
  463. openjarvis/learning/_stubs.py +78 -0
  464. openjarvis/learning/agents/__init__.py +3 -0
  465. openjarvis/learning/agents/agent_evolver.py +365 -0
  466. openjarvis/learning/agents/dspy_optimizer.py +208 -0
  467. openjarvis/learning/agents/gepa_optimizer.py +326 -0
  468. openjarvis/learning/agents/skill_discovery.py +204 -0
  469. openjarvis/learning/agents/skill_optimizer.py +312 -0
  470. openjarvis/learning/intelligence/__init__.py +13 -0
  471. openjarvis/learning/intelligence/grpo_trainer.py +373 -0
  472. openjarvis/learning/intelligence/orchestrator/__init__.py +87 -0
  473. openjarvis/learning/intelligence/orchestrator/environment.py +112 -0
  474. openjarvis/learning/intelligence/orchestrator/grpo_trainer.py +491 -0
  475. openjarvis/learning/intelligence/orchestrator/policy_model.py +280 -0
  476. openjarvis/learning/intelligence/orchestrator/prompt_registry.py +345 -0
  477. openjarvis/learning/intelligence/orchestrator/reward.py +217 -0
  478. openjarvis/learning/intelligence/orchestrator/sft_trainer.py +407 -0
  479. openjarvis/learning/intelligence/orchestrator/types.py +334 -0
  480. openjarvis/learning/intelligence/sft_trainer.py +147 -0
  481. openjarvis/learning/learning_orchestrator.py +256 -0
  482. openjarvis/learning/optimize/__init__.py +61 -0
  483. openjarvis/learning/optimize/config.py +102 -0
  484. openjarvis/learning/optimize/configs/qwen3-235b-dry-run.toml +90 -0
  485. openjarvis/learning/optimize/configs/qwen3.5-joint-agentic.toml +91 -0
  486. openjarvis/learning/optimize/feedback/__init__.py +6 -0
  487. openjarvis/learning/optimize/feedback/collector.py +120 -0
  488. openjarvis/learning/optimize/feedback/judge.py +119 -0
  489. openjarvis/learning/optimize/llm_optimizer.py +661 -0
  490. openjarvis/learning/optimize/optimizer.py +437 -0
  491. openjarvis/learning/optimize/personal/__init__.py +17 -0
  492. openjarvis/learning/optimize/personal/dataset.py +54 -0
  493. openjarvis/learning/optimize/personal/scorer.py +50 -0
  494. openjarvis/learning/optimize/personal/synthesizer.py +119 -0
  495. openjarvis/learning/optimize/search_space.py +200 -0
  496. openjarvis/learning/optimize/store.py +508 -0
  497. openjarvis/learning/optimize/trial_runner.py +403 -0
  498. openjarvis/learning/optimize/types.py +253 -0
  499. openjarvis/learning/routing/__init__.py +3 -0
  500. openjarvis/learning/routing/_utils.py +34 -0
  501. openjarvis/learning/routing/complexity.py +257 -0
  502. openjarvis/learning/routing/heuristic_policy.py +15 -0
  503. openjarvis/learning/routing/heuristic_reward.py +56 -0
  504. openjarvis/learning/routing/learned_router.py +236 -0
  505. openjarvis/learning/routing/router.py +174 -0
  506. openjarvis/learning/training/__init__.py +15 -0
  507. openjarvis/learning/training/data.py +221 -0
  508. openjarvis/learning/training/lora.py +430 -0
  509. openjarvis/mcp/__init__.py +26 -0
  510. openjarvis/mcp/client.py +122 -0
  511. openjarvis/mcp/protocol.py +145 -0
  512. openjarvis/mcp/server.py +284 -0
  513. openjarvis/mcp/transport.py +234 -0
  514. openjarvis/operators/__init__.py +7 -0
  515. openjarvis/operators/data/knowledge_curator.toml +45 -0
  516. openjarvis/operators/data/news_digest.toml +47 -0
  517. openjarvis/operators/data/researcher.toml +43 -0
  518. openjarvis/operators/data/system_monitor.toml +42 -0
  519. openjarvis/operators/loader.py +71 -0
  520. openjarvis/operators/manager.py +213 -0
  521. openjarvis/operators/types.py +36 -0
  522. openjarvis/optimize/__init__.py +4 -0
  523. openjarvis/optimize/config.py +4 -0
  524. openjarvis/optimize/feedback/__init__.py +4 -0
  525. openjarvis/optimize/feedback/collector.py +4 -0
  526. openjarvis/optimize/feedback/judge.py +7 -0
  527. openjarvis/optimize/llm_optimizer.py +4 -0
  528. openjarvis/optimize/optimizer.py +4 -0
  529. openjarvis/optimize/personal/__init__.py +4 -0
  530. openjarvis/optimize/personal/dataset.py +4 -0
  531. openjarvis/optimize/personal/scorer.py +4 -0
  532. openjarvis/optimize/personal/synthesizer.py +4 -0
  533. openjarvis/optimize/search_space.py +4 -0
  534. openjarvis/optimize/store.py +4 -0
  535. openjarvis/optimize/trial_runner.py +4 -0
  536. openjarvis/optimize/types.py +7 -0
  537. openjarvis/prompt/__init__.py +1 -0
  538. openjarvis/prompt/builder.py +104 -0
  539. openjarvis/recipes/__init__.py +21 -0
  540. openjarvis/recipes/composer.py +143 -0
  541. openjarvis/recipes/data/coding_assistant.toml +25 -0
  542. openjarvis/recipes/data/coding_benchmark.toml +36 -0
  543. openjarvis/recipes/data/gaia_orchestrator.toml +35 -0
  544. openjarvis/recipes/data/general_assistant.toml +24 -0
  545. openjarvis/recipes/data/monitor_assistant.toml +25 -0
  546. openjarvis/recipes/data/operators/correspondent.toml +14 -0
  547. openjarvis/recipes/data/operators/correspondent_prompt.md +52 -0
  548. openjarvis/recipes/data/operators/inbox_triage.toml +57 -0
  549. openjarvis/recipes/data/operators/news_briefing.toml +57 -0
  550. openjarvis/recipes/data/operators/repo_watcher.toml +64 -0
  551. openjarvis/recipes/data/operators/researcher.toml +14 -0
  552. openjarvis/recipes/data/operators/researcher_prompt.md +45 -0
  553. openjarvis/recipes/data/operators/sentinel.toml +14 -0
  554. openjarvis/recipes/data/operators/sentinel_prompt.md +74 -0
  555. openjarvis/recipes/data/operators/twitter_sentinel.toml +50 -0
  556. openjarvis/recipes/data/research_assistant.toml +24 -0
  557. openjarvis/recipes/data/swebench_openhands.toml +41 -0
  558. openjarvis/recipes/data/terminalbench_react.toml +35 -0
  559. openjarvis/recipes/loader.py +334 -0
  560. openjarvis/sandbox/__init__.py +18 -0
  561. openjarvis/sandbox/mount_security.py +195 -0
  562. openjarvis/sandbox/runner.py +361 -0
  563. openjarvis/sandbox/wasm_runner.py +159 -0
  564. openjarvis/scheduler/__init__.py +6 -0
  565. openjarvis/scheduler/scheduler.py +352 -0
  566. openjarvis/scheduler/store.py +167 -0
  567. openjarvis/scheduler/tools.py +350 -0
  568. openjarvis/sdk.py +623 -0
  569. openjarvis/security/__init__.py +123 -0
  570. openjarvis/security/_stubs.py +28 -0
  571. openjarvis/security/audit.py +266 -0
  572. openjarvis/security/boundary.py +139 -0
  573. openjarvis/security/capabilities.py +190 -0
  574. openjarvis/security/credential_stripper.py +31 -0
  575. openjarvis/security/file_policy.py +67 -0
  576. openjarvis/security/file_utils.py +34 -0
  577. openjarvis/security/guardrails.py +317 -0
  578. openjarvis/security/injection_scanner.py +140 -0
  579. openjarvis/security/rate_limiter.py +107 -0
  580. openjarvis/security/scanner.py +148 -0
  581. openjarvis/security/severity_policy.py +22 -0
  582. openjarvis/security/signing.py +132 -0
  583. openjarvis/security/ssrf.py +79 -0
  584. openjarvis/security/subprocess_sandbox.py +126 -0
  585. openjarvis/security/taint.py +137 -0
  586. openjarvis/security/types.py +104 -0
  587. openjarvis/server/__init__.py +3 -0
  588. openjarvis/server/agent_manager_routes.py +1931 -0
  589. openjarvis/server/api_routes.py +868 -0
  590. openjarvis/server/app.py +302 -0
  591. openjarvis/server/auth_middleware.py +75 -0
  592. openjarvis/server/channel_bridge.py +379 -0
  593. openjarvis/server/cloud_router.py +399 -0
  594. openjarvis/server/comparison.py +451 -0
  595. openjarvis/server/connectors_router.py +555 -0
  596. openjarvis/server/cost_calculator.py +137 -0
  597. openjarvis/server/dashboard.py +435 -0
  598. openjarvis/server/digest_routes.py +124 -0
  599. openjarvis/server/middleware.py +66 -0
  600. openjarvis/server/models.py +131 -0
  601. openjarvis/server/routes.py +771 -0
  602. openjarvis/server/savings.py +198 -0
  603. openjarvis/server/session_store.py +177 -0
  604. openjarvis/server/stream_bridge.py +368 -0
  605. openjarvis/server/upload_router.py +218 -0
  606. openjarvis/server/webhook_routes.py +448 -0
  607. openjarvis/server/ws_bridge.py +82 -0
  608. openjarvis/sessions/__init__.py +5 -0
  609. openjarvis/sessions/compression.py +102 -0
  610. openjarvis/sessions/session.py +363 -0
  611. openjarvis/skills/__init__.py +46 -0
  612. openjarvis/skills/data/backup-files.toml +20 -0
  613. openjarvis/skills/data/calendar-prep.toml +20 -0
  614. openjarvis/skills/data/code-lint.toml +20 -0
  615. openjarvis/skills/data/code-test-gen.toml +25 -0
  616. openjarvis/skills/data/compare-docs.toml +25 -0
  617. openjarvis/skills/data/daily-digest.toml +20 -0
  618. openjarvis/skills/data/data-analyze.toml +25 -0
  619. openjarvis/skills/data/dependency-audit.toml +25 -0
  620. openjarvis/skills/data/email-draft.toml +20 -0
  621. openjarvis/skills/data/file-deduplicator.toml +20 -0
  622. openjarvis/skills/data/file-organizer.toml +25 -0
  623. openjarvis/skills/data/knowledge-extract.toml +20 -0
  624. openjarvis/skills/data/meeting-notes.toml +20 -0
  625. openjarvis/skills/data/pdf-summarize.toml +20 -0
  626. openjarvis/skills/data/search-and-index.toml +25 -0
  627. openjarvis/skills/data/security-scan.toml +20 -0
  628. openjarvis/skills/data/todo-from-notes.toml +20 -0
  629. openjarvis/skills/data/topic-research.toml +25 -0
  630. openjarvis/skills/data/translate-doc.toml +25 -0
  631. openjarvis/skills/data/web-summarize.toml +20 -0
  632. openjarvis/skills/dependency.py +186 -0
  633. openjarvis/skills/executor.py +180 -0
  634. openjarvis/skills/importer.py +195 -0
  635. openjarvis/skills/index.py +99 -0
  636. openjarvis/skills/loader.py +319 -0
  637. openjarvis/skills/manager.py +396 -0
  638. openjarvis/skills/overlay.py +151 -0
  639. openjarvis/skills/parser.py +231 -0
  640. openjarvis/skills/security.py +65 -0
  641. openjarvis/skills/sources/__init__.py +16 -0
  642. openjarvis/skills/sources/base.py +66 -0
  643. openjarvis/skills/sources/github.py +121 -0
  644. openjarvis/skills/sources/hermes.py +130 -0
  645. openjarvis/skills/sources/openclaw.py +129 -0
  646. openjarvis/skills/tool_adapter.py +196 -0
  647. openjarvis/skills/tool_translator.py +114 -0
  648. openjarvis/skills/types.py +62 -0
  649. openjarvis/speech/__init__.py +17 -0
  650. openjarvis/speech/_discovery.py +75 -0
  651. openjarvis/speech/_stubs.py +55 -0
  652. openjarvis/speech/cartesia_tts.py +109 -0
  653. openjarvis/speech/deepgram.py +97 -0
  654. openjarvis/speech/faster_whisper.py +100 -0
  655. openjarvis/speech/kokoro_tts.py +80 -0
  656. openjarvis/speech/openai_tts.py +82 -0
  657. openjarvis/speech/openai_whisper.py +64 -0
  658. openjarvis/speech/tts.py +53 -0
  659. openjarvis/system.py +1289 -0
  660. openjarvis/telemetry/__init__.py +111 -0
  661. openjarvis/telemetry/aggregator.py +425 -0
  662. openjarvis/telemetry/batch.py +126 -0
  663. openjarvis/telemetry/efficiency.py +129 -0
  664. openjarvis/telemetry/energy_amd.py +137 -0
  665. openjarvis/telemetry/energy_apple.py +184 -0
  666. openjarvis/telemetry/energy_monitor.py +176 -0
  667. openjarvis/telemetry/energy_nvidia.py +257 -0
  668. openjarvis/telemetry/energy_rapl.py +197 -0
  669. openjarvis/telemetry/flops.py +101 -0
  670. openjarvis/telemetry/gpu_monitor.py +322 -0
  671. openjarvis/telemetry/instrumented_engine.py +505 -0
  672. openjarvis/telemetry/itl.py +47 -0
  673. openjarvis/telemetry/phase_metrics.py +44 -0
  674. openjarvis/telemetry/session.py +148 -0
  675. openjarvis/telemetry/steady_state.py +129 -0
  676. openjarvis/telemetry/store.py +204 -0
  677. openjarvis/telemetry/vllm_metrics.py +182 -0
  678. openjarvis/telemetry/wrapper.py +57 -0
  679. openjarvis/templates/__init__.py +9 -0
  680. openjarvis/templates/agent_templates.py +106 -0
  681. openjarvis/templates/data/architect.toml +10 -0
  682. openjarvis/templates/data/assistant.toml +10 -0
  683. openjarvis/templates/data/code-reviewer.toml +10 -0
  684. openjarvis/templates/data/data-analyst.toml +10 -0
  685. openjarvis/templates/data/debugger.toml +10 -0
  686. openjarvis/templates/data/deep-researcher.toml +10 -0
  687. openjarvis/templates/data/fact-checker.toml +10 -0
  688. openjarvis/templates/data/inbox-triager.toml +10 -0
  689. openjarvis/templates/data/meeting-prep.toml +10 -0
  690. openjarvis/templates/data/monitor.toml +25 -0
  691. openjarvis/templates/data/note-taker.toml +10 -0
  692. openjarvis/templates/data/security-auditor.toml +10 -0
  693. openjarvis/templates/data/summarizer.toml +10 -0
  694. openjarvis/templates/data/translator.toml +10 -0
  695. openjarvis/templates/data/tutor.toml +10 -0
  696. openjarvis/templates/data/writer.toml +10 -0
  697. openjarvis/tools/__init__.py +144 -0
  698. openjarvis/tools/_stubs.py +392 -0
  699. openjarvis/tools/agent_tools.py +324 -0
  700. openjarvis/tools/apply_patch.py +340 -0
  701. openjarvis/tools/audio_tool.py +180 -0
  702. openjarvis/tools/browser.py +540 -0
  703. openjarvis/tools/browser_axtree.py +137 -0
  704. openjarvis/tools/calculator.py +164 -0
  705. openjarvis/tools/channel_tools.py +189 -0
  706. openjarvis/tools/code_interpreter.py +111 -0
  707. openjarvis/tools/code_interpreter_docker.py +141 -0
  708. openjarvis/tools/db_query.py +357 -0
  709. openjarvis/tools/digest_collect.py +519 -0
  710. openjarvis/tools/file_read.py +139 -0
  711. openjarvis/tools/file_write.py +208 -0
  712. openjarvis/tools/git_tool.py +387 -0
  713. openjarvis/tools/http_request.py +191 -0
  714. openjarvis/tools/image_tool.py +151 -0
  715. openjarvis/tools/knowledge_search.py +182 -0
  716. openjarvis/tools/knowledge_sql.py +130 -0
  717. openjarvis/tools/knowledge_tools.py +294 -0
  718. openjarvis/tools/llm_tool.py +95 -0
  719. openjarvis/tools/mcp_adapter.py +75 -0
  720. openjarvis/tools/memory_manage.py +139 -0
  721. openjarvis/tools/pdf_tool.py +176 -0
  722. openjarvis/tools/repl.py +335 -0
  723. openjarvis/tools/retrieval.py +92 -0
  724. openjarvis/tools/scan_chunks.py +191 -0
  725. openjarvis/tools/shell_exec.py +216 -0
  726. openjarvis/tools/skill_manage.py +152 -0
  727. openjarvis/tools/storage/__init__.py +44 -0
  728. openjarvis/tools/storage/_stubs.py +62 -0
  729. openjarvis/tools/storage/bm25.py +98 -0
  730. openjarvis/tools/storage/chunking.py +154 -0
  731. openjarvis/tools/storage/colbert_backend.py +251 -0
  732. openjarvis/tools/storage/context.py +131 -0
  733. openjarvis/tools/storage/embeddings.py +62 -0
  734. openjarvis/tools/storage/faiss_backend.py +161 -0
  735. openjarvis/tools/storage/hybrid.py +184 -0
  736. openjarvis/tools/storage/ingest.py +246 -0
  737. openjarvis/tools/storage/knowledge_graph.py +316 -0
  738. openjarvis/tools/storage/sqlite.py +130 -0
  739. openjarvis/tools/storage_tools.py +311 -0
  740. openjarvis/tools/templates/__init__.py +5 -0
  741. openjarvis/tools/templates/builtin/base64_encode.toml +11 -0
  742. openjarvis/tools/templates/builtin/date_info.toml +8 -0
  743. openjarvis/tools/templates/builtin/hash_compute.toml +11 -0
  744. openjarvis/tools/templates/builtin/json_transform.toml +11 -0
  745. openjarvis/tools/templates/builtin/regex_extract.toml +14 -0
  746. openjarvis/tools/templates/builtin/text_length.toml +11 -0
  747. openjarvis/tools/templates/builtin/text_lower.toml +11 -0
  748. openjarvis/tools/templates/builtin/text_reverse.toml +11 -0
  749. openjarvis/tools/templates/builtin/text_upper.toml +11 -0
  750. openjarvis/tools/templates/builtin/unit_convert.toml +17 -0
  751. openjarvis/tools/templates/loader.py +205 -0
  752. openjarvis/tools/text_to_speech.py +106 -0
  753. openjarvis/tools/think.py +58 -0
  754. openjarvis/tools/user_profile_manage.py +137 -0
  755. openjarvis/tools/web_search.py +207 -0
  756. openjarvis/workflow/__init__.py +23 -0
  757. openjarvis/workflow/builder.py +150 -0
  758. openjarvis/workflow/engine.py +338 -0
  759. openjarvis/workflow/graph.py +127 -0
  760. openjarvis/workflow/loader.py +84 -0
  761. openjarvis/workflow/types.py +66 -0
  762. openjarvis-0.1.1.dist-info/METADATA +350 -0
  763. openjarvis-0.1.1.dist-info/RECORD +766 -0
  764. openjarvis-0.1.1.dist-info/WHEEL +4 -0
  765. openjarvis-0.1.1.dist-info/entry_points.txt +2 -0
  766. openjarvis-0.1.1.dist-info/licenses/LICENSE +190 -0
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "openjarvis-claude-code-runner",
3
+ "version": "0.1.0",
4
+ "main": "dist/index.js",
5
+ "dependencies": {
6
+ "@anthropic-ai/claude-code": "^0.2"
7
+ }
8
+ }
@@ -0,0 +1,157 @@
1
+ /**
2
+ * OpenJarvis Claude Code Runner
3
+ *
4
+ * Reads a JSON request from stdin, invokes the Claude Agent SDK,
5
+ * and writes sentinel-wrapped JSON output to stdout.
6
+ *
7
+ * Input (JSON on stdin):
8
+ * { prompt, api_key, workspace, allowed_tools, system_prompt, session_id }
9
+ *
10
+ * Output (on stdout, between sentinels):
11
+ * ---OPENJARVIS_OUTPUT_START---
12
+ * { content, tool_results, metadata }
13
+ * ---OPENJARVIS_OUTPUT_END---
14
+ */
15
+
16
+ import { query, type Tool } from "@anthropic-ai/claude-code";
17
+
18
+ const OUTPUT_START = "---OPENJARVIS_OUTPUT_START---";
19
+ const OUTPUT_END = "---OPENJARVIS_OUTPUT_END---";
20
+
21
+ interface RunnerRequest {
22
+ prompt: string;
23
+ api_key: string;
24
+ workspace: string;
25
+ allowed_tools: string[];
26
+ system_prompt: string;
27
+ session_id: string;
28
+ }
29
+
30
+ interface ToolResultEntry {
31
+ tool_name: string;
32
+ content: string;
33
+ success: boolean;
34
+ }
35
+
36
+ interface RunnerResponse {
37
+ content: string;
38
+ tool_results: ToolResultEntry[];
39
+ metadata: Record<string, unknown>;
40
+ }
41
+
42
+ function emitResult(response: RunnerResponse): void {
43
+ console.log(OUTPUT_START);
44
+ console.log(JSON.stringify(response));
45
+ console.log(OUTPUT_END);
46
+ }
47
+
48
+ function emitError(message: string): void {
49
+ emitResult({
50
+ content: message,
51
+ tool_results: [],
52
+ metadata: { error: true },
53
+ });
54
+ }
55
+
56
+ async function readStdin(): Promise<string> {
57
+ return new Promise((resolve, reject) => {
58
+ let data = "";
59
+ process.stdin.setEncoding("utf-8");
60
+ process.stdin.on("data", (chunk: string) => {
61
+ data += chunk;
62
+ });
63
+ process.stdin.on("end", () => {
64
+ resolve(data);
65
+ });
66
+ process.stdin.on("error", (err: Error) => {
67
+ reject(err);
68
+ });
69
+ });
70
+ }
71
+
72
+ async function main(): Promise<void> {
73
+ let request: RunnerRequest;
74
+
75
+ try {
76
+ const raw = await readStdin();
77
+ request = JSON.parse(raw) as RunnerRequest;
78
+ } catch (err) {
79
+ emitError(`Failed to parse input: ${err}`);
80
+ process.exit(1);
81
+ }
82
+
83
+ // Set the API key in the environment for the SDK
84
+ if (request.api_key) {
85
+ process.env.ANTHROPIC_API_KEY = request.api_key;
86
+ }
87
+
88
+ try {
89
+ // Build options for the claude-code SDK query
90
+ const options: Parameters<typeof query>[0] = {
91
+ prompt: request.prompt,
92
+ options: {
93
+ maxTurns: 30,
94
+ },
95
+ };
96
+
97
+ if (request.workspace) {
98
+ options.options!.cwd = request.workspace;
99
+ }
100
+
101
+ if (request.system_prompt) {
102
+ options.options!.systemPrompt = request.system_prompt;
103
+ }
104
+
105
+ if (request.allowed_tools && request.allowed_tools.length > 0) {
106
+ options.options!.allowedTools = request.allowed_tools as Tool[];
107
+ }
108
+
109
+ if (request.session_id) {
110
+ options.options!.sessionId = request.session_id;
111
+ }
112
+
113
+ // Execute the query
114
+ const messages = await query(options);
115
+
116
+ // Extract the final assistant text and any tool results
117
+ let content = "";
118
+ const toolResults: ToolResultEntry[] = [];
119
+
120
+ for (const msg of messages) {
121
+ if (msg.type === "text") {
122
+ content = msg.text;
123
+ } else if (msg.type === "tool_use") {
124
+ toolResults.push({
125
+ tool_name: msg.name,
126
+ content: JSON.stringify(msg.input),
127
+ success: true,
128
+ });
129
+ } else if (msg.type === "tool_result") {
130
+ // Update last tool result with actual output
131
+ if (toolResults.length > 0) {
132
+ const last = toolResults[toolResults.length - 1];
133
+ last.content =
134
+ typeof msg.content === "string"
135
+ ? msg.content
136
+ : JSON.stringify(msg.content);
137
+ last.success = !msg.is_error;
138
+ }
139
+ }
140
+ }
141
+
142
+ emitResult({
143
+ content,
144
+ tool_results: toolResults,
145
+ metadata: {
146
+ message_count: messages.length,
147
+ session_id: request.session_id || undefined,
148
+ },
149
+ });
150
+ } catch (err) {
151
+ const message = err instanceof Error ? err.message : String(err);
152
+ emitError(`Claude Code SDK error: ${message}`);
153
+ process.exit(1);
154
+ }
155
+ }
156
+
157
+ main();