agentkernel 0.9.3__tar.gz → 0.9.4__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 (373) hide show
  1. {agentkernel-0.9.3 → agentkernel-0.9.4}/PKG-INFO +96 -9
  2. {agentkernel-0.9.3 → agentkernel-0.9.4}/README.md +81 -8
  3. {agentkernel-0.9.3 → agentkernel-0.9.4}/pyproject.toml +22 -6
  4. agentkernel-0.9.4/src/agentkernel/api/__init__.py +42 -0
  5. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/__init__.py +1 -1
  6. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/base.py +139 -25
  7. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/chat_service.py +73 -9
  8. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/config.py +27 -1
  9. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/event.py +52 -3
  10. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/model.py +139 -5
  11. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/module.py +20 -3
  12. agentkernel-0.9.4/src/agentkernel/core/paused_run.py +279 -0
  13. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/runtime.py +168 -4
  14. agentkernel-0.9.4/src/agentkernel/core/util/picklable.py +38 -0
  15. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/__init__.py +2 -0
  16. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/serverless/akagentrunner.py +17 -2
  17. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/serverless/akauthorizer.py +39 -2
  18. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/serverless/akresponsehandler.py +40 -6
  19. agentkernel-0.9.4/src/agentkernel/deployment/aws/serverless/core/event_translator.py +172 -0
  20. agentkernel-0.9.4/src/agentkernel/deployment/aws/serverless/core/webhook_host.py +152 -0
  21. agentkernel-0.9.4/src/agentkernel/framework/adk/adk.py +1115 -0
  22. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/framework/crewai/crewai.py +4 -2
  23. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/framework/langgraph/langgraph.py +401 -25
  24. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/framework/openai/openai.py +251 -7
  25. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/framework/pydanticai/pydanticai.py +360 -17
  26. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/framework/smolagents/smolagents.py +5 -2
  27. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/guardrail/guardrail.py +43 -1
  28. agentkernel-0.9.4/src/agentkernel/guardrail/walledai.py +328 -0
  29. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/adapter/__init__.py +4 -0
  30. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/adapter/base.py +11 -0
  31. agentkernel-0.9.4/src/agentkernel/integration/adapter/route_matcher.py +84 -0
  32. agentkernel-0.9.4/src/agentkernel/integration/adapter/routes.py +35 -0
  33. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/adapter/testing.py +12 -1
  34. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/adapter/webhook.py +5 -0
  35. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/agui/handler.py +52 -0
  36. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/agui/run_input.py +101 -9
  37. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/instagram/adapter.py +7 -2
  38. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/messenger/adapter.py +7 -2
  39. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/slack/adapter.py +2 -1
  40. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/teams/adapter.py +2 -1
  41. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/telegram/adapter.py +6 -1
  42. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/thread/thread_chat.py +6 -5
  43. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/whatsapp/adapter.py +7 -2
  44. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/agent_runner.py +9 -16
  45. agentkernel-0.9.4/src/agentkernel/pipeline/integration_delivery.py +134 -0
  46. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/response_handler.py +10 -57
  47. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/ws/handler.py +3 -0
  48. agentkernel-0.9.4/src/agentkernel/secret/__init__.py +18 -0
  49. agentkernel-0.9.4/src/agentkernel/secret/base.py +29 -0
  50. agentkernel-0.9.4/src/agentkernel/secret/cache.py +59 -0
  51. agentkernel-0.9.4/src/agentkernel/secret/errors.py +13 -0
  52. agentkernel-0.9.4/src/agentkernel/secret/factory.py +43 -0
  53. agentkernel-0.9.4/src/agentkernel/secret/manager.py +106 -0
  54. agentkernel-0.9.4/src/agentkernel/secret/providers/__init__.py +1 -0
  55. agentkernel-0.9.4/src/agentkernel/secret/providers/aws_ssm.py +88 -0
  56. agentkernel-0.9.4/src/agentkernel/secret/providers/env.py +13 -0
  57. agentkernel-0.9.4/src/agentkernel/secret/testing.py +63 -0
  58. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/skills/ak-add-capabilities/SKILL.md +206 -36
  59. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/skills/ak-add-capabilities/evals/evals.json +76 -1
  60. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/skills/ak-add-integration/SKILL.md +46 -8
  61. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/skills/ak-add-integration/evals/evals.json +1 -1
  62. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/skills/ak-build/SKILL.md +12 -2
  63. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/skills/ak-build/evals/evals.json +1 -1
  64. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/skills/ak-cloud-deploy/SKILL.md +146 -27
  65. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/skills/ak-cloud-deploy/evals/evals.json +18 -1
  66. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/skills/ak-init/SKILL.md +4 -4
  67. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/skills/ak-init/evals/evals.json +2 -2
  68. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/skills/ak-test/SKILL.md +15 -14
  69. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/skills/ak-test/evals/evals.json +1 -1
  70. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/test/config.py +1 -1
  71. agentkernel-0.9.4/src/agentkernel/test/core/evaluator/jev.py +99 -0
  72. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/test/test.py +5 -1
  73. agentkernel-0.9.4/src/agentkernel/trace/cloudwatch/adk.py +37 -0
  74. agentkernel-0.9.4/src/agentkernel/trace/cloudwatch/cloudwatch.py +197 -0
  75. agentkernel-0.9.4/src/agentkernel/trace/cloudwatch/crewai.py +39 -0
  76. agentkernel-0.9.4/src/agentkernel/trace/cloudwatch/langgraph.py +33 -0
  77. agentkernel-0.9.4/src/agentkernel/trace/cloudwatch/openai.py +37 -0
  78. agentkernel-0.9.4/src/agentkernel/trace/cloudwatch/pydanticai.py +44 -0
  79. agentkernel-0.9.4/src/agentkernel/trace/cloudwatch/sigv4.py +57 -0
  80. agentkernel-0.9.4/src/agentkernel/trace/cloudwatch/smolagents.py +33 -0
  81. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/langfuse/langgraph.py +10 -6
  82. agentkernel-0.9.4/src/agentkernel/trace/openllmetry/__init__.py +0 -0
  83. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/trace.py +6 -1
  84. agentkernel-0.9.3/src/agentkernel/api/__init__.py +0 -15
  85. agentkernel-0.9.3/src/agentkernel/framework/adk/adk.py +0 -688
  86. agentkernel-0.9.3/src/agentkernel/guardrail/walledai.py +0 -234
  87. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/__init__.py +0 -0
  88. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/adk.py +0 -0
  89. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/agui.py +0 -0
  90. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/api/a2a/__init__.py +0 -0
  91. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/api/a2a/a2a.py +0 -0
  92. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/api/a2a/handler.py +0 -0
  93. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/api/handler.py +0 -0
  94. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/api/http.py +0 -0
  95. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/api/mcp/__init__.py +0 -0
  96. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/api/mcp/akmcp.py +0 -0
  97. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/auth/__init__.py +0 -0
  98. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/auth/authoriser.py +0 -0
  99. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/auth/handler.py +0 -0
  100. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/auth.py +0 -0
  101. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/aws.py +0 -0
  102. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/azure.py +0 -0
  103. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/cli/__init__.py +0 -0
  104. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/cli/ak.py +0 -0
  105. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/cli/cli.py +0 -0
  106. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/builder.py +0 -0
  107. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/hooks.py +0 -0
  108. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/logger.py +0 -0
  109. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/multimodal/__init__.py +0 -0
  110. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/multimodal/factory.py +0 -0
  111. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/multimodal/hooks.py +0 -0
  112. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/multimodal/source.py +0 -0
  113. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/multimodal/storage/__init__.py +0 -0
  114. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/multimodal/storage/base.py +0 -0
  115. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/multimodal/storage/dynamodb.py +0 -0
  116. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/multimodal/storage/in_memory.py +0 -0
  117. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/multimodal/storage/redis.py +0 -0
  118. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/multimodal/storage/session_cache.py +0 -0
  119. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/multimodal/storage/storage_manager.py +0 -0
  120. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/multimodal/tools.py +0 -0
  121. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/service.py +0 -0
  122. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/session/__init__.py +0 -0
  123. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/session/base.py +0 -0
  124. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/session/cosmosdb.py +0 -0
  125. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/session/dynamodb.py +0 -0
  126. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/session/firestore.py +0 -0
  127. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/session/in_memory.py +0 -0
  128. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/session/redis.py +0 -0
  129. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/session/redis_like.py +0 -0
  130. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/session/serde.py +0 -0
  131. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/session/valkey.py +0 -0
  132. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/tool.py +0 -0
  133. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/util/async_bridge.py +0 -0
  134. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/util/config_yaml_util.py +0 -0
  135. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/util/driver/__init__.py +0 -0
  136. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/util/driver/base.py +0 -0
  137. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/util/driver/cosmosdb.py +0 -0
  138. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/util/driver/dynamodb.py +0 -0
  139. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/util/driver/firestore.py +0 -0
  140. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/util/driver/redis.py +0 -0
  141. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/util/driver/redis_like.py +0 -0
  142. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/util/driver/s3.py +0 -0
  143. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/util/driver/valkey.py +0 -0
  144. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/util/error_util.py +0 -0
  145. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/util/factory.py +0 -0
  146. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/util/key_value_cache.py +0 -0
  147. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/core/util/pagination.py +0 -0
  148. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/crewai.py +0 -0
  149. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/__init__.py +0 -0
  150. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/containerized/__init__.py +0 -0
  151. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/containerized/akagentrunner.py +0 -0
  152. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/containerized/akoutputconsumer.py +0 -0
  153. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/containerized/core/__init__.py +0 -0
  154. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/containerized/core/api/__init__.py +0 -0
  155. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/containerized/core/api/rest_api.py +0 -0
  156. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/containerized/core/api/websocket_api.py +0 -0
  157. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/containerized/core/sqs_consumer.py +0 -0
  158. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/containerized/ecs_io_handler.py +0 -0
  159. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/core/__init__.py +0 -0
  160. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/core/raw_queue_consumer.py +0 -0
  161. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/core/response_store/__init__.py +0 -0
  162. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/core/response_store/dynamodb.py +0 -0
  163. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/core/response_store/factory.py +0 -0
  164. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/core/response_store/redis.py +0 -0
  165. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/core/response_store/valkey.py +0 -0
  166. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/core/sqs_handler.py +0 -0
  167. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/core/websocket_service.py +0 -0
  168. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/serverless/__init__.py +0 -0
  169. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/serverless/aklambda.py +0 -0
  170. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/serverless/akwsconnectionhandler.py +0 -0
  171. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/serverless/core/__init__.py +0 -0
  172. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/serverless/core/router/__init__.py +0 -0
  173. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/serverless/core/router/common.py +0 -0
  174. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/serverless/core/router/rest_lambda.py +0 -0
  175. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/serverless/core/router/ws_lambda.py +0 -0
  176. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/aws/serverless/core/sqs_consumer.py +0 -0
  177. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/azure/__init__.py +0 -0
  178. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/azure/akfunction.py +0 -0
  179. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/common/__init__.py +0 -0
  180. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/common/response_store.py +0 -0
  181. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/common/rest_handler.py +0 -0
  182. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/common/thread_runner.py +0 -0
  183. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/common/websocket_service.py +0 -0
  184. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/gcp/__init__.py +0 -0
  185. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/gcp/akauthorizer.py +0 -0
  186. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/deployment/gcp/akcloudrun.py +0 -0
  187. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/framework/__init__.py +0 -0
  188. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/framework/adk/__init__.py +0 -0
  189. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/framework/crewai/__init__.py +0 -0
  190. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/framework/langgraph/__init__.py +0 -0
  191. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/framework/openai/__init__.py +0 -0
  192. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/framework/pydanticai/__init__.py +0 -0
  193. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/framework/smolagents/__init__.py +0 -0
  194. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/gcp.py +0 -0
  195. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/gmail.py +0 -0
  196. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/guardrail/__init__.py +0 -0
  197. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/guardrail/bedrock.py +0 -0
  198. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/guardrail/openai.py +0 -0
  199. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/instagram.py +0 -0
  200. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/__init__.py +0 -0
  201. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/adapter/factory.py +0 -0
  202. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/adapter/meta.py +0 -0
  203. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/adapter/poller.py +0 -0
  204. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/adapter/producer.py +0 -0
  205. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/agui/__init__.py +0 -0
  206. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/agui/mapping.py +0 -0
  207. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/agui/state.py +0 -0
  208. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/gmail/README.md +0 -0
  209. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/gmail/__init__.py +0 -0
  210. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/gmail/adapter.py +0 -0
  211. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/instagram/README.md +0 -0
  212. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/instagram/__init__.py +0 -0
  213. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/messenger/README.md +0 -0
  214. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/messenger/__init__.py +0 -0
  215. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/slack/README.md +0 -0
  216. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/slack/__init__.py +0 -0
  217. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/teams/README.md +0 -0
  218. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/teams/__init__.py +0 -0
  219. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/telegram/README.md +0 -0
  220. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/telegram/__init__.py +0 -0
  221. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/thread/__init__.py +0 -0
  222. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/thread/manager.py +0 -0
  223. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/thread/model.py +0 -0
  224. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/thread/naming.py +0 -0
  225. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/thread/recorder.py +0 -0
  226. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/thread/store/__init__.py +0 -0
  227. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/thread/store/base.py +0 -0
  228. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/thread/store/cosmosdb.py +0 -0
  229. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/thread/store/dynamodb.py +0 -0
  230. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/thread/store/firestore.py +0 -0
  231. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/thread/store/in_memory.py +0 -0
  232. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/thread/store/redis.py +0 -0
  233. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/thread/store/redis_like.py +0 -0
  234. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/thread/store/valkey.py +0 -0
  235. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/whatsapp/README.md +0 -0
  236. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/integration/whatsapp/__init__.py +0 -0
  237. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/__init__.py +0 -0
  238. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/base.py +0 -0
  239. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/chroma.py +0 -0
  240. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/document.py +0 -0
  241. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/errors.py +0 -0
  242. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/knowledgebuilder.py +0 -0
  243. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/model.py +0 -0
  244. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/neo4j.py +0 -0
  245. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/okf/__init__.py +0 -0
  246. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/okf/capability.py +0 -0
  247. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/okf/manager.py +0 -0
  248. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/okf/model.py +0 -0
  249. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/okf/parser.py +0 -0
  250. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/okf/prompts.py +0 -0
  251. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/okf/roles.py +0 -0
  252. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/okf/tools.py +0 -0
  253. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/starburst.py +0 -0
  254. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/store/__init__.py +0 -0
  255. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/store/base.py +0 -0
  256. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/store/local.py +0 -0
  257. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/store/s3.py +0 -0
  258. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/knowledgebase/testing.py +0 -0
  259. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/langgraph.py +0 -0
  260. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/mcp.py +0 -0
  261. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/messenger.py +0 -0
  262. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/openai.py +0 -0
  263. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/__init__.py +0 -0
  264. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/consumer.py +0 -0
  265. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/envelope.py +0 -0
  266. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/io_handler.py +0 -0
  267. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/producer.py +0 -0
  268. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/request_handler.py +0 -0
  269. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/response_store/__init__.py +0 -0
  270. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/response_store/base.py +0 -0
  271. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/response_store/dynamodb.py +0 -0
  272. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/response_store/factory.py +0 -0
  273. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/response_store/in_memory.py +0 -0
  274. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/response_store/redis.py +0 -0
  275. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/response_store/valkey.py +0 -0
  276. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/testing.py +0 -0
  277. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/thread_runner.py +0 -0
  278. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/transport/__init__.py +0 -0
  279. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/transport/base.py +0 -0
  280. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/transport/bookkeeping.py +0 -0
  281. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/transport/in_memory.py +0 -0
  282. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/transport/kafka.py +0 -0
  283. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/transport/nats.py +0 -0
  284. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/transport/sqs.py +0 -0
  285. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/ws/__init__.py +0 -0
  286. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/ws/base.py +0 -0
  287. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/ws/endpoint.py +0 -0
  288. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/ws/gateway.py +0 -0
  289. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/ws/push.py +0 -0
  290. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pipeline/ws/registry.py +0 -0
  291. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/pydanticai.py +0 -0
  292. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/__init__.py +0 -0
  293. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/base.py +0 -0
  294. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/broker/__init__.py +0 -0
  295. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/broker/base.py +0 -0
  296. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/broker/embedded.py +0 -0
  297. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/broker/queue.py +0 -0
  298. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/broker/queue_worker.py +0 -0
  299. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/broker/thread.py +0 -0
  300. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/broker/wire.py +0 -0
  301. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/broker/worker.py +0 -0
  302. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/errors.py +0 -0
  303. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/factory.py +0 -0
  304. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/hooks.py +0 -0
  305. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/manager.py +0 -0
  306. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/model.py +0 -0
  307. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/principal.py +0 -0
  308. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/providers/__init__.py +0 -0
  309. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/providers/daytona.py +0 -0
  310. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/providers/docker.py +0 -0
  311. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/providers/e2b.py +0 -0
  312. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/providers/ec2_ssm.py +0 -0
  313. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/providers/kubernetes.py +0 -0
  314. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/providers/local_subprocess.py +0 -0
  315. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/testing.py +0 -0
  316. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/sandbox/tools.py +0 -0
  317. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/schedule/__init__.py +0 -0
  318. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/schedule/errors.py +0 -0
  319. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/schedule/handler.py +0 -0
  320. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/schedule/manager.py +0 -0
  321. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/schedule/model.py +0 -0
  322. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/schedule/provider/__init__.py +0 -0
  323. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/schedule/provider/base.py +0 -0
  324. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/schedule/provider/eventbridge.py +0 -0
  325. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/schedule/provider/local.py +0 -0
  326. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/schedule/store/__init__.py +0 -0
  327. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/schedule/store/base.py +0 -0
  328. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/schedule/store/dynamodb.py +0 -0
  329. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/schedule/store/in_memory.py +0 -0
  330. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/schedule/store/redis.py +0 -0
  331. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/schedule/store/redis_like.py +0 -0
  332. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/schedule/store/valkey.py +0 -0
  333. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/schedule/timing.py +0 -0
  334. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/schedule/tools.py +0 -0
  335. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/skills/__init__.py +0 -0
  336. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/skills/skills.py +0 -0
  337. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/slack.py +0 -0
  338. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/smolagents.py +0 -0
  339. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/teams.py +0 -0
  340. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/telegram.py +0 -0
  341. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/test/__init__.py +0 -0
  342. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/test/core/__init__.py +0 -0
  343. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/test/core/evaluator/__init__.py +0 -0
  344. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/test/core/evaluator/base.py +0 -0
  345. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/test/core/evaluator/deepeval.py +0 -0
  346. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/test/core/evaluator/opik.py +0 -0
  347. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/thread.py +0 -0
  348. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/__init__.py +0 -0
  349. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/base.py +0 -0
  350. {agentkernel-0.9.3/src/agentkernel/trace/langfuse → agentkernel-0.9.4/src/agentkernel/trace/cloudwatch}/__init__.py +0 -0
  351. {agentkernel-0.9.3/src/agentkernel/trace/logfire → agentkernel-0.9.4/src/agentkernel/trace/langfuse}/__init__.py +0 -0
  352. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/langfuse/adk.py +0 -0
  353. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/langfuse/crewai.py +0 -0
  354. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/langfuse/langfuse.py +0 -0
  355. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/langfuse/openai.py +0 -0
  356. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/langfuse/pydanticai.py +0 -0
  357. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/langfuse/smolagents.py +0 -0
  358. {agentkernel-0.9.3/src/agentkernel/trace/openllmetry → agentkernel-0.9.4/src/agentkernel/trace/logfire}/__init__.py +0 -0
  359. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/logfire/adk.py +0 -0
  360. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/logfire/crewai.py +0 -0
  361. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/logfire/langgraph.py +0 -0
  362. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/logfire/logfire.py +0 -0
  363. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/logfire/openai.py +0 -0
  364. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/logfire/pydanticai.py +0 -0
  365. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/logfire/smolagents.py +0 -0
  366. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/openllmetry/adk.py +0 -0
  367. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/openllmetry/crewai.py +0 -0
  368. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/openllmetry/langgraph.py +0 -0
  369. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/openllmetry/openai.py +0 -0
  370. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/openllmetry/openllmetry.py +0 -0
  371. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/openllmetry/pydanticai.py +0 -0
  372. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/trace/openllmetry/smolagents.py +0 -0
  373. {agentkernel-0.9.3 → agentkernel-0.9.4}/src/agentkernel/whatsapp.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: agentkernel
