agentkernel 0.4.0__tar.gz → 0.5.1__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 (181) hide show
  1. {agentkernel-0.4.0 → agentkernel-0.5.1}/PKG-INFO +48 -18
  2. {agentkernel-0.4.0 → agentkernel-0.5.1}/README.md +42 -14
  3. {agentkernel-0.4.0 → agentkernel-0.5.1}/pyproject.toml +8 -5
  4. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/__init__.py +1 -1
  5. agentkernel-0.5.1/src/agentkernel/api/handler.py +87 -0
  6. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/api/mcp/akmcp.py +4 -1
  7. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/auth/handler.py +1 -1
  8. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/__init__.py +1 -0
  9. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/builder.py +5 -0
  10. agentkernel-0.5.1/src/agentkernel/core/chat_service.py +339 -0
  11. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/config.py +38 -6
  12. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/model.py +34 -8
  13. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/multimodal/tools.py +6 -3
  14. agentkernel-0.5.1/src/agentkernel/core/session/firestore.py +244 -0
  15. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/deployment/aws/__init__.py +1 -1
  16. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/deployment/aws/core/sqs_handler.py +68 -48
  17. agentkernel-0.5.1/src/agentkernel/deployment/aws/core/websocket_service.py +298 -0
  18. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/deployment/aws/serverless/__init__.py +1 -0
  19. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/deployment/aws/serverless/akagentrunner.py +42 -17
  20. agentkernel-0.5.1/src/agentkernel/deployment/aws/serverless/aklambda.py +89 -0
  21. agentkernel-0.5.1/src/agentkernel/deployment/aws/serverless/akresponsehandler.py +148 -0
  22. agentkernel-0.5.1/src/agentkernel/deployment/aws/serverless/akwsconnectionhandler.py +49 -0
  23. agentkernel-0.5.1/src/agentkernel/deployment/aws/serverless/core/__init__.py +2 -0
  24. agentkernel-0.5.1/src/agentkernel/deployment/aws/serverless/core/router/__init__.py +3 -0
  25. agentkernel-0.5.1/src/agentkernel/deployment/aws/serverless/core/router/common.py +83 -0
  26. agentkernel-0.5.1/src/agentkernel/deployment/aws/serverless/core/router/rest_lambda.py +382 -0
  27. agentkernel-0.5.1/src/agentkernel/deployment/aws/serverless/core/router/ws_lambda.py +538 -0
  28. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/deployment/aws/serverless/core/sqs_consumer.py +2 -0
  29. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/deployment/azure/akfunction.py +5 -3
  30. agentkernel-0.5.1/src/agentkernel/deployment/common/websocket_connection_store.py +63 -0
  31. agentkernel-0.5.1/src/agentkernel/deployment/gcp/__init__.py +13 -0
  32. agentkernel-0.5.1/src/agentkernel/deployment/gcp/akauthorizer.py +29 -0
  33. agentkernel-0.5.1/src/agentkernel/deployment/gcp/akcloudrun.py +77 -0
  34. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/framework/crewai/crewai.py +8 -2
  35. agentkernel-0.5.1/src/agentkernel/framework/smolagents/__init__.py +16 -0
  36. agentkernel-0.5.1/src/agentkernel/framework/smolagents/smolagents.py +388 -0
  37. agentkernel-0.5.1/src/agentkernel/gcp.py +8 -0
  38. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/skills/ak-add-capabilities/SKILL.md +138 -22
  39. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/skills/ak-add-capabilities/evals/evals.json +31 -2
  40. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/skills/ak-add-integration/SKILL.md +55 -9
  41. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/skills/ak-add-integration/evals/evals.json +14 -1
  42. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/skills/ak-build/SKILL.md +44 -2
  43. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/skills/ak-build/evals/evals.json +24 -1
  44. agentkernel-0.5.1/src/agentkernel/skills/ak-cloud-deploy/SKILL.md +822 -0
  45. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/skills/ak-cloud-deploy/evals/evals.json +108 -6
  46. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/skills/ak-init/SKILL.md +29 -2
  47. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/skills/ak-init/evals/evals.json +17 -2
  48. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/skills/ak-test/SKILL.md +2 -2
  49. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/skills/ak-test/evals/evals.json +1 -1
  50. agentkernel-0.5.1/src/agentkernel/smolagents.py +8 -0
  51. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/trace/base.py +7 -0
  52. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/trace/langfuse/langfuse.py +8 -0
  53. agentkernel-0.5.1/src/agentkernel/trace/langfuse/smolagents.py +34 -0
  54. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/trace/openllmetry/openllmetry.py +8 -0
  55. agentkernel-0.5.1/src/agentkernel/trace/openllmetry/smolagents.py +29 -0
  56. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/trace/trace.py +8 -0
  57. agentkernel-0.4.0/src/agentkernel/api/handler.py +0 -302
  58. agentkernel-0.4.0/src/agentkernel/deployment/aws/serverless/aklambda.py +0 -192
  59. agentkernel-0.4.0/src/agentkernel/deployment/aws/serverless/akresponsehandler.py +0 -88
  60. agentkernel-0.4.0/src/agentkernel/deployment/aws/serverless/core/__init__.py +0 -2
  61. agentkernel-0.4.0/src/agentkernel/deployment/aws/serverless/core/default_endpoints.py +0 -287
  62. agentkernel-0.4.0/src/agentkernel/deployment/common/chat_service.py +0 -142
  63. agentkernel-0.4.0/src/agentkernel/skills/ak-cloud-deploy/SKILL.md +0 -381
  64. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/adk.py +0 -0
  65. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/api/__init__.py +0 -0
  66. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/api/a2a/__init__.py +0 -0
  67. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/api/a2a/a2a.py +0 -0
  68. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/api/a2a/handler.py +0 -0
  69. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/api/http.py +0 -0
  70. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/api/mcp/__init__.py +0 -0
  71. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/auth/__init__.py +0 -0
  72. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/auth.py +0 -0
  73. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/aws.py +0 -0
  74. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/azure.py +0 -0
  75. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/cli/__init__.py +0 -0
  76. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/cli/ak.py +0 -0
  77. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/cli/cli.py +0 -0
  78. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/base.py +0 -0
  79. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/hooks.py +0 -0
  80. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/logger.py +0 -0
  81. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/module.py +0 -0
  82. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/multimodal/__init__.py +0 -0
  83. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/multimodal/factory.py +0 -0
  84. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/multimodal/hooks.py +0 -0
  85. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/multimodal/storage/__init__.py +0 -0
  86. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/multimodal/storage/base.py +0 -0
  87. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/multimodal/storage/dynamodb.py +0 -0
  88. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/multimodal/storage/in_memory.py +0 -0
  89. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/multimodal/storage/redis.py +0 -0
  90. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/multimodal/storage/session_cache.py +0 -0
  91. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/multimodal/storage/storage_manager.py +0 -0
  92. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/runtime.py +0 -0
  93. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/service.py +0 -0
  94. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/session/__init__.py +0 -0
  95. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/session/base.py +0 -0
  96. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/session/cosmosdb.py +0 -0
  97. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/session/dynamodb.py +0 -0
  98. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/session/in_memory.py +0 -0
  99. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/session/redis.py +0 -0
  100. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/session/serde.py +0 -0
  101. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/tool.py +0 -0
  102. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/util/config_yaml_util.py +0 -0
  103. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/util/error_util.py +0 -0
  104. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/core/util/key_value_cache.py +0 -0
  105. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/crewai.py +0 -0
  106. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/deployment/__init__.py +0 -0
  107. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/deployment/aws/core/__init__.py +0 -0
  108. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/deployment/aws/core/response_store/__init__.py +0 -0
  109. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/deployment/aws/core/response_store/dynamodb.py +0 -0
  110. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/deployment/aws/core/response_store/handler.py +0 -0
  111. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/deployment/aws/core/response_store/redis.py +0 -0
  112. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/deployment/aws/serverless/akauthorizer.py +0 -0
  113. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/deployment/azure/__init__.py +0 -0
  114. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/deployment/common/__init__.py +0 -0
  115. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/deployment/common/response_store.py +0 -0
  116. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/framework/__init__.py +0 -0
  117. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/framework/adk/__init__.py +0 -0
  118. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/framework/adk/adk.py +0 -0
  119. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/framework/crewai/__init__.py +0 -0
  120. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/framework/langgraph/__init__.py +0 -0
  121. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/framework/langgraph/langgraph.py +0 -0
  122. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/framework/openai/__init__.py +0 -0
  123. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/framework/openai/openai.py +0 -0
  124. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/gmail.py +0 -0
  125. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/guardrail/__init__.py +0 -0
  126. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/guardrail/bedrock.py +0 -0
  127. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/guardrail/guardrail.py +0 -0
  128. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/guardrail/openai.py +0 -0
  129. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/guardrail/walledai.py +0 -0
  130. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/instagram.py +0 -0
  131. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/__init__.py +0 -0
  132. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/gmail/README.md +0 -0
  133. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/gmail/__init__.py +0 -0
  134. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/gmail/gmail_chat.py +0 -0
  135. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/instagram/README.md +0 -0
  136. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/instagram/__init__.py +0 -0
  137. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/instagram/instagram_chat.py +0 -0
  138. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/messenger/README.md +0 -0
  139. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/messenger/__init__.py +0 -0
  140. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/messenger/messenger_chat.py +0 -0
  141. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/slack/README.md +0 -0
  142. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/slack/__init__.py +0 -0
  143. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/slack/slack_chat.py +0 -0
  144. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/teams/README.md +0 -0
  145. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/teams/__init__.py +0 -0
  146. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/teams/teams_chat.py +0 -0
  147. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/telegram/README.md +0 -0
  148. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/telegram/__init__.py +0 -0
  149. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/telegram/telegram_chat.py +0 -0
  150. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/whatsapp/README.md +0 -0
  151. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/whatsapp/__init__.py +0 -0
  152. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/integration/whatsapp/whatsapp_chat.py +0 -0
  153. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/knowledgebase/__init__.py +0 -0
  154. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/knowledgebase/base.py +0 -0
  155. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/knowledgebase/chroma.py +0 -0
  156. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/knowledgebase/knowledgebuilder.py +0 -0
  157. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/knowledgebase/neo4j.py +0 -0
  158. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/knowledgebase/starburst.py +0 -0
  159. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/langgraph.py +0 -0
  160. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/mcp.py +0 -0
  161. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/messenger.py +0 -0
  162. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/openai.py +0 -0
  163. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/skills/__init__.py +0 -0
  164. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/skills/skills.py +0 -0
  165. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/slack.py +0 -0
  166. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/teams.py +0 -0
  167. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/telegram.py +0 -0
  168. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/test/__init__.py +0 -0
  169. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/test/test.py +0 -0
  170. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/trace/__init__.py +0 -0
  171. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/trace/langfuse/__init__.py +0 -0
  172. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/trace/langfuse/adk.py +0 -0
  173. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/trace/langfuse/crewai.py +0 -0
  174. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/trace/langfuse/langgraph.py +0 -0
  175. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/trace/langfuse/openai.py +0 -0
  176. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/trace/openllmetry/__init__.py +0 -0
  177. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/trace/openllmetry/adk.py +0 -0
  178. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/trace/openllmetry/crewai.py +0 -0
  179. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/trace/openllmetry/langgraph.py +0 -0
  180. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/trace/openllmetry/openai.py +0 -0
  181. {agentkernel-0.4.0 → agentkernel-0.5.1}/src/agentkernel/whatsapp.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: agentkernel
