alcyoneus 1.0.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 (417) hide show
  1. alcyoneus-1.0.0/LICENSE +21 -0
  2. alcyoneus-1.0.0/MANIFEST.in +2 -0
  3. alcyoneus-1.0.0/PKG-INFO +427 -0
  4. alcyoneus-1.0.0/README.md +331 -0
  5. alcyoneus-1.0.0/alcyoneus/__init__.py +318 -0
  6. alcyoneus-1.0.0/alcyoneus/__main__.py +7 -0
  7. alcyoneus-1.0.0/alcyoneus/cache/__init__.py +38 -0
  8. alcyoneus-1.0.0/alcyoneus/cache/base.py +128 -0
  9. alcyoneus-1.0.0/alcyoneus/cache/memory.py +50 -0
  10. alcyoneus-1.0.0/alcyoneus/cache/redis.py +103 -0
  11. alcyoneus-1.0.0/alcyoneus/cache/sqlite.py +83 -0
  12. alcyoneus-1.0.0/alcyoneus/cli/__init__.py +627 -0
  13. alcyoneus-1.0.0/alcyoneus/core/__init__.py +188 -0
  14. alcyoneus-1.0.0/alcyoneus/core/audit.py +855 -0
  15. alcyoneus-1.0.0/alcyoneus/core/auth.py +596 -0
  16. alcyoneus-1.0.0/alcyoneus/core/exceptions/__init__.py +38 -0
  17. alcyoneus-1.0.0/alcyoneus/core/exceptions/graph_error.py +82 -0
  18. alcyoneus-1.0.0/alcyoneus/core/exceptions/media_exceptions.py +114 -0
  19. alcyoneus-1.0.0/alcyoneus/core/exceptions/node_error.py +47 -0
  20. alcyoneus-1.0.0/alcyoneus/core/exceptions/recursion_error.py +47 -0
  21. alcyoneus-1.0.0/alcyoneus/core/exceptions/storage_exceptions.py +256 -0
  22. alcyoneus-1.0.0/alcyoneus/core/graph/__init__.py +229 -0
  23. alcyoneus-1.0.0/alcyoneus/core/graph/agent.py +470 -0
  24. alcyoneus-1.0.0/alcyoneus/core/graph/agent_internal/__init__.py +23 -0
  25. alcyoneus-1.0.0/alcyoneus/core/graph/agent_internal/circuit_breaker.py +95 -0
  26. alcyoneus-1.0.0/alcyoneus/core/graph/agent_internal/constants.py +73 -0
  27. alcyoneus-1.0.0/alcyoneus/core/graph/agent_internal/execution.py +828 -0
  28. alcyoneus-1.0.0/alcyoneus/core/graph/agent_internal/google.py +498 -0
  29. alcyoneus-1.0.0/alcyoneus/core/graph/agent_internal/memory.py +178 -0
  30. alcyoneus-1.0.0/alcyoneus/core/graph/agent_internal/openai.py +254 -0
  31. alcyoneus-1.0.0/alcyoneus/core/graph/agent_internal/providers.py +90 -0
  32. alcyoneus-1.0.0/alcyoneus/core/graph/agent_internal/skills.py +163 -0
  33. alcyoneus-1.0.0/alcyoneus/core/graph/base_agent.py +147 -0
  34. alcyoneus-1.0.0/alcyoneus/core/graph/command.py +38 -0
  35. alcyoneus-1.0.0/alcyoneus/core/graph/compiled_graph.py +1507 -0
  36. alcyoneus-1.0.0/alcyoneus/core/graph/dynamic_prompt.py +339 -0
  37. alcyoneus-1.0.0/alcyoneus/core/graph/edge.py +120 -0
  38. alcyoneus-1.0.0/alcyoneus/core/graph/handoff_filter.py +52 -0
  39. alcyoneus-1.0.0/alcyoneus/core/graph/interrupt.py +121 -0
  40. alcyoneus-1.0.0/alcyoneus/core/graph/message_graph.py +165 -0
  41. alcyoneus-1.0.0/alcyoneus/core/graph/node.py +232 -0
  42. alcyoneus-1.0.0/alcyoneus/core/graph/node_execution_policy.py +309 -0
  43. alcyoneus-1.0.0/alcyoneus/core/graph/remote_graph.py +831 -0
  44. alcyoneus-1.0.0/alcyoneus/core/graph/run_config.py +44 -0
  45. alcyoneus-1.0.0/alcyoneus/core/graph/run_error_handlers.py +58 -0
  46. alcyoneus-1.0.0/alcyoneus/core/graph/send.py +122 -0
  47. alcyoneus-1.0.0/alcyoneus/core/graph/state_graph.py +830 -0
  48. alcyoneus-1.0.0/alcyoneus/core/graph/stream_events.py +480 -0
  49. alcyoneus-1.0.0/alcyoneus/core/graph/stream_transformers.py +268 -0
  50. alcyoneus-1.0.0/alcyoneus/core/graph/tool_node/__init__.py +16 -0
  51. alcyoneus-1.0.0/alcyoneus/core/graph/tool_node/_helpers.py +58 -0
  52. alcyoneus-1.0.0/alcyoneus/core/graph/tool_node/base.py +716 -0
  53. alcyoneus-1.0.0/alcyoneus/core/graph/tool_node/constants.py +69 -0
  54. alcyoneus-1.0.0/alcyoneus/core/graph/tool_node/deps.py +66 -0
  55. alcyoneus-1.0.0/alcyoneus/core/graph/tool_node/executors.py +35 -0
  56. alcyoneus-1.0.0/alcyoneus/core/graph/tool_node/kwargs_resolver.py +84 -0
  57. alcyoneus-1.0.0/alcyoneus/core/graph/tool_node/local_exec.py +270 -0
  58. alcyoneus-1.0.0/alcyoneus/core/graph/tool_node/mcp_exec.py +267 -0
  59. alcyoneus-1.0.0/alcyoneus/core/graph/tool_node/policy.py +329 -0
  60. alcyoneus-1.0.0/alcyoneus/core/graph/tool_node/registry.py +72 -0
  61. alcyoneus-1.0.0/alcyoneus/core/graph/tool_node/schema.py +254 -0
  62. alcyoneus-1.0.0/alcyoneus/core/graph/tool_use_behavior.py +109 -0
  63. alcyoneus-1.0.0/alcyoneus/core/graph/utils/__init__.py +0 -0
  64. alcyoneus-1.0.0/alcyoneus/core/graph/utils/handler_mixins.py +150 -0
  65. alcyoneus-1.0.0/alcyoneus/core/graph/utils/handler_utils.py +263 -0
  66. alcyoneus-1.0.0/alcyoneus/core/graph/utils/invoke_handler.py +571 -0
  67. alcyoneus-1.0.0/alcyoneus/core/graph/utils/invoke_node_handler.py +713 -0
  68. alcyoneus-1.0.0/alcyoneus/core/graph/utils/stream_handler.py +823 -0
  69. alcyoneus-1.0.0/alcyoneus/core/graph/utils/stream_node_handler.py +844 -0
  70. alcyoneus-1.0.0/alcyoneus/core/graph/utils/stream_utils.py +47 -0
  71. alcyoneus-1.0.0/alcyoneus/core/graph/utils/utils.py +744 -0
  72. alcyoneus-1.0.0/alcyoneus/core/guardrails/__init__.py +93 -0
  73. alcyoneus-1.0.0/alcyoneus/core/guardrails/exceptions.py +123 -0
  74. alcyoneus-1.0.0/alcyoneus/core/guardrails/input_guardrail.py +228 -0
  75. alcyoneus-1.0.0/alcyoneus/core/guardrails/output_guardrail.py +198 -0
  76. alcyoneus-1.0.0/alcyoneus/core/guardrails/tool_guardrails.py +436 -0
  77. alcyoneus-1.0.0/alcyoneus/core/hooks/__init__.py +67 -0
  78. alcyoneus-1.0.0/alcyoneus/core/hooks/compaction.py +339 -0
  79. alcyoneus-1.0.0/alcyoneus/core/hooks/context.py +74 -0
  80. alcyoneus-1.0.0/alcyoneus/core/hooks/interaction.py +53 -0
  81. alcyoneus-1.0.0/alcyoneus/core/hooks/lifecycle.py +44 -0
  82. alcyoneus-1.0.0/alcyoneus/core/hooks/session.py +61 -0
  83. alcyoneus-1.0.0/alcyoneus/core/llm/__init__.py +40 -0
  84. alcyoneus-1.0.0/alcyoneus/core/llm/caller.py +275 -0
  85. alcyoneus-1.0.0/alcyoneus/core/llm/client_factory.py +336 -0
  86. alcyoneus-1.0.0/alcyoneus/core/llm/model_settings.py +65 -0
  87. alcyoneus-1.0.0/alcyoneus/core/llm/retry.py +116 -0
  88. alcyoneus-1.0.0/alcyoneus/core/mcp/__init__.py +56 -0
  89. alcyoneus-1.0.0/alcyoneus/core/mcp/approval.py +49 -0
  90. alcyoneus-1.0.0/alcyoneus/core/mcp/manager.py +65 -0
  91. alcyoneus-1.0.0/alcyoneus/core/mcp/server.py +201 -0
  92. alcyoneus-1.0.0/alcyoneus/core/mcp/transport.py +362 -0
  93. alcyoneus-1.0.0/alcyoneus/core/multitenancy.py +412 -0
  94. alcyoneus-1.0.0/alcyoneus/core/policy/__init__.py +44 -0
  95. alcyoneus-1.0.0/alcyoneus/core/policy/engine.py +355 -0
  96. alcyoneus-1.0.0/alcyoneus/core/ratelimit.py +489 -0
  97. alcyoneus-1.0.0/alcyoneus/core/realtime/__init__.py +107 -0
  98. alcyoneus-1.0.0/alcyoneus/core/realtime/base.py +244 -0
  99. alcyoneus-1.0.0/alcyoneus/core/realtime/events.py +775 -0
  100. alcyoneus-1.0.0/alcyoneus/core/realtime/handoffs.py +38 -0
  101. alcyoneus-1.0.0/alcyoneus/core/realtime/live_agent.py +692 -0
  102. alcyoneus-1.0.0/alcyoneus/core/realtime/providers/__init__.py +13 -0
  103. alcyoneus-1.0.0/alcyoneus/core/realtime/providers/azure_realtime.py +285 -0
  104. alcyoneus-1.0.0/alcyoneus/core/realtime/providers/gemini_live.py +372 -0
  105. alcyoneus-1.0.0/alcyoneus/core/realtime/providers/local_whisper_tts.py +322 -0
  106. alcyoneus-1.0.0/alcyoneus/core/realtime/providers/openai_realtime.py +292 -0
  107. alcyoneus-1.0.0/alcyoneus/core/realtime/queue.py +109 -0
  108. alcyoneus-1.0.0/alcyoneus/core/realtime/tool_filtering.py +39 -0
  109. alcyoneus-1.0.0/alcyoneus/core/secrets.py +696 -0
  110. alcyoneus-1.0.0/alcyoneus/core/skills/__init__.py +46 -0
  111. alcyoneus-1.0.0/alcyoneus/core/skills/activation.py +110 -0
  112. alcyoneus-1.0.0/alcyoneus/core/skills/loader.py +275 -0
  113. alcyoneus-1.0.0/alcyoneus/core/skills/models.py +194 -0
  114. alcyoneus-1.0.0/alcyoneus/core/skills/registry.py +193 -0
  115. alcyoneus-1.0.0/alcyoneus/core/state/__init__.py +138 -0
  116. alcyoneus-1.0.0/alcyoneus/core/state/agent_state.py +138 -0
  117. alcyoneus-1.0.0/alcyoneus/core/state/base_context.py +54 -0
  118. alcyoneus-1.0.0/alcyoneus/core/state/channels.py +695 -0
  119. alcyoneus-1.0.0/alcyoneus/core/state/execution_state.py +195 -0
  120. alcyoneus-1.0.0/alcyoneus/core/state/managed_values.py +195 -0
  121. alcyoneus-1.0.0/alcyoneus/core/state/message.py +573 -0
  122. alcyoneus-1.0.0/alcyoneus/core/state/message_block.py +286 -0
  123. alcyoneus-1.0.0/alcyoneus/core/state/message_context_manager.py +155 -0
  124. alcyoneus-1.0.0/alcyoneus/core/state/primitives.py +133 -0
  125. alcyoneus-1.0.0/alcyoneus/core/state/reducers.py +242 -0
  126. alcyoneus-1.0.0/alcyoneus/core/state/remove_message.py +116 -0
  127. alcyoneus-1.0.0/alcyoneus/core/state/run_state.py +55 -0
  128. alcyoneus-1.0.0/alcyoneus/core/state/serde.py +94 -0
  129. alcyoneus-1.0.0/alcyoneus/core/state/stream_chunks.py +59 -0
  130. alcyoneus-1.0.0/alcyoneus/core/state/stream_emitter.py +148 -0
  131. alcyoneus-1.0.0/alcyoneus/core/state/summary_context_manager.py +266 -0
  132. alcyoneus-1.0.0/alcyoneus/core/state/tool_result.py +67 -0
  133. alcyoneus-1.0.0/alcyoneus/core/tracing/__init__.py +106 -0
  134. alcyoneus-1.0.0/alcyoneus/core/tracing/context.py +88 -0
  135. alcyoneus-1.0.0/alcyoneus/core/tracing/decorators.py +166 -0
  136. alcyoneus-1.0.0/alcyoneus/core/tracing/processors.py +98 -0
  137. alcyoneus-1.0.0/alcyoneus/core/tracing/span_data.py +303 -0
  138. alcyoneus-1.0.0/alcyoneus/core/tracing/spans.py +116 -0
  139. alcyoneus-1.0.0/alcyoneus/core/tracing/traces.py +80 -0
  140. alcyoneus-1.0.0/alcyoneus/core/triggers/__init__.py +60 -0
  141. alcyoneus-1.0.0/alcyoneus/core/triggers/event_triggers.py +207 -0
  142. alcyoneus-1.0.0/alcyoneus/core/triggers/helpers.py +85 -0
  143. alcyoneus-1.0.0/alcyoneus/core/triggers/trigger_runner.py +187 -0
  144. alcyoneus-1.0.0/alcyoneus/core/triggers/triggers.py +98 -0
  145. alcyoneus-1.0.0/alcyoneus/core/voice/__init__.py +65 -0
  146. alcyoneus-1.0.0/alcyoneus/core/voice/events.py +47 -0
  147. alcyoneus-1.0.0/alcyoneus/core/voice/input.py +57 -0
  148. alcyoneus-1.0.0/alcyoneus/core/voice/models.py +84 -0
  149. alcyoneus-1.0.0/alcyoneus/core/voice/pipeline.py +98 -0
  150. alcyoneus-1.0.0/alcyoneus/core/voice/providers/__init__.py +26 -0
  151. alcyoneus-1.0.0/alcyoneus/core/voice/providers/google_stt.py +37 -0
  152. alcyoneus-1.0.0/alcyoneus/core/voice/providers/openai_stt.py +48 -0
  153. alcyoneus-1.0.0/alcyoneus/core/voice/providers/openai_tts.py +53 -0
  154. alcyoneus-1.0.0/alcyoneus/core/voice/result.py +51 -0
  155. alcyoneus-1.0.0/alcyoneus/core/voice/sip.py +101 -0
  156. alcyoneus-1.0.0/alcyoneus/core/voice/workflow.py +60 -0
  157. alcyoneus-1.0.0/alcyoneus/extensions/__init__.py +20 -0
  158. alcyoneus-1.0.0/alcyoneus/extensions/experimental/__init__.py +27 -0
  159. alcyoneus-1.0.0/alcyoneus/extensions/experimental/codex.py +102 -0
  160. alcyoneus-1.0.0/alcyoneus/extensions/experimental/hosted_multi_agent.py +78 -0
  161. alcyoneus-1.0.0/alcyoneus/func/__init__.py +25 -0
  162. alcyoneus-1.0.0/alcyoneus/func/decorators.py +153 -0
  163. alcyoneus-1.0.0/alcyoneus/prebuilt/__init__.py +74 -0
  164. alcyoneus-1.0.0/alcyoneus/prebuilt/agent/__init__.py +26 -0
  165. alcyoneus-1.0.0/alcyoneus/prebuilt/agent/audio.py +128 -0
  166. alcyoneus-1.0.0/alcyoneus/prebuilt/agent/plan_act_reflect.py +476 -0
  167. alcyoneus-1.0.0/alcyoneus/prebuilt/agent/rag.py +581 -0
  168. alcyoneus-1.0.0/alcyoneus/prebuilt/agent/react.py +188 -0
  169. alcyoneus-1.0.0/alcyoneus/prebuilt/agent/router.py +244 -0
  170. alcyoneus-1.0.0/alcyoneus/prebuilt/agent/structured_output.py +472 -0
  171. alcyoneus-1.0.0/alcyoneus/prebuilt/agent/supervisor_team.py +485 -0
  172. alcyoneus-1.0.0/alcyoneus/prebuilt/agent/swarm.py +417 -0
  173. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/__init__.py +195 -0
  174. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/apply_patch.py +320 -0
  175. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/browser.py +236 -0
  176. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/calculator.py +92 -0
  177. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/calendar.py +289 -0
  178. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/code_interpreter.py +94 -0
  179. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/command.py +169 -0
  180. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/computer.py +248 -0
  181. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/computer_backends.py +431 -0
  182. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/custom_tool.py +45 -0
  183. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/directory.py +62 -0
  184. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/edit.py +114 -0
  185. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/fetch.py +128 -0
  186. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/file_search.py +452 -0
  187. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/files.py +293 -0
  188. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/finish.py +25 -0
  189. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/handoff.py +140 -0
  190. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/image.py +330 -0
  191. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/injected.py +57 -0
  192. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/interaction.py +110 -0
  193. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/memory.py +384 -0
  194. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/programmatic_tool.py +37 -0
  195. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/pydantic_tool.py +44 -0
  196. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/registry.py +77 -0
  197. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/scheduler.py +316 -0
  198. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/search.py +406 -0
  199. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/shell_tool.py +520 -0
  200. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/subagent.py +102 -0
  201. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/tool_namespace.py +43 -0
  202. alcyoneus-1.0.0/alcyoneus/prebuilt/tools/tool_search.py +46 -0
  203. alcyoneus-1.0.0/alcyoneus/py.typed +0 -0
  204. alcyoneus-1.0.0/alcyoneus/qa/__init__.py +188 -0
  205. alcyoneus-1.0.0/alcyoneus/qa/evaluation/__init__.py +247 -0
  206. alcyoneus-1.0.0/alcyoneus/qa/evaluation/collectors/__init__.py +40 -0
  207. alcyoneus-1.0.0/alcyoneus/qa/evaluation/collectors/event_collector.py +50 -0
  208. alcyoneus-1.0.0/alcyoneus/qa/evaluation/collectors/publisher_callback.py +166 -0
  209. alcyoneus-1.0.0/alcyoneus/qa/evaluation/collectors/trajectory_collector.py +327 -0
  210. alcyoneus-1.0.0/alcyoneus/qa/evaluation/config/__init__.py +48 -0
  211. alcyoneus-1.0.0/alcyoneus/qa/evaluation/config/criterion_config.py +237 -0
  212. alcyoneus-1.0.0/alcyoneus/qa/evaluation/config/eval_config.py +202 -0
  213. alcyoneus-1.0.0/alcyoneus/qa/evaluation/config/presets.py +330 -0
  214. alcyoneus-1.0.0/alcyoneus/qa/evaluation/config/reporter_config.py +69 -0
  215. alcyoneus-1.0.0/alcyoneus/qa/evaluation/config/types.py +29 -0
  216. alcyoneus-1.0.0/alcyoneus/qa/evaluation/criteria/__init__.py +108 -0
  217. alcyoneus-1.0.0/alcyoneus/qa/evaluation/criteria/base.py +306 -0
  218. alcyoneus-1.0.0/alcyoneus/qa/evaluation/criteria/factual_accuracy.py +82 -0
  219. alcyoneus-1.0.0/alcyoneus/qa/evaluation/criteria/hallucination.py +89 -0
  220. alcyoneus-1.0.0/alcyoneus/qa/evaluation/criteria/llm_base.py +149 -0
  221. alcyoneus-1.0.0/alcyoneus/qa/evaluation/criteria/llm_judge.py +78 -0
  222. alcyoneus-1.0.0/alcyoneus/qa/evaluation/criteria/llm_utils.py +117 -0
  223. alcyoneus-1.0.0/alcyoneus/qa/evaluation/criteria/response.py +151 -0
  224. alcyoneus-1.0.0/alcyoneus/qa/evaluation/criteria/rubric.py +70 -0
  225. alcyoneus-1.0.0/alcyoneus/qa/evaluation/criteria/safety.py +96 -0
  226. alcyoneus-1.0.0/alcyoneus/qa/evaluation/criteria/simulation_goals.py +97 -0
  227. alcyoneus-1.0.0/alcyoneus/qa/evaluation/criteria/trajectory.py +247 -0
  228. alcyoneus-1.0.0/alcyoneus/qa/evaluation/dataset/__init__.py +59 -0
  229. alcyoneus-1.0.0/alcyoneus/qa/evaluation/dataset/builder.py +229 -0
  230. alcyoneus-1.0.0/alcyoneus/qa/evaluation/dataset/eval_set.py +307 -0
  231. alcyoneus-1.0.0/alcyoneus/qa/evaluation/eval_result.py +480 -0
  232. alcyoneus-1.0.0/alcyoneus/qa/evaluation/evaluator.py +816 -0
  233. alcyoneus-1.0.0/alcyoneus/qa/evaluation/execution/__init__.py +6 -0
  234. alcyoneus-1.0.0/alcyoneus/qa/evaluation/execution/result.py +118 -0
  235. alcyoneus-1.0.0/alcyoneus/qa/evaluation/quick_eval.py +347 -0
  236. alcyoneus-1.0.0/alcyoneus/qa/evaluation/reporters/__init__.py +47 -0
  237. alcyoneus-1.0.0/alcyoneus/qa/evaluation/reporters/_html_css.py +608 -0
  238. alcyoneus-1.0.0/alcyoneus/qa/evaluation/reporters/_html_js.py +227 -0
  239. alcyoneus-1.0.0/alcyoneus/qa/evaluation/reporters/_html_render.py +614 -0
  240. alcyoneus-1.0.0/alcyoneus/qa/evaluation/reporters/_html_template.py +156 -0
  241. alcyoneus-1.0.0/alcyoneus/qa/evaluation/reporters/_utils.py +80 -0
  242. alcyoneus-1.0.0/alcyoneus/qa/evaluation/reporters/base.py +51 -0
  243. alcyoneus-1.0.0/alcyoneus/qa/evaluation/reporters/console.py +458 -0
  244. alcyoneus-1.0.0/alcyoneus/qa/evaluation/reporters/html.py +133 -0
  245. alcyoneus-1.0.0/alcyoneus/qa/evaluation/reporters/json.py +360 -0
  246. alcyoneus-1.0.0/alcyoneus/qa/evaluation/reporters/manager.py +259 -0
  247. alcyoneus-1.0.0/alcyoneus/qa/evaluation/simulators/__init__.py +21 -0
  248. alcyoneus-1.0.0/alcyoneus/qa/evaluation/simulators/user_simulator.py +636 -0
  249. alcyoneus-1.0.0/alcyoneus/qa/evaluation/testing.py +417 -0
  250. alcyoneus-1.0.0/alcyoneus/qa/evaluation/token_usage.py +59 -0
  251. alcyoneus-1.0.0/alcyoneus/qa/testing/__init__.py +194 -0
  252. alcyoneus-1.0.0/alcyoneus/qa/testing/in_memory_store.py +327 -0
  253. alcyoneus-1.0.0/alcyoneus/qa/testing/mock_mcp.py +212 -0
  254. alcyoneus-1.0.0/alcyoneus/qa/testing/mock_tools.py +237 -0
  255. alcyoneus-1.0.0/alcyoneus/qa/testing/quick_test.py +308 -0
  256. alcyoneus-1.0.0/alcyoneus/qa/testing/test_agent.py +322 -0
  257. alcyoneus-1.0.0/alcyoneus/qa/testing/test_result.py +89 -0
  258. alcyoneus-1.0.0/alcyoneus/runtime/__init__.py +55 -0
  259. alcyoneus-1.0.0/alcyoneus/runtime/adapters/__init__.py +24 -0
  260. alcyoneus-1.0.0/alcyoneus/runtime/adapters/llm/__init__.py +25 -0
  261. alcyoneus-1.0.0/alcyoneus/runtime/adapters/llm/anyllm_converter.py +50 -0
  262. alcyoneus-1.0.0/alcyoneus/runtime/adapters/llm/base_converter.py +83 -0
  263. alcyoneus-1.0.0/alcyoneus/runtime/adapters/llm/google_genai_converter.py +514 -0
  264. alcyoneus-1.0.0/alcyoneus/runtime/adapters/llm/litellm_converter.py +83 -0
  265. alcyoneus-1.0.0/alcyoneus/runtime/adapters/llm/model_response_converter.py +150 -0
  266. alcyoneus-1.0.0/alcyoneus/runtime/adapters/llm/multi_provider.py +85 -0
  267. alcyoneus-1.0.0/alcyoneus/runtime/adapters/llm/openai_converter.py +625 -0
  268. alcyoneus-1.0.0/alcyoneus/runtime/adapters/llm/openai_responses_converter.py +579 -0
  269. alcyoneus-1.0.0/alcyoneus/runtime/adapters/llm/reasoning_utils.py +85 -0
  270. alcyoneus-1.0.0/alcyoneus/runtime/observability.py +633 -0
  271. alcyoneus-1.0.0/alcyoneus/runtime/protocols/__init__.py +59 -0
  272. alcyoneus-1.0.0/alcyoneus/runtime/protocols/a2a/__init__.py +75 -0
  273. alcyoneus-1.0.0/alcyoneus/runtime/protocols/a2a/_optional.py +73 -0
  274. alcyoneus-1.0.0/alcyoneus/runtime/protocols/a2a/client.py +479 -0
  275. alcyoneus-1.0.0/alcyoneus/runtime/protocols/a2a/executor.py +484 -0
  276. alcyoneus-1.0.0/alcyoneus/runtime/protocols/a2a/server.py +383 -0
  277. alcyoneus-1.0.0/alcyoneus/runtime/protocols/acp.py +954 -0
  278. alcyoneus-1.0.0/alcyoneus/runtime/publisher/__init__.py +32 -0
  279. alcyoneus-1.0.0/alcyoneus/runtime/publisher/base_publisher.py +71 -0
  280. alcyoneus-1.0.0/alcyoneus/runtime/publisher/composite_publisher.py +40 -0
  281. alcyoneus-1.0.0/alcyoneus/runtime/publisher/console_publisher.py +100 -0
  282. alcyoneus-1.0.0/alcyoneus/runtime/publisher/events.py +253 -0
  283. alcyoneus-1.0.0/alcyoneus/runtime/publisher/kafka_publisher.py +161 -0
  284. alcyoneus-1.0.0/alcyoneus/runtime/publisher/otel_attributes.py +75 -0
  285. alcyoneus-1.0.0/alcyoneus/runtime/publisher/otel_publisher.py +731 -0
  286. alcyoneus-1.0.0/alcyoneus/runtime/publisher/publish.py +57 -0
  287. alcyoneus-1.0.0/alcyoneus/runtime/publisher/rabbitmq_publisher.py +178 -0
  288. alcyoneus-1.0.0/alcyoneus/runtime/publisher/redis_publisher.py +186 -0
  289. alcyoneus-1.0.0/alcyoneus/sandbox/__init__.py +111 -0
  290. alcyoneus-1.0.0/alcyoneus/sandbox/base.py +59 -0
  291. alcyoneus-1.0.0/alcyoneus/sandbox/capabilities/__init__.py +40 -0
  292. alcyoneus-1.0.0/alcyoneus/sandbox/capabilities/compaction.py +67 -0
  293. alcyoneus-1.0.0/alcyoneus/sandbox/capabilities/filesystem.py +32 -0
  294. alcyoneus-1.0.0/alcyoneus/sandbox/capabilities/memory.py +30 -0
  295. alcyoneus-1.0.0/alcyoneus/sandbox/capabilities/shell.py +32 -0
  296. alcyoneus-1.0.0/alcyoneus/sandbox/capabilities/skills.py +29 -0
  297. alcyoneus-1.0.0/alcyoneus/sandbox/capabilities/snapshot.py +64 -0
  298. alcyoneus-1.0.0/alcyoneus/sandbox/dependencies.py +36 -0
  299. alcyoneus-1.0.0/alcyoneus/sandbox/docker.py +343 -0
  300. alcyoneus-1.0.0/alcyoneus/sandbox/errors.py +41 -0
  301. alcyoneus-1.0.0/alcyoneus/sandbox/extensions/__init__.py +34 -0
  302. alcyoneus-1.0.0/alcyoneus/sandbox/extensions/blaxel.py +79 -0
  303. alcyoneus-1.0.0/alcyoneus/sandbox/extensions/cloudflare.py +81 -0
  304. alcyoneus-1.0.0/alcyoneus/sandbox/extensions/daytona.py +82 -0
  305. alcyoneus-1.0.0/alcyoneus/sandbox/extensions/e2b.py +86 -0
  306. alcyoneus-1.0.0/alcyoneus/sandbox/extensions/modal.py +65 -0
  307. alcyoneus-1.0.0/alcyoneus/sandbox/extensions/runloop.py +82 -0
  308. alcyoneus-1.0.0/alcyoneus/sandbox/extensions/vercel.py +82 -0
  309. alcyoneus-1.0.0/alcyoneus/sandbox/firecracker_sandbox.py +114 -0
  310. alcyoneus-1.0.0/alcyoneus/sandbox/k8s_sandbox.py +227 -0
  311. alcyoneus-1.0.0/alcyoneus/sandbox/local.py +76 -0
  312. alcyoneus-1.0.0/alcyoneus/sandbox/manifest.py +44 -0
  313. alcyoneus-1.0.0/alcyoneus/sandbox/mounts.py +89 -0
  314. alcyoneus-1.0.0/alcyoneus/sandbox/pty_sandbox.py +84 -0
  315. alcyoneus-1.0.0/alcyoneus/sandbox/remote_file_sync.py +97 -0
  316. alcyoneus-1.0.0/alcyoneus/sandbox/sinks.py +51 -0
  317. alcyoneus-1.0.0/alcyoneus/sandbox/snapshot.py +210 -0
  318. alcyoneus-1.0.0/alcyoneus/sandbox/types.py +153 -0
  319. alcyoneus-1.0.0/alcyoneus/storage/__init__.py +183 -0
  320. alcyoneus-1.0.0/alcyoneus/storage/checkpointer/__init__.py +37 -0
  321. alcyoneus-1.0.0/alcyoneus/storage/checkpointer/base_checkpointer.py +640 -0
  322. alcyoneus-1.0.0/alcyoneus/storage/checkpointer/conformance/__init__.py +30 -0
  323. alcyoneus-1.0.0/alcyoneus/storage/checkpointer/conformance/base.py +202 -0
  324. alcyoneus-1.0.0/alcyoneus/storage/checkpointer/conformance/capabilities.py +144 -0
  325. alcyoneus-1.0.0/alcyoneus/storage/checkpointer/conformance/test_suite.py +61 -0
  326. alcyoneus-1.0.0/alcyoneus/storage/checkpointer/in_memory_checkpointer.py +626 -0
  327. alcyoneus-1.0.0/alcyoneus/storage/checkpointer/pg_checkpointer.py +1711 -0
  328. alcyoneus-1.0.0/alcyoneus/storage/checkpointer/session_modes.py +104 -0
  329. alcyoneus-1.0.0/alcyoneus/storage/checkpointer/sqlite_checkpointer.py +744 -0
  330. alcyoneus-1.0.0/alcyoneus/storage/media/__init__.py +43 -0
  331. alcyoneus-1.0.0/alcyoneus/storage/media/capabilities.py +209 -0
  332. alcyoneus-1.0.0/alcyoneus/storage/media/config.py +49 -0
  333. alcyoneus-1.0.0/alcyoneus/storage/media/media_resolver.py +339 -0
  334. alcyoneus-1.0.0/alcyoneus/storage/media/offload.py +101 -0
  335. alcyoneus-1.0.0/alcyoneus/storage/media/processor.py +319 -0
  336. alcyoneus-1.0.0/alcyoneus/storage/media/provider_media.py +209 -0
  337. alcyoneus-1.0.0/alcyoneus/storage/media/resolver.py +476 -0
  338. alcyoneus-1.0.0/alcyoneus/storage/media/security.py +144 -0
  339. alcyoneus-1.0.0/alcyoneus/storage/media/storage/__init__.py +18 -0
  340. alcyoneus-1.0.0/alcyoneus/storage/media/storage/base.py +91 -0
  341. alcyoneus-1.0.0/alcyoneus/storage/media/storage/cloud_store.py +288 -0
  342. alcyoneus-1.0.0/alcyoneus/storage/media/storage/local_store.py +146 -0
  343. alcyoneus-1.0.0/alcyoneus/storage/media/storage/memory_store.py +58 -0
  344. alcyoneus-1.0.0/alcyoneus/storage/media/temp_cache.py +312 -0
  345. alcyoneus-1.0.0/alcyoneus/storage/persistent_dict.py +210 -0
  346. alcyoneus-1.0.0/alcyoneus/storage/sessions/__init__.py +40 -0
  347. alcyoneus-1.0.0/alcyoneus/storage/sessions/base.py +74 -0
  348. alcyoneus-1.0.0/alcyoneus/storage/sessions/compaction.py +45 -0
  349. alcyoneus-1.0.0/alcyoneus/storage/sessions/dapr_session.py +90 -0
  350. alcyoneus-1.0.0/alcyoneus/storage/sessions/encrypted_session.py +85 -0
  351. alcyoneus-1.0.0/alcyoneus/storage/sessions/mongodb_session.py +126 -0
  352. alcyoneus-1.0.0/alcyoneus/storage/sessions/redis_session.py +104 -0
  353. alcyoneus-1.0.0/alcyoneus/storage/sessions/sqlalchemy_session.py +120 -0
  354. alcyoneus-1.0.0/alcyoneus/storage/sessions/sqlite_session.py +79 -0
  355. alcyoneus-1.0.0/alcyoneus/storage/store/__init__.py +77 -0
  356. alcyoneus-1.0.0/alcyoneus/storage/store/base_store.py +301 -0
  357. alcyoneus-1.0.0/alcyoneus/storage/store/embedding/__init__.py +10 -0
  358. alcyoneus-1.0.0/alcyoneus/storage/store/embedding/base_embedding.py +29 -0
  359. alcyoneus-1.0.0/alcyoneus/storage/store/embedding/google_embedding.py +109 -0
  360. alcyoneus-1.0.0/alcyoneus/storage/store/embedding/openai_embedding.py +78 -0
  361. alcyoneus-1.0.0/alcyoneus/storage/store/long_term_memory.py +683 -0
  362. alcyoneus-1.0.0/alcyoneus/storage/store/mem0_store.py +440 -0
  363. alcyoneus-1.0.0/alcyoneus/storage/store/memory_config.py +132 -0
  364. alcyoneus-1.0.0/alcyoneus/storage/store/qdrant_store.py +700 -0
  365. alcyoneus-1.0.0/alcyoneus/storage/store/store_schema.py +146 -0
  366. alcyoneus-1.0.0/alcyoneus/utils/__init__.py +148 -0
  367. alcyoneus-1.0.0/alcyoneus/utils/background_task_manager.py +316 -0
  368. alcyoneus-1.0.0/alcyoneus/utils/callable_utils.py +65 -0
  369. alcyoneus-1.0.0/alcyoneus/utils/callbacks.py +1018 -0
  370. alcyoneus-1.0.0/alcyoneus/utils/command.py +64 -0
  371. alcyoneus-1.0.0/alcyoneus/utils/constants.py +52 -0
  372. alcyoneus-1.0.0/alcyoneus/utils/converter.py +503 -0
  373. alcyoneus-1.0.0/alcyoneus/utils/decorators.py +223 -0
  374. alcyoneus-1.0.0/alcyoneus/utils/id_generator.py +234 -0
  375. alcyoneus-1.0.0/alcyoneus/utils/interactive.py +145 -0
  376. alcyoneus-1.0.0/alcyoneus/utils/logging.py +164 -0
  377. alcyoneus-1.0.0/alcyoneus/utils/metrics.py +118 -0
  378. alcyoneus-1.0.0/alcyoneus/utils/schema.py +78 -0
  379. alcyoneus-1.0.0/alcyoneus/utils/shutdown.py +344 -0
  380. alcyoneus-1.0.0/alcyoneus/utils/thread_info.py +39 -0
  381. alcyoneus-1.0.0/alcyoneus/utils/validators.py +475 -0
  382. alcyoneus-1.0.0/alcyoneus.egg-info/PKG-INFO +427 -0
  383. alcyoneus-1.0.0/alcyoneus.egg-info/SOURCES.txt +415 -0
  384. alcyoneus-1.0.0/alcyoneus.egg-info/dependency_links.txt +1 -0
  385. alcyoneus-1.0.0/alcyoneus.egg-info/entry_points.txt +2 -0
  386. alcyoneus-1.0.0/alcyoneus.egg-info/requires.txt +66 -0
  387. alcyoneus-1.0.0/alcyoneus.egg-info/top_level.txt +1 -0
  388. alcyoneus-1.0.0/pyproject.toml +519 -0
  389. alcyoneus-1.0.0/setup.cfg +4 -0
  390. alcyoneus-1.0.0/tests/test_all_new_features.py +219 -0
  391. alcyoneus-1.0.0/tests/test_background_task_manager.py +413 -0
  392. alcyoneus-1.0.0/tests/test_base_context.py +203 -0
  393. alcyoneus-1.0.0/tests/test_base_converter.py +360 -0
  394. alcyoneus-1.0.0/tests/test_basic.py +16 -0
  395. alcyoneus-1.0.0/tests/test_checkpointer_integration.py +329 -0
  396. alcyoneus-1.0.0/tests/test_cloud_media_store.py +260 -0
  397. alcyoneus-1.0.0/tests/test_converter.py +386 -0
  398. alcyoneus-1.0.0/tests/test_docs_imports.py +115 -0
  399. alcyoneus-1.0.0/tests/test_ergonomic_enhancements.py +94 -0
  400. alcyoneus-1.0.0/tests/test_import_order.py +66 -0
  401. alcyoneus-1.0.0/tests/test_langgraph_parity_features.py +140 -0
  402. alcyoneus-1.0.0/tests/test_memory_management.py +577 -0
  403. alcyoneus-1.0.0/tests/test_model_response_converter.py +547 -0
  404. alcyoneus-1.0.0/tests/test_multiagent.py +943 -0
  405. alcyoneus-1.0.0/tests/test_multimodal_e2e.py +1355 -0
  406. alcyoneus-1.0.0/tests/test_multimodal_sprint1.py +787 -0
  407. alcyoneus-1.0.0/tests/test_multimodal_sprint2.py +248 -0
  408. alcyoneus-1.0.0/tests/test_multimodal_sprint3.py +705 -0
  409. alcyoneus-1.0.0/tests/test_multimodal_sprint6.py +557 -0
  410. alcyoneus-1.0.0/tests/test_new_tools.py +43 -0
  411. alcyoneus-1.0.0/tests/test_openai_multimodal.py +596 -0
  412. alcyoneus-1.0.0/tests/test_policy_engine_ported.py +73 -0
  413. alcyoneus-1.0.0/tests/test_primitives_ported.py +38 -0
  414. alcyoneus-1.0.0/tests/test_skills.py +1023 -0
  415. alcyoneus-1.0.0/tests/test_skills_hardening.py +173 -0
  416. alcyoneus-1.0.0/tests/test_skills_session.py +388 -0
  417. alcyoneus-1.0.0/tests/test_triggers_engine_ported.py +46 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Ravinder Singh (Alcyoneus OS) & Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,2 @@