3
- Version: 0.9.3
3
+ Version: 0.9.4
4
4
  Summary: Agent Kernel - Unified AI Agents Runtime
5
5
  Author: Yaala Labs
6
6
  Author-email: Yaala Labs <agentkernel@yaalalabs.com>
@@ -25,6 +25,10 @@ Requires-Dist: azure-functions>=1.24.0 ; extra == 'azure'
25
25
  Requires-Dist: azure-data-tables>=12.4.0 ; extra == 'azure'
26
26
  Requires-Dist: azure-core>=1.26.0 ; extra == 'azure'
27
27
  Requires-Dist: chromadb>=0.4.0 ; extra == 'chromadb'
28
+ Requires-Dist: opentelemetry-sdk>=1.30.0 ; extra == 'cloudwatch'
29
+ Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.30.0 ; extra == 'cloudwatch'
30
+ Requires-Dist: botocore>=1.41.4 ; extra == 'cloudwatch'
31
+ Requires-Dist: requests>=2.32.0 ; extra == 'cloudwatch'
28
32
  Requires-Dist: crewai>=1.15.0 ; extra == 'crewai'
29
33
  Requires-Dist: openinference-instrumentation-crewai>=0.1.16 ; extra == 'crewai'
30
34
  Requires-Dist: openinference-instrumentation-litellm>=0.1.28 ; extra == 'crewai'