3
- Version: 0.4.0
3
+ Version: 0.5.1
4
4
  Summary: Agent Kernel - Unified AI Agents Runtime
5
5
  Author: Yaala Labs
6
6
  Author-email: Yaala Labs <agentkernel@yaalalabs.com>
@@ -26,6 +26,7 @@ Requires-Dist: chromadb>=0.4.0 ; extra == 'chromadb'
26
26
  Requires-Dist: crewai>=0.150.0 ; extra == 'crewai'
27
27
  Requires-Dist: openinference-instrumentation-crewai>=0.1.16 ; extra == 'crewai'
28
28
  Requires-Dist: openinference-instrumentation-litellm>=0.1.28 ; extra == 'crewai'
29
+ Requires-Dist: google-cloud-firestore>=2.19.0 ; extra == 'gcp'
29
30
  Requires-Dist: google-auth>=2.0.0 ; extra == 'gmail'
30
31
  Requires-Dist: google-auth-oauthlib>=1.0.0 ; extra == 'gmail'
31
32
  Requires-Dist: google-auth-httplib2>=0.2.0 ; extra == 'gmail'
@@ -37,9 +38,8 @@ Requires-Dist: langgraph~=1.0.5 ; extra == 'langgraph'
37
38
  Requires-Dist: langchain~=1.2.3 ; extra == 'langgraph'
