leagent 1.1.3__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 (648) hide show
  1. leagent/__init__.py +5 -0
  2. leagent/agent/__init__.py +130 -0
  3. leagent/agent/base.py +587 -0
  4. leagent/agent/coding_agent.py +461 -0
  5. leagent/agent/controller.py +1888 -0
  6. leagent/agent/current.py +30 -0
  7. leagent/agent/deps.py +935 -0
  8. leagent/agent/executor.py +90 -0
  9. leagent/agent/hooks.py +618 -0
  10. leagent/agent/planner.py +647 -0
  11. leagent/agent/query.py +909 -0
  12. leagent/agent/query_engine.py +736 -0
  13. leagent/agent/recovery.py +472 -0
  14. leagent/agent/runtime_profile.py +101 -0
  15. leagent/agent/script_agent.py +286 -0
  16. leagent/agent/state.py +78 -0
  17. leagent/agent/subagent.py +771 -0
  18. leagent/agent/tool_use_context.py +49 -0
  19. leagent/agent/transitions.py +107 -0
  20. leagent/alembic/__init__.py +1 -0
  21. leagent/alembic/env.py +103 -0
  22. leagent/alembic/runtime_config.py +26 -0
  23. leagent/alembic/script.py.mako +25 -0
  24. leagent/alembic/sync_runner.py +28 -0
  25. leagent/alembic/versions/__init__.py +0 -0
  26. leagent/api/__init__.py +1 -0
  27. leagent/api/deps.py +85 -0
  28. leagent/api/middleware.py +162 -0
  29. leagent/api/router.py +66 -0
  30. leagent/api/router_deferred.py +263 -0
  31. leagent/api/v1/__init__.py +37 -0
  32. leagent/api/v1/activities.py +160 -0
  33. leagent/api/v1/admin/__init__.py +3 -0
  34. leagent/api/v1/admin/tasks.py +313 -0
  35. leagent/api/v1/canvas.py +546 -0
  36. leagent/api/v1/channels.py +311 -0
  37. leagent/api/v1/chat.py +3199 -0
  38. leagent/api/v1/chat_deps.py +93 -0
  39. leagent/api/v1/coding_projects.py +549 -0
  40. leagent/api/v1/cron.py +624 -0
  41. leagent/api/v1/documents.py +486 -0
  42. leagent/api/v1/extensions.py +63 -0
  43. leagent/api/v1/files.py +844 -0
  44. leagent/api/v1/flows.py +0 -0
  45. leagent/api/v1/folder_items.py +167 -0
  46. leagent/api/v1/folders.py +830 -0
  47. leagent/api/v1/health.py +256 -0
  48. leagent/api/v1/mcp.py +335 -0
  49. leagent/api/v1/meta.py +37 -0
  50. leagent/api/v1/metrics.py +65 -0
  51. leagent/api/v1/models.py +1230 -0
  52. leagent/api/v1/pet_space.py +547 -0
  53. leagent/api/v1/python_env.py +164 -0
  54. leagent/api/v1/rules.py +316 -0
  55. leagent/api/v1/settings_mail.py +90 -0
  56. leagent/api/v1/settings_tokens.py +333 -0
  57. leagent/api/v1/skills.py +536 -0
  58. leagent/api/v1/stats.py +439 -0
  59. leagent/api/v1/streams.py +99 -0
  60. leagent/api/v1/tasks.py +572 -0
  61. leagent/api/v1/templates.py +183 -0
  62. leagent/api/v1/tools.py +139 -0
  63. leagent/api/v1/webhooks.py +427 -0
  64. leagent/api/v2/__init__.py +1 -0
  65. leagent/apps/__init__.py +7 -0
  66. leagent/apps/gateway/__init__.py +1 -0
  67. leagent/apps/gateway/infrastructure/__init__.py +1 -0
  68. leagent/apps/gateway/infrastructure/bootstrap.py +16 -0
  69. leagent/apps/gateway/infrastructure/ratelimit.py +13 -0
  70. leagent/apps/gateway/infrastructure/ws_fanout.py +57 -0
  71. leagent/bootstrap/__init__.py +37 -0
  72. leagent/bootstrap/tools.py +397 -0
  73. leagent/channels/__init__.py +69 -0
  74. leagent/channels/api/__init__.py +19 -0
  75. leagent/channels/api/channel.py +667 -0
  76. leagent/channels/base.py +319 -0
  77. leagent/channels/console/__init__.py +13 -0
  78. leagent/channels/console/channel.py +460 -0
  79. leagent/channels/dingtalk/__init__.py +15 -0
  80. leagent/channels/dingtalk/channel.py +577 -0
  81. leagent/channels/feishu/__init__.py +13 -0
  82. leagent/channels/feishu/channel.py +596 -0
  83. leagent/channels/manager.py +483 -0
  84. leagent/channels/registry.py +232 -0
  85. leagent/channels/renderer.py +409 -0
  86. leagent/channels/web/__init__.py +17 -0
  87. leagent/channels/web/channel.py +720 -0
  88. leagent/channels/wechat_work/__init__.py +15 -0
  89. leagent/channels/wechat_work/channel.py +510 -0
  90. leagent/chat_workflow/__init__.py +19 -0
  91. leagent/chat_workflow/schema.py +150 -0
  92. leagent/chat_workflow/templates.py +195 -0
  93. leagent/chat_workflow/workflow_embed.py +72 -0
  94. leagent/cli/__init__.py +55 -0
  95. leagent/cli/app_cmd.py +246 -0
  96. leagent/cli/bootstrap.py +157 -0
  97. leagent/cli/channels_cmd.py +320 -0
  98. leagent/cli/chat_cmd.py +383 -0
  99. leagent/cli/chats_cmd.py +450 -0
  100. leagent/cli/clean_cmd.py +425 -0
  101. leagent/cli/config_cmd.py +216 -0
  102. leagent/cli/cron_cmd.py +867 -0
  103. leagent/cli/daemon_cmd.py +399 -0
  104. leagent/cli/env_cmd.py +403 -0
  105. leagent/cli/http.py +294 -0
  106. leagent/cli/init_cmd.py +460 -0
  107. leagent/cli/main.py +523 -0
  108. leagent/cli/providers_cmd.py +281 -0
  109. leagent/cli/rules_cmd.py +268 -0
  110. leagent/cli/skills_cmd.py +642 -0
  111. leagent/cli/stream_handler.py +137 -0
  112. leagent/cli/tasks_cmd.py +296 -0
  113. leagent/cli/templates_cmd.py +291 -0
  114. leagent/cli/utils.py +295 -0
  115. leagent/cli/webhooks_cmd.py +313 -0
  116. leagent/cli/workflows_cmd.py +404 -0
  117. leagent/config/__init__.py +26 -0
  118. leagent/config/config.py +103 -0
  119. leagent/config/constants.py +236 -0
  120. leagent/config/env_bootstrap.py +53 -0
  121. leagent/config/settings.py +675 -0
  122. leagent/config/watcher.py +116 -0
  123. leagent/console/__init__.py +1 -0
  124. leagent/context/__init__.py +55 -0
  125. leagent/context/artifact_error_tracker.py +171 -0
  126. leagent/context/budget.py +201 -0
  127. leagent/context/cache.py +55 -0
  128. leagent/context/compression.py +449 -0
  129. leagent/context/file_state.py +192 -0
  130. leagent/context/ledger.py +58 -0
  131. leagent/context/manager.py +581 -0
  132. leagent/context/recipe.py +105 -0
  133. leagent/context/session_compression.py +304 -0
  134. leagent/context/sources/__init__.py +45 -0
  135. leagent/context/sources/active_project.py +79 -0
  136. leagent/context/sources/base.py +100 -0
  137. leagent/context/sources/capabilities.py +203 -0
  138. leagent/context/sources/environment.py +154 -0
  139. leagent/context/sources/identity.py +85 -0
  140. leagent/context/sources/policies.py +135 -0
  141. leagent/context/sources/project_memory.py +184 -0
  142. leagent/context/sources/recall.py +101 -0
  143. leagent/context/sources/recent_reads.py +68 -0
  144. leagent/context/sources/session_artifacts.py +82 -0
  145. leagent/context/sources/session_attachments.py +62 -0
  146. leagent/context/sources/tool_history.py +76 -0
  147. leagent/context/sources/user_instructions.py +71 -0
  148. leagent/context/sources/working_set.py +77 -0
  149. leagent/context/strategies/__init__.py +9 -0
  150. leagent/context/strategies/dashscope.py +212 -0
  151. leagent/context/strategies/deepseek.py +212 -0
  152. leagent/context/types.py +154 -0
  153. leagent/context/working_set.py +76 -0
  154. leagent/cron/__init__.py +112 -0
  155. leagent/cron/base.py +348 -0
  156. leagent/cron/executor.py +696 -0
  157. leagent/cron/hooks.py +556 -0
  158. leagent/cron/manager.py +662 -0
  159. leagent/cron/repository.py +766 -0
  160. leagent/cron/scheduler.py +561 -0
  161. leagent/exceptions/__init__.py +71 -0
  162. leagent/exceptions/auth.py +62 -0
  163. leagent/exceptions/base.py +73 -0
  164. leagent/exceptions/handlers.py +200 -0
  165. leagent/exceptions/llm.py +77 -0
  166. leagent/exceptions/rule.py +40 -0
  167. leagent/exceptions/tool.py +75 -0
  168. leagent/exceptions/workflow.py +87 -0
  169. leagent/extensions/__init__.py +5 -0
  170. leagent/extensions/manager.py +250 -0
  171. leagent/extensions/official_registry.json +50 -0
  172. leagent/llm/__init__.py +87 -0
  173. leagent/llm/base.py +326 -0
  174. leagent/llm/circuit_breaker.py +133 -0
  175. leagent/llm/error_policy.py +73 -0
  176. leagent/llm/model_catalog.py +260 -0
  177. leagent/llm/provider_config.py +1069 -0
  178. leagent/llm/providers/__init__.py +29 -0
  179. leagent/llm/providers/anthropic.py +574 -0
  180. leagent/llm/providers/custom.py +603 -0
  181. leagent/llm/providers/dashscope.py +370 -0
  182. leagent/llm/providers/deepseek.py +399 -0
  183. leagent/llm/providers/deepseek_utils.py +83 -0
  184. leagent/llm/providers/ollama.py +658 -0
  185. leagent/llm/providers/openai.py +720 -0
  186. leagent/llm/providers/vllm.py +271 -0
  187. leagent/llm/registry.py +762 -0
  188. leagent/llm/router.py +588 -0
  189. leagent/llm/service.py +1012 -0
  190. leagent/main.py +323 -0
  191. leagent/mcp/__init__.py +45 -0
  192. leagent/mcp/base.py +311 -0
  193. leagent/mcp/client.py +503 -0
  194. leagent/mcp/constants.py +6 -0
  195. leagent/mcp/manager.py +808 -0
  196. leagent/mcp/proxy_tool.py +74 -0
  197. leagent/memory/__init__.py +90 -0
  198. leagent/memory/agent_memory.py +476 -0
  199. leagent/memory/base.py +0 -0
  200. leagent/memory/cache.py +179 -0
  201. leagent/memory/compact.py +386 -0
  202. leagent/memory/compaction.py +187 -0
  203. leagent/memory/embeddings.py +151 -0
  204. leagent/memory/episodic.py +254 -0
  205. leagent/memory/formation.py +339 -0
  206. leagent/memory/lexical_backend.py +45 -0
  207. leagent/memory/long_term.py +0 -0
  208. leagent/memory/maintenance.py +258 -0
  209. leagent/memory/manager.py +0 -0
  210. leagent/memory/procedural.py +330 -0
  211. leagent/memory/procedure_promotion.py +162 -0
  212. leagent/memory/recall.py +362 -0
  213. leagent/memory/semantic.py +250 -0
  214. leagent/memory/short_term.py +0 -0
  215. leagent/memory/types.py +168 -0
  216. leagent/memory/vector.py +364 -0
  217. leagent/memory/working.py +0 -0
  218. leagent/memory/working_scratchpad.py +147 -0
  219. leagent/prompts/__init__.py +33 -0
  220. leagent/prompts/builder.py +179 -0
  221. leagent/prompts/context.py +53 -0
  222. leagent/prompts/fingerprint.py +51 -0
  223. leagent/prompts/registry.py +267 -0
  224. leagent/prompts/render.py +105 -0
  225. leagent/prompts/templates/coding_agent.md +179 -0
  226. leagent/prompts/templates/compact_summariser.md +25 -0
  227. leagent/prompts/templates/default_agent.md +136 -0
  228. leagent/prompts/templates/default_pet_personality.md +10 -0
  229. leagent/prompts/templates/policies/blob_staging.md +56 -0
  230. leagent/prompts/templates/policies/canvas_design.md +21 -0
  231. leagent/prompts/templates/policies/canvas_routing.md +75 -0
  232. leagent/prompts/templates/policies/code_generation.md +100 -0
  233. leagent/prompts/templates/policies/coding_agent.md +38 -0
  234. leagent/prompts/templates/policies/database_tool.md +24 -0
  235. leagent/prompts/templates/policies/document_fonts.md +57 -0
  236. leagent/prompts/templates/policies/file_access.md +27 -0
  237. leagent/prompts/templates/policies/file_access_local.md +27 -0
  238. leagent/prompts/templates/policies/genui_components.md +51 -0
  239. leagent/prompts/templates/policies/human_gate.md +19 -0
  240. leagent/prompts/templates/rule_judge.md +28 -0
  241. leagent/prompts/templates/script_agent.md +96 -0
  242. leagent/prompts/templates/subagent.md +40 -0
  243. leagent/prompts/types.py +132 -0
  244. leagent/rules/__init__.py +95 -0
  245. leagent/rules/base.py +330 -0
  246. leagent/rules/definitions/__init__.py +56 -0
  247. leagent/rules/definitions/asset_cleaning_rules.yaml +28 -0
  248. leagent/rules/definitions/attendance_rules.yaml +28 -0
  249. leagent/rules/definitions/expense_validation.yaml +145 -0
  250. leagent/rules/definitions/scholarship_rules.yaml +40 -0
  251. leagent/rules/definitions/travel_risk_rules.yaml +33 -0
  252. leagent/rules/engine.py +599 -0
  253. leagent/rules/evaluator.py +728 -0
  254. leagent/rules/loader.py +520 -0
  255. leagent/schema/__init__.py +35 -0
  256. leagent/schema/api.py +111 -0
  257. leagent/schema/data.py +73 -0
  258. leagent/schema/graph.py +70 -0
  259. leagent/scripts/__init__.py +0 -0
  260. leagent/scripts/run_migrations.py +103 -0
  261. leagent/server.py +105 -0
  262. leagent/services/__init__.py +26 -0
  263. leagent/services/auth/__init__.py +67 -0
  264. leagent/services/auth/deps.py +76 -0
  265. leagent/services/auth/service.py +62 -0
  266. leagent/services/auth/signed_url.py +166 -0
  267. leagent/services/auth/tokens.py +68 -0
  268. leagent/services/base.py +243 -0
  269. leagent/services/cache/__init__.py +15 -0
  270. leagent/services/cache/service.py +216 -0
  271. leagent/services/canvas/html_bundle.py +117 -0
  272. leagent/services/canvas/service.py +708 -0
  273. leagent/services/chat/__init__.py +13 -0
  274. leagent/services/chat/auto_title.py +179 -0
  275. leagent/services/chat/daily_greetings.py +314 -0
  276. leagent/services/chat/pet_personality.py +182 -0
  277. leagent/services/chat/service.py +1288 -0
  278. leagent/services/code_execution/__init__.py +52 -0
  279. leagent/services/code_execution/matplotlib_cjk.py +85 -0
  280. leagent/services/code_execution/runner.py +353 -0
  281. leagent/services/code_execution/subprocess_sandbox.py +264 -0
  282. leagent/services/code_execution/workspace.py +254 -0
  283. leagent/services/coding_projects/__init__.py +150 -0
  284. leagent/services/coding_projects/binaries.py +126 -0
  285. leagent/services/coding_projects/git.py +325 -0
  286. leagent/services/coding_projects/manager.py +605 -0
  287. leagent/services/coding_projects/paths.py +181 -0
  288. leagent/services/coding_projects/ports.py +129 -0
  289. leagent/services/coding_projects/preview_tokens.py +62 -0
  290. leagent/services/coding_projects/proxy.py +295 -0
  291. leagent/services/coding_projects/runtime.py +472 -0
  292. leagent/services/coding_projects/templates/fastapi/files/README.md +24 -0
  293. leagent/services/coding_projects/templates/fastapi/files/app/__init__.py +1 -0
  294. leagent/services/coding_projects/templates/fastapi/files/app/main.py +68 -0
  295. leagent/services/coding_projects/templates/fastapi/files/requirements.txt +4 -0
  296. leagent/services/coding_projects/templates/fastapi/files/tests/__init__.py +0 -0
  297. leagent/services/coding_projects/templates/fastapi/files/tests/test_app.py +27 -0
  298. leagent/services/coding_projects/templates/fastapi/template.toml +9 -0
  299. leagent/services/coding_projects/templates/python/files/.gitignore +15 -0
  300. leagent/services/coding_projects/templates/python/files/README.md +35 -0
  301. leagent/services/coding_projects/templates/python/files/main.py +109 -0
  302. leagent/services/coding_projects/templates/python/files/requirements.txt +1 -0
  303. leagent/services/coding_projects/templates/python/files/src/__init__.py +6 -0
  304. leagent/services/coding_projects/templates/python/files/src/utils.py +8 -0
  305. leagent/services/coding_projects/templates/python/files/tests/__init__.py +0 -0
  306. leagent/services/coding_projects/templates/python/files/tests/test_utils.py +13 -0
  307. leagent/services/coding_projects/templates/python/template.toml +9 -0
  308. leagent/services/coding_projects/templates/vanilla-html/files/README.md +14 -0
  309. leagent/services/coding_projects/templates/vanilla-html/files/app.js +7 -0
  310. leagent/services/coding_projects/templates/vanilla-html/files/index.html +25 -0
  311. leagent/services/coding_projects/templates/vanilla-html/files/styles.css +84 -0
  312. leagent/services/coding_projects/templates/vanilla-html/template.toml +7 -0
  313. leagent/services/coding_projects/templates/vite-react/files/.gitignore +4 -0
  314. leagent/services/coding_projects/templates/vite-react/files/README.md +16 -0
  315. leagent/services/coding_projects/templates/vite-react/files/index.html +13 -0
  316. leagent/services/coding_projects/templates/vite-react/files/package.json +22 -0
  317. leagent/services/coding_projects/templates/vite-react/files/src/App.tsx +22 -0
  318. leagent/services/coding_projects/templates/vite-react/files/src/index.css +57 -0
  319. leagent/services/coding_projects/templates/vite-react/files/src/main.tsx +10 -0
  320. leagent/services/coding_projects/templates/vite-react/files/tsconfig.json +20 -0
  321. leagent/services/coding_projects/templates/vite-react/files/vite.config.ts +10 -0
  322. leagent/services/coding_projects/templates/vite-react/template.toml +9 -0
  323. leagent/services/coding_projects/templates.py +190 -0
  324. leagent/services/coding_projects/workspace.py +308 -0
  325. leagent/services/compact/__init__.py +9 -0
  326. leagent/services/compact/service.py +217 -0
  327. leagent/services/database/__init__.py +61 -0
  328. leagent/services/database/models/__init__.py +170 -0
  329. leagent/services/database/models/agent_memory.py +161 -0
  330. leagent/services/database/models/base.py +84 -0
  331. leagent/services/database/models/canvas.py +39 -0
  332. leagent/services/database/models/coding_project.py +117 -0
  333. leagent/services/database/models/cron.py +127 -0
  334. leagent/services/database/models/file.py +122 -0
  335. leagent/services/database/models/flow.py +133 -0
  336. leagent/services/database/models/folder.py +96 -0
  337. leagent/services/database/models/identity_stub.py +19 -0
  338. leagent/services/database/models/llm_request_log.py +30 -0
  339. leagent/services/database/models/message.py +264 -0
  340. leagent/services/database/models/pet_project.py +34 -0
  341. leagent/services/database/models/task.py +324 -0
  342. leagent/services/database/models/workflow_execution.py +72 -0
  343. leagent/services/database/service.py +212 -0
  344. leagent/services/database/sqlite_compat.py +234 -0
  345. leagent/services/diagnostics_parsers/__init__.py +15 -0
  346. leagent/services/diagnostics_parsers/shell_output.py +129 -0
  347. leagent/services/event/__init__.py +43 -0
  348. leagent/services/event/manager.py +562 -0
  349. leagent/services/event/webhook.py +645 -0
  350. leagent/services/execution/__init__.py +33 -0
  351. leagent/services/execution/engine.py +592 -0
  352. leagent/services/execution/policies.py +118 -0
  353. leagent/services/file_manager/__init__.py +19 -0
  354. leagent/services/file_manager/backends.py +117 -0
  355. leagent/services/file_manager/service.py +365 -0
  356. leagent/services/file_processing/__init__.py +5 -0
  357. leagent/services/file_processing/service.py +258 -0
  358. leagent/services/file_store/__init__.py +17 -0
  359. leagent/services/file_store/service.py +228 -0
  360. leagent/services/gen_ui/docx_renderer.py +211 -0
  361. leagent/services/gen_ui/pptx_renderer.py +258 -0
  362. leagent/services/gen_ui/print_renderer.py +614 -0
  363. leagent/services/gen_ui/schema.py +778 -0
  364. leagent/services/job_queue/__init__.py +21 -0
  365. leagent/services/job_queue/service.py +572 -0
  366. leagent/services/manager.py +13 -0
  367. leagent/services/python_env/__init__.py +9 -0
  368. leagent/services/python_env/manager.py +266 -0
  369. leagent/services/python_env/resolve.py +96 -0
  370. leagent/services/rtsp_proxy.py +156 -0
  371. leagent/services/runtime.py +15 -0
  372. leagent/services/service_manager.py +614 -0
  373. leagent/services/session/__init__.py +61 -0
  374. leagent/services/session/artifacts.py +289 -0
  375. leagent/services/session/context_interface.py +189 -0
  376. leagent/services/session/manager.py +611 -0
  377. leagent/services/session/paths.py +35 -0
  378. leagent/services/session/state.py +359 -0
  379. leagent/services/session/store.py +412 -0
  380. leagent/services/smtp_defaults.py +141 -0
  381. leagent/services/syntax_validation.py +385 -0
  382. leagent/services/task_manager.py +510 -0
  383. leagent/services/variable/__init__.py +25 -0
  384. leagent/services/variable/service.py +621 -0
  385. leagent/skills/__init__.py +57 -0
  386. leagent/skills/base.py +404 -0
  387. leagent/skills/builtin/__init__.py +5 -0
  388. leagent/skills/builtin/data-analyzer/SKILL.md +43 -0
  389. leagent/skills/builtin/document-processor/SKILL.md +62 -0
  390. leagent/skills/builtin/skill-packager/SKILL.md +47 -0
  391. leagent/skills/builtin/workflow-helper/SKILL.md +57 -0
  392. leagent/skills/bundle_payload.py +268 -0
  393. leagent/skills/bundle_payload_cache.py +35 -0
  394. leagent/skills/bundled.py +64 -0
  395. leagent/skills/discovery.py +179 -0
  396. leagent/skills/github_monorepo_catalog.py +661 -0
  397. leagent/skills/loader.py +619 -0
  398. leagent/skills/local_install.py +74 -0
  399. leagent/skills/manager.py +712 -0
  400. leagent/skills/markdown_loader.py +51 -0
  401. leagent/skills/packaging.py +89 -0
  402. leagent/skills/python_deps.py +275 -0
  403. leagent/skills/referenced_bundle.py +106 -0
  404. leagent/skills/registry.py +389 -0
  405. leagent/skills/resource_cache.py +55 -0
  406. leagent/skills/url_install.py +211 -0
  407. leagent/tasks/__init__.py +23 -0
  408. leagent/tasks/handlers/__init__.py +22 -0
  409. leagent/tasks/handlers/agent_handler.py +260 -0
  410. leagent/tasks/handlers/batch_handler.py +120 -0
  411. leagent/tasks/handlers/shell_handler.py +110 -0
  412. leagent/tasks/handlers/tool_handler.py +70 -0
  413. leagent/tasks/handlers/workflow_handler.py +92 -0
  414. leagent/tasks/registration.py +117 -0
  415. leagent/tools/__init__.py +70 -0
  416. leagent/tools/_data/__init__.py +65 -0
  417. leagent/tools/_data/artifacts.py +131 -0
  418. leagent/tools/_data/progress.py +119 -0
  419. leagent/tools/_data/records.py +522 -0
  420. leagent/tools/_data/schema.py +161 -0
  421. leagent/tools/_data/streams.py +52 -0
  422. leagent/tools/_data/tool_helpers.py +194 -0
  423. leagent/tools/_sandbox/__init__.py +35 -0
  424. leagent/tools/_sandbox/inproc.py +174 -0
  425. leagent/tools/_sandbox/paths.py +876 -0
  426. leagent/tools/base.py +733 -0
  427. leagent/tools/canvas/__init__.py +43 -0
  428. leagent/tools/canvas/canvas_publish.py +218 -0
  429. leagent/tools/canvas/genui_guide.py +144 -0
  430. leagent/tools/canvas/html_guide.py +122 -0
  431. leagent/tools/canvas/ui_components.py +188 -0
  432. leagent/tools/chart/__init__.py +5 -0
  433. leagent/tools/chart/chart_generator.py +457 -0
  434. leagent/tools/code/__init__.py +52 -0
  435. leagent/tools/code/artifact.py +243 -0
  436. leagent/tools/code/deepseek_fim.py +349 -0
  437. leagent/tools/code/execution.py +958 -0
  438. leagent/tools/code/operations.py +172 -0
  439. leagent/tools/code/pipeline.py +269 -0
  440. leagent/tools/code/syntax_validator.py +181 -0
  441. leagent/tools/code/uv_pip_install.py +205 -0
  442. leagent/tools/coding_project/__init__.py +35 -0
  443. leagent/tools/coding_project/tools.py +586 -0
  444. leagent/tools/context.py +99 -0
  445. leagent/tools/data/__init__.py +23 -0
  446. leagent/tools/data/data_aggregate.py +391 -0
  447. leagent/tools/data/data_clean.py +332 -0
  448. leagent/tools/data/data_merge.py +373 -0
  449. leagent/tools/data/data_transform.py +450 -0
  450. leagent/tools/data/data_validate.py +579 -0
  451. leagent/tools/data/sql_query.py +331 -0
  452. leagent/tools/data/vector_search.py +469 -0
  453. leagent/tools/db/__init__.py +5 -0
  454. leagent/tools/db/connection.py +108 -0
  455. leagent/tools/db/database_tool.py +259 -0
  456. leagent/tools/db/inspector_ops.py +28 -0
  457. leagent/tools/db/sql_guard.py +116 -0
  458. leagent/tools/doc/__init__.py +41 -0
  459. leagent/tools/doc/_recovery.py +37 -0
  460. leagent/tools/doc/archive_manager.py +288 -0
  461. leagent/tools/doc/config_file_tool.py +376 -0
  462. leagent/tools/doc/csv_processor.py +555 -0
  463. leagent/tools/doc/doc_classifier.py +367 -0
  464. leagent/tools/doc/excel_reader.py +260 -0
  465. leagent/tools/doc/html_processor.py +650 -0
  466. leagent/tools/doc/image_ocr.py +233 -0
  467. leagent/tools/doc/markdown_processor.py +1144 -0
  468. leagent/tools/doc/pdf_reader.py +800 -0
  469. leagent/tools/doc/text_processor.py +1182 -0
  470. leagent/tools/doc/word_reader.py +359 -0
  471. leagent/tools/executor.py +1799 -0
  472. leagent/tools/gen/__init__.py +44 -0
  473. leagent/tools/gen/_image_resolver.py +159 -0
  474. leagent/tools/gen/checklist_generator.py +810 -0
  475. leagent/tools/gen/excel_generator.py +741 -0
  476. leagent/tools/gen/pdf_generator.py +1477 -0
  477. leagent/tools/gen/pptx_generator.py +795 -0
  478. leagent/tools/gen/report_generator.py +960 -0
  479. leagent/tools/gen/style_registry.py +417 -0
  480. leagent/tools/gen/template_filler.py +488 -0
  481. leagent/tools/gen/word_generator.py +691 -0
  482. leagent/tools/image/__init__.py +5 -0
  483. leagent/tools/image/image_generate.py +269 -0
  484. leagent/tools/integration/__init__.py +102 -0
  485. leagent/tools/integration/email_send.py +775 -0
  486. leagent/tools/integration/external_api.py +712 -0
  487. leagent/tools/integration/notification.py +817 -0
  488. leagent/tools/integration/oa_adapter.py +358 -0
  489. leagent/tools/integration/oa_api.py +406 -0
  490. leagent/tools/integration/oa_export.py +625 -0
  491. leagent/tools/integration/oa_import.py +581 -0
  492. leagent/tools/integration/speech_to_text.py +179 -0
  493. leagent/tools/path_safe.py +32 -0
  494. leagent/tools/pipeline.py +263 -0
  495. leagent/tools/project/__init__.py +50 -0
  496. leagent/tools/project/_fs.py +720 -0
  497. leagent/tools/project/edit.py +221 -0
  498. leagent/tools/project/glob.py +144 -0
  499. leagent/tools/project/grep.py +383 -0
  500. leagent/tools/project/outline.py +259 -0
  501. leagent/tools/project/patch.py +156 -0
  502. leagent/tools/project/read.py +150 -0
  503. leagent/tools/project/shell.py +509 -0
  504. leagent/tools/project/tree.py +175 -0
  505. leagent/tools/project/write.py +246 -0
  506. leagent/tools/rate_limit.py +45 -0
  507. leagent/tools/registry.py +749 -0
  508. leagent/tools/session_attachment_context.py +185 -0
  509. leagent/tools/skills/__init__.py +53 -0
  510. leagent/tools/skills/install.py +222 -0
  511. leagent/tools/skills/loader.py +216 -0
  512. leagent/tools/skills/package_skill.py +94 -0
  513. leagent/tools/skills/resource.py +183 -0
  514. leagent/tools/skills/script.py +242 -0
  515. leagent/tools/util/__init__.py +42 -0
  516. leagent/tools/util/ask_user.py +111 -0
  517. leagent/tools/util/cache_manager.py +838 -0
  518. leagent/tools/util/cron_tools.py +217 -0
  519. leagent/tools/util/date_calculator.py +541 -0
  520. leagent/tools/util/file_manager.py +552 -0
  521. leagent/tools/util/folder_tool.py +401 -0
  522. leagent/tools/util/json_parser.py +752 -0
  523. leagent/tools/util/pet_bubble.py +64 -0
  524. leagent/tools/util/plan_tools.py +243 -0
  525. leagent/tools/util/rule_matcher.py +478 -0
  526. leagent/tools/util/task_tools.py +485 -0
  527. leagent/tools/util/text_splitter.py +520 -0
  528. leagent/tools/util/tool_argument_blob.py +475 -0
  529. leagent/tools/web/__init__.py +48 -0
  530. leagent/tools/web/browser_pool.py +348 -0
  531. leagent/tools/web/click.py +278 -0
  532. leagent/tools/web/form_fill.py +250 -0
  533. leagent/tools/web/image_download.py +144 -0
  534. leagent/tools/web/image_search/__init__.py +6 -0
  535. leagent/tools/web/image_search/google_cse.py +92 -0
  536. leagent/tools/web/image_search/protocol.py +27 -0
  537. leagent/tools/web/image_search_tool.py +153 -0
  538. leagent/tools/web/login.py +449 -0
  539. leagent/tools/web/polite_http.py +162 -0
  540. leagent/tools/web/robots_policy.py +76 -0
  541. leagent/tools/web/scraper.py +280 -0
  542. leagent/tools/web/screenshot.py +310 -0
  543. leagent/tools/web/web_search/__init__.py +5 -0
  544. leagent/tools/web/web_search/core.py +316 -0
  545. leagent/tools/web/web_search/http.py +13 -0
  546. leagent/tools/web/web_search_tool.py +102 -0
  547. leagent/tools/workflow/__init__.py +53 -0
  548. leagent/tools/workflow/chat_workflow.py +95 -0
  549. leagent/tools/workflow/workflow_crud.py +258 -0
  550. leagent/tools/workflow/workflow_embed_emit.py +92 -0
  551. leagent/utils/__init__.py +47 -0
  552. leagent/utils/cjk_font_discovery.py +196 -0
  553. leagent/utils/crypto.py +69 -0
  554. leagent/utils/httpx_proxy.py +166 -0
  555. leagent/utils/logging.py +145 -0
  556. leagent/utils/metrics.py +806 -0
  557. leagent/utils/validators.py +84 -0
  558. leagent/workflow/__init__.py +167 -0
  559. leagent/workflow/base.py +694 -0
  560. leagent/workflow/cli/__init__.py +1 -0
  561. leagent/workflow/cli/workflow_worker.py +128 -0
  562. leagent/workflow/engine/__init__.py +89 -0
  563. leagent/workflow/engine/cache_provider.py +46 -0
  564. leagent/workflow/engine/caching.py +358 -0
  565. leagent/workflow/engine/errors.py +39 -0
  566. leagent/workflow/engine/executor.py +499 -0
  567. leagent/workflow/engine/graph.py +348 -0
  568. leagent/workflow/engine/progress.py +154 -0
  569. leagent/workflow/engine/runner.py +185 -0
  570. leagent/workflow/executor.py +0 -0
  571. leagent/workflow/io/__init__.py +59 -0
  572. leagent/workflow/io/authoring.py +240 -0
  573. leagent/workflow/io/contract.py +65 -0
  574. leagent/workflow/io/hidden.py +68 -0
  575. leagent/workflow/io/loader.py +190 -0
  576. leagent/workflow/io/node_output.py +53 -0
  577. leagent/workflow/io/schema.py +172 -0
  578. leagent/workflow/io/schema_bridge.py +176 -0
  579. leagent/workflow/io/serializer.py +49 -0
  580. leagent/workflow/io/types.py +468 -0
  581. leagent/workflow/io/validator.py +252 -0
  582. leagent/workflow/layout/__init__.py +46 -0
  583. leagent/workflow/layout/edges.py +221 -0
  584. leagent/workflow/layout/engine.py +230 -0
  585. leagent/workflow/layout/ui.py +207 -0
  586. leagent/workflow/nodes/__init__.py +52 -0
  587. leagent/workflow/nodes/base.py +142 -0
  588. leagent/workflow/nodes/builtin/__init__.py +60 -0
  589. leagent/workflow/nodes/builtin/coding_agent.py +215 -0
  590. leagent/workflow/nodes/builtin/condition.py +80 -0
  591. leagent/workflow/nodes/builtin/end.py +32 -0
  592. leagent/workflow/nodes/builtin/error_handler.py +61 -0
  593. leagent/workflow/nodes/builtin/human_review.py +74 -0
  594. leagent/workflow/nodes/builtin/llm_call.py +75 -0
  595. leagent/workflow/nodes/builtin/parallel.py +126 -0
  596. leagent/workflow/nodes/builtin/script.py +181 -0
  597. leagent/workflow/nodes/builtin/script_agent.py +145 -0
  598. leagent/workflow/nodes/builtin/start.py +31 -0
  599. leagent/workflow/nodes/builtin/subworkflow.py +78 -0
  600. leagent/workflow/nodes/builtin/tool_call.py +89 -0
  601. leagent/workflow/nodes/builtin/transform.py +40 -0
  602. leagent/workflow/nodes/builtin/wait.py +34 -0
  603. leagent/workflow/nodes/extension.py +42 -0
  604. leagent/workflow/nodes/hot_reload.py +104 -0
  605. leagent/workflow/nodes/loader.py +224 -0
  606. leagent/workflow/nodes/registry.py +123 -0
  607. leagent/workflow/nodes/replacement.py +105 -0
  608. leagent/workflow/nodes/tool_factory.py +314 -0
  609. leagent/workflow/nodes.py +0 -0
  610. leagent/workflow/parser.py +0 -0
  611. leagent/workflow/prompt_map.py +44 -0
  612. leagent/workflow/queue/__init__.py +13 -0
  613. leagent/workflow/queue/base.py +63 -0
  614. leagent/workflow/queue/memory.py +86 -0
  615. leagent/workflow/registry.py +55 -0
  616. leagent/workflow/server/__init__.py +30 -0
  617. leagent/workflow/server/event_bus.py +89 -0
  618. leagent/workflow/server/flows_router.py +442 -0
  619. leagent/workflow/server/prompt_hooks.py +49 -0
  620. leagent/workflow/server/router.py +445 -0
  621. leagent/workflow/server/schemas.py +115 -0
  622. leagent/workflow/server/ws.py +99 -0
  623. leagent/workflow/services.py +479 -0
  624. leagent/workflow/template_service.py +446 -0
  625. leagent/workflow/templates/__init__.py +423 -0
  626. leagent/workflow/worker.py +243 -0
  627. leagent-1.1.3.dist-info/METADATA +675 -0
  628. leagent-1.1.3.dist-info/RECORD +648 -0
  629. leagent-1.1.3.dist-info/WHEEL +4 -0
  630. leagent-1.1.3.dist-info/entry_points.txt +2 -0
  631. leagent_core/__init__.py +17 -0
  632. leagent_core/auth/__init__.py +5 -0
  633. leagent_core/cache/__init__.py +1 -0
  634. leagent_core/circuit/__init__.py +9 -0
  635. leagent_core/circuit/breaker.py +152 -0
  636. leagent_core/db/__init__.py +11 -0
  637. leagent_core/db/engine.py +46 -0
  638. leagent_core/db/repository.py +50 -0
  639. leagent_core/events/__init__.py +11 -0
  640. leagent_core/events/base.py +71 -0
  641. leagent_core/events/memory.py +90 -0
  642. leagent_core/queue/__init__.py +1 -0
  643. leagent_core/ratelimit/__init__.py +1 -0
  644. leagent_core/schema/__init__.py +17 -0
  645. leagent_core/telemetry/__init__.py +25 -0
  646. leagent_core/telemetry/logging.py +170 -0
  647. leagent_core/telemetry/otel.py +163 -0
  648. leagent_core/telemetry/propagation.py +68 -0