@@ -37,6 +41,8 @@ Requires-Dist: google-auth-oauthlib>=1.0.0 ; extra == 'gmail'
37
41
  Requires-Dist: google-auth-httplib2>=0.2.0 ; extra == 'gmail'
38
42
  Requires-Dist: google-api-python-client>=2.0.0 ; extra == 'gmail'
39
43
  Requires-Dist: httpx>=0.27.0 ; extra == 'instagram'
44
+ Requires-Dist: fastapi>=0.118.0 ; extra == 'instagram'
45
+ Requires-Dist: typesafe-sdk>=0.7.2,<0.8 ; extra == 'jev'
40
46
  Requires-Dist: confluent-kafka>=2.15.0 ; extra == 'kafka'
41
47
  Requires-Dist: kubernetes>=29.0.0 ; extra == 'kubernetes'
42
48
  Requires-Dist: langfuse>=4.2.0 ; extra == 'langfuse'
@@ -49,6 +55,7 @@ Requires-Dist: litellm~=1.89.2 ; extra == 'langgraph'
49
55
  Requires-Dist: logfire>=3.0 ; extra == 'logfire'
50
56
  Requires-Dist: fastmcp>=3.2.0,<4.0.0 ; extra == 'mcp'
51
57
  Requires-Dist: httpx>=0.27.0 ; extra == 'messenger'