38
39
  Requires-Dist: langchain-community~=0.4.1 ; extra == 'langgraph'
39
40
  Requires-Dist: litellm~=1.74.9 ; extra == 'langgraph'
40
- Requires-Dist: fastmcp>=2.12.4 ; extra == 'mcp'
41
+ Requires-Dist: fastmcp>=2.14.2,<3.0.0 ; extra == 'mcp'
41
42
  Requires-Dist: httpx>=0.27.0 ; extra == 'messenger'
42
- Requires-Dist: litellm>=1.74.9 ; extra == 'multimodal'
43
43
  Requires-Dist: neo4j>=5.0.0 ; extra == 'neo4j'
44
44
  Requires-Dist: openai-agents>=0.6.5 ; extra == 'openai'
45
45
  Requires-Dist: openinference-instrumentation-openai-agents>=1.4.0 ; extra == 'openai'
@@ -48,6 +48,7 @@ Requires-Dist: traceloop-sdk>=0.48.0 ; extra == 'openllmetry'
48
48
  Requires-Dist: redis>=7.1.0 ; extra == 'redis'
49
49
  Requires-Dist: slack-bolt==1.22.0 ; extra == 'slack'
50
50
  Requires-Dist: httpx>=0.27.0 ; extra == 'slack'
51
+ Requires-Dist: smolagents>=1.0.0 ; extra == 'smolagents'
51
52
  Requires-Dist: botbuilder-core>=4.17.0 ; extra == 'teams'