1
+ include README.md
2
+ include LICENSE
@@ -0,0 +1,427 @@
1
+ Metadata-Version: 2.4
2
+ Name: alcyoneus
3
+ Version: 1.0.0
4
+ Summary: Alcyoneus OS: Production-grade Python operating system & framework for building, orchestrating, and deploying multi-agent LLM systems.
5
+ Author-email: Alcyoneus Authors <contact@alcyoneus.ai>
6
+ Maintainer-email: Ravinder Singh <contact@alcyoneus.ai>
7
+ License: MIT License
8
+
9
+ Copyright (c) 2026 Ravinder Singh (Alcyoneus OS) & Contributors
10
+
11
+ Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ of this software and associated documentation files (the "Software"), to deal
13
+ in the Software without restriction, including without limitation the rights
14
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ copies of the Software, and to permit persons to whom the Software is
16
+ furnished to do so, subject to the following conditions:
17
+
18
+ The above copyright notice and this permission notice shall be included in all
19
+ copies or substantial portions of the Software.
20
+
21
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
+ SOFTWARE.
28
+
29
+ Project-URL: Homepage, https://alcyoneus.alcyoneus.ai
30
+ Project-URL: Repository, https://github.com/alcyoneus-os/alcyoneus
31
+ Project-URL: Issues, https://github.com/alcyoneus-os/alcyoneus/issues
32
+ Project-URL: Documentation, https://alcyoneus.alcyoneus.ai
33
+ Keywords: agent,agents,ai-agent,ai-agents,multi-agent,multi-agent-systems,agentic,agentic-ai,agentic-workflow,agent-framework,agent-orchestration,orchestration,workflow,workflow-engine,state-machine,stategraph,graph,llm,llm-agent,llm-framework,llm-orchestration,llmops,genai,generative-ai,ai,artificial-intelligence,openai,anthropic,claude,gemini,google-genai,mcp,model-context-protocol,tool-use,function-calling,rag,memory,vector-store,qdrant,mem0,alcyoneus,alcyoneus-os,alcyoneus-sdk,sandboxing,voice-pipeline,guardrails,pydantic-ai,fastapi,react-agent,reasoning,chatbot,assistant,a2a
34
+ Classifier: Programming Language :: Python :: 3
35
+ Classifier: Programming Language :: Python :: 3.12
36
+ Classifier: Programming Language :: Python :: 3.13
37
+ Classifier: License :: OSI Approved :: MIT License
38
+ Classifier: Operating System :: OS Independent
39
+ Classifier: Intended Audience :: Developers
40
+ Classifier: Development Status :: 5 - Production/Stable
41
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
42
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
43
+ Requires-Python: >=3.12
44
+ Description-Content-Type: text/markdown
45
+ License-File: LICENSE
46
+ Requires-Dist: injectq>=0.4.0
47
+ Requires-Dist: pillow>=12.2.0
48
+ Requires-Dist: pydantic<3,>=2.0
49
+ Requires-Dist: PyYAML>=6.0
50
+ Requires-Dist: python-dotenv>=1.0
51
+ Provides-Extra: google-genai
52
+ Requires-Dist: google-genai>=1.56.0; extra == "google-genai"
53
+ Provides-Extra: realtime
54
+ Requires-Dist: google-genai>=1.56.0; extra == "realtime"
55
+ Provides-Extra: openai
56
+ Requires-Dist: openai>=1.77.0; extra == "openai"
57
+ Provides-Extra: pg-checkpoint
58
+ Requires-Dist: asyncpg>=0.29.0; extra == "pg-checkpoint"
59
+ Requires-Dist: redis>=4.2; extra == "pg-checkpoint"
60
+ Provides-Extra: mcp
61
+ Requires-Dist: fastmcp>=2.11.3; extra == "mcp"
62
+ Requires-Dist: mcp>=1.13.0; extra == "mcp"
63
+ Provides-Extra: images
64
+ Requires-Dist: Pillow>=10.0.0; extra == "images"
65
+ Provides-Extra: cloud-storage
66
+ Requires-Dist: cloud-storage-manager>=0.1.2; extra == "cloud-storage"
67
+ Provides-Extra: redis
68
+ Requires-Dist: redis>=4.2; extra == "redis"
69
+ Provides-Extra: kafka
70
+ Requires-Dist: aiokafka>=0.8.0; extra == "kafka"
71
+ Provides-Extra: rabbitmq
72
+ Requires-Dist: aio-pika>=9.0.0; extra == "rabbitmq"
73
+ Provides-Extra: qdrant
74
+ Requires-Dist: qdrant-client>=1.7.0; extra == "qdrant"
75
+ Provides-Extra: mem0
76
+ Requires-Dist: mem0ai>=0.1.117; extra == "mem0"
77
+ Provides-Extra: a2a-sdk
78
+ Requires-Dist: a2a-sdk>=0.2.7; extra == "a2a-sdk"
79
+ Requires-Dist: httpx>=0.27.0; extra == "a2a-sdk"
80
+ Requires-Dist: uvicorn>=0.30.0; extra == "a2a-sdk"
81
+ Requires-Dist: sse-starlette>=2.0; extra == "a2a-sdk"
82
+ Provides-Extra: browser
83
+ Requires-Dist: playwright>=1.50.0; extra == "browser"
84
+ Provides-Extra: otel
85
+ Requires-Dist: opentelemetry-api>=1.20.0; extra == "otel"
86
+ Requires-Dist: opentelemetry-sdk>=1.20.0; extra == "otel"
87
+ Provides-Extra: cli
88
+ Requires-Dist: click>=8.1.0; extra == "cli"
89
+ Requires-Dist: rich>=13.0.0; extra == "cli"
90
+ Requires-Dist: pyyaml>=6.0; extra == "cli"
91
+ Provides-Extra: all-publishers
92
+ Requires-Dist: redis>=4.2; extra == "all-publishers"
93
+ Requires-Dist: aiokafka>=0.8.0; extra == "all-publishers"
94
+ Requires-Dist: aio-pika>=9.0.0; extra == "all-publishers"
95
+ Dynamic: license-file
96
+
97
+ <div align="center">
98
+ <img src="assets/svg/alcyoneus-logo.svg" alt="Alcyoneus OS Banner" style="width: 100%; max-width: 100%; display: block; border-radius: 12px; margin-bottom: 16px;" />
99
+ <p>
100
+ <a href="https://github.com/sainibhaowal/Alcyoneus-OS/releases/tag/v1.0.0"><img src="https://img.shields.io/badge/Release-v1.0.0-00F0FF?style=flat-square&logo=github" alt="Release" /></a>&nbsp;
101
+ <a href="https://github.com/sainibhaowal/Alcyoneus-OS"><img src="https://img.shields.io/badge/Python-3.12%20|%203.13-38BDF8?style=flat-square&logo=python" alt="Python Versions" /></a>&nbsp;
102
+ <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-3B82F6?style=flat-square" alt="License: MIT" /></a>&nbsp;
103
+ <a href="https://github.com/sainibhaowal/Alcyoneus-OS/actions"><img src="https://img.shields.io/badge/CI-Passing-10B981?style=flat-square&logo=github-actions" alt="CI Status" /></a>&nbsp;
104
+ <a href="https://github.com/sainibhaowal/Alcyoneus-OS"><img src="https://img.shields.io/badge/Coverage-80%25-10B981?style=flat-square" alt="Coverage" /></a>
105
+ </p>
106
+ </div>
107
+
108
+ ---
109
+
110
+ **Alcyoneus OS** is a production-grade Python framework for building intelligent agents and orchestrating multi-agent state-graph workflows. It provides an LLM-agnostic workflow engine with built-in persistence, streaming, human-in-the-loop, guardrails, multi-agent orchestration, sandboxing, and enterprise-grade observability.
111
+
112
+ ```python
113
+ import alcyoneus as alc
114
+ from alcyoneus.core import StateGraph, Agent, ToolNode, START, END
115
+ from alcyoneus.storage.checkpointer import InMemoryCheckpointer
116
+ from alcyoneus.prebuilt.tools import safe_calculator, google_web_search
117
+
118
+ # 1. Define a tool
119
+ def get_weather(location: str) -> str:
120
+ return f"It's sunny in {location}"
121
+
122
+ # 2. Build graph with Agent + tools
123
+ graph = StateGraph()
124
+ graph.add_node("agent", Agent(model="gemini/gemini-2.5-flash", tool_node="tools"))
125
+ graph.add_node("tools", ToolNode([get_weather]))
126
+ graph.add_edge("agent", "tools")
127
+ graph.add_edge("tools", "agent")
128
+ graph.set_entry_point("agent")
129
+
130
+ # 3. Run with persistence
131
+ compiled = graph.compile(checkpointer=InMemoryCheckpointer())
132
+ result = compiled.invoke(
133
+ {"messages": [{"role": "user", "content": "Weather in NYC?"}]},
134
+ config={"thread_id": "demo"}
135
+ )
136
+ ```
137
+
138
+ ---
139
+
140
+ ## ✨ Key Features (100+ Production-Grade Capabilities)
141
+
142
+ ### 🤖 Agent Engine & Orchestration
143
+ | Feature | Description |
144
+ |---------|-------------|
145
+ | **Agent Class** | Build complete agents in 10-30 lines |
146
+ | **StateGraph** | LangGraph-inspired engine with nodes, edges, conditional routing |
147
+ | **ReactAgent** | Reasoning + tool-use loops with ReAct pattern |
148
+ | **RAGAgent** | Retrieval-augmented generation with vector stores |
149
+ | **SwarmAgent** | Dynamic multi-agent collaboration |
150
+ | **SupervisorTeamAgent** | Hierarchical agent coordination |
151
+ | **PlanActReflectAgent** | Plan → Execute → Reflect cycles |
152
+ | **StructuredOutputAgent** | Guaranteed JSON schema output |
153
+ | **AudioAgent** | Real-time audio-to-audio (Gemini Live, OpenAI Realtime) |
154
+
155
+ ### 🔄 Orchestration & Control Flow
156
+ | Feature | Description |
157
+ |---------|-------------|
158
+ | **StateGraph** | Nodes, edges, conditional routing, subgraphs |
159
+ | **Dynamic Routing** | `Command(goto=..., update=...)` for inline routing |
160
+ | **Subgraph Streaming** | Nested graph execution with `CompiledGraph` returns |
161
+ | **MessageGraph** | High-level message-only graph wrapper |
162
+ | **RemoteGraph/GraphServer** | HTTP/gRPC graph execution & serving |
163
+ | **Dynamic Inline Routing** | `Command(goto=..., update=...)` |
164
+ | **MessageGraph** | High-level message-only wrapper |
165
+ | **All/ALL Selector** | Catch-all edge routing (`*`, `All`, `ALL`) |
166
+
167
+ ### 🤖 LLM Providers (100+ Models)
168
+ | Provider | Models |
169
+ |----------|--------|
170
+ | **OpenAI** | GPT-4o, GPT-4o-mini, o1, o3-mini, Responses API |
171
+ | **Google** | Gemini 2.5 Flash/Pro, Gemini Live, Vertex AI |
172
+ | **Anthropic** | Claude 3.5 Sonnet, Haiku, Opus |
173
+ | **LiteLLM** | 100+ models (Ollama, Together, Bedrock, etc.) |
174
+ | **MultiProvider** | Prefix routing: `openai/`, `gemini/`, `ollama/`, `anthropic/` |
175
+ | **Fallbacks** | Exponential backoff, multi-provider retry |
176
+
177
+ ### 🛠️ 50+ Built-in Tools
178
+ | Category | Tools |
179
+ |----------|-------|
180
+ | **Search** | `google_web_search`, `bing_search`, `brave_search`, `duckduckgo_search`, `serpapi_search`, `tavily_search`, `exa_search`, `multi_search` (7 providers + dedup) |
181
+ | **Browser** | `browser_navigate`, `browser_click`, `browser_fill`, `browser_extract`, `browser_screenshot`, `browser_close` |
182
+ | **Shell** | `shell_command` (safe, policy-guarded) |
183
+ | **Code** | `code_interpreter`, `CodeInterpreterTool` (sandboxed Python) |
184
+ | **Files** | `file_read`, `file_write`, `list_directory`, `edit_file`, `file_search` (semantic + incremental) |
185
+ | **Search** | `google_web_search`, `vertex_ai_search` |
186
+ | **Image** | `generate_image`, `dalle_generate`, `imagen_generate`, `sdxl_generate`, `midjourney_generate` |
187
+ | **Code** | `code_interpreter`, `CodeInterpreterTool` |
188
+ | **Shell** | `shell_command` (policy-guarded), `ShellTool` |
189
+ | **Files** | `file_read`, `file_write`, `list_directory`, `edit_file` (unified diff), `file_search` |
190
+ | **Calendar** | `calendar_create_event`, `calendar_update_event`, `calendar_delete_event`, `calendar_list_events` |
191
+ | **Scheduler** | `Scheduler`, `schedule_job`, `cancel_scheduled_job`, `list_scheduled_jobs` |
192
+ | **Subagents** | `start_subagent`, `SubagentManager`, `create_handoff_tool` |
193
+ | **Browser** | `browser_navigate`, `click`, `fill`, `extract`, `screenshot`, `close` |
194
+ | **Memory** | `memory_tool`, `create_memory_preload_node`, `make_agent_memory_tool` |
195
+ | **Image Gen** | `generate_image`, `dalle_generate`, `imagen_generate`, `sdxl_generate`, `midjourney_generate` |
196
+ | **Code** | `code_interpreter`, `CodeInterpreterTool` (sandboxed Python) |
197
+ | **Shell** | `shell_command` (policy-guarded), `ShellTool` (Docker/Local) |
198
+ | **Files** | `file_read`, `file_write`, `list_directory`, `edit_file` (unified diff), `file_search` |
199
+ | **Search** | 7 providers: Google, Bing, Brave, DuckDuckGo, SerpAPI, Tavily, Exa + `multi_search` |
200
+ | **Image Gen** | `generate_image` (unified), `dalle`, `imagen`, `sdxl`, `midjourney` |
201
+ | **Calendar** | `calendar_create_event`, `calendar_update_event`, `calendar_delete_event`, `calendar_list_events` |
202
+ | **Scheduler** | `Scheduler`, `schedule_job`, `cancel_scheduled_job`, `list_scheduled_jobs` |
203
+ | **Subagents** | `start_subagent`, `SubagentManager`, `create_handoff_tool` |
204
+ | **Browser** | `browser_navigate`, `click`, `fill`, `extract`, `screenshot`, `close` |
205
+ | **Memory** | `memory_tool`, `create_memory_preload_node`, `make_agent_memory_tool` |
206
+
207
+ ### 💾 Persistence & Memory (3-Layer Architecture)
208
+ | Layer | Implementation |
209
+ |-------|----------------|
210
+ | **Working State** | `AgentState` (Pydantic, in-memory) |
211
+ | **Checkpointer** | `InMemoryCheckpointer`, `PgCheckpointer` (PostgreSQL + Redis), `SqliteCheckpointer` |
212
+ | **Vector Store** | `QdrantStore`, `Mem0Store`, `MemoryConfig`, `AgentMemoryConfig` |
213
+ | **Memory Tools** | `memory_tool`, `create_memory_preload_node`, `make_agent_memory_tool` |
214
+ | **Compaction** | `DynamicCompactionPolicy`, `ResponsesCompactionSession` |
215
+ | **Session Storage** | SQLite, Redis, MongoDB, SQLAlchemy, Dapr, Encrypted |
216
+
217
+ ### 🌊 Streaming & Real-time
218
+ | Feature | Description |
219
+ |---------|-------------|
220
+ | **Event Streaming** | `astream_events()` - 15 event types (graph/node/tool start/end, tool calls, handoffs, interrupts) |
221
+ | **GraphRunStream v3** | SSE streaming, heartbeat keep-alive, sync wrapper |
222
+ | **Granularity** | `LOW`/`PARTIAL`/`FULL` response granularity |
223
+ | **Realtime Audio** | `AudioAgent` (Gemini Live, OpenAI Realtime, Azure, Local Whisper+TTS) |
224
+ | **Barge-in** | Audio interruption with transcript persistence |
225
+ | **WebRTC Streaming** | `RemoteDesktopStreamer` for VNC/WebRTC frame broadcast |
226
+
227
+ ### 🛡️ Security & Guardrails
228
+ | Feature | Description |
229
+ |---------|-------------|
230
+ | **Input Guardrails** | PII detection, prompt injection prevention, length limits |
231
+ | **Output Guardrails** | JSON schema enforcement, blocked words, length limits |
232
+ | **Tool Guardrails** | `ToolInputGuardrail`/`ToolOutputGuardrail` with allow/deny/rate limits |
233
+ | **Policy Engine** | 9-priority RBAC (allow/deny/ask_user), predicates, tenant scoping |
234
+ | **RBAC** | 9 permissions (Viewer/Dev/Admin/Owner), tenant scoping |
235
+ | **Auth** | JWT (JWKS), mTLS, Token Introspection (RFC 7662), API Key Manager |
236
+ | **Secrets** | Vault, AWS/GCP/Azure Key Vault, Composite fallback chain |
237
+
238
+ ### 🌐 Protocols & Communication
239
+ | Protocol | Implementation |
240
+ |----------|----------------|
241
+ | **A2A** | Server (Starlette, agent cards, streaming), Client (retries, pooling, TLS) |
242
+ | **ACP** | Client/Server (HTTP/in-memory), agent discovery, task delegation |
243
+ | **MCP** | Stdio/SSE/WebSocket transports, capability negotiation, 5-min tool cache |
244
+ | **A2A Server** | Starlette app, agent cards, task streaming, uvicorn |
245
+ | **ACP** | HTTP/in-memory transports, agent discovery, task delegation |
246
+
247
+ ### 🛠️ Developer Experience & CLI
248
+ | Tool | Purpose |
249
+ |------|---------|
250
+ | **`alc` CLI** | `alc graph create/run/visualize/validate`, `alc agent create`, `alc tool list/test`, `alc config`, `alc deploy docker/helm/k8s` |
251
+ | **Graph Visualizer** | `compiled.generate_graph("mermaid" \| "graphviz" \| "html")` - renders in GitHub, Notion, browser |
252
+ | **Graph Visualizer** | Interactive HTML with browser preview |
253
+ | **Graph Debug** | `alc debug state/replay/trace` for debugging checkpoints and traces |
254
+
255
+ ### 🖥️ Sandboxing & Isolation
256
+ | Backend | Capabilities |
257
+ |---------|-------------|
258
+ | **DockerSandbox** | GPU passthrough, resource limits, volume mounts, PTY |
259
+ | **K8sSandbox** | Pod lifecycle, exec, resource quotas, GPU |
260
+ | **FirecrackerSandbox** | Micro-VM, resource isolation |
261
+ | **LocalSandbox** | Unix PTY, subprocess |
262
+ | **Computer Use** | X11/Wayland/Headless/VNC/Remote Desktop, Accessibility Bridge, Action Verifier |
263
+ | **ShellTool** | Docker/Local environments, policy-guarded, workspace scoping |
264
+
265
+ ### 📊 Observability & Observability
266
+ | Feature | Description |
267
+ |---------|-------------|
268
+ | **OpenTelemetry** | Auto-instrumentation decorators (`@trace_graph`, `@trace_node`, `@trace_llm`, `@trace_tool`) |
269
+ | **Prometheus** | 15+ metrics (requests, latency, tokens, errors, sessions) |
270
+ | **Structured Logging** | JSON + W3C traceparent propagation |
271
+ | **8 Span Types** | Agent, Generation, Function, Guardrail, Handoff, Custom, Task |
272
+ | **Tracing** | Nested spans, processors (OTLP, Datadog, Console) |
273
+
274
+ ### 🧪 Testing & Evaluation
275
+ | Tool | Purpose |
276
+ |------|---------|
277
+ | `QuickTest` | One-liner single/multi-turn assertions |
278
+ | `TestAgent` | Full simulation with `MockLLM`, `MockToolRegistry` |
279
+ | `MockMCPClient` | MCP server mocking |
280
+ | `AgentEvaluator` | LLM-as-judge, trajectory matching, safety, hallucination |
281
+ | `QuickTest` | One-liner single/multi-turn assertions |
282
+ | `TestContext` | Isolated test environments |
283
+ | `UserSimulator` | AI-powered user simulation (personas, error injection) |
284
+ | `BatchSimulator` | Concurrent simulation runs |
285
+
286
+ ### 🏭 Production Hardening (17 Phases Complete)
287
+ | Phase | Area | Status |
288
+ |-------|------|--------|
289
+ | 1 | Sandbox Hardening | ✅ Docker, K8s, Firecracker, RemoteFileSync |
290
+ | 2 | Computer Use | ✅ X11/Wayland/Headless/VNC/Remote Desktop/Accessibility |
291
+ | 3 | Shell Tool | ✅ Docker/Local environments, policy-guarded |
292
+ | 4 | Web Search | ✅ 7 providers + multi_search dedup |
293
+ | 5 | Image Gen | ✅ DALL-E, Imagen, SDXL, Midjourney |
294
+ | 5b | File Search | ✅ Semantic index, incremental, multi-repo |
295
+ | 6 | Realtime Audio | ✅ OpenAI/Azure Realtime, Local Whisper+TTS |
296
+ | 7 | Distributed Sync | ✅ yjs/Automerge CRDT, mDNS/Consul |
297
+ | 8 | MCP Transports | ✅ Stdio/SSE/WebSocket, capability negotiation |
298
+ | 9 | A2A/ACP | ✅ Server/Client, streaming, agent cards |
299
+ | 10 | Observability | ✅ Auto-instrumentation, 15 Prometheus metrics |
300
+ | 11 | Multi-tenancy | ✅ TenantRegistry, quotas, RBAC, isolation |
301
+ | 12 | AuthZ/AuthN | ✅ JWT/mTLS/Token Introspection, ASGI middleware |
302
+ | 13 | Deployment | ✅ Docker, Helm, K8s Operator, systemd |
303
+ | 14 | Secrets | ✅ Vault/AWS/GCP/Azure + Composite fallback |
304
+ | 15 | Rate Limiting | ✅ Redis sliding-window, priority-weighted |
305
+ | 16 | Audit/Compliance | ✅ AuditLogger, GDPR, DataLineage, OPA, SBOM |
306
+ | 17 | Developer UX | ✅ `alc` CLI, Graph Visualizer (Mermaid/Graphviz/HTML) |
307
+
308
+ ---
309
+
310
+ ## Quick Install
311
+
312
+ ```bash
313
+ # Core
314
+ pip install alcyoneus
315
+
316
+ # Common stacks
317
+ pip install "alcyoneus[openai,google-genai,mcp,pg_checkpoint,qdrant]"
318
+ pip install "alcyoneus[realtime]" # Audio agents
319
+ pip install "alcyoneus[browser]" # Browser automation
320
+ pip install "alcyoneus[cli]" # CLI tools
321
+ ```
322
+
323
+ ```bash
324
+ export OPENAI_API_KEY=sk-... # or GEMINI_API_KEY, ANTHROPIC_API_KEY
325
+ ```
326
+
327
+ ---
328
+
329
+ ## 30-Second Example
330
+
331
+ ```python
332
+ from alcyoneus.core import StateGraph, Agent, ToolNode, START, END
333
+ from alcyoneus.storage.checkpointer import InMemoryCheckpointer
334
+ from alcyoneus.prebuilt.tools import safe_calculator, google_web_search
335
+
336
+ graph = StateGraph()
337
+ graph.add_node("agent", Agent(model="gemini/gemini-2.5-flash", tool_node="tools"))
338
+ graph.add_node("tools", ToolNode([safe_calculator, google_web_search]))
339
+ graph.add_edge("agent", "tools")
340
+ graph.add_edge("tools", "agent")
341
+ graph.set_entry_point("agent")
342
+
343
+ compiled = graph.compile(checkpointer=InMemoryCheckpointer())
344
+ result = compiled.invoke(
345
+ {"messages": [{"role": "user", "content": "What's 25 * 4?"}]},
346
+ config={"thread_id": "demo"}
347
+ )
348
+ ```
349
+
350
+ ---
351
+
352
+ ## Documentation
353
+
354
+ | Topic | Link |
355
+ |-------|------|
356
+ | **Quickstart** | [docs/QUICKSTART.md](docs/QUICKSTART.md) |
357
+ | **All Imports** | [docs/IMPORTS.md](docs/IMPORTS.md) |
358
+ | **Core Patterns** | [docs/CORE_PATTERNS.md](docs/CORE_PATTERNS.md) |
359
+ | **Prebuilt Agents** | [docs/PREBUILT_AGENTS.md](docs/PREBUILT_AGENTS.md) |
360
+ | **Tools** | [docs/TOOLS.md](docs/TOOLS.md) |
361
+ | **Persistence** | [docs/PERSISTENCE.md](docs/PERSISTENCE.md) |
362
+ | **Streaming** | [docs/STREAMING.md](docs/STREAMING.md) |
363
+ | **Testing** | [docs/TESTING.md](docs/TESTING.md) |
364
+ | **Evaluation** | [docs/EVALUATION.md](docs/EVALUATION.md) |
365
+ | **Skills** | [docs/SKILLS.md](docs/SKILLS.md) |
366
+ | **Security** | [docs/SECURITY.md](docs/SECURITY.md) |
367
+ | **Protocols** | [docs/PROTOCOLS.md](docs/PROTOCOLS.md) |
368
+ | **Configuration** | [docs/CONFIGURATION.md](docs/CONFIGURATION.md) |
369
+ | **Deployment** | [docs/DEPLOYMENT.md](docs/DEPLOYMENT.md) |
370
+ | **Project Structure** | [docs/PROJECT_STRUCTURE.md](docs/PROJECT_STRUCTURE.md) |
371
+ | **Common Issues** | [docs/GOTCHAS.md](docs/GOTCHAS.md) |
372
+
373
+ ---
374
+
375
+ ## Examples
376
+
377
+ ```bash
378
+ # Basic agent
379
+ python examples/react/react_sync.py
380
+
381
+ # MCP integration
382
+ pip install "alcyoneus[mcp]"
383
+ python examples/react-mcp/server.py # terminal 1
384
+ python examples/react-mcp/react-mcp.py # terminal 2
385
+
386
+ # Streaming
387
+ python examples/react_stream/stream_react_agent.py
388
+
389
+ # Realtime audio
390
+ pip install "alcyoneus[realtime]"
391
+ export GEMINI_API_KEY=...
392
+ python examples/realtime/audio_agent_file.py
393
+ ```
394
+
395
+ ---
396
+
397
+ ## Testing & Quality
398
+
399
+ ```bash
400
+ # Run all tests (3159 passing)
401
+ pytest tests/ -q
402
+
403
+ # Lint
404
+ ruff check . && ruff format .
405
+
406
+ # Type check
407
+ mypy alcyoneus/
408
+ ```
409
+
410
+ ---
411
+
412
+ ## License
413
+
414
+ MIT License - see [LICENSE](LICENSE) for details.
415
+
416
+ ---
417
+
418
+ ## Links
419
+
420
+ - **GitHub Repository**: https://github.com/sainibhaowal/Alcyoneus-OS
421
+ - **Documentation**: [docs/QUICKSTART.md](docs/QUICKSTART.md)
422
+ - **Examples**: [examples/](examples/)
423
+ - **License**: [LICENSE](LICENSE)
424
+
425
+ ---
426
+
427
+ **Alcyoneus OS** — Build intelligent agents with confidence.