58
+ Requires-Dist: fastapi>=0.118.0 ; extra == 'messenger'
52
59
  Requires-Dist: litellm>=1.74.9 ; extra == 'multimodal'
53
60
  Requires-Dist: python-multipart>=0.0.12 ; extra == 'multimodal'
54
61
  Requires-Dist: nats-py>=2.15.0 ; extra == 'nats'
@@ -64,13 +71,17 @@ Requires-Dist: redis>=7.1.0 ; extra == 'redis'
64
71
  Requires-Dist: docker>=7.0.0 ; extra == 'sandbox-docker'
65
72
  Requires-Dist: slack-bolt==1.22.0 ; extra == 'slack'
66
73
  Requires-Dist: httpx>=0.27.0 ; extra == 'slack'
74
+ Requires-Dist: fastapi>=0.118.0 ; extra == 'slack'
75
+ Requires-Dist: aiohttp>=3.9.0 ; extra == 'slack'
67
76
  Requires-Dist: smolagents>=1.0.0 ; extra == 'smolagents'
68
77
  Requires-Dist: botbuilder-core>=4.17.0 ; extra == 'teams'
69
78
  Requires-Dist: botbuilder-schema>=4.17.0 ; extra == 'teams'
70
79
  Requires-Dist: aiohttp>=3.9.0 ; extra == 'teams'
71
80
  Requires-Dist: msal>=1.31.1 ; extra == 'teams'
72
81
  Requires-Dist: httpx>=0.27.0 ; extra == 'teams'
82
+ Requires-Dist: fastapi>=0.118.0 ; extra == 'teams'
73
83
  Requires-Dist: httpx>=0.27.0 ; extra == 'telegram'
84
+ Requires-Dist: fastapi>=0.118.0 ; extra == 'telegram'
74
85
  Requires-Dist: pytest>=8.4.1 ; extra == 'test'
75
86
  Requires-Dist: pytest-asyncio>=1.2.0 ; extra == 'test'
76
87
  Requires-Dist: pytest-cov>=6.2.1 ; extra == 'test'
@@ -83,6 +94,7 @@ Requires-Dist: trino>=0.337.0 ; extra == 'trino'
83
94
  Requires-Dist: valkey>=6.0.0 ; extra == 'valkey'
84
95
  Requires-Dist: walledai>=4.9.3 ; extra == 'walledai'
85
96
  Requires-Dist: httpx>=0.27.0 ; extra == 'whatsapp'
97
+ Requires-Dist: fastapi>=0.118.0 ; extra == 'whatsapp'
86
98
  Requires-Python: >=3.12, <3.14
87
99
  Provides-Extra: a2a
88
100
  Provides-Extra: adk
@@ -93,6 +105,7 @@ Provides-Extra: aws
93
105
  Provides-Extra: azure
94
106
  Provides-Extra: chromadb
95
107
  Provides-Extra: cli
108
+ Provides-Extra: cloudwatch
96
109
  Provides-Extra: crewai
97
110
  Provides-Extra: cron
98
111
  Provides-Extra: daytona
@@ -100,6 +113,7 @@ Provides-Extra: e2b
100
113
  Provides-Extra: gcp
101
114
  Provides-Extra: gmail
102
115
  Provides-Extra: instagram
116
+ Provides-Extra: jev
103
117
  Provides-Extra: kafka
104
118
  Provides-Extra: kubernetes
105
119
  Provides-Extra: langfuse
@@ -142,7 +156,9 @@ Agent Kernel is a lightweight **AI agent runtime** and adapter layer for buildin
142
156
  - **Session Management**: Built-in session abstraction with pluggable storage backends
143
157
  - **Knowledge Bases**: Unified, capability-declaring `KnowledgeBase` interface with ChromaDB, Neo4j, Starburst/Trino and Open Knowledge Format bundle (local directory or S3) backends via `KnowledgeBuilder`
144
158
  - **Sandbox**: Execute agent-generated code and shell commands in an isolated, permission-bounded environment with pluggable providers (`local_subprocess`, `docker`, `kubernetes`, `e2b`, `daytona`, `ec2_ssm`), workload profiles, policy enforcement, per-user identity, and a queue-decoupled broker for long-running executions
159
+ - **Secret Resolution**: `SecretManager` resolves API keys and passwords environment-first, falling back to a pluggable provider (`env`, `aws_ssm` for AWS SSM Parameter Store, or your own) with a TTL'd process cache
145
160
  - **Scheduled Tasks**: Deferred and recurring chat execution (`schedule.at`/`schedule.cron`) with a management REST API, five agent-facing tools, and pluggable provider (`local`, `eventbridge`) and store (`in_memory`, `redis`, `valkey`, `dynamodb`) backends
161
+ - **Human in the Loop**: Pause a run for a person's approval or answer and resume from their decision — `status: "PAUSED"` with HTTP 202, a `resume` block carrying `approved`/`denied`/`cancelled` decisions, supported on OpenAI Agents SDK, LangGraph, Pydantic AI and Google ADK over REST, streaming and AG-UI
146
162
  - **Flexible Deployment**: Interactive CLI, REST API, serverless, or containerized deployment — see the "Multi-Cloud Deployment" section below
147
163
  - **Pluggable Architecture**: Easy to extend with custom framework adapters
148
164
  - **MCP Server**: Built-in Model Context Protocol server for exposing agents as MCP tools and exposing any custom tool
@@ -191,6 +207,12 @@ pip install "agentkernel[daytona]" # daytona cloud provider
191
207
  pip install "agentkernel[aws]" # ec2_ssm provider (boto3)
192
208
  ```
193
209
 
210
+ For the `aws_ssm` secret provider (AWS SSM Parameter Store):
211
+
212
+ ```bash
213
+ pip install "agentkernel[aws]"
214
+ ```
215
+
194
216
  For cron parsing with the Scheduling capability (the `eventbridge` provider rides the `aws` extra):
195
217
 
196
218
  ```bash