52
53
  Requires-Dist: botbuilder-schema>=4.17.0 ; extra == 'teams'
53
54
  Requires-Dist: msal>=1.31.1 ; extra == 'teams'
@@ -76,18 +77,19 @@ Provides-Extra: azure
76
77
  Provides-Extra: chromadb
77
78
  Provides-Extra: cli
78
79
  Provides-Extra: crewai
80
+ Provides-Extra: gcp
79
81
  Provides-Extra: gmail
80
82
  Provides-Extra: instagram
81
83
  Provides-Extra: langfuse
82
84
  Provides-Extra: langgraph
83
85
  Provides-Extra: mcp
84
86
  Provides-Extra: messenger
85
- Provides-Extra: multimodal
86
87
  Provides-Extra: neo4j
87
88
  Provides-Extra: openai
88
89
  Provides-Extra: openllmetry
89
90
  Provides-Extra: redis
90
91
  Provides-Extra: slack
92
+ Provides-Extra: smolagents
91
93
  Provides-Extra: teams
92
94
  Provides-Extra: telegram
93
95
  Provides-Extra: test
@@ -101,18 +103,18 @@ Description-Content-Type: text/markdown
101
103
  [![PyPI version](https://badge.fury.io/py/agentkernel.svg)](https://badge.fury.io/py/agentkernel)
102
104
  [![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)
103
105
 
104
- Agent Kernel is a lightweight **multi-cloud AI agent runtime** and adapter layer for building and running AI agents across multiple frameworks and cloud providers. Deploy the same agent code to **AWS or Azure** without modification. Migrate your existing agents to Agent Kernel and instantly utilize pre-built execution and testing capabilities.
106
+ Agent Kernel is a lightweight **multi-cloud AI agent runtime** and adapter layer for building and running AI agents across multiple frameworks and cloud providers. Deploy the same agent code to **AWS, Azure, or GCP** without modification. Migrate your existing agents to Agent Kernel and instantly utilize pre-built execution and testing capabilities.
105
107
 
106
- **Supported Cloud Platforms:** AWS, Azure
108
+ **Supported Cloud Platforms:** AWS, Azure, GCP
107
109
 
108
110
  ## Features
109
111
 
110
112
  - **Unified API**: Common abstractions (Agent, Runner, Session, Module, Runtime) across frameworks
111
- - **Multi-Framework Support**: OpenAI Agents SDK, CrewAI, LangGraph, Google ADK
112
- - **Multi-Cloud Deployment**: Deploy to AWS (Lambda, ECS/Fargate) or Azure (Functions, Container Apps) with the same code
113
- - **Session Management**: Built-in session abstraction with multi-cloud storage (Redis, DynamoDB, Cosmos DB)
113
+ - **Multi-Framework Support**: OpenAI Agents SDK, CrewAI, LangGraph, Google ADK, and Smolagents
114
+ - **Multi-Cloud Deployment**: Deploy to AWS (Lambda, ECS/Fargate), Azure (Functions, Container Apps), or GCP (Cloud Run serverless/containerized) with the same code
115
+ - **Session Management**: Built-in session abstraction with multi-cloud storage (Redis, DynamoDB, Cosmos DB, Firestore)
114
116
  - **Knowledge Bases**: Unified `KnowledgeBase` interface with ChromaDB, Neo4j, and Starburst/Trino backends via `KnowledgeBuilder`
115
- - **Flexible Deployment**: Interactive CLI, REST API, serverless (AWS Lambda, Azure Functions), containerized (AWS ECS, Azure Container Apps)
117
+ - **Flexible Deployment**: Interactive CLI, REST API, serverless (AWS Lambda, Azure Functions, GCP Cloud Run), containerized (AWS ECS, Azure Container Apps, GCP Cloud Run)
116
118
  - **Pluggable Architecture**: Easy to extend with custom framework adapters and cloud providers
117
119
  - **MCP Server**: Built-in Model Context Protocol server for exposing agents as MCP tools and exposing any custom tool
118
120
  - **A2A Server**: Built-in Agent-to-Agent communication server for exposing agents with a simple configuration change
@@ -357,6 +359,31 @@ Azure Functions also accepts the normalized envelope, and flat run payloads are
357
359
  - `400` — No agent available
358
360
  - `500` — Unexpected error
359
361
 
362
+ ### GCP Cloud Run Deployment
363
+
364
+ Deploy your agents to GCP Cloud Run using the built-in `CloudRun` handler.
365
+
366
+ ```python
367
+ from agentkernel.gcp import CloudRun
368
+ from agentkernel.openai import OpenAIModule
369
+
370
+ OpenAIModule([...])
371
+
372
+ @CloudRun.register("/app", method="GET")
373
+ def app_handler() -> dict:
374
+ return {"status": "ok"}
375
+
376
+ def main() -> None:
377
+ CloudRun.run()
378
+
379
+ if __name__ == "__main__":
380
+ main()
381
+ ```
382
+
383
+ `CloudRun` is the GCP equivalent of `Lambda` (AWS) and `AzureFunctions` (Azure). It wraps `RESTAPI` and starts a FastAPI/uvicorn server. Custom routes are registered with `@CloudRun.register(path, method)`. Use `CloudRun.run()` instead of `RESTAPI.run()` when deploying to GCP.
384
+
385
+ For full Terraform deployment configuration, see [`ak-deployment/ak-gcp/`](https://github.com/yaalalabs/agent-kernel/tree/develop/ak-deployment/ak-gcp) or the [GCP deployment docs](https://github.com/yaalalabs/agent-kernel/tree/develop/docs/docs/deployment/gcp-serverless.md).
386
+
360
387
  ## Configuration
361
388
 
362
389
  Agent Kernel can be configured via environment variables, `.env` files, or YAML/JSON configuration files.
@@ -404,7 +431,7 @@ Configure where agent sessions are stored (supports multi-cloud storage backends
404
431
 
405
432
  - **Field**: `session.type`
406
433
  - **Type**: string
407
- - **Options**: `in_memory`, `redis`, `dynamodb` (AWS), `cosmosdb` (Azure)
434
+ - **Options**: `in_memory`, `redis`, `dynamodb` (AWS), `cosmosdb` (Azure), `firestore` (GCP)
408
435
  - **Default**: `in_memory`
409
436
  - **Environment Variable**: `AK_SESSION__TYPE`
410
437
 
@@ -564,10 +591,15 @@ Configure the REST API server (if using the API module).
564
591
  - **Description**: List of agent names to expose as MCP tools
565
592
  - **Environment Variable**: `AK_MCP__AGENTS` (comma-separated)
566
593
 
567
- - **URL**
568
- - **Field**: `mcp.url`
569
- - **Default**: `http://localhost:8000/mcp`
570
- - **Environment Variable**: `AK_MCP__URL`
594
+ - **Stateless HTTP**
595
+ - **Field**: `mcp.stateless_http`
596
+ - **Default**: `false`
597
+ - **Description**: Run MCP in stateless HTTP mode (no `Mcp-Session-Id`)
598
+ - **Environment Variable**: `AK_MCP__STATELESS_HTTP`
599
+
600
+ - **Endpoint** (not configurable)
601
+ - The MCP server is always mounted at `/mcp` on the main API server.
602
+ - Full URL: `http://{api.host}:{api.port}/mcp` — use `api.port` / `AK_API__PORT` to change the port.
571
603
 
572
604
  #### Trace (Observability) Configuration
573
605
 
@@ -1023,7 +1055,6 @@ mcp:
1023
1055
  enabled: false
1024
1056
  expose_agents: false
1025
1057
  agents: ["*"]
1026
- url: http://localhost:8000/mcp
1027
1058
  trace:
1028
1059
  enabled: true
1029
1060
  type: langfuse
@@ -1095,8 +1126,7 @@ gmail:
1095
1126
  "mcp": {
1096
1127
  "enabled": false,
1097
1128
  "expose_agents": false,
1098
- "agents": ["*"],
1099
- "url": "http://localhost:8000/mcp"
1129
+ "agents": ["*"]
1100
1130
  },
1101
1131
  "trace": {
1102
1132
  "enabled": true,
@@ -3,18 +3,18 @@
3
3
  [![PyPI version](https://badge.fury.io/py/agentkernel.svg)](https://badge.fury.io/py/agentkernel)
4
4
  [![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)
5
5
 
6
- Agent Kernel is a lightweight **multi-cloud AI agent runtime** and adapter layer for building and running AI agents across multiple frameworks and cloud providers. Deploy the same agent code to **AWS or Azure** without modification. Migrate your existing agents to Agent Kernel and instantly utilize pre-built execution and testing capabilities.
6
+ Agent Kernel is a lightweight **multi-cloud AI agent runtime** and adapter layer for building and running AI agents across multiple frameworks and cloud providers. Deploy the same agent code to **AWS, Azure, or GCP** without modification. Migrate your existing agents to Agent Kernel and instantly utilize pre-built execution and testing capabilities.
7
7
 
8
- **Supported Cloud Platforms:** AWS, Azure
8
+ **Supported Cloud Platforms:** AWS, Azure, GCP
9
9
 
10
10
  ## Features
11
11
 
12
12
  - **Unified API**: Common abstractions (Agent, Runner, Session, Module, Runtime) across frameworks
13
- - **Multi-Framework Support**: OpenAI Agents SDK, CrewAI, LangGraph, Google ADK
14
- - **Multi-Cloud Deployment**: Deploy to AWS (Lambda, ECS/Fargate) or Azure (Functions, Container Apps) with the same code
15
- - **Session Management**: Built-in session abstraction with multi-cloud storage (Redis, DynamoDB, Cosmos DB)
13
+ - **Multi-Framework Support**: OpenAI Agents SDK, CrewAI, LangGraph, Google ADK, and Smolagents
14
+ - **Multi-Cloud Deployment**: Deploy to AWS (Lambda, ECS/Fargate), Azure (Functions, Container Apps), or GCP (Cloud Run serverless/containerized) with the same code
15
+ - **Session Management**: Built-in session abstraction with multi-cloud storage (Redis, DynamoDB, Cosmos DB, Firestore)
16
16
  - **Knowledge Bases**: Unified `KnowledgeBase` interface with ChromaDB, Neo4j, and Starburst/Trino backends via `KnowledgeBuilder`
17
- - **Flexible Deployment**: Interactive CLI, REST API, serverless (AWS Lambda, Azure Functions), containerized (AWS ECS, Azure Container Apps)
17
+ - **Flexible Deployment**: Interactive CLI, REST API, serverless (AWS Lambda, Azure Functions, GCP Cloud Run), containerized (AWS ECS, Azure Container Apps, GCP Cloud Run)
18
18
  - **Pluggable Architecture**: Easy to extend with custom framework adapters and cloud providers
19
19
  - **MCP Server**: Built-in Model Context Protocol server for exposing agents as MCP tools and exposing any custom tool
20
20
  - **A2A Server**: Built-in Agent-to-Agent communication server for exposing agents with a simple configuration change
@@ -259,6 +259,31 @@ Azure Functions also accepts the normalized envelope, and flat run payloads are
259
259
  - `400` — No agent available
260
260
  - `500` — Unexpected error
261
261
 
262
+ ### GCP Cloud Run Deployment
263
+
264
+ Deploy your agents to GCP Cloud Run using the built-in `CloudRun` handler.
265
+
266
+ ```python
267
+ from agentkernel.gcp import CloudRun
268
+ from agentkernel.openai import OpenAIModule
269
+
270
+ OpenAIModule([...])
271
+
272
+ @CloudRun.register("/app", method="GET")
273
+ def app_handler() -> dict:
274
+ return {"status": "ok"}
275
+
276
+ def main() -> None:
277
+ CloudRun.run()
278
+
279
+ if __name__ == "__main__":
280
+ main()
281
+ ```
282
+
283
+ `CloudRun` is the GCP equivalent of `Lambda` (AWS) and `AzureFunctions` (Azure). It wraps `RESTAPI` and starts a FastAPI/uvicorn server. Custom routes are registered with `@CloudRun.register(path, method)`. Use `CloudRun.run()` instead of `RESTAPI.run()` when deploying to GCP.
284
+
285
+ For full Terraform deployment configuration, see [`ak-deployment/ak-gcp/`](https://github.com/yaalalabs/agent-kernel/tree/develop/ak-deployment/ak-gcp) or the [GCP deployment docs](https://github.com/yaalalabs/agent-kernel/tree/develop/docs/docs/deployment/gcp-serverless.md).
286
+
262
287
  ## Configuration
263
288
 
264
289
  Agent Kernel can be configured via environment variables, `.env` files, or YAML/JSON configuration files.
@@ -306,7 +331,7 @@ Configure where agent sessions are stored (supports multi-cloud storage backends
306
331
 
307
332
  - **Field**: `session.type`
308
333
  - **Type**: string
309
- - **Options**: `in_memory`, `redis`, `dynamodb` (AWS), `cosmosdb` (Azure)
334
+ - **Options**: `in_memory`, `redis`, `dynamodb` (AWS), `cosmosdb` (Azure), `firestore` (GCP)
310
335
  - **Default**: `in_memory`
311
336
  - **Environment Variable**: `AK_SESSION__TYPE`
312
337
 
@@ -466,10 +491,15 @@ Configure the REST API server (if using the API module).
466
491
  - **Description**: List of agent names to expose as MCP tools
467
492
  - **Environment Variable**: `AK_MCP__AGENTS` (comma-separated)
468
493
 
469
- - **URL**
470
- - **Field**: `mcp.url`
471
- - **Default**: `http://localhost:8000/mcp`
472
- - **Environment Variable**: `AK_MCP__URL`
494
+ - **Stateless HTTP**
495
+ - **Field**: `mcp.stateless_http`
496
+ - **Default**: `false`
497
+ - **Description**: Run MCP in stateless HTTP mode (no `Mcp-Session-Id`)
498
+ - **Environment Variable**: `AK_MCP__STATELESS_HTTP`
499
+
500
+ - **Endpoint** (not configurable)
501
+ - The MCP server is always mounted at `/mcp` on the main API server.
502
+ - Full URL: `http://{api.host}:{api.port}/mcp` — use `api.port` / `AK_API__PORT` to change the port.
473
503
 
474
504
  #### Trace (Observability) Configuration
475
505
 
@@ -925,7 +955,6 @@ mcp:
925
955
  enabled: false
926
956
  expose_agents: false
927
957
  agents: ["*"]
928
- url: http://localhost:8000/mcp
929
958
  trace:
930
959
  enabled: true
931
960
  type: langfuse
@@ -997,8 +1026,7 @@ gmail:
997
1026
  "mcp": {
998
1027
  "enabled": false,
999
1028
  "expose_agents": false,
1000
- "agents": ["*"],
1001
- "url": "http://localhost:8000/mcp"
1029
+ "agents": ["*"]
1002
1030
  },
1003
1031
  "trace": {
1004
1032
  "enabled": true,
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "agentkernel"
7
- version = "0.4.0"
7
+ version = "0.5.1"
8
8
  description = "Agent Kernel - Unified AI Agents Runtime"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12,<3.14"
@@ -42,6 +42,9 @@ langgraph = [
42
42
  "langchain_community~=0.4.1",
43
43
  "litellm~=1.74.9"
44
44
  ]
45
+ smolagents = [
46
+ "smolagents>=1.0.0",
47
+ ]
45
48
  cli = [
46
49
 
47
50
  ]
@@ -114,6 +117,9 @@ gmail = [
114
117
  "google-auth-httplib2>=0.2.0",
115
118
  "google-api-python-client>=2.0.0",
116
119
  ]
120
+ gcp = [
121
+ "google-cloud-firestore>=2.19.0",
122
+ ]
117
123
  test = [
118
124
  "pytest>=8.4.1",
119
125
  "pytest-asyncio>=1.2.0",
@@ -130,10 +136,7 @@ a2a = [
130
136
  "a2a-sdk[http-server]>=0.3.6",
131
137
  ]
132
138
  mcp = [
133
- "fastmcp>=2.12.4",
134
- ]
135
- multimodal = [
136
- "litellm>=1.74.9",
139
+ "fastmcp>=2.14.2,<3.0.0"
137
140
  ]
138
141
 
139
142
  [project.scripts]
@@ -5,7 +5,7 @@ This package provides a unified framework for working with different agent imple
5
5
  It includes core functionality for agent execution, modular integration, and runtime management.
6
6
 
7
7
  Features:
8
- - Support for multiple agent frameworks (OpenAI, CrewAI, LangGraph)
8
+ - Support for multiple agent frameworks (OpenAI, CrewAI, LangGraph, Smolagents)
9
9
  - Modular architecture for easy extension
10
10
  - Unified runtime environment
11
11
  - CLI interface for agent interaction
@@ -0,0 +1,87 @@
1
+ import logging
2
+ from abc import ABC, abstractmethod
3
+ from typing import List, Optional
4
+
5
+ from fastapi import APIRouter, File, Form, UploadFile
6
+ from pydantic import ConfigDict
7
+
8
+ from ..core import Config
9
+ from ..core.chat_service import ChatService
10
+ from ..core.model import BaseChatRequest, BaseRunRequest
11
+ from ..core.runtime import Runtime
12
+
13
+
14
+ class RESTRequestHandler(ABC):
15
+ @abstractmethod
16
+ def get_router(self) -> APIRouter:
17
+ """
18
+ Returns the APIRouter instance which has configured routes
19
+ E.g.:
20
+ - GET /api/v1/agents: List available agents
21
+
22
+ router = APIRouter()
23
+
24
+ @router.get("/api/v1/agents")
25
+ def list_agents():
26
+ from ..core.runtime import Runtime
27
+ return {"agents": list(Runtime.current().agents().keys())}
28
+
29
+ """
30
+ pass
31
+
32
+
33
+ class AgentRESTRequestHandler(RESTRequestHandler):
34
+ """
35
+ API routers that expose endpoints to interact with Agent Kernel.
36
+ Endpoints:
37
+ - GET /api/v1/agents: List available agents
38
+ - POST /api/v1/chat: Run an agent with a prompt
39
+ Payload JSON: { "prompt": str, "agent": str | null, "session_id": str | null }
40
+ """
41
+
42
+ class BaseMultimodalRunRequest(BaseChatRequest):
43
+ """Chat request with multipart file and image uploads (UploadFile format)."""
44
+
45
+ files: Optional[List[UploadFile]] = None
46
+ images: Optional[List[UploadFile]] = None
47
+ model_config = ConfigDict(extra="allow")
48
+
49
+ def __init__(self):
50
+ self._log = logging.getLogger("ak.api.agent")
51
+ self._max_file_size = Config.get().api.max_file_size
52
+ self.chat_service = ChatService(rest_api_mode=True)
53
+
54
+ def get_router(self) -> APIRouter:
55
+ """
56
+ Returns the APIRouter instance.
57
+ """
58
+
59
+ router = APIRouter()
60
+
61
+ @router.get("/api/v1/agents")
62
+ def list_agents():
63
+ return {"agents": list(Runtime.current().agents().keys())}
64
+
65
+ @router.post("/api/v1/chat")
66
+ async def run(body: BaseRunRequest):
67
+ return await self.chat_service.process_async_chat_request(req=body)
68
+
69
+ @router.post("/api/v1/chat-multipart")
70
+ async def run_multipart(
71
+ prompt: str = Form(...),
72
+ agent: Optional[str] = Form(None),
73
+ session_id: Optional[str] = Form(None),
74
+ files: Optional[List[UploadFile]] = File(None),
75
+ images: Optional[List[UploadFile]] = File(None),
76
+ ):
77
+ # Construct BaseMultimodalRunRequest from form parameters
78
+ req = AgentRESTRequestHandler.BaseMultimodalRunRequest(
79
+ prompt=prompt,
80
+ agent=agent,
81
+ session_id=session_id,
82
+ files=files,
83
+ images=images,
84
+ )
85
+ return await self.chat_service.process_async_chat_request(req=req)
86
+
87
+ return router
@@ -59,7 +59,10 @@ class MCP:
59
59
  if cls._built or not AKConfig.get().mcp.enabled:
60
60
  return
61
61
  if cls._fastmcp is None:
62
- cls._fastmcp = FastMCP("Agent Kernel FastMCP Instance")
62
+ cls._fastmcp = FastMCP(
63
+ "Agent Kernel FastMCP Instance",
64
+ stateless_http=AKConfig.get().mcp.stateless_http,
65
+ )
63
66
  if AKConfig.get().mcp.expose_agents:
64
67
  agents: dict[str, Agent] = Runtime.current().agents()
65
68
  for name, agent in agents.items():
@@ -7,7 +7,7 @@ from pydantic import BaseModel
7
7
  class ValidationContext(BaseModel):
8
8
  path: Optional[str] = None
9
9
  http_method: Optional[str] = None
10
- headers: Dict[str, str]
10
+ headers: Optional[Dict[str, Any]] = None
11
11
 
12
12
 
13
13
  class ValidationResult(BaseModel):
@@ -29,3 +29,4 @@ from .service import AgentService
29
29
  from .hooks import PreHook, PostHook
30
30
  from .tool import ToolContext, ToolBuilder
31
31
  from .util.key_value_cache import KeyValueCache
32
+ from .chat_service import ChatService
@@ -90,6 +90,7 @@ class SessionStoreBuilder(Builder):
90
90
  REDIS = "REDIS"
91
91
  DYNAMODB = "DYNAMODB"
92
92
  COSMOSDB = "COSMOSDB"
93
+ FIRESTORE = "FIRESTORE"
93
94
 
94
95
  @classmethod
95
96
  def from_str(cls, type_str: str) -> Self:
@@ -141,6 +142,10 @@ class SessionStoreBuilder(Builder):
141
142
  from .session.cosmosdb import CosmosDBSessionStore
142
143
 
143
144
  return CosmosDBSessionStore(cache=SessionCacheBuilder.build())
145
+ elif session_store_type == SessionStoreBuilder.Types.FIRESTORE:
146
+ from .session.firestore import FirestoreSessionStore
147
+
148
+ return FirestoreSessionStore(cache=SessionCacheBuilder.build())
144
149
  else:
145
150
  from .session.in_memory import InMemorySessionStore
146
151