agentkernel 0.6.0__tar.gz → 0.7.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agentkernel-0.6.0 → agentkernel-0.7.0}/PKG-INFO +368 -52
- {agentkernel-0.6.0 → agentkernel-0.7.0}/README.md +345 -44
- {agentkernel-0.6.0 → agentkernel-0.7.0}/pyproject.toml +36 -10
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/__init__.py +0 -5
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/api/__init__.py +1 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/api/handler.py +27 -5
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/api/http.py +13 -1
- agentkernel-0.7.0/src/agentkernel/api/thread.py +107 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/__init__.py +2 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/base.py +14 -3
- agentkernel-0.7.0/src/agentkernel/core/builder.py +132 -0
- agentkernel-0.7.0/src/agentkernel/core/chat_service.py +555 -0
- agentkernel-0.7.0/src/agentkernel/core/config.py +627 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/hooks.py +18 -1
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/model.py +92 -22
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/multimodal/hooks.py +44 -24
- agentkernel-0.7.0/src/agentkernel/core/multimodal/storage/dynamodb.py +108 -0
- agentkernel-0.7.0/src/agentkernel/core/multimodal/storage/redis.py +66 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/multimodal/storage/session_cache.py +4 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/multimodal/storage/storage_manager.py +22 -10
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/runtime.py +105 -23
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/service.py +21 -3
- agentkernel-0.7.0/src/agentkernel/core/session/cosmosdb.py +125 -0
- agentkernel-0.7.0/src/agentkernel/core/session/dynamodb.py +117 -0
- agentkernel-0.7.0/src/agentkernel/core/session/firestore.py +112 -0
- agentkernel-0.7.0/src/agentkernel/core/session/redis.py +95 -0
- agentkernel-0.7.0/src/agentkernel/core/session/valkey.py +95 -0
- agentkernel-0.7.0/src/agentkernel/core/thread/__init__.py +16 -0
- agentkernel-0.7.0/src/agentkernel/core/thread/authoriser.py +28 -0
- agentkernel-0.7.0/src/agentkernel/core/thread/manager.py +288 -0
- agentkernel-0.7.0/src/agentkernel/core/thread/model.py +69 -0
- agentkernel-0.7.0/src/agentkernel/core/thread/naming.py +143 -0
- agentkernel-0.7.0/src/agentkernel/core/thread/store/__init__.py +5 -0
- agentkernel-0.7.0/src/agentkernel/core/thread/store/base.py +184 -0
- agentkernel-0.7.0/src/agentkernel/core/thread/store/cosmosdb.py +228 -0
- agentkernel-0.7.0/src/agentkernel/core/thread/store/dynamodb.py +256 -0
- agentkernel-0.7.0/src/agentkernel/core/thread/store/firestore.py +201 -0
- agentkernel-0.7.0/src/agentkernel/core/thread/store/in_memory.py +115 -0
- agentkernel-0.7.0/src/agentkernel/core/thread/store/redis.py +199 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/tool.py +31 -6
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/util/config_yaml_util.py +28 -7
- agentkernel-0.7.0/src/agentkernel/core/util/driver/__init__.py +15 -0
- agentkernel-0.7.0/src/agentkernel/core/util/driver/base.py +67 -0
- agentkernel-0.7.0/src/agentkernel/core/util/driver/cosmosdb.py +222 -0
- agentkernel-0.7.0/src/agentkernel/core/util/driver/dynamodb.py +182 -0
- agentkernel-0.7.0/src/agentkernel/core/util/driver/firestore.py +151 -0
- agentkernel-0.7.0/src/agentkernel/core/util/driver/redis.py +18 -0
- agentkernel-0.7.0/src/agentkernel/core/util/driver/redis_like.py +298 -0
- agentkernel-0.7.0/src/agentkernel/core/util/driver/valkey.py +18 -0
- agentkernel-0.7.0/src/agentkernel/core/util/factory.py +64 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/aws/__init__.py +2 -0
- agentkernel-0.7.0/src/agentkernel/deployment/aws/containerized/__init__.py +3 -0
- agentkernel-0.7.0/src/agentkernel/deployment/aws/containerized/akagentrunner.py +118 -0
- agentkernel-0.7.0/src/agentkernel/deployment/aws/containerized/akoutputconsumer.py +131 -0
- agentkernel-0.7.0/src/agentkernel/deployment/aws/containerized/core/__init__.py +1 -0
- agentkernel-0.7.0/src/agentkernel/deployment/aws/containerized/core/sqs_consumer.py +175 -0
- agentkernel-0.7.0/src/agentkernel/deployment/aws/containerized/ecs_io_handler.py +51 -0
- agentkernel-0.7.0/src/agentkernel/deployment/aws/containerized/ecs_queue_handler.py +39 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/aws/core/response_store/dynamodb.py +5 -15
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/aws/core/response_store/handler.py +19 -1
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/aws/core/response_store/redis.py +5 -14
- agentkernel-0.7.0/src/agentkernel/deployment/aws/core/response_store/valkey.py +32 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/aws/core/sqs_handler.py +80 -47
- agentkernel-0.7.0/src/agentkernel/deployment/aws/serverless/__init__.py +13 -0
- agentkernel-0.7.0/src/agentkernel/deployment/aws/serverless/akagentrunner.py +291 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/aws/serverless/aklambda.py +2 -1
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/aws/serverless/akresponsehandler.py +56 -30
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/aws/serverless/core/router/rest_lambda.py +13 -7
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/aws/serverless/core/router/ws_lambda.py +111 -35
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/aws/serverless/core/sqs_consumer.py +18 -4
- agentkernel-0.7.0/src/agentkernel/deployment/common/__init__.py +2 -0
- agentkernel-0.7.0/src/agentkernel/deployment/common/queue_consumer.py +55 -0
- agentkernel-0.7.0/src/agentkernel/deployment/common/queue_handler.py +84 -0
- agentkernel-0.7.0/src/agentkernel/deployment/common/queue_request_handler.py +185 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/common/response_store.py +32 -5
- agentkernel-0.7.0/src/agentkernel/deployment/common/thread_runner.py +90 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/framework/adk/adk.py +127 -59
- agentkernel-0.7.0/src/agentkernel/framework/crewai/crewai.py +630 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/framework/langgraph/langgraph.py +101 -31
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/framework/openai/openai.py +109 -59
- agentkernel-0.7.0/src/agentkernel/framework/pydanticai/__init__.py +16 -0
- agentkernel-0.7.0/src/agentkernel/framework/pydanticai/pydanticai.py +376 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/framework/smolagents/smolagents.py +19 -5
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/guardrail/bedrock.py +4 -7
- agentkernel-0.7.0/src/agentkernel/guardrail/guardrail.py +117 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/guardrail/openai.py +7 -6
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/guardrail/walledai.py +37 -11
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/gmail/gmail_chat.py +1 -1
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/instagram/instagram_chat.py +1 -1
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/messenger/messenger_chat.py +2 -2
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/slack/slack_chat.py +3 -3
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/teams/teams_chat.py +3 -2
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/telegram/telegram_chat.py +1 -1
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/whatsapp/whatsapp_chat.py +1 -1
- agentkernel-0.7.0/src/agentkernel/pydanticai.py +8 -0
- agentkernel-0.7.0/src/agentkernel/sandbox/__init__.py +45 -0
- agentkernel-0.7.0/src/agentkernel/sandbox/base.py +112 -0
- agentkernel-0.7.0/src/agentkernel/sandbox/broker/__init__.py +8 -0
- agentkernel-0.7.0/src/agentkernel/sandbox/broker/base.py +91 -0
- agentkernel-0.7.0/src/agentkernel/sandbox/broker/embedded.py +42 -0
- agentkernel-0.7.0/src/agentkernel/sandbox/broker/thread.py +171 -0
- agentkernel-0.7.0/src/agentkernel/sandbox/broker/worker.py +205 -0
- agentkernel-0.7.0/src/agentkernel/sandbox/errors.py +63 -0
- agentkernel-0.7.0/src/agentkernel/sandbox/factory.py +142 -0
- agentkernel-0.7.0/src/agentkernel/sandbox/hooks.py +149 -0
- agentkernel-0.7.0/src/agentkernel/sandbox/manager.py +463 -0
- agentkernel-0.7.0/src/agentkernel/sandbox/model.py +113 -0
- agentkernel-0.7.0/src/agentkernel/sandbox/principal.py +39 -0
- agentkernel-0.7.0/src/agentkernel/sandbox/providers/__init__.py +7 -0
- agentkernel-0.7.0/src/agentkernel/sandbox/providers/docker.py +203 -0
- agentkernel-0.7.0/src/agentkernel/sandbox/providers/local_subprocess.py +152 -0
- agentkernel-0.7.0/src/agentkernel/sandbox/testing.py +251 -0
- agentkernel-0.7.0/src/agentkernel/sandbox/tools.py +334 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/skills/ak-add-capabilities/SKILL.md +259 -26
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/skills/ak-add-capabilities/evals/evals.json +92 -11
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/skills/ak-add-integration/SKILL.md +8 -8
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/skills/ak-add-integration/evals/evals.json +1 -1
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/skills/ak-build/SKILL.md +52 -3
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/skills/ak-build/evals/evals.json +26 -1
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/skills/ak-cloud-deploy/SKILL.md +243 -58
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/skills/ak-cloud-deploy/evals/evals.json +49 -1
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/skills/ak-init/SKILL.md +34 -13
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/skills/ak-init/evals/evals.json +19 -2
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/skills/ak-test/SKILL.md +4 -2
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/skills/ak-test/evals/evals.json +1 -1
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/test/__init__.py +1 -0
- agentkernel-0.7.0/src/agentkernel/test/config.py +55 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/test/test.py +25 -5
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/trace/base.py +7 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/trace/langfuse/langfuse.py +8 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/trace/langfuse/langgraph.py +10 -6
- agentkernel-0.7.0/src/agentkernel/trace/langfuse/pydanticai.py +47 -0
- agentkernel-0.7.0/src/agentkernel/trace/logfire/adk.py +35 -0
- agentkernel-0.7.0/src/agentkernel/trace/logfire/crewai.py +37 -0
- agentkernel-0.7.0/src/agentkernel/trace/logfire/langgraph.py +32 -0
- agentkernel-0.7.0/src/agentkernel/trace/logfire/logfire.py +80 -0
- agentkernel-0.7.0/src/agentkernel/trace/logfire/openai.py +34 -0
- agentkernel-0.7.0/src/agentkernel/trace/logfire/pydanticai.py +34 -0
- agentkernel-0.7.0/src/agentkernel/trace/logfire/smolagents.py +32 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/trace/openllmetry/openllmetry.py +8 -0
- agentkernel-0.7.0/src/agentkernel/trace/openllmetry/pydanticai.py +34 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/trace/trace.py +32 -13
- agentkernel-0.6.0/src/agentkernel/core/builder.py +0 -152
- agentkernel-0.6.0/src/agentkernel/core/chat_service.py +0 -339
- agentkernel-0.6.0/src/agentkernel/core/config.py +0 -334
- agentkernel-0.6.0/src/agentkernel/core/multimodal/storage/dynamodb.py +0 -186
- agentkernel-0.6.0/src/agentkernel/core/multimodal/storage/redis.py +0 -159
- agentkernel-0.6.0/src/agentkernel/core/session/cosmosdb.py +0 -345
- agentkernel-0.6.0/src/agentkernel/core/session/dynamodb.py +0 -261
- agentkernel-0.6.0/src/agentkernel/core/session/firestore.py +0 -244
- agentkernel-0.6.0/src/agentkernel/core/session/redis.py +0 -219
- agentkernel-0.6.0/src/agentkernel/deployment/aws/serverless/__init__.py +0 -5
- agentkernel-0.6.0/src/agentkernel/deployment/aws/serverless/akagentrunner.py +0 -137
- agentkernel-0.6.0/src/agentkernel/framework/crewai/crewai.py +0 -306
- agentkernel-0.6.0/src/agentkernel/guardrail/guardrail.py +0 -100
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/adk.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/api/a2a/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/api/a2a/a2a.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/api/a2a/handler.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/api/mcp/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/api/mcp/akmcp.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/auth/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/auth/handler.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/auth.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/aws.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/azure.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/cli/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/cli/ak.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/cli/cli.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/logger.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/module.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/multimodal/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/multimodal/factory.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/multimodal/storage/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/multimodal/storage/base.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/multimodal/storage/in_memory.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/multimodal/tools.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/session/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/session/base.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/session/in_memory.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/session/serde.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/util/error_util.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/core/util/key_value_cache.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/crewai.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/aws/core/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/aws/core/response_store/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/aws/core/websocket_service.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/aws/serverless/akauthorizer.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/aws/serverless/akwsconnectionhandler.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/aws/serverless/core/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/aws/serverless/core/router/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/aws/serverless/core/router/common.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/azure/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/azure/akfunction.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/common/websocket_connection_store.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/gcp/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/gcp/akauthorizer.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/deployment/gcp/akcloudrun.py +0 -0
- {agentkernel-0.6.0/src/agentkernel/deployment/common → agentkernel-0.7.0/src/agentkernel/framework}/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/framework/adk/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/framework/crewai/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/framework/langgraph/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/framework/openai/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/framework/smolagents/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/gcp.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/gmail.py +0 -0
- {agentkernel-0.6.0/src/agentkernel/framework → agentkernel-0.7.0/src/agentkernel/guardrail}/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/instagram.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/gmail/README.md +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/gmail/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/instagram/README.md +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/instagram/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/messenger/README.md +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/messenger/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/slack/README.md +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/slack/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/teams/README.md +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/teams/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/telegram/README.md +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/telegram/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/whatsapp/README.md +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/integration/whatsapp/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/knowledgebase/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/knowledgebase/base.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/knowledgebase/chroma.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/knowledgebase/knowledgebuilder.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/knowledgebase/neo4j.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/knowledgebase/starburst.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/langgraph.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/mcp.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/messenger.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/openai.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/skills/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/skills/skills.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/slack.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/smolagents.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/teams.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/telegram.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/trace/__init__.py +0 -0
- {agentkernel-0.6.0/src/agentkernel/guardrail → agentkernel-0.7.0/src/agentkernel/trace/langfuse}/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/trace/langfuse/adk.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/trace/langfuse/crewai.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/trace/langfuse/openai.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/trace/langfuse/smolagents.py +0 -0
- {agentkernel-0.6.0/src/agentkernel/trace/langfuse → agentkernel-0.7.0/src/agentkernel/trace/logfire}/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/trace/openllmetry/__init__.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/trace/openllmetry/adk.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/trace/openllmetry/crewai.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/trace/openllmetry/langgraph.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/trace/openllmetry/openai.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/trace/openllmetry/smolagents.py +0 -0
- {agentkernel-0.6.0 → agentkernel-0.7.0}/src/agentkernel/whatsapp.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: agentkernel
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.0
|
|
4
4
|
Summary: Agent Kernel - Unified AI Agents Runtime
|
|
5
5
|
Author: Yaala Labs
|
|
6
6
|
Author-email: Yaala Labs <agentkernel@yaalalabs.com>
|
|
@@ -12,18 +12,18 @@ Requires-Dist: pyyaml>=6.0.2
|
|
|
12
12
|
Requires-Dist: singleton-type>=0.0.5
|
|
13
13
|
Requires-Dist: a2a-sdk[http-server]>=0.3.6 ; extra == 'a2a'
|
|
14
14
|
Requires-Dist: google-adk>=1.14.1 ; extra == 'adk'
|
|
15
|
-
Requires-Dist: litellm~=1.
|
|
15
|
+
Requires-Dist: litellm~=1.89.2 ; extra == 'adk'
|
|
16
16
|
Requires-Dist: openinference-instrumentation-google-adk>=0.1.6 ; extra == 'adk'
|
|
17
17
|
Requires-Dist: fastapi>=0.118.0 ; extra == 'api'
|
|
18
18
|
Requires-Dist: uvicorn>=0.37.0 ; extra == 'api'
|
|
19
19
|
Requires-Dist: gunicorn>=23.0.0 ; extra == 'api'
|
|
20
|
-
Requires-Dist: pyjwt>=2.
|
|
20
|
+
Requires-Dist: pyjwt>=2.13.0 ; extra == 'auth'
|
|
21
21
|
Requires-Dist: boto3>=1.41.4 ; extra == 'aws'
|
|
22
22
|
Requires-Dist: azure-functions>=1.24.0 ; extra == 'azure'
|
|
23
23
|
Requires-Dist: azure-data-tables>=12.4.0 ; extra == 'azure'
|
|
24
24
|
Requires-Dist: azure-core>=1.26.0 ; extra == 'azure'
|
|
25
25
|
Requires-Dist: chromadb>=0.4.0 ; extra == 'chromadb'
|
|
26
|
-
Requires-Dist: crewai>=
|
|
26
|
+
Requires-Dist: crewai>=1.15.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
29
|
Requires-Dist: google-cloud-firestore>=2.19.0 ; extra == 'gcp'
|
|
@@ -36,16 +36,22 @@ Requires-Dist: langfuse>=4.2.0 ; extra == 'langfuse'
|
|
|
36
36
|
Requires-Dist: nest-asyncio>=1.6.0 ; extra == 'langfuse'
|
|
37
37
|
Requires-Dist: langgraph~=1.0.5 ; extra == 'langgraph'
|
|
38
38
|
Requires-Dist: langchain~=1.2.3 ; extra == 'langgraph'
|
|
39
|
-
Requires-Dist: langchain-community
|
|
40
|
-
Requires-Dist: litellm~=1.
|
|
39
|
+
Requires-Dist: langchain-community==0.4.1 ; extra == 'langgraph'
|
|
40
|
+
Requires-Dist: litellm~=1.89.2 ; extra == 'langgraph'
|
|
41
|
+
Requires-Dist: logfire>=3.0 ; extra == 'logfire'
|
|
41
42
|
Requires-Dist: fastmcp>=2.14.2,<3.0.0 ; extra == 'mcp'
|
|
42
43
|
Requires-Dist: httpx>=0.27.0 ; extra == 'messenger'
|
|
44
|
+
Requires-Dist: litellm>=1.74.9 ; extra == 'multimodal'
|
|
45
|
+
Requires-Dist: python-multipart>=0.0.12 ; extra == 'multimodal'
|
|
43
46
|
Requires-Dist: neo4j>=5.0.0 ; extra == 'neo4j'
|
|
44
47
|
Requires-Dist: openai-agents>=0.6.5 ; extra == 'openai'
|
|
45
48
|
Requires-Dist: openinference-instrumentation-openai-agents>=1.4.0 ; extra == 'openai'
|
|
46
49
|
Requires-Dist: openai-guardrails>=0.2.1 ; extra == 'openai'
|
|
47
|
-
Requires-Dist: traceloop-sdk>=0.
|
|
50
|
+
Requires-Dist: traceloop-sdk>=0.61.0 ; extra == 'openllmetry'
|
|
51
|
+
Requires-Dist: pydantic-ai-slim~=2.13.0 ; extra == 'pydanticai'
|
|
52
|
+
Requires-Dist: openinference-instrumentation-pydantic-ai>=0.1.17 ; extra == 'pydanticai'
|
|
48
53
|
Requires-Dist: redis>=7.1.0 ; extra == 'redis'
|
|
54
|
+
Requires-Dist: docker>=7.0.0 ; extra == 'sandbox-docker'
|
|
49
55
|
Requires-Dist: slack-bolt==1.22.0 ; extra == 'slack'
|
|
50
56
|
Requires-Dist: httpx>=0.27.0 ; extra == 'slack'
|
|
51
57
|
Requires-Dist: smolagents>=1.0.0 ; extra == 'smolagents'
|
|
@@ -61,10 +67,13 @@ Requires-Dist: pytest-html>=4.1.1 ; extra == 'test'
|
|
|
61
67
|
Requires-Dist: pytest-order>=1.3.0 ; extra == 'test'
|
|
62
68
|
Requires-Dist: rapidfuzz>=3.14.1 ; extra == 'test'
|
|
63
69
|
Requires-Dist: ragas>=0.4.1 ; extra == 'test'
|
|
70
|
+
Requires-Dist: langchain-community==0.4.1 ; extra == 'test'
|
|
64
71
|
Requires-Dist: datasets>=2.14.0 ; extra == 'test'
|
|
65
72
|
Requires-Dist: pandas>=2.0.0 ; extra == 'test'
|
|
66
|
-
Requires-Dist: litellm>=1.
|
|
73
|
+
Requires-Dist: litellm>=1.89.2 ; extra == 'test'
|
|
74
|
+
Requires-Dist: litellm>=1.74.9 ; extra == 'thread'
|
|
67
75
|
Requires-Dist: trino>=0.337.0 ; extra == 'trino'
|
|
76
|
+
Requires-Dist: valkey>=6.0.0 ; extra == 'valkey'
|
|
68
77
|
Requires-Dist: walledai>=4.9.3 ; extra == 'walledai'
|
|
69
78
|
Requires-Dist: httpx>=0.27.0 ; extra == 'whatsapp'
|
|
70
79
|
Requires-Python: >=3.12, <3.14
|
|
@@ -82,18 +91,24 @@ Provides-Extra: gmail
|
|
|
82
91
|
Provides-Extra: instagram
|
|
83
92
|
Provides-Extra: langfuse
|
|
84
93
|
Provides-Extra: langgraph
|
|
94
|
+
Provides-Extra: logfire
|
|
85
95
|
Provides-Extra: mcp
|
|
86
96
|
Provides-Extra: messenger
|
|
97
|
+
Provides-Extra: multimodal
|
|
87
98
|
Provides-Extra: neo4j
|
|
88
99
|
Provides-Extra: openai
|
|
89
100
|
Provides-Extra: openllmetry
|
|
101
|
+
Provides-Extra: pydanticai
|
|
90
102
|
Provides-Extra: redis
|
|
103
|
+
Provides-Extra: sandbox-docker
|
|
91
104
|
Provides-Extra: slack
|
|
92
105
|
Provides-Extra: smolagents
|
|
93
106
|
Provides-Extra: teams
|
|
94
107
|
Provides-Extra: telegram
|
|
95
108
|
Provides-Extra: test
|
|
109
|
+
Provides-Extra: thread
|
|
96
110
|
Provides-Extra: trino
|
|
111
|
+
Provides-Extra: valkey
|
|
97
112
|
Provides-Extra: walledai
|
|
98
113
|
Provides-Extra: whatsapp
|
|
99
114
|
Description-Content-Type: text/markdown
|
|
@@ -103,19 +118,17 @@ Description-Content-Type: text/markdown
|
|
|
103
118
|
[](https://badge.fury.io/py/agentkernel)
|
|
104
119
|
[](https://www.python.org/downloads/)
|
|
105
120
|
|
|
106
|
-
Agent Kernel is a lightweight **
|
|
107
|
-
|
|
108
|
-
**Supported Cloud Platforms:** AWS, Azure, GCP
|
|
121
|
+
Agent Kernel is a lightweight **AI agent runtime** and adapter layer for building and running AI agents across multiple frameworks. Migrate your existing agents to Agent Kernel and instantly utilize pre-built execution and testing capabilities. Deploy the same agent code without modification — see the "Multi-Cloud Deployment" section below for supported platforms.
|
|
109
122
|
|
|
110
123
|
## Features
|
|
111
124
|
|
|
112
125
|
- **Unified API**: Common abstractions (Agent, Runner, Session, Module, Runtime) across frameworks
|
|
113
|
-
- **Multi-Framework Support**: OpenAI Agents SDK, CrewAI, LangGraph, Google ADK, and
|
|
114
|
-
- **
|
|
115
|
-
- **Session Management**: Built-in session abstraction with multi-cloud storage (Redis, DynamoDB, Cosmos DB, Firestore)
|
|
126
|
+
- **Multi-Framework Support**: OpenAI Agents SDK, CrewAI, LangGraph, Google ADK, Smolagents, and Pydantic AI
|
|
127
|
+
- **Session Management**: Built-in session abstraction with pluggable storage backends
|
|
116
128
|
- **Knowledge Bases**: Unified `KnowledgeBase` interface with ChromaDB, Neo4j, and Starburst/Trino backends via `KnowledgeBuilder`
|
|
117
|
-
- **
|
|
118
|
-
- **
|
|
129
|
+
- **Sandbox**: Execute agent-generated code and shell commands in an isolated, permission-bounded environment with pluggable providers (`local_subprocess`, `docker`), workload profiles, policy enforcement, and per-user identity
|
|
130
|
+
- **Flexible Deployment**: Interactive CLI, REST API, serverless, or containerized deployment — see the "Multi-Cloud Deployment" section below
|
|
131
|
+
- **Pluggable Architecture**: Easy to extend with custom framework adapters
|
|
119
132
|
- **MCP Server**: Built-in Model Context Protocol server for exposing agents as MCP tools and exposing any custom tool
|
|
120
133
|
- **A2A Server**: Built-in Agent-to-Agent communication server for exposing agents with a simple configuration change
|
|
121
134
|
- **REST API**: Built-in REST API server for agent interaction
|
|
@@ -135,6 +148,18 @@ pip install "agentkernel[neo4j]"
|
|
|
135
148
|
pip install "agentkernel[trino]"
|
|
136
149
|
```
|
|
137
150
|
|
|
151
|
+
For LLM-based thread naming with Conversation Thread Support:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
pip install "agentkernel[thread]"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
For the Docker sandbox provider (the `local_subprocess` provider needs no extra):
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
pip install "agentkernel[sandbox-docker]"
|
|
161
|
+
```
|
|
162
|
+
|
|
138
163
|
**Requirements:**
|
|
139
164
|
- Python 3.12+
|
|
140
165
|
|
|
@@ -268,7 +293,9 @@ Then interact with your agents:
|
|
|
268
293
|
|
|
269
294
|
## Multi-Cloud Deployment
|
|
270
295
|
|
|
271
|
-
|
|
296
|
+
**Supported Cloud Platforms:** AWS, Azure, GCP
|
|
297
|
+
|
|
298
|
+
Deploy your agents to AWS, Azure, or GCP using the built-in cloud deployment handlers.
|
|
272
299
|
|
|
273
300
|
### AWS Lambda Deployment
|
|
274
301
|
|
|
@@ -431,7 +458,7 @@ Configure where agent sessions are stored (supports multi-cloud storage backends
|
|
|
431
458
|
|
|
432
459
|
- **Field**: `session.type`
|
|
433
460
|
- **Type**: string
|
|
434
|
-
- **Options**: `in_memory`, `redis`, `dynamodb` (AWS), `cosmosdb` (Azure), `firestore` (GCP)
|
|
461
|
+
- **Options**: `in_memory`, `redis`, `valkey` (AWS), `dynamodb` (AWS), `cosmosdb` (Azure), `firestore` (GCP)
|
|
435
462
|
- **Default**: `in_memory`
|
|
436
463
|
- **Environment Variable**: `AK_SESSION__TYPE`
|
|
437
464
|
|
|
@@ -457,6 +484,143 @@ Required when `session.type=redis`:
|
|
|
457
484
|
- **Description**: Key prefix for session storage
|
|
458
485
|
- **Environment Variable**: `AK_SESSION__REDIS__PREFIX`
|
|
459
486
|
|
|
487
|
+
##### Valkey Configuration
|
|
488
|
+
|
|
489
|
+
Required when `session.type=valkey` (requires the `agentkernel[valkey]` extra). [Valkey](https://valkey.io/)
|
|
490
|
+
is the open-source, Linux Foundation-governed fork of Redis — wire-compatible with Redis and
|
|
491
|
+
available on AWS ElastiCache at a lower price point than the Redis OSS engine:
|
|
492
|
+
|
|
493
|
+
- **URL**
|
|
494
|
+
- **Field**: `session.valkey.url`
|
|
495
|
+
- **Default**: `valkey://localhost:6379`
|
|
496
|
+
- **Description**: Valkey connection URL. Use `valkeys://` for SSL
|
|
497
|
+
- **Environment Variable**: `AK_SESSION__VALKEY__URL`
|
|
498
|
+
|
|
499
|
+
- **TTL (Time to Live)**
|
|
500
|
+
- **Field**: `session.valkey.ttl`
|
|
501
|
+
- **Default**: `604800` (7 days)
|
|
502
|
+
- **Description**: Session TTL in seconds
|
|
503
|
+
- **Environment Variable**: `AK_SESSION__VALKEY__TTL`
|
|
504
|
+
|
|
505
|
+
- **Key Prefix**
|
|
506
|
+
- **Field**: `session.valkey.prefix`
|
|
507
|
+
- **Default**: `ak:sessions:`
|
|
508
|
+
- **Description**: Key prefix for session storage
|
|
509
|
+
- **Environment Variable**: `AK_SESSION__VALKEY__PREFIX`
|
|
510
|
+
|
|
511
|
+
#### Conversation Thread Support
|
|
512
|
+
|
|
513
|
+
Adding a `thread` block to the configuration turns on persistent, named conversation threads keyed by
|
|
514
|
+
`session_id`. Once enabled, `user_id` becomes required on every chat request, a thread is auto-created on a
|
|
515
|
+
session's first request, and history becomes readable over REST (`GET /api/v1/threads` and
|
|
516
|
+
`GET /api/v1/threads/{session_id}` — optionally protected by a pluggable `Authoriser`). Sending
|
|
517
|
+
`thread_name` on any chat request sets or renames the thread's display name and locks it against automatic
|
|
518
|
+
naming. Threads created without an explicit `thread_name` are
|
|
519
|
+
named by a pluggable naming strategy — by default an LLM call derives a concise title from the first prompt
|
|
520
|
+
(falling back to a prefix of the prompt when `litellm` or an API key is unavailable). Attachments in thread
|
|
521
|
+
mode additionally require `multimodal.enabled: true` with a shared attachment store (`in_memory`, `redis`, or
|
|
522
|
+
`dynamodb` — `session_cache` is rejected). See `examples/api/thread-openai` and
|
|
523
|
+
`examples/api/multimodal/thread-openai`.
|
|
524
|
+
|
|
525
|
+
- **Field**: `thread.type`
|
|
526
|
+
- **Type**: string
|
|
527
|
+
- **Options**: `memory`, `redis`, `dynamodb` (AWS), `firestore` (GCP), `cosmosdb` (Azure)
|
|
528
|
+
- **Default**: `memory`
|
|
529
|
+
- **Environment Variable**: `AK_THREAD__TYPE`
|
|
530
|
+
|
|
531
|
+
- **Naming Model**
|
|
532
|
+
- **Field**: `thread.naming.model`
|
|
533
|
+
- **Type**: string
|
|
534
|
+
- **Default**: `gpt-4o-mini`
|
|
535
|
+
- **Description**: LiteLLM model used to generate thread names (requires the `thread` extra — `pip install "agentkernel[thread]"` — and an API key in the environment; falls back to a truncated prompt prefix otherwise)
|
|
536
|
+
- **Environment Variable**: `AK_THREAD__NAMING__MODEL`
|
|
537
|
+
|
|
538
|
+
- **Auto-name Max Length**
|
|
539
|
+
- **Field**: `thread.naming.max_length`
|
|
540
|
+
- **Type**: integer
|
|
541
|
+
- **Default**: `80`
|
|
542
|
+
- **Description**: Maximum length of an auto-generated thread name
|
|
543
|
+
- **Environment Variable**: `AK_THREAD__NAMING__MAX_LENGTH`
|
|
544
|
+
|
|
545
|
+
##### Redis Thread Store
|
|
546
|
+
|
|
547
|
+
Required when `thread.type=redis`:
|
|
548
|
+
|
|
549
|
+
- **URL**
|
|
550
|
+
- **Field**: `thread.redis.url`
|
|
551
|
+
- **Default**: `redis://localhost:6379`
|
|
552
|
+
- **Description**: Redis connection URL. Use `rediss://` for SSL
|
|
553
|
+
- **Environment Variable**: `AK_THREAD__REDIS__URL`
|
|
554
|
+
|
|
555
|
+
- **TTL (Time to Live)**
|
|
556
|
+
- **Field**: `thread.redis.ttl`
|
|
557
|
+
- **Default**: `2592000` (30 days)
|
|
558
|
+
- **Description**: Thread TTL in seconds (0 disables)
|
|
559
|
+
- **Environment Variable**: `AK_THREAD__REDIS__TTL`
|
|
560
|
+
|
|
561
|
+
- **Key Prefix**
|
|
562
|
+
- **Field**: `thread.redis.prefix`
|
|
563
|
+
- **Default**: `ak:thread:`
|
|
564
|
+
- **Description**: Key prefix for Redis thread storage
|
|
565
|
+
- **Environment Variable**: `AK_THREAD__REDIS__PREFIX`
|
|
566
|
+
|
|
567
|
+
##### DynamoDB Thread Store
|
|
568
|
+
|
|
569
|
+
Used when `thread.type=dynamodb`:
|
|
570
|
+
|
|
571
|
+
- **Table Name**
|
|
572
|
+
- **Field**: `thread.dynamodb.table_name`
|
|
573
|
+
- **Default**: `ak-agent-threads`
|
|
574
|
+
- **Description**: DynamoDB table name. The table must have a partition key named `session_id` (S) and a sort key named `sk` (S)
|
|
575
|
+
- **Environment Variable**: `AK_THREAD__DYNAMODB__TABLE_NAME`
|
|
576
|
+
|
|
577
|
+
- **TTL (Time to Live)**
|
|
578
|
+
- **Field**: `thread.dynamodb.ttl`
|
|
579
|
+
- **Default**: `0` (disabled)
|
|
580
|
+
- **Description**: DynamoDB item TTL in seconds
|
|
581
|
+
- **Environment Variable**: `AK_THREAD__DYNAMODB__TTL`
|
|
582
|
+
|
|
583
|
+
##### Firestore Thread Store
|
|
584
|
+
|
|
585
|
+
Used when `thread.type=firestore`:
|
|
586
|
+
|
|
587
|
+
- **Collection Name**
|
|
588
|
+
- **Field**: `thread.firestore.collection_name`
|
|
589
|
+
- **Default**: `ak-agent-threads`
|
|
590
|
+
- **Description**: Firestore collection name; each document ID is a `session_id`
|
|
591
|
+
- **Environment Variable**: `AK_THREAD__FIRESTORE__COLLECTION_NAME`
|
|
592
|
+
|
|
593
|
+
- **Project ID**
|
|
594
|
+
- **Field**: `thread.firestore.project_id`
|
|
595
|
+
- **Default**: `null` (inferred from Application Default Credentials)
|
|
596
|
+
- **Environment Variable**: `AK_THREAD__FIRESTORE__PROJECT_ID`
|
|
597
|
+
|
|
598
|
+
- **Database ID**
|
|
599
|
+
- **Field**: `thread.firestore.database_id`
|
|
600
|
+
- **Default**: `null` (the `(default)` database)
|
|
601
|
+
- **Environment Variable**: `AK_THREAD__FIRESTORE__DATABASE_ID`
|
|
602
|
+
|
|
603
|
+
- **TTL (Time to Live)**
|
|
604
|
+
- **Field**: `thread.firestore.ttl`
|
|
605
|
+
- **Default**: `0` (disabled)
|
|
606
|
+
- **Description**: Thread TTL in seconds
|
|
607
|
+
- **Environment Variable**: `AK_THREAD__FIRESTORE__TTL`
|
|
608
|
+
|
|
609
|
+
##### Cosmos DB Thread Store
|
|
610
|
+
|
|
611
|
+
Required when `thread.type=cosmosdb`:
|
|
612
|
+
|
|
613
|
+
- **Connection String**
|
|
614
|
+
- **Field**: `thread.cosmosdb.connection_string`
|
|
615
|
+
- **Description**: Cosmos DB connection string (Azure Portal → Keys). Uses the Table API; entities are partitioned by `session_id`. No TTL support
|
|
616
|
+
- **Environment Variable**: `AK_THREAD__COSMOSDB__CONNECTION_STRING`
|
|
617
|
+
|
|
618
|
+
- **Table Name**
|
|
619
|
+
- **Field**: `thread.cosmosdb.table_name`
|
|
620
|
+
- **Default**: `akagentthreads`
|
|
621
|
+
- **Description**: Cosmos DB table name for thread storage
|
|
622
|
+
- **Environment Variable**: `AK_THREAD__COSMOSDB__TABLE_NAME`
|
|
623
|
+
|
|
460
624
|
#### Execution Configuration
|
|
461
625
|
|
|
462
626
|
Configure queue-backed and serverless execution behavior.
|
|
@@ -465,7 +629,7 @@ Configure queue-backed and serverless execution behavior.
|
|
|
465
629
|
- **Field**: `execution.mode`
|
|
466
630
|
- **Options**: `rest_sync`, `rest_async`, `stream`, `async`
|
|
467
631
|
- **Default**: `None`
|
|
468
|
-
- **Description**: Selects the
|
|
632
|
+
- **Description**: Selects the execution mode used for queue-backed and serverless request handling
|
|
469
633
|
- **Environment Variable**: `AK_EXECUTION__MODE`
|
|
470
634
|
|
|
471
635
|
- **Queues**
|
|
@@ -492,6 +656,24 @@ Configure queue-backed and serverless execution behavior.
|
|
|
492
656
|
- **Default**: `3`
|
|
493
657
|
- **Environment Variable**: `AK_EXECUTION__QUEUES__OUTPUT__MAX_RECEIVE_COUNT`
|
|
494
658
|
|
|
659
|
+
- **Input Queue Consumer Count**
|
|
660
|
+
- **Field**: `execution.queues.input.no_of_consumers`
|
|
661
|
+
- **Default**: `5`
|
|
662
|
+
- **Description**: Number of independent consumer threads that each poll the input queue in a continuous loop. Only used by containerized deployments — never set for serverless deployments, which have no consumer threads.
|
|
663
|
+
- **Environment Variable**: `AK_EXECUTION__QUEUES__INPUT__NO_OF_CONSUMERS`
|
|
664
|
+
|
|
665
|
+
- **Output Queue Consumer Count**
|
|
666
|
+
- **Field**: `execution.queues.output.no_of_consumers`
|
|
667
|
+
- **Default**: `5`
|
|
668
|
+
- **Description**: Number of independent consumer threads that each poll the output queue in a continuous loop. Only used by containerized deployments — never set for serverless deployments, which have no consumer threads.
|
|
669
|
+
- **Environment Variable**: `AK_EXECUTION__QUEUES__OUTPUT__NO_OF_CONSUMERS`
|
|
670
|
+
|
|
671
|
+
- **Queue Batch Size**
|
|
672
|
+
- **Field**: `execution.queues.batch_size`
|
|
673
|
+
- **Default**: `None`
|
|
674
|
+
- **Description**: Max number of messages fetched per receive call, shared by the input and output queues. Only used by containerized deployments — never set for serverless deployments, which control batch size differently. Controlled by the deployment tooling via env var `AK_EXECUTION__QUEUES__BATCH_SIZE` — do not set in `config.yaml`.
|
|
675
|
+
- **Environment Variable**: `AK_EXECUTION__QUEUES__BATCH_SIZE`
|
|
676
|
+
|
|
495
677
|
- **Response Store**
|
|
496
678
|
- **Field**: `execution.response_store`
|
|
497
679
|
- **Description**: Response persistence settings used by the serverless response handler
|
|
@@ -516,12 +698,17 @@ Configure queue-backed and serverless execution behavior.
|
|
|
516
698
|
- **Field**: `execution.response_store.redis`
|
|
517
699
|
- **Environment Variables**: `AK_EXECUTION__RESPONSE_STORE__REDIS__URL`, `AK_EXECUTION__RESPONSE_STORE__REDIS__PREFIX`, `AK_EXECUTION__RESPONSE_STORE__REDIS__TTL`
|
|
518
700
|
|
|
701
|
+
- **Valkey Backend**
|
|
702
|
+
- **Field**: `execution.response_store.valkey`
|
|
703
|
+
- **Environment Variables**: `AK_EXECUTION__RESPONSE_STORE__VALKEY__URL`, `AK_EXECUTION__RESPONSE_STORE__VALKEY__PREFIX`, `AK_EXECUTION__RESPONSE_STORE__VALKEY__TTL`
|
|
704
|
+
- **Description**: Valkey-backed response storage (requires the `agentkernel[valkey]` extra)
|
|
705
|
+
|
|
519
706
|
- **DynamoDB Backend**
|
|
520
707
|
- **Field**: `execution.response_store.dynamodb`
|
|
521
708
|
- **Environment Variables**: `AK_EXECUTION__RESPONSE_STORE__DYNAMODB__TABLE_NAME`, `AK_EXECUTION__RESPONSE_STORE__DYNAMODB__TTL`
|
|
522
709
|
- **Description**: DynamoDB-backed response storage with table name and TTL
|
|
523
710
|
|
|
524
|
-
Use
|
|
711
|
+
Use Redis, Valkey, or DynamoDB for the response store backend. The runtime accepts `BaseRunRequest` payloads directly, normalizes them internally when queueing is required, and uses `request_id` plus optional `user_id` as queue message attributes.
|
|
525
712
|
|
|
526
713
|
#### API Configuration
|
|
527
714
|
|
|
@@ -613,7 +800,7 @@ Configure tracing and observability for monitoring agent execution.
|
|
|
613
800
|
|
|
614
801
|
- **Type**
|
|
615
802
|
- **Field**: `trace.type`
|
|
616
|
-
- **Options**: `langfuse`, `openllmetry`
|
|
803
|
+
- **Options**: `langfuse`, `openllmetry`, `logfire`
|
|
617
804
|
- **Default**: `langfuse`
|
|
618
805
|
- **Description**: Type of tracing provider to use
|
|
619
806
|
- **Environment Variable**: `AK_TRACE__TYPE`
|
|
@@ -665,31 +852,54 @@ trace:
|
|
|
665
852
|
type: openllmetry
|
|
666
853
|
```
|
|
667
854
|
|
|
855
|
+
**Pydantic Logfire Setup:**
|
|
856
|
+
|
|
857
|
+
To use Logfire for tracing, install the logfire extra:
|
|
858
|
+
|
|
859
|
+
```bash
|
|
860
|
+
pip install agentkernel[logfire]
|
|
861
|
+
```
|
|
862
|
+
|
|
863
|
+
Configure the Logfire write token via an environment variable (optional — without a token, Logfire
|
|
864
|
+
runs locally and does not ship traces):
|
|
865
|
+
|
|
866
|
+
```bash
|
|
867
|
+
export LOGFIRE_TOKEN=your-write-token
|
|
868
|
+
```
|
|
869
|
+
|
|
870
|
+
Enable tracing in your configuration:
|
|
871
|
+
|
|
872
|
+
```yaml
|
|
873
|
+
trace:
|
|
874
|
+
enabled: true
|
|
875
|
+
type: logfire
|
|
876
|
+
```
|
|
877
|
+
|
|
668
878
|
#### Test Configuration
|
|
669
879
|
|
|
670
|
-
Configure test comparison modes for automated testing.
|
|
880
|
+
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.
|
|
671
881
|
|
|
672
882
|
- **Mode**
|
|
673
|
-
- **Field**: `
|
|
883
|
+
- **Field**: `mode`
|
|
674
884
|
- **Options**: `fuzzy`, `judge`, `fallback`
|
|
675
885
|
- **Default**: `fallback`
|
|
676
886
|
- **Description**: Test comparison mode
|
|
677
887
|
- **Environment Variable**: `AK_TEST__MODE`
|
|
678
888
|
|
|
679
889
|
- **Judge Model**
|
|
680
|
-
- **Field**: `
|
|
890
|
+
- **Field**: `judge.model`
|
|
681
891
|
- **Default**: `gpt-4o-mini`
|
|
682
892
|
- **Description**: LLM model for judge evaluation
|
|
683
893
|
- **Environment Variable**: `AK_TEST__JUDGE__MODEL`
|
|
684
894
|
|
|
685
895
|
- **Judge Provider**
|
|
686
|
-
- **Field**: `
|
|
896
|
+
- **Field**: `judge.provider`
|
|
687
897
|
- **Default**: `openai`
|
|
688
898
|
- **Description**: LLM provider for judge evaluation
|
|
689
899
|
- **Environment Variable**: `AK_TEST__JUDGE__PROVIDER`
|
|
690
900
|
|
|
691
901
|
- **Judge Embedding Model**
|
|
692
|
-
- **Field**: `
|
|
902
|
+
- **Field**: `judge.embedding_model`
|
|
693
903
|
- **Default**: `text-embedding-3-small`
|
|
694
904
|
- **Description**: Embedding model for similarity evaluation
|
|
695
905
|
- **Environment Variable**: `AK_TEST__JUDGE__EMBEDDING_MODEL`
|
|
@@ -700,12 +910,12 @@ Configure test comparison modes for automated testing.
|
|
|
700
910
|
- `fallback`: Tries fuzzy first, falls back to judge if fuzzy fails
|
|
701
911
|
|
|
702
912
|
```yaml
|
|
703
|
-
test
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
913
|
+
# test-config.yaml (separate file — not config.yaml)
|
|
914
|
+
mode: fallback
|
|
915
|
+
judge:
|
|
916
|
+
model: gpt-4o-mini
|
|
917
|
+
provider: openai
|
|
918
|
+
embedding_model: text-embedding-3-small
|
|
709
919
|
```
|
|
710
920
|
|
|
711
921
|
#### Guardrails Configuration
|
|
@@ -861,6 +1071,71 @@ guardrail:
|
|
|
861
1071
|
pii: true
|
|
862
1072
|
```
|
|
863
1073
|
|
|
1074
|
+
#### Sandbox Configuration
|
|
1075
|
+
|
|
1076
|
+
Enable the sandbox capability to let agents execute code and shell commands in an isolated,
|
|
1077
|
+
permission-bounded environment. When enabled, agents automatically gain sandbox tools
|
|
1078
|
+
(`run_code`, `run_command`, `write_sandbox_file`, `read_sandbox_file`, `check_sandbox_task`,
|
|
1079
|
+
`list_sandbox_sessions`, `new_sandbox_session`, `destroy_sandbox_session`) and the usage
|
|
1080
|
+
guidance is injected into their system prompt.
|
|
1081
|
+
|
|
1082
|
+
Minimal single-backend form (a `default` profile is synthesized from `type` + its config block):
|
|
1083
|
+
|
|
1084
|
+
```yaml
|
|
1085
|
+
sandbox:
|
|
1086
|
+
enabled: true
|
|
1087
|
+
type: local_subprocess # provider short name, or a dotted path to a SandboxProvider subclass
|
|
1088
|
+
local_subprocess: {}
|
|
1089
|
+
broker:
|
|
1090
|
+
flavor: thread # thread (local default) | embedded
|
|
1091
|
+
```
|
|
1092
|
+
|
|
1093
|
+
Full form with explicit workload profiles (provider + lifetime + policy + identity):
|
|
1094
|
+
|
|
1095
|
+
```yaml
|
|
1096
|
+
sandbox:
|
|
1097
|
+
enabled: true
|
|
1098
|
+
agents: [coder] # optional: attach tools/prompt only to these agents; omit = all
|
|
1099
|
+
default_profile: workspace
|
|
1100
|
+
principal_resolver: null # optional dotted path to a PrincipalResolver; null = agent identity
|
|
1101
|
+
tool_output_max_chars: 8000
|
|
1102
|
+
broker:
|
|
1103
|
+
flavor: thread
|
|
1104
|
+
wait_timeout: 60.0 # seconds before a sync wait promotes to a background task (0 = always)
|
|
1105
|
+
profiles:
|
|
1106
|
+
workspace:
|
|
1107
|
+
type: docker # container-isolated; needs the sandbox-docker extra + a Docker daemon
|
|
1108
|
+
scope: per_session # per_call | per_session | per_runtime
|
|
1109
|
+
idle_timeout: 1800 # seconds of inactivity before the sandbox is reset on next touch
|
|
1110
|
+
identity:
|
|
1111
|
+
mode: agent # agent | user
|
|
1112
|
+
policy:
|
|
1113
|
+
network_egress: deny # allow | deny | allowlist
|
|
1114
|
+
cpu: 1.0
|
|
1115
|
+
memory_mb: 512
|
|
1116
|
+
timeout: 30.0 # per-execution wall-clock seconds (always enforced)
|
|
1117
|
+
strict: true # fail closed when the provider can't enforce a policy dimension
|
|
1118
|
+
docker:
|
|
1119
|
+
image: python:3.12-slim
|
|
1120
|
+
```
|
|
1121
|
+
|
|
1122
|
+
Key fields:
|
|
1123
|
+
|
|
1124
|
+
- **`enabled`** (`AK_SANDBOX__ENABLED`, default `false`) — master switch; inert when off.
|
|
1125
|
+
- **`agents`** — agent names the tools/prompt attach to; omit for all agents.
|
|
1126
|
+
- **`type`** (per profile) — `local_subprocess` (no isolation; dev/test), `docker`
|
|
1127
|
+
(container isolation; `sandbox-docker` extra), or a dotted path to your own `SandboxProvider`.
|
|
1128
|
+
- **`scope`** — `per_call` (fresh per execution), `per_session` (persists across turns),
|
|
1129
|
+
`per_runtime` (one shared sandbox per profile).
|
|
1130
|
+
- **`policy`** — network egress, filesystem paths, cpu/memory, timeout; enforced per provider,
|
|
1131
|
+
fail-closed under `strict`.
|
|
1132
|
+
- **`identity.mode`** + **`principal_resolver`** — run code under the agent's or the invoking
|
|
1133
|
+
user's identity.
|
|
1134
|
+
- **`broker.flavor`** — `thread` (default, for CLI/REST) or `embedded` (inline/synchronous).
|
|
1135
|
+
|
|
1136
|
+
See the [Sandbox guide](https://kernel.yaala.ai/docs/next/advanced/sandbox) for the full
|
|
1137
|
+
reference and the `examples/sandbox` and `examples/sandbox/identity` examples.
|
|
1138
|
+
|
|
864
1139
|
#### Messaging Platform Integrations
|
|
865
1140
|
|
|
866
1141
|
Configure integrations with messaging platforms.
|
|
@@ -951,13 +1226,16 @@ export AK_API__PORT=8000
|
|
|
951
1226
|
export AK_A2A__ENABLED=true
|
|
952
1227
|
export AK_MCP__ENABLED=false
|
|
953
1228
|
export AK_TRACE__ENABLED=true
|
|
954
|
-
export AK_TRACE__TYPE=langfuse # or openllmetry
|
|
1229
|
+
export AK_TRACE__TYPE=langfuse # or openllmetry, logfire
|
|
955
1230
|
# For Langfuse:
|
|
956
1231
|
# export LANGFUSE_PUBLIC_KEY=pk-lf-...
|
|
957
1232
|
# export LANGFUSE_SECRET_KEY=sk-lf-...
|
|
958
1233
|
# export LANGFUSE_HOST=https://cloud.langfuse.com
|
|
959
1234
|
# For OpenLLMetry:
|
|
960
1235
|
# export TRACELOOP_API_KEY=your-api-key
|
|
1236
|
+
# For Logfire:
|
|
1237
|
+
# export LOGFIRE_TOKEN=your-write-token
|
|
1238
|
+
# Test harness (loaded from the separate test-config.yaml — see Test Configuration)
|
|
961
1239
|
export AK_TEST__MODE=fallback # Options: fuzzy, judge, fallback
|
|
962
1240
|
export AK_TEST__JUDGE__MODEL=gpt-4o-mini
|
|
963
1241
|
export AK_TEST__JUDGE__PROVIDER=openai
|
|
@@ -1002,13 +1280,15 @@ AK_API__PORT=8080
|
|
|
1002
1280
|
AK_A2A__ENABLED=true
|
|
1003
1281
|
AK_A2A__URL=http://localhost:8080/a2a
|
|
1004
1282
|
AK_TRACE__ENABLED=true
|
|
1005
|
-
AK_TRACE__TYPE=langfuse # or openllmetry
|
|
1283
|
+
AK_TRACE__TYPE=langfuse # or openllmetry, logfire
|
|
1006
1284
|
# Langfuse credentials (if using langfuse):
|
|
1007
1285
|
# LANGFUSE_PUBLIC_KEY=pk-lf-...
|
|
1008
1286
|
# LANGFUSE_SECRET_KEY=sk-lf-...
|
|
1009
1287
|
# LANGFUSE_HOST=https://cloud.langfuse.com
|
|
1010
1288
|
# OpenLLMetry credentials (if using openllmetry):
|
|
1011
1289
|
# TRACELOOP_API_KEY=your-api-key
|
|
1290
|
+
# Logfire credentials (if using logfire):
|
|
1291
|
+
# LOGFIRE_TOKEN=your-write-token
|
|
1012
1292
|
```
|
|
1013
1293
|
|
|
1014
1294
|
#### config.yaml
|
|
@@ -1020,24 +1300,37 @@ session:
|
|
|
1020
1300
|
url: redis://localhost:6379
|
|
1021
1301
|
ttl: 604800
|
|
1022
1302
|
prefix: "ak:sessions:"
|
|
1303
|
+
thread: # optional — enables Conversation Thread Support (user_id becomes required on chat requests)
|
|
1304
|
+
type: redis
|
|
1305
|
+
redis:
|
|
1306
|
+
url: redis://localhost:6379
|
|
1307
|
+
ttl: 2592000
|
|
1308
|
+
prefix: "ak:thread:"
|
|
1023
1309
|
execution:
|
|
1024
1310
|
mode: rest_sync
|
|
1025
1311
|
queues:
|
|
1026
1312
|
input:
|
|
1027
|
-
url: https://
|
|
1313
|
+
url: https://queue.example.com/<accountno>/<queuename>
|
|
1028
1314
|
max_receive_count: 3
|
|
1315
|
+
no_of_consumers: 5 # Containerized deployments only, ignored by serverless deployments
|
|
1029
1316
|
output:
|
|
1030
|
-
url: https://
|
|
1317
|
+
url: https://queue.example.com/<accountno>/<queuename>
|
|
1031
1318
|
max_receive_count: 3
|
|
1319
|
+
no_of_consumers: 5 # Containerized deployments only, ignored by serverless deployments
|
|
1320
|
+
# batch_size is set by the deployment tooling — set via AK_EXECUTION__QUEUES__BATCH_SIZE, never here
|
|
1032
1321
|
response_store:
|
|
1033
1322
|
type: redis
|
|
1034
1323
|
retry_count: 5
|
|
1035
1324
|
delay: 5
|
|
1036
|
-
redis: # if this is given, then dynamodb response store
|
|
1325
|
+
redis: # if this is given, then valkey/dynamodb response store parts cannot be given
|
|
1037
1326
|
url: redis://localhost:6379
|
|
1038
1327
|
prefix: "ak:responses:"
|
|
1039
1328
|
ttl: 3600
|
|
1040
|
-
|
|
1329
|
+
valkey: # if this is given, then redis/dynamodb response store parts cannot be given (requires the `valkey` extra)
|
|
1330
|
+
url: valkey://localhost:6379
|
|
1331
|
+
prefix: "ak:responses:"
|
|
1332
|
+
ttl: 3600
|
|
1333
|
+
dynamodb: # if this is given, then redis/valkey response store parts cannot be given
|
|
1041
1334
|
table_name: table-name
|
|
1042
1335
|
table_arn: table-arn
|
|
1043
1336
|
ttl: 3600
|
|
@@ -1058,12 +1351,8 @@ mcp:
|
|
|
1058
1351
|
trace:
|
|
1059
1352
|
enabled: true
|
|
1060
1353
|
type: langfuse
|
|
1061
|
-
test
|
|
1062
|
-
|
|
1063
|
-
judge:
|
|
1064
|
-
model: gpt-4o-mini
|
|
1065
|
-
provider: openai
|
|
1066
|
-
embedding_model: text-embedding-3-small
|
|
1354
|
+
# Note: test configuration is no longer set here — it lives in a separate
|
|
1355
|
+
# test-config.yaml file (see the Test Configuration section)
|
|
1067
1356
|
guardrail:
|
|
1068
1357
|
input:
|
|
1069
1358
|
enabled: false
|
|
@@ -1132,14 +1421,6 @@ gmail:
|
|
|
1132
1421
|
"enabled": true,
|
|
1133
1422
|
"type": "langfuse"
|
|
1134
1423
|
},
|
|
1135
|
-
"test": {
|
|
1136
|
-
"mode": "fallback",
|
|
1137
|
-
"judge": {
|
|
1138
|
-
"model": "gpt-4o-mini",
|
|
1139
|
-
"provider": "openai",
|
|
1140
|
-
"embedding_model": "text-embedding-3-small"
|
|
1141
|
-
}
|
|
1142
|
-
},
|
|
1143
1424
|
"guardrail": {
|
|
1144
1425
|
"input": {
|
|
1145
1426
|
"enabled": false,
|
|
@@ -1187,6 +1468,39 @@ gmail:
|
|
|
1187
1468
|
- Configuration file values override built-in defaults
|
|
1188
1469
|
- Nested fields use underscore (`_`) delimiter in environment variables
|
|
1189
1470
|
|
|
1471
|
+
### Test Configuration (test-config.yaml)
|
|
1472
|
+
|
|
1473
|
+
Test harness configuration (comparison mode and judge 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.
|
|
1474
|
+
|
|
1475
|
+
**test-config.yaml:**
|
|
1476
|
+
|
|
1477
|
+
```yaml
|
|
1478
|
+
mode: fallback
|
|
1479
|
+
judge:
|
|
1480
|
+
model: gpt-4o-mini
|
|
1481
|
+
provider: openai
|
|
1482
|
+
embedding_model: text-embedding-3-small
|
|
1483
|
+
```
|
|
1484
|
+
|
|
1485
|
+
Note that the file is un-nested — there is no top-level `test:` key. If the file is missing, defaults apply silently (fuzzy and fallback tests need no configuration file at all).
|
|
1486
|
+
|
|
1487
|
+
**Override the test config file path:**
|
|
1488
|
+
|
|
1489
|
+
```bash
|
|
1490
|
+
export AK_TEST_CONFIG_PATH_OVERRIDE=/path/to/test-config.yaml
|
|
1491
|
+
```
|
|
1492
|
+
|
|
1493
|
+
**Environment variables** use the `AK_TEST__` prefix and override `test-config.yaml` values:
|
|
1494
|
+
|
|
1495
|
+
```bash
|
|
1496
|
+
export AK_TEST__MODE=fallback # Options: fuzzy, judge, fallback
|
|
1497
|
+
export AK_TEST__JUDGE__MODEL=gpt-4o-mini
|
|
1498
|
+
export AK_TEST__JUDGE__PROVIDER=openai
|
|
1499
|
+
export AK_TEST__JUDGE__EMBEDDING_MODEL=text-embedding-3-small
|
|
1500
|
+
```
|
|
1501
|
+
|
|
1502
|
+
> **Migration note:** Earlier versions read test configuration from a `test:` section in `config.yaml`. That section is now ignored — move its contents (un-nested, without the `test:` key) to a sibling `test-config.yaml`. The `AK_TEST__*` environment variables are unchanged, so CI pipelines that use them need no updates.
|
|
1503
|
+
|
|
1190
1504
|
## Extensibility
|
|
1191
1505
|
|
|
1192
1506
|
### Custom Framework Adapters
|
|
@@ -1228,6 +1542,7 @@ Sessions maintain state across agent interactions. Framework adapters manage the
|
|
|
1228
1542
|
- `"langgraph"` — LangGraph session data
|
|
1229
1543
|
- `"openai"` — OpenAI Agents SDK session data
|
|
1230
1544
|
- `"adk"` — Google ADK session data
|
|
1545
|
+
- `"pydanticai"` — Pydantic AI session data (message history)
|
|
1231
1546
|
|
|
1232
1547
|
Access the session in your runner:
|
|
1233
1548
|
|
|
@@ -1293,3 +1608,4 @@ SPDX-License-Identifier: Apache-2.0
|
|
|
1293
1608
|
## Contributing
|
|
1294
1609
|
|
|
1295
1610
|
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
1611
|
+
|