@@ -807,6 +829,41 @@ sort key; the AWS Terraform modules create it when `create_dynamodb_schedule_tab
807
829
  - **Description**: DynamoDB item TTL in seconds
808
830
  - **Environment Variable**: `AK_SCHEDULE__STORE__DYNAMODB__TTL`
809
831
 
832
+ #### Secret Resolution
833
+
834
+ `SecretManager.current().get("OPENAI_API_KEY")` resolves a secret by the same environment-variable-style
835
+ name the SDKs already read (`^[A-Z][A-Z0-9_]*$`). Resolution order is fixed: a set, non-empty environment
836
+ variable always wins, then the process cache, then the configured provider. A resolved value is returned to
837
+ the caller and never written back to the environment, so hand it to the SDK explicitly
838
+ (`set_default_openai_key(...)`). A miss raises `SecretNotFoundError` unless a `default` is passed; a provider
839
+ failure raises `SecretError` even with a `default`. The capability is always available — there is no
840
+ `enabled` flag; selecting a provider other than `env` is the only opt-in. See `examples/cli/openai-secret`.
841
+
842
+ - **Provider Type**
843
+ - **Field**: `secret.provider.type`
844
+ - **Type**: string
845
+ - **Default**: `env`
846
+ - **Options**: `env` (the process environment), `aws_ssm` (AWS SSM Parameter Store; requires
847
+ `secret.prefix` and the `aws` extra — `OPENAI_API_KEY` is read from `/ak/<prefix>/openai_api_key`), or a
848
+ dotted path to a `SecretProvider` subclass
849
+ - **Environment Variable**: `AK_SECRET__PROVIDER__TYPE`
850
+
851
+ - **Prefix**
852
+ - **Field**: `secret.prefix`
853
+ - **Type**: string
854
+ - **Default**: `""`
855
+ - **Description**: Deployment scope providers namespace secrets under; a single path segment. Required by
856
+ `aws_ssm`, ignored by `env`. Injected by the AWS Terraform modules when `ssm_enabled = true`
857
+ - **Environment Variable**: `AK_SECRET__PREFIX`
858
+
859
+ - **Cache TTL**
860
+ - **Field**: `secret.cache_ttl`
861
+ - **Type**: integer
862
+ - **Default**: `300`
863
+ - **Description**: Seconds a provider hit is served from the process cache (`0` disables caching); the
864
+ rotation-pickup window for values read per call
865
+ - **Environment Variable**: `AK_SECRET__CACHE_TTL`
866
+
810
867
  #### Execution Configuration
811
868
 
812
869
  Configure queue-backed and serverless execution behavior.
@@ -1177,7 +1234,7 @@ Configure tracing and observability for monitoring agent execution.
1177
1234
 
1178
1235
  - **Type**
1179
1236
  - **Field**: `trace.type`
1180
- - **Options**: `langfuse`, `openllmetry`, `logfire`
1237
+ - **Options**: `langfuse`, `openllmetry`, `logfire`, `cloudwatch`
1181
1238
  - **Default**: `langfuse`
1182
1239
  - **Description**: Type of tracing provider to use
1183
1240
  - **Environment Variable**: `AK_TRACE__TYPE`
@@ -1252,6 +1309,32 @@ trace:
1252
1309
  type: logfire
1253
1310
  ```
1254
1311
 
1312
+ **AWS CloudWatch Setup:**
1313
+
1314
+ To send traces to Amazon CloudWatch (via AWS X-Ray, searchable in Transaction Search), install the cloudwatch extra:
1315
+
1316
+ ```bash
1317
+ pip install agentkernel[cloudwatch]
1318
+ ```
1319
+
1320
+ Spans are exported over OTLP to the X-Ray endpoint of your region, signed with the standard AWS credential
1321
+ chain (environment, profile, SSO, or instance/task role). Enable CloudWatch Transaction Search once in the
1322
+ account, and give the agent's role the `AWSXrayWriteOnlyAccess` managed policy:
1323
+
1324
+ ```bash
1325
+ export AWS_REGION=us-east-1
1326
+ # Optional: export through the CloudWatch agent or an OpenTelemetry collector instead
1327
+ # export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4318/v1/traces
1328
+ ```
1329
+
1330
+ Enable tracing in your configuration:
1331
+
1332
+ ```yaml
1333
+ trace:
1334
+ enabled: true
1335
+ type: cloudwatch
1336
+ ```
1337
+
1255
1338
  #### Test Configuration
1256
1339
 