leagent/__init__.py ADDED
@@ -0,0 +1,5 @@
1
+ """LeAgent — Intelligent Office Agent Platform for Enterprise Automation."""
2
+
3
+ __version__ = "1.1.1"
4
+ __author__ = "NovaMind AI"
5
+ __email__ = "engineering@novamind.ai"
@@ -0,0 +1,130 @@
1
+ """Agent core package.
2
+
3
+ This module provides the core agent functionality for LeAgent:
4
+
5
+ * Base types for state, configuration, and execution context.
6
+ * :class:`AgentController` — the orchestration front door (workflow
7
+ matching, hooks, permissions) that delegates to :class:`QueryEngine`
8
+ by default.
9
+ * :class:`QueryEngine` — the session-scoped owner of the agentic turn
10
+ loop (ported from the reference ``QueryEngine.ts``).
11
+ * :class:`TaskPlanner` — plan decomposition for the Plan-Execute path.
12
+ * :class:`ToolExecutor` — unified tool dispatcher (re-exported from the
13
+ tools layer).
14
+ * :class:`ResultProcessor` / :class:`ErrorRecovery` — tool-result
15
+ normalisation and retry middleware.
16
+ * :func:`fork_subagent` / :class:`AgentTool` — sub-agent delegation
17
+ built on :meth:`QueryEngine.fork`.
18
+ * Lifecycle hooks and the ``ScriptAgentTool`` factory.
19
+
20
+ Example:
21
+ from leagent.agent import AgentController, AgentConfig, TaskPlanner
22
+ from leagent.agent import QueryEngine, fork_subagent
23
+ """
24
+
25
+ from leagent.agent.base import (
26
+ AgentConfig,
27
+ AgentContext,
28
+ AgentMode,
29
+ AgentResponse,
30
+ AgentState,
31
+ ConversationContext,
32
+ ConversationMessage,
33
+ ExecutionPlan,
34
+ ExecutionStep,
35
+ NoOpStreamHandler,
36
+ PlanStep,
37
+ StepType,
38
+ StreamEvent,
39
+ StreamHandler,
40
+ ToolCall,
41
+ ToolResult,
42
+ )
43
+ from leagent.agent.controller import AgentController, ModelRouter
44
+ from leagent.agent.executor import (
45
+ ErrorRecovery,
46
+ RecoveryHandler,
47
+ ResultProcessor,
48
+ ToolExecutor,
49
+ )
50
+ from leagent.agent.hooks import (
51
+ AgentHook,
52
+ HookManager,
53
+ LoggingHook,
54
+ MetricsHook,
55
+ RateLimitError,
56
+ RateLimitHook,
57
+ TaskHistoryHook,
58
+ create_default_hooks,
59
+ )
60
+ from leagent.agent.planner import (
61
+ TaskPlanner,
62
+ build_dependency_graph,
63
+ get_parallel_groups,
64
+ schedule_ready,
65
+ topological_sort,
66
+ )
67
+ from leagent.agent.query_engine import QueryEngine, QueryEngineConfig, SDKMessage
68
+ from leagent.agent.subagent import AgentTool, fork_subagent
69
+ from leagent.agent.tool_use_context import ToolUseContext
70
+ from leagent.agent.transitions import (
71
+ Continue,
72
+ ContinueReason,
73
+ Terminal,
74
+ TerminalReason,
75
+ )
76
+
77
+ __all__ = [
78
+ # Base types
79
+ "AgentState",
80
+ "AgentMode",
81
+ "StepType",
82
+ "ToolCall",
83
+ "ToolResult",
84
+ "ExecutionStep",
85
+ "AgentResponse",
86
+ "StreamEvent",
87
+ "StreamHandler",
88
+ "NoOpStreamHandler",
89
+ "AgentConfig",
90
+ "AgentContext",
91
+ "PlanStep",
92
+ "ExecutionPlan",
93
+ "ConversationMessage",
94
+ "ConversationContext",
95
+ # Controller
96
+ "AgentController",
97
+ "ModelRouter",
98
+ # QueryEngine
99
+ "QueryEngine",
100
+ "QueryEngineConfig",
101
+ "SDKMessage",
102
+ "ToolUseContext",
103
+ "Terminal",
104
+ "TerminalReason",
105
+ "Continue",
106
+ "ContinueReason",
107
+ # Planner
108
+ "TaskPlanner",
109
+ "build_dependency_graph",
110
+ "topological_sort",
111
+ "get_parallel_groups",
112
+ "schedule_ready",
113
+ # Executor / recovery
114
+ "ToolExecutor",
115
+ "ResultProcessor",
116
+ "ErrorRecovery",
117
+ "RecoveryHandler",
118
+ # Sub-agents
119
+ "fork_subagent",
120
+ "AgentTool",
121
+ # Hooks
122
+ "AgentHook",
123
+ "HookManager",
124
+ "LoggingHook",
125
+ "MetricsHook",
126
+ "TaskHistoryHook",
127
+ "RateLimitHook",
128
+ "RateLimitError",
129
+ "create_default_hooks",
130
+ ]