1257
1340
  Configure test comparison modes for automated testing. Test configuration is separate from the application configuration: it is **not** part of `config.yaml`. It lives in its own `test-config.yaml` file and is only loaded when the testing utilities (`agentkernel.test`) are used — see the [Test Configuration (test-config.yaml)](#test-configuration-test-configyaml) section for file resolution, environment variables, and migration notes.
@@ -1266,7 +1349,7 @@ Configure test comparison modes for automated testing. Test configuration is sep
1266
1349
  - **Evaluator**
1267
1350
  - **Field**: `evaluator`
1268
1351
  - **Default**: `deepeval`
1269
- - **Description**: Built-in evaluator short name (`deepeval` or `opik`), or a dotted path to your own `AKEvaluator` subclass
1352
+ - **Description**: Built-in evaluator short name (`deepeval`, `opik` or `jev`), or a dotted path to your own `AKEvaluator` subclass
1270
1353
  - **Environment Variable**: `AK_TEST__EVALUATOR`
1271
1354
 
1272
1355
  - **Llm Model**
@@ -1288,8 +1371,8 @@ Configure test comparison modes for automated testing. Test configuration is sep
1288
1371
  - **Environment Variable**: `AK_TEST__LLM__EMBEDDING_MODEL`
1289
1372
 
1290
1373
  **Test Modes:**
1291
- - `score`: Deterministic, offline string-match scoring via the configured evaluator (built-in `deepeval`: `Scorer.quasi_exact_match_score`; built-in `opik`: `LevenshteinRatio`, requires `pip install "agentkernel[opik]"`)
1292
- - `llm`: LLM-as-judge evaluation via the configured evaluator (built-in `deepeval` or `opik`: `GEval`) for semantic similarity
1374
+ - `score`: Deterministic, offline string-match scoring via the configured evaluator (built-in `deepeval`: `Scorer.quasi_exact_match_score`; built-in `opik`: `LevenshteinRatio`, requires `pip install "agentkernel[opik]"`; built-in `jev` has no score mode)
1375
+ - `llm`: LLM-as-judge evaluation via the configured evaluator (built-in `deepeval` or `opik`: `GEval`; built-in `jev`: a TypeSafe JEV yes/no Noul question) for semantic similarity
1293
1376
  - `fallback`: Tries score first, falls back to llm if score fails
1294
1377
 
1295
1378
  ```yaml
@@ -1640,7 +1723,7 @@ export AK_API__PORT=8000
1640
1723
  export AK_A2A__ENABLED=true
1641
1724
  export AK_MCP__ENABLED=false
1642
1725
  export AK_TRACE__ENABLED=true
1643
- export AK_TRACE__TYPE=langfuse # or openllmetry, logfire
1726
+ export AK_TRACE__TYPE=langfuse # or openllmetry, logfire, cloudwatch
1644
1727
  # For Langfuse:
1645
1728
  # export LANGFUSE_PUBLIC_KEY=pk-lf-...
1646
1729
  # export LANGFUSE_SECRET_KEY=sk-lf-...
@@ -1649,9 +1732,11 @@ export AK_TRACE__TYPE=langfuse # or openllmetry, logfire
1649
1732
  # export TRACELOOP_API_KEY=your-api-key
1650
1733
  # For Logfire:
1651
1734
  # export LOGFIRE_TOKEN=your-write-token
1735
+ # For CloudWatch:
1736
+ # export AWS_REGION=us-east-1
1652
1737
  # Test harness (loaded from the separate test-config.yaml — see Test Configuration)
1653
1738
  export AK_TEST__MODE=fallback # Options: score, llm, fallback
1654
- export AK_TEST__EVALUATOR=deepeval # Built-in short name (deepeval or opik), or a dotted path to your own AKEvaluator subclass
1739
+ export AK_TEST__EVALUATOR=deepeval # Built-in short name (deepeval, opik or jev), or a dotted path to your own AKEvaluator subclass
1655
1740
  export AK_TEST__LLM__MODEL=gpt-4o-mini
1656
1741
  export AK_TEST__LLM__PROVIDER=openai
1657
1742
  export AK_TEST__LLM__EMBEDDING_MODEL=text-embedding-3-small
@@ -1695,7 +1780,7 @@ AK_API__PORT=8080
1695
1780
  AK_A2A__ENABLED=true
1696
1781
  AK_A2A__URL=http://localhost:8080/a2a
1697
1782
  AK_TRACE__ENABLED=true
1698
- AK_TRACE__TYPE=langfuse # or openllmetry, logfire
1783
+ AK_TRACE__TYPE=langfuse # or openllmetry, logfire, cloudwatch
1699
1784
  # Langfuse credentials (if using langfuse):
1700
1785
  # LANGFUSE_PUBLIC_KEY=pk-lf-...
1701
1786
  # LANGFUSE_SECRET_KEY=sk-lf-...
@@ -1704,6 +1789,8 @@ AK_TRACE__TYPE=langfuse # or openllmetry, logfire
1704
1789
  # TRACELOOP_API_KEY=your-api-key
1705
1790
  # Logfire credentials (if using logfire):
1706
1791
  # LOGFIRE_TOKEN=your-write-token
1792
+ # CloudWatch region (if using cloudwatch; credentials come from the AWS credential chain):
1793
+ # AWS_REGION=us-east-1
1707
1794
  ```
1708
1795
 
1709
1796
  #### config.yaml
@@ -1921,7 +2008,7 @@ gmail:
1921
2008
 
1922
2009
  Test harness configuration (comparison mode, evaluator backend, llm models) is separate from the application configuration. It is not part of `config.yaml` — it lives in its own `test-config.yaml` file, resolved from the current working directory, and is only loaded when the testing utilities (`agentkernel.test`) are used. A legacy `test:` section in `config.yaml` is ignored. See [Test Configuration](#test-configuration) under Configuration Options for the full list of fields and defaults.
1923
2010
 
1924
- The `evaluator` field accepts two built-in short names — `deepeval` (default, `pip install "agentkernel[test]"`) or `opik` (`pip install "agentkernel[opik]"`, [Opik](https://www.comet.com/docs/opik/) by Comet, runs entirely locally with `OPIK_TRACK_DISABLE` set so no Opik Cloud account or API key is needed) — or a dotted path to your own `AKEvaluator` subclass.
2011
+ The `evaluator` field accepts three built-in short names — `deepeval` (default, `pip install "agentkernel[test]"`) or `opik` (`pip install "agentkernel[opik]"`, [Opik](https://www.comet.com/docs/opik/) by Comet, runs entirely locally with `OPIK_TRACK_DISABLE` set so no Opik Cloud account or API key is needed) or `jev` (`pip install "agentkernel[jev]"`, hosted [TypeSafe JEV](https://docs.typesafe.ai) judge; `mode: llm` only, needs `TYPESAFE_API_KEY`, and sends the comparison text to `api.typesafe.ai`) — or a dotted path to your own `AKEvaluator` subclass.
1925
2012
 
1926
2013
  **test-config.yaml:**
1927
2014
 
@@ -12,7 +12,9 @@ Agent Kernel is a lightweight **AI agent runtime** and adapter layer for buildin
12
12
  - **Session Management**: Built-in session abstraction with pluggable storage backends
13
13
  - **Knowledge Bases**: Unified, capability-declaring `KnowledgeBase` interface with ChromaDB, Neo4j, Starburst/Trino and Open Knowledge Format bundle (local directory or S3) backends via `KnowledgeBuilder`
14
14
  - **Sandbox**: Execute agent-generated code and shell commands in an isolated, permission-bounded environment with pluggable providers (`local_subprocess`, `docker`, `kubernetes`, `e2b`, `daytona`, `ec2_ssm`), workload profiles, policy enforcement, per-user identity, and a queue-decoupled broker for long-running executions
15
+ - **Secret Resolution**: `SecretManager` resolves API keys and passwords environment-first, falling back to a pluggable provider (`env`, `aws_ssm` for AWS SSM Parameter Store, or your own) with a TTL'd process cache
15
16
  - **Scheduled Tasks**: Deferred and recurring chat execution (`schedule.at`/`schedule.cron`) with a management REST API, five agent-facing tools, and pluggable provider (`local`, `eventbridge`) and store (`in_memory`, `redis`, `valkey`, `dynamodb`) backends
17
+ - **Human in the Loop**: Pause a run for a person's approval or answer and resume from their decision — `status: "PAUSED"` with HTTP 202, a `resume` block carrying `approved`/`denied`/`cancelled` decisions, supported on OpenAI Agents SDK, LangGraph, Pydantic AI and Google ADK over REST, streaming and AG-UI
16
18
  - **Flexible Deployment**: Interactive CLI, REST API, serverless, or containerized deployment — see the "Multi-Cloud Deployment" section below
17
19
  - **Pluggable Architecture**: Easy to extend with custom framework adapters
18
20
  - **MCP Server**: Built-in Model Context Protocol server for exposing agents as MCP tools and exposing any custom tool
@@ -61,6 +63,12 @@ pip install "agentkernel[daytona]" # daytona cloud provider
61
63
  pip install "agentkernel[aws]" # ec2_ssm provider (boto3)
62
64
  ```
63
65
 
66
+ For the `aws_ssm` secret provider (AWS SSM Parameter Store):
67
+
68
+ ```bash
69
+ pip install "agentkernel[aws]"
70
+ ```
71
+
64
72
  For cron parsing with the Scheduling capability (the `eventbridge` provider rides the `aws` extra):
65
73
 
66
74
  ```bash
@@ -677,6 +685,41 @@ sort key; the AWS Terraform modules create it when `create_dynamodb_schedule_tab
677
685
  - **Description**: DynamoDB item TTL in seconds
678
686
  - **Environment Variable**: `AK_SCHEDULE__STORE__DYNAMODB__TTL`
679
687
 
688
+ #### Secret Resolution
689
+
690
+ `SecretManager.current().get("OPENAI_API_KEY")` resolves a secret by the same environment-variable-style
691
+ name the SDKs already read (`^[A-Z][A-Z0-9_]*$`). Resolution order is fixed: a set, non-empty environment
692
+ variable always wins, then the process cache, then the configured provider. A resolved value is returned to
693
+ the caller and never written back to the environment, so hand it to the SDK explicitly
694
+ (`set_default_openai_key(...)`). A miss raises `SecretNotFoundError` unless a `default` is passed; a provider
695
+ failure raises `SecretError` even with a `default`. The capability is always available — there is no
696
+ `enabled` flag; selecting a provider other than `env` is the only opt-in. See `examples/cli/openai-secret`.
697
+
698
+ - **Provider Type**
699
+ - **Field**: `secret.provider.type`
700
+ - **Type**: string
701
+ - **Default**: `env`
702
+ - **Options**: `env` (the process environment), `aws_ssm` (AWS SSM Parameter Store; requires
703
+ `secret.prefix` and the `aws` extra — `OPENAI_API_KEY` is read from `/ak/<prefix>/openai_api_key`), or a
704
+ dotted path to a `SecretProvider` subclass
705
+ - **Environment Variable**: `AK_SECRET__PROVIDER__TYPE`
706
+
707
+ - **Prefix**
708
+ - **Field**: `secret.prefix`
709
+ - **Type**: string
710
+ - **Default**: `""`
711
+ - **Description**: Deployment scope providers namespace secrets under; a single path segment. Required by
712
+ `aws_ssm`, ignored by `env`. Injected by the AWS Terraform modules when `ssm_enabled = true`
713
+ - **Environment Variable**: `AK_SECRET__PREFIX`
714
+
715
+ - **Cache TTL**
716
+ - **Field**: `secret.cache_ttl`
717
+ - **Type**: integer
718
+ - **Default**: `300`
719
+ - **Description**: Seconds a provider hit is served from the process cache (`0` disables caching); the
720
+ rotation-pickup window for values read per call
721
+ - **Environment Variable**: `AK_SECRET__CACHE_TTL`
722
+
680
723
  #### Execution Configuration
681
724
 
682
725
  Configure queue-backed and serverless execution behavior.
@@ -1047,7 +1090,7 @@ Configure tracing and observability for monitoring agent execution.
1047
1090
 
1048
1091
  - **Type**
1049
1092
  - **Field**: `trace.type`
1050
- - **Options**: `langfuse`, `openllmetry`, `logfire`
1093
+ - **Options**: `langfuse`, `openllmetry`, `logfire`, `cloudwatch`
1051
1094
  - **Default**: `langfuse`
1052
1095
  - **Description**: Type of tracing provider to use
1053
1096
  - **Environment Variable**: `AK_TRACE__TYPE`
@@ -1122,6 +1165,32 @@ trace:
1122
1165
  type: logfire
1123
1166
  ```
1124
1167
 
1168
+ **AWS CloudWatch Setup:**
1169
+
1170
+ To send traces to Amazon CloudWatch (via AWS X-Ray, searchable in Transaction Search), install the cloudwatch extra:
1171
+
1172
+ ```bash
1173
+ pip install agentkernel[cloudwatch]
1174
+ ```
1175
+
1176
+ Spans are exported over OTLP to the X-Ray endpoint of your region, signed with the standard AWS credential
1177
+ chain (environment, profile, SSO, or instance/task role). Enable CloudWatch Transaction Search once in the
1178
+ account, and give the agent's role the `AWSXrayWriteOnlyAccess` managed policy:
1179
+
1180
+ ```bash
1181
+ export AWS_REGION=us-east-1
1182
+ # Optional: export through the CloudWatch agent or an OpenTelemetry collector instead
1183
+ # export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4318/v1/traces
1184
+ ```
1185
+
1186
+ Enable tracing in your configuration:
1187
+
1188
+ ```yaml
1189
+ trace:
1190
+ enabled: true
1191
+ type: cloudwatch
1192
+ ```
1193
+
1125
1194
  #### Test Configuration
1126
1195
 
1127
1196
  Configure test comparison modes for automated testing. Test configuration is separate from the application configuration: it is **not** part of `config.yaml`. It lives in its own `test-config.yaml` file and is only loaded when the testing utilities (`agentkernel.test`) are used — see the [Test Configuration (test-config.yaml)](#test-configuration-test-configyaml) section for file resolution, environment variables, and migration notes.
@@ -1136,7 +1205,7 @@ Configure test comparison modes for automated testing. Test configuration is sep
1136
1205
  - **Evaluator**
1137
1206
  - **Field**: `evaluator`
1138
1207
  - **Default**: `deepeval`
1139
- - **Description**: Built-in evaluator short name (`deepeval` or `opik`), or a dotted path to your own `AKEvaluator` subclass
1208
+ - **Description**: Built-in evaluator short name (`deepeval`, `opik` or `jev`), or a dotted path to your own `AKEvaluator` subclass
1140
1209
  - **Environment Variable**: `AK_TEST__EVALUATOR`
1141
1210
 
1142
1211
  - **Llm Model**
@@ -1158,8 +1227,8 @@ Configure test comparison modes for automated testing. Test configuration is sep
1158
1227
  - **Environment Variable**: `AK_TEST__LLM__EMBEDDING_MODEL`
1159
1228
 
1160
1229
  **Test Modes:**
1161
- - `score`: Deterministic, offline string-match scoring via the configured evaluator (built-in `deepeval`: `Scorer.quasi_exact_match_score`; built-in `opik`: `LevenshteinRatio`, requires `pip install "agentkernel[opik]"`)
1162
- - `llm`: LLM-as-judge evaluation via the configured evaluator (built-in `deepeval` or `opik`: `GEval`) for semantic similarity
1230
+ - `score`: Deterministic, offline string-match scoring via the configured evaluator (built-in `deepeval`: `Scorer.quasi_exact_match_score`; built-in `opik`: `LevenshteinRatio`, requires `pip install "agentkernel[opik]"`; built-in `jev` has no score mode)
1231
+ - `llm`: LLM-as-judge evaluation via the configured evaluator (built-in `deepeval` or `opik`: `GEval`; built-in `jev`: a TypeSafe JEV yes/no Noul question) for semantic similarity
1163
1232
  - `fallback`: Tries score first, falls back to llm if score fails
1164
1233
 
1165
1234
  ```yaml
@@ -1510,7 +1579,7 @@ export AK_API__PORT=8000
1510
1579
  export AK_A2A__ENABLED=true
1511
1580
  export AK_MCP__ENABLED=false
1512
1581
  export AK_TRACE__ENABLED=true
1513
- export AK_TRACE__TYPE=langfuse # or openllmetry, logfire
1582
+ export AK_TRACE__TYPE=langfuse # or openllmetry, logfire, cloudwatch
1514
1583
  # For Langfuse:
1515
1584
  # export LANGFUSE_PUBLIC_KEY=pk-lf-...
1516
1585
  # export LANGFUSE_SECRET_KEY=sk-lf-...
@@ -1519,9 +1588,11 @@ export AK_TRACE__TYPE=langfuse # or openllmetry, logfire
1519
1588
  # export TRACELOOP_API_KEY=your-api-key
1520
1589
  # For Logfire:
1521
1590
  # export LOGFIRE_TOKEN=your-write-token
1591
+ # For CloudWatch:
1592
+ # export AWS_REGION=us-east-1
1522
1593
  # Test harness (loaded from the separate test-config.yaml — see Test Configuration)
1523
1594
  export AK_TEST__MODE=fallback # Options: score, llm, fallback
1524
- export AK_TEST__EVALUATOR=deepeval # Built-in short name (deepeval or opik), or a dotted path to your own AKEvaluator subclass
1595
+ export AK_TEST__EVALUATOR=deepeval # Built-in short name (deepeval, opik or jev), or a dotted path to your own AKEvaluator subclass
1525
1596
  export AK_TEST__LLM__MODEL=gpt-4o-mini
1526
1597
  export AK_TEST__LLM__PROVIDER=openai
1527
1598
  export AK_TEST__LLM__EMBEDDING_MODEL=text-embedding-3-small
@@ -1565,7 +1636,7 @@ AK_API__PORT=8080
1565
1636
  AK_A2A__ENABLED=true
1566
1637
  AK_A2A__URL=http://localhost:8080/a2a
1567
1638
  AK_TRACE__ENABLED=true
1568
- AK_TRACE__TYPE=langfuse # or openllmetry, logfire
1639
+ AK_TRACE__TYPE=langfuse # or openllmetry, logfire, cloudwatch
1569
1640
  # Langfuse credentials (if using langfuse):
1570
1641
  # LANGFUSE_PUBLIC_KEY=pk-lf-...
1571
1642
  # LANGFUSE_SECRET_KEY=sk-lf-...
@@ -1574,6 +1645,8 @@ AK_TRACE__TYPE=langfuse # or openllmetry, logfire
1574
1645
  # TRACELOOP_API_KEY=your-api-key
1575
1646
  # Logfire credentials (if using logfire):
1576
1647
  # LOGFIRE_TOKEN=your-write-token
1648
+ # CloudWatch region (if using cloudwatch; credentials come from the AWS credential chain):
1649
+ # AWS_REGION=us-east-1
1577
1650
  ```
1578
1651
 
1579
1652
  #### config.yaml
@@ -1791,7 +1864,7 @@ gmail:
1791
1864
 
1792
1865
  Test harness configuration (comparison mode, evaluator backend, llm models) is separate from the application configuration. It is not part of `config.yaml` — it lives in its own `test-config.yaml` file, resolved from the current working directory, and is only loaded when the testing utilities (`agentkernel.test`) are used. A legacy `test:` section in `config.yaml` is ignored. See [Test Configuration](#test-configuration) under Configuration Options for the full list of fields and defaults.
1793
1866
 
1794
- The `evaluator` field accepts two built-in short names — `deepeval` (default, `pip install "agentkernel[test]"`) or `opik` (`pip install "agentkernel[opik]"`, [Opik](https://www.comet.com/docs/opik/) by Comet, runs entirely locally with `OPIK_TRACK_DISABLE` set so no Opik Cloud account or API key is needed) — or a dotted path to your own `AKEvaluator` subclass.
1867
+ The `evaluator` field accepts three built-in short names — `deepeval` (default, `pip install "agentkernel[test]"`) or `opik` (`pip install "agentkernel[opik]"`, [Opik](https://www.comet.com/docs/opik/) by Comet, runs entirely locally with `OPIK_TRACK_DISABLE` set so no Opik Cloud account or API key is needed) or `jev` (`pip install "agentkernel[jev]"`, hosted [TypeSafe JEV](https://docs.typesafe.ai) judge; `mode: llm` only, needs `TYPESAFE_API_KEY`, and sends the comparison text to `api.typesafe.ai`) — or a dotted path to your own `AKEvaluator` subclass.
1795
1868
 
1796
1869
  **test-config.yaml:**
1797
1870
 
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "agentkernel"
7
- version = "0.9.3"
7
+ version = "0.9.4"
8
8
  description = "Agent Kernel - Unified AI Agents Runtime"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12,<3.14"
@@ -34,6 +34,12 @@ openllmetry = [
34
34
  logfire = [
35
35
  "logfire>=3.0",
36
36
  ]
37
+ cloudwatch = [
38
+ "opentelemetry-sdk>=1.30.0",
39
+ "opentelemetry-exporter-otlp-proto-http>=1.30.0",
40
+ "botocore>=1.41.4",
41
+ "requests>=2.32.0",
42
+ ]
37
43
  crewai = [
38
44
  "crewai>=1.15.0",
39
45
  "openinference-instrumentation-crewai>=0.1.16",
@@ -125,19 +131,25 @@ api = [
125
131
  ]
126
132
  slack = [
127
133
  "slack-bolt==1.22.0",
128
- "httpx>=0.27.0"
134
+ "httpx>=0.27.0",
135
+ "fastapi>=0.118.0",
136
+ "aiohttp>=3.9.0",
129
137
  ]
130
138
  whatsapp = [
131
- "httpx>=0.27.0"
139
+ "httpx>=0.27.0",
140
+ "fastapi>=0.118.0",
132
141
  ]
133
142
  messenger = [
134
- "httpx>=0.27.0"
143
+ "httpx>=0.27.0",
144
+ "fastapi>=0.118.0",
135
145
  ]
136
146
  instagram = [
137
- "httpx>=0.27.0"
147
+ "httpx>=0.27.0",
148
+ "fastapi>=0.118.0",
138
149
  ]
139
150
  telegram = [
140
- "httpx>=0.27.0"
151
+ "httpx>=0.27.0",
152
+ "fastapi>=0.118.0",
141
153
  ]
142
154
  teams = [
143
155
  "botbuilder-core>=4.17.0",
@@ -145,6 +157,7 @@ teams = [
145
157
  "aiohttp>=3.9.0",
146
158
  "msal>=1.31.1",
147
159
  "httpx>=0.27.0",
160
+ "fastapi>=0.118.0",
148
161
  ]
149
162
  gmail = [
150
163
  "google-auth>=2.0.0",
@@ -191,6 +204,9 @@ kubernetes = [
191
204
  opik = [
192
205
  "opik>=1.7.0",
193
206
  ]
207
+ jev = [
208
+ "typesafe-sdk>=0.7.2,<0.8",
209
+ ]
194
210
 
195
211
  [project.scripts]
196
212
  ak = "agentkernel.cli.ak:main"
@@ -0,0 +1,42 @@
1
+ """
2
+ Agent Kernel REST package.
3
+
4
+ This package contains the REST API implementation for exposing Agent Kernel over HTTP.
5
+
6
+ Exports are lazy (the ``agentkernel.integration.adapter`` pattern) so importing one piece never
7
+ drags in another's dependencies: a webhook host on Lambda imports ``api.handler`` and has no use
8
+ for ``api.http``'s uvicorn server.
9
+ """
10
+
11
+ import importlib
12
+ import importlib.metadata
13
+ from typing import TYPE_CHECKING, Any
14
+
15
+ try:
16
+ __version__ = importlib.metadata.version("agentkernel")
17
+ except importlib.metadata.PackageNotFoundError:
18
+ __version__ = "0.1.0"
19
+
20
+ _LAZY_EXPORTS = {
21
+ "AgentRESTRequestHandler": ".handler",
22
+ "RESTRequestHandler": ".handler",
23
+ "RESTAPI": ".http",
24
+ }
25
+
26
+ __all__ = sorted(_LAZY_EXPORTS)
27
+
28
+ if TYPE_CHECKING: # pragma: no cover: static resolution only, preserves laziness at runtime
29
+ from .handler import AgentRESTRequestHandler, RESTRequestHandler
30
+ from .http import RESTAPI
31
+
32
+
33
+ def __getattr__(name: str) -> Any:
34
+ module_path = _LAZY_EXPORTS.get(name)
35
+ if module_path is None:
36
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
37
+ module = importlib.import_module(module_path, __name__)
38
+ return getattr(module, name)
39
+
40
+
41
+ def __dir__() -> list[str]:
42
+ return sorted(__all__)
@@ -11,7 +11,7 @@ try:
11
11
  except importlib.metadata.PackageNotFoundError:
12
12
  __version__ = "0.1.0"
13
13
 
14
- from .base import Agent, Runner, Session
14
+ from .base import Agent, Runner, RunOptionsFactory, Session
15
15
  from .event import (
16
16
  MessageEnd,
17
17
  MessageStart,