agent-engine-runner-shared 0.11.7__tar.gz → 0.11.9__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.
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/PKG-INFO +7 -4
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/docs/api.md +75 -249
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/pyproject.toml +12 -4
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/connectors/README.md +22 -1
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/connectors/bundle.py +5 -3
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/connectors/definitions.py +22 -5
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/connectors/executor.py +29 -5
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/connectors/generate/authoring.py +3 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/connectors/generate/security.py +1 -1
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/connectors/runtime.py +7 -1
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/context.py +0 -34
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/execution.py +12 -2
- agent_engine_runner_shared-0.11.9/src/agent_engine_runner_shared/generated/workflow/v1/activity_pb2.py +61 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/generated/workflow/v1/activity_pb2.pyi +13 -2
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/generated/workflow/v1/state_pb2.py +4 -4
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/generated/workflow/v1/state_pb2.pyi +4 -2
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/mcp_tools.py +32 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/metrics.py +1 -12
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/models.py +49 -325
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/runtime.py +49 -1
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/secure_llm_proxy.py +266 -26
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/secure_wrapper.py +66 -47
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/server/aer.py +584 -230
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/server/callback_delivery.py +18 -3
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/server/drain.py +20 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/tool_api_error.py +2 -4
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/utils.py +8 -11
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/workflow/__init__.py +8 -0
- agent_engine_runner_shared-0.11.9/src/agent_engine_runner_shared/workflow/cancelled_history.py +268 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/workflow/client.py +33 -4
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/workflow/context.py +99 -5
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/workflow/memory.py +17 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/workflow/settlement.py +14 -1
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/connectors/test_bundle.py +19 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/connectors/test_core.py +84 -1
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/connectors/test_generate.py +25 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/connectors/test_materialize.py +12 -0
- agent_engine_runner_shared-0.11.9/tests/unit/test_aer_cancelled_turn.py +374 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_aer_chunk_delivery_reliability.py +48 -1
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_aer_durable_attempt.py +480 -20
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_aer_session_finish.py +30 -9
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_agent_config.py +21 -0
- agent_engine_runner_shared-0.11.9/tests/unit/test_debug_hook.py +53 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_drain.py +14 -0
- agent_engine_runner_shared-0.11.9/tests/unit/test_durable_guardrail_review.py +593 -0
- agent_engine_runner_shared-0.11.9/tests/unit/test_execution.py +47 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_llm_routing.py +26 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_mcp_tools.py +146 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_models.py +2 -310
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_secure_wrapper.py +205 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_tool.py +0 -8
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_tool_log_redaction.py +0 -15
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_tool_server_startup.py +90 -1
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_tool_trace_context.py +0 -16
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/workflow/test_activity.py +48 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/workflow/test_attempt.py +1 -28
- agent_engine_runner_shared-0.11.9/tests/unit/workflow/test_cancelled_history.py +347 -0
- agent_engine_runner_shared-0.11.7/src/agent_engine_runner_shared/events.py +0 -360
- agent_engine_runner_shared-0.11.7/src/agent_engine_runner_shared/generated/workflow/v1/activity_pb2.py +0 -59
- agent_engine_runner_shared-0.11.7/src/agent_engine_runner_shared/logging.py +0 -584
- agent_engine_runner_shared-0.11.7/src/agent_engine_runner_shared/workflow/reconnect.py +0 -49
- agent_engine_runner_shared-0.11.7/tests/unit/test_execution.py +0 -24
- agent_engine_runner_shared-0.11.7/tests/unit/test_logger.py +0 -153
- agent_engine_runner_shared-0.11.7/tests/unit/test_types.py +0 -108
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/CHANGELOG.md +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/Dockerfile +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/LICENSE +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/Makefile +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/README.md +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/pydoc-markdown.yml +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/pyrightconfig.json +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/scripts/agentic-vendored-wheel-check.sh +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/__init__.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/__main__.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/a2a.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/a2a_auth.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/agent_config.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/async_utils.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/checkpoint_workspace.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/connectors/__init__.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/connectors/create_tool.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/connectors/generate/README.md +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/connectors/generate/__init__.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/connectors/generate/catalog.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/connectors/generate/modes.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/connectors/generate/naming.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/connectors/generate/parameters.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/connectors/generate/spec.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/connectors/materialize.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/custom_events.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/db_config.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/db_naming.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/error_reporting.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/generated/__init__.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/generated/workflow/__init__.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/generated/workflow/v1/__init__.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/generated/workflow/v1/common_pb2.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/generated/workflow/v1/common_pb2.pyi +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/generated/workflow/v1/runtime_pb2.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/generated/workflow/v1/runtime_pb2.pyi +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/guardrails_evaluator/__init__.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/guardrails_evaluator/core.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/guardrails_evaluator/regex.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/hooks.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/http_path.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/launcher.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/mcp_oauth.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/mcp_oauth_cache_lock.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/mcp_oauth_cache_name.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/mcp_oauth_cli.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/mcp_oauth_secret.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/memory.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/memory_appbound.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/node_logger.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/owner_callback.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/progress.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/py.typed +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/server/__init__.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/server/auth.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/server/base.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/server/call_interrupt.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/server/chunk_types.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/server/cors.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/server/function.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/server/graph_warm.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/server/http_retry.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/server/metadata.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/server/oe_url.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/server/owner_url.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/server/query.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/server/tool.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/span_kinds.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/span_names.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/structured_logging.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/tls_client.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/tool_memory_ownership.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/toolpod_handlers.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/tracing/__init__.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/tracing/exporters.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/tracing/setup.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/types.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/workflow/activity.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/workflow/attempt.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/workflow/heartbeat.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/src/agent_engine_runner_shared/workflow/protojson.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/__init__.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/conftest.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/corpus/.gitignore +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/corpus/README.md +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/corpus/__init__.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/corpus/fetch_corpus.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/corpus/manifest.json +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/corpus/test_api_corpus.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/integration/__init__.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/integration/mock_embedder.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/integration/test_a2a_trace_propagation.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/integration/test_runtime.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/integration/test_secure_async.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/integration/test_secure_sync.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/integration/test_tracing_otlp_wire_format.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/pact/conftest.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/pact/test_oe_provider_verification.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/__init__.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/connectors/__init__.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/connectors/fixtures/jira.tool_defs.yaml +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/connectors/test_create_tool.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_a2a.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_a2a_auth.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_aer_a2a_registration.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_aer_build_agent_span.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_aer_capability_advertise.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_aer_chunk_emission.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_aer_llm_invocation_signal.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_aer_metadata_payload.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_aer_policy_denied.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_aer_timeout_signal.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_aer_trace_context.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_aer_workspace_scope.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_async_utils.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_call_interrupt.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_call_interrupt_contract.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_checkpoint_workspace.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_cors.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_create_memory_client_headers.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_custom_headers_context.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_custom_headers_models.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_db_naming.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_drain_contract.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_durable_proxies.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_emit_custom_event.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_emit_progress.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_error_reporting.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_extract_turn_messages.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_format_llm_error.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_function_mode.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_graph_warm.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_guardrails_protocol.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_hitl_interrupt.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_hooks.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_http_path.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_http_retry.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_launcher.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_listen_host.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_llm_credential_classification.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_mcp_oauth.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_mcp_oauth_cli.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_mcp_oauth_secret.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_memory_appbound.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_memory_search_metadata.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_memory_writer_context.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_metadata.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_metrics.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_no_lc_imports.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_node_logger.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_oe_url.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_owner_callback.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_owner_url.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_payload_context.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_query_routes.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_request_id_context.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_resume_payload.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_runtime_build_context_from_sources.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_runtime_checkpoint_workspace.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_runtime_custom_memory.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_runtime_memory_context.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_runtime_models.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_runtime_register_tool.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_secure_llm_proxy.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_server_auth.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_server_health.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_server_shutdown.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_session_filesystem_isolation.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_session_finish_context.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_structured_logging.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_thinking_tokens.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_tls_client.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_tls_client_integration.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_token_capture.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_tool_api_error.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_tool_authorization.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_tool_cancellation_boundary.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_tool_deserialization.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_tool_memory_ownership.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_toolpod_handlers.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_tracing_exporter.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/test_tracing_retry.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/workflow/test_client.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/workflow/test_context.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/workflow/test_heartbeat.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/workflow/test_memory.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/workflow/test_protojson.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/workflow/test_protojson_helpers.py +0 -0
- {agent_engine_runner_shared-0.11.7 → agent_engine_runner_shared-0.11.9}/tests/unit/workflow/test_settlement.py +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: agent-engine-runner-shared
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.9
|
|
4
4
|
Summary: Runner SDK - Framework-agnostic agent runtime
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
License-File: LICENSE
|
|
7
7
|
Requires-Python: >=3.11
|
|
8
|
-
Requires-Dist: agent-engine-sdk-memory==0.11.
|
|
9
|
-
Requires-Dist: agent-engine-sdk==0.11.
|
|
8
|
+
Requires-Dist: agent-engine-sdk-memory==0.11.9
|
|
9
|
+
Requires-Dist: agent-engine-sdk==0.11.9
|
|
10
10
|
Requires-Dist: fastapi>=0.141.1
|
|
11
11
|
Requires-Dist: filelock>=3.0.0
|
|
12
12
|
Requires-Dist: httpx-sse>=0.4.0
|
|
@@ -20,9 +20,12 @@ Requires-Dist: python-dotenv>=1.0.0
|
|
|
20
20
|
Requires-Dist: pyyaml>=6.0
|
|
21
21
|
Requires-Dist: regex>=2026.4.4
|
|
22
22
|
Requires-Dist: sentry-sdk>=2.27.0
|
|
23
|
-
Requires-Dist: starlette>=1.
|
|
23
|
+
Requires-Dist: starlette>=1.7.0
|
|
24
24
|
Requires-Dist: uvicorn>=0.32.0
|
|
25
|
+
Provides-Extra: debug
|
|
26
|
+
Requires-Dist: debugpy>=1.8.0; extra == 'debug'
|
|
25
27
|
Provides-Extra: dev
|
|
28
|
+
Requires-Dist: debugpy>=1.8.0; extra == 'dev'
|
|
26
29
|
Requires-Dist: mongomock>=4.1.0; extra == 'dev'
|
|
27
30
|
Requires-Dist: msgpack>=1.0.0; extra == 'dev'
|
|
28
31
|
Requires-Dist: pymongo>=4.0.0; extra == 'dev'
|
|
@@ -83,9 +83,6 @@
|
|
|
83
83
|
* [get\_requested\_suspend](#agent_engine_runner_shared.context.get_requested_suspend)
|
|
84
84
|
* [local\_suspend\_request\_context](#agent_engine_runner_shared.context.local_suspend_request_context)
|
|
85
85
|
* [record\_current\_memory\_metadata](#agent_engine_runner_shared.context.record_current_memory_metadata)
|
|
86
|
-
* [ValidationContext](#agent_engine_runner_shared.context.ValidationContext)
|
|
87
|
-
* [to\_dict](#agent_engine_runner_shared.context.ValidationContext.to_dict)
|
|
88
|
-
* [get\_validation\_context](#agent_engine_runner_shared.context.get_validation_context)
|
|
89
86
|
* [get\_current\_log\_origin](#agent_engine_runner_shared.context.get_current_log_origin)
|
|
90
87
|
* [customer\_origin\_scope](#agent_engine_runner_shared.context.customer_origin_scope)
|
|
91
88
|
* [agent\_engine\_runner\_shared.models](#agent_engine_runner_shared.models)
|
|
@@ -99,13 +96,12 @@
|
|
|
99
96
|
* [InvokeResponse](#agent_engine_runner_shared.models.InvokeResponse)
|
|
100
97
|
* [ExecuteRequest](#agent_engine_runner_shared.models.ExecuteRequest)
|
|
101
98
|
* [ToolExecuteRequest](#agent_engine_runner_shared.models.ToolExecuteRequest)
|
|
102
|
-
* [to\_start\_log](#agent_engine_runner_shared.models.ToolExecuteRequest.to_start_log)
|
|
103
|
-
* [to\_cached\_log](#agent_engine_runner_shared.models.ToolExecuteRequest.to_cached_log)
|
|
104
99
|
* [ElicitationInfo](#agent_engine_runner_shared.models.ElicitationInfo)
|
|
105
100
|
* [GuardrailMeta](#agent_engine_runner_shared.models.GuardrailMeta)
|
|
101
|
+
* [GuardrailReviewPolicy](#agent_engine_runner_shared.models.GuardrailReviewPolicy)
|
|
102
|
+
* [GuardrailReviewHalt](#agent_engine_runner_shared.models.GuardrailReviewHalt)
|
|
106
103
|
* [ToolExecuteResponse](#agent_engine_runner_shared.models.ToolExecuteResponse)
|
|
107
104
|
* [ToolResultRequest](#agent_engine_runner_shared.models.ToolResultRequest)
|
|
108
|
-
* [to\_log](#agent_engine_runner_shared.models.ToolResultRequest.to_log)
|
|
109
105
|
* [ToolAuthorization](#agent_engine_runner_shared.models.ToolAuthorization)
|
|
110
106
|
* [ToolPodExecuteRequest](#agent_engine_runner_shared.models.ToolPodExecuteRequest)
|
|
111
107
|
* [validate\_argument\_size](#agent_engine_runner_shared.models.ToolPodExecuteRequest.validate_argument_size)
|
|
@@ -147,19 +143,6 @@
|
|
|
147
143
|
* [AERExecuteResponse](#agent_engine_runner_shared.models.AERExecuteResponse)
|
|
148
144
|
* [ToolsListResponse](#agent_engine_runner_shared.models.ToolsListResponse)
|
|
149
145
|
* [StreamChunk](#agent_engine_runner_shared.models.StreamChunk)
|
|
150
|
-
* [AgentStartStreamRequest](#agent_engine_runner_shared.models.AgentStartStreamRequest)
|
|
151
|
-
* [ExecutionLogsQueryResponse](#agent_engine_runner_shared.models.ExecutionLogsQueryResponse)
|
|
152
|
-
* [NodeExecutionsQueryResponse](#agent_engine_runner_shared.models.NodeExecutionsQueryResponse)
|
|
153
|
-
* [CostSummary](#agent_engine_runner_shared.models.CostSummary)
|
|
154
|
-
* [CostByWorkspace](#agent_engine_runner_shared.models.CostByWorkspace)
|
|
155
|
-
* [CostByModel](#agent_engine_runner_shared.models.CostByModel)
|
|
156
|
-
* [DailyCostEntry](#agent_engine_runner_shared.models.DailyCostEntry)
|
|
157
|
-
* [CostDashboardResponse](#agent_engine_runner_shared.models.CostDashboardResponse)
|
|
158
|
-
* [ExecutionDocument](#agent_engine_runner_shared.models.ExecutionDocument)
|
|
159
|
-
* [ExecutionsListQueryResponse](#agent_engine_runner_shared.models.ExecutionsListQueryResponse)
|
|
160
|
-
* [ExecutionDetailQueryResponse](#agent_engine_runner_shared.models.ExecutionDetailQueryResponse)
|
|
161
|
-
* [NodeExecutionRequest](#agent_engine_runner_shared.models.NodeExecutionRequest)
|
|
162
|
-
* [to\_log](#agent_engine_runner_shared.models.NodeExecutionRequest.to_log)
|
|
163
146
|
* [agent\_engine\_runner\_shared.progress](#agent_engine_runner_shared.progress)
|
|
164
147
|
* [emit](#agent_engine_runner_shared.progress.emit)
|
|
165
148
|
* [emit\_step](#agent_engine_runner_shared.progress.emit_step)
|
|
@@ -183,6 +166,8 @@
|
|
|
183
166
|
* [register\_guardrail\_policy\_engine](#agent_engine_runner_shared.guardrails_evaluator.core.register_guardrail_policy_engine)
|
|
184
167
|
* [evaluate\_guardrail\_check](#agent_engine_runner_shared.guardrails_evaluator.core.evaluate_guardrail_check)
|
|
185
168
|
* [agent\_engine\_runner\_shared.secure\_llm\_proxy](#agent_engine_runner_shared.secure_llm_proxy)
|
|
169
|
+
* [GuardrailReviewPending](#agent_engine_runner_shared.secure_llm_proxy.GuardrailReviewPending)
|
|
170
|
+
* [guardrail\_review\_wait\_id](#agent_engine_runner_shared.secure_llm_proxy.guardrail_review_wait_id)
|
|
186
171
|
* [SecureLLMProxy](#agent_engine_runner_shared.secure_llm_proxy.SecureLLMProxy)
|
|
187
172
|
* [step\_counter](#agent_engine_runner_shared.secure_llm_proxy.SecureLLMProxy.step_counter)
|
|
188
173
|
* [invoke](#agent_engine_runner_shared.secure_llm_proxy.SecureLLMProxy.invoke)
|
|
@@ -197,6 +182,7 @@
|
|
|
197
182
|
* [raise\_for\_oe\_rejection](#agent_engine_runner_shared.secure_wrapper.raise_for_oe_rejection)
|
|
198
183
|
* [ToolCallTimeoutError](#agent_engine_runner_shared.secure_wrapper.ToolCallTimeoutError)
|
|
199
184
|
* [OperationalStepAllocator](#agent_engine_runner_shared.secure_wrapper.OperationalStepAllocator)
|
|
185
|
+
* [allocation\_count](#agent_engine_runner_shared.secure_wrapper.OperationalStepAllocator.allocation_count)
|
|
200
186
|
* [ExternalAPICallError](#agent_engine_runner_shared.secure_wrapper.ExternalAPICallError)
|
|
201
187
|
* [LLMInvocationError](#agent_engine_runner_shared.secure_wrapper.LLMInvocationError)
|
|
202
188
|
* [request\_oe\_approval](#agent_engine_runner_shared.secure_wrapper.request_oe_approval)
|
|
@@ -216,7 +202,6 @@
|
|
|
216
202
|
* [LoggingStream](#agent_engine_runner_shared.structured_logging.LoggingStream)
|
|
217
203
|
* [install\_structured\_logging](#agent_engine_runner_shared.structured_logging.install_structured_logging)
|
|
218
204
|
* [agent\_engine\_runner\_shared.metrics](#agent_engine_runner_shared.metrics)
|
|
219
|
-
* [MetricPoint](#agent_engine_runner_shared.metrics.MetricPoint)
|
|
220
205
|
* [LatencyStats](#agent_engine_runner_shared.metrics.LatencyStats)
|
|
221
206
|
* [record](#agent_engine_runner_shared.metrics.LatencyStats.record)
|
|
222
207
|
* [avg\_ms](#agent_engine_runner_shared.metrics.LatencyStats.avg_ms)
|
|
@@ -267,7 +252,6 @@
|
|
|
267
252
|
* [log\_tool\_result](#agent_engine_runner_shared.utils.log_tool_result)
|
|
268
253
|
* [log\_cached\_result](#agent_engine_runner_shared.utils.log_cached_result)
|
|
269
254
|
* [log\_policy\_blocked](#agent_engine_runner_shared.utils.log_policy_blocked)
|
|
270
|
-
* [log\_execution\_start](#agent_engine_runner_shared.utils.log_execution_start)
|
|
271
255
|
* [log\_execution\_callback](#agent_engine_runner_shared.utils.log_execution_callback)
|
|
272
256
|
|
|
273
257
|
TenantRuntime — framework-agnostic platform runtime for tenant agent applications.
|
|
@@ -1640,37 +1624,6 @@ def record_current_memory_metadata(*,
|
|
|
1640
1624
|
|
|
1641
1625
|
Attach explicit memory metadata to the current execution step, if one exists.
|
|
1642
1626
|
|
|
1643
|
-
<a id="agent_engine_runner_shared.context.ValidationContext"></a>
|
|
1644
|
-
|
|
1645
|
-
## ValidationContext
|
|
1646
|
-
|
|
1647
|
-
```python
|
|
1648
|
-
@dataclass(frozen=True)
|
|
1649
|
-
class ValidationContext()
|
|
1650
|
-
```
|
|
1651
|
-
|
|
1652
|
-
Execution identity passed to guardrails for audit logging.
|
|
1653
|
-
|
|
1654
|
-
<a id="agent_engine_runner_shared.context.ValidationContext.to_dict"></a>
|
|
1655
|
-
|
|
1656
|
-
#### to\_dict
|
|
1657
|
-
|
|
1658
|
-
```python
|
|
1659
|
-
def to_dict() -> Dict[str, str]
|
|
1660
|
-
```
|
|
1661
|
-
|
|
1662
|
-
Serialize to a dict for inclusion in HTTP payloads.
|
|
1663
|
-
|
|
1664
|
-
<a id="agent_engine_runner_shared.context.get_validation_context"></a>
|
|
1665
|
-
|
|
1666
|
-
#### get\_validation\_context
|
|
1667
|
-
|
|
1668
|
-
```python
|
|
1669
|
-
def get_validation_context() -> ValidationContext
|
|
1670
|
-
```
|
|
1671
|
-
|
|
1672
|
-
Build a ValidationContext from the current execution contextvars.
|
|
1673
|
-
|
|
1674
1627
|
<a id="agent_engine_runner_shared.context.get_current_log_origin"></a>
|
|
1675
1628
|
|
|
1676
1629
|
#### get\_current\_log\_origin
|
|
@@ -1833,54 +1786,48 @@ class ToolExecuteRequest(BaseModel)
|
|
|
1833
1786
|
|
|
1834
1787
|
Request to execute a tool (AER → OE for approval).
|
|
1835
1788
|
|
|
1836
|
-
<a id="agent_engine_runner_shared.models.
|
|
1789
|
+
<a id="agent_engine_runner_shared.models.ElicitationInfo"></a>
|
|
1837
1790
|
|
|
1838
|
-
|
|
1791
|
+
## ElicitationInfo
|
|
1839
1792
|
|
|
1840
1793
|
```python
|
|
1841
|
-
|
|
1794
|
+
class ElicitationInfo(BaseModel)
|
|
1842
1795
|
```
|
|
1843
1796
|
|
|
1844
|
-
|
|
1797
|
+
Authorization details returned when broker consent is required.
|
|
1845
1798
|
|
|
1846
|
-
|
|
1799
|
+
Its presence in a ToolExecuteResponse signals that the user must authorize
|
|
1800
|
+
via the provided URL before the tool invocation can proceed.
|
|
1847
1801
|
|
|
1848
|
-
|
|
1802
|
+
<a id="agent_engine_runner_shared.models.GuardrailMeta"></a>
|
|
1803
|
+
|
|
1804
|
+
## GuardrailMeta
|
|
1849
1805
|
|
|
1850
1806
|
```python
|
|
1851
|
-
|
|
1852
|
-
cached_result: Any) -> "ExecutionLog"
|
|
1807
|
+
class GuardrailMeta(BaseModel)
|
|
1853
1808
|
```
|
|
1854
1809
|
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
**Arguments**:
|
|
1810
|
+
Identity of the policy that caused a guardrail block or require_review halt.
|
|
1858
1811
|
|
|
1859
|
-
|
|
1860
|
-
- `cached_result` - The cached result being returned
|
|
1812
|
+
<a id="agent_engine_runner_shared.models.GuardrailReviewPolicy"></a>
|
|
1861
1813
|
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
## ElicitationInfo
|
|
1814
|
+
## GuardrailReviewPolicy
|
|
1865
1815
|
|
|
1866
1816
|
```python
|
|
1867
|
-
class
|
|
1817
|
+
class GuardrailReviewPolicy(BaseModel)
|
|
1868
1818
|
```
|
|
1869
1819
|
|
|
1870
|
-
|
|
1820
|
+
One policy that required a guardrail review.
|
|
1871
1821
|
|
|
1872
|
-
|
|
1873
|
-
via the provided URL before the tool invocation can proceed.
|
|
1822
|
+
<a id="agent_engine_runner_shared.models.GuardrailReviewHalt"></a>
|
|
1874
1823
|
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
## GuardrailMeta
|
|
1824
|
+
## GuardrailReviewHalt
|
|
1878
1825
|
|
|
1879
1826
|
```python
|
|
1880
|
-
class
|
|
1827
|
+
class GuardrailReviewHalt(BaseModel)
|
|
1881
1828
|
```
|
|
1882
1829
|
|
|
1883
|
-
|
|
1830
|
+
The review OE opened for a require_review halt of a review_protocol call.
|
|
1884
1831
|
|
|
1885
1832
|
<a id="agent_engine_runner_shared.models.ToolExecuteResponse"></a>
|
|
1886
1833
|
|
|
@@ -1902,20 +1849,6 @@ class ToolResultRequest(BaseModel)
|
|
|
1902
1849
|
|
|
1903
1850
|
Report tool execution result (AER → OE).
|
|
1904
1851
|
|
|
1905
|
-
<a id="agent_engine_runner_shared.models.ToolResultRequest.to_log"></a>
|
|
1906
|
-
|
|
1907
|
-
#### to\_log
|
|
1908
|
-
|
|
1909
|
-
```python
|
|
1910
|
-
def to_log(execution: Optional["Execution"] = None) -> "ExecutionLog"
|
|
1911
|
-
```
|
|
1912
|
-
|
|
1913
|
-
Convert this request to an ExecutionLog for tool result.
|
|
1914
|
-
|
|
1915
|
-
**Arguments**:
|
|
1916
|
-
|
|
1917
|
-
- `execution` - The parent execution context (optional)
|
|
1918
|
-
|
|
1919
1852
|
<a id="agent_engine_runner_shared.models.ToolAuthorization"></a>
|
|
1920
1853
|
|
|
1921
1854
|
## ToolAuthorization
|
|
@@ -2393,136 +2326,6 @@ A chunk of streaming response from the agent.
|
|
|
2393
2326
|
|
|
2394
2327
|
Used for real-time streaming of agent responses via SSE or gRPC.
|
|
2395
2328
|
|
|
2396
|
-
<a id="agent_engine_runner_shared.models.AgentStartStreamRequest"></a>
|
|
2397
|
-
|
|
2398
|
-
## AgentStartStreamRequest
|
|
2399
|
-
|
|
2400
|
-
```python
|
|
2401
|
-
class AgentStartStreamRequest(BaseModel)
|
|
2402
|
-
```
|
|
2403
|
-
|
|
2404
|
-
Request to start an agent execution with streaming response.
|
|
2405
|
-
|
|
2406
|
-
<a id="agent_engine_runner_shared.models.ExecutionLogsQueryResponse"></a>
|
|
2407
|
-
|
|
2408
|
-
## ExecutionLogsQueryResponse
|
|
2409
|
-
|
|
2410
|
-
```python
|
|
2411
|
-
class ExecutionLogsQueryResponse(BaseModel)
|
|
2412
|
-
```
|
|
2413
|
-
|
|
2414
|
-
Response for execution logs query (used by API Gateway proxy).
|
|
2415
|
-
|
|
2416
|
-
<a id="agent_engine_runner_shared.models.NodeExecutionsQueryResponse"></a>
|
|
2417
|
-
|
|
2418
|
-
## NodeExecutionsQueryResponse
|
|
2419
|
-
|
|
2420
|
-
```python
|
|
2421
|
-
class NodeExecutionsQueryResponse(BaseModel)
|
|
2422
|
-
```
|
|
2423
|
-
|
|
2424
|
-
Response for node executions query (used by API Gateway proxy).
|
|
2425
|
-
|
|
2426
|
-
<a id="agent_engine_runner_shared.models.CostSummary"></a>
|
|
2427
|
-
|
|
2428
|
-
## CostSummary
|
|
2429
|
-
|
|
2430
|
-
```python
|
|
2431
|
-
class CostSummary(BaseModel)
|
|
2432
|
-
```
|
|
2433
|
-
|
|
2434
|
-
Aggregate cost metrics for the requested period.
|
|
2435
|
-
|
|
2436
|
-
<a id="agent_engine_runner_shared.models.CostByWorkspace"></a>
|
|
2437
|
-
|
|
2438
|
-
## CostByWorkspace
|
|
2439
|
-
|
|
2440
|
-
```python
|
|
2441
|
-
class CostByWorkspace(BaseModel)
|
|
2442
|
-
```
|
|
2443
|
-
|
|
2444
|
-
Cost breakdown for a single workspace.
|
|
2445
|
-
|
|
2446
|
-
<a id="agent_engine_runner_shared.models.CostByModel"></a>
|
|
2447
|
-
|
|
2448
|
-
## CostByModel
|
|
2449
|
-
|
|
2450
|
-
```python
|
|
2451
|
-
class CostByModel(BaseModel)
|
|
2452
|
-
```
|
|
2453
|
-
|
|
2454
|
-
Cost breakdown for a single model.
|
|
2455
|
-
|
|
2456
|
-
<a id="agent_engine_runner_shared.models.DailyCostEntry"></a>
|
|
2457
|
-
|
|
2458
|
-
## DailyCostEntry
|
|
2459
|
-
|
|
2460
|
-
```python
|
|
2461
|
-
class DailyCostEntry(BaseModel)
|
|
2462
|
-
```
|
|
2463
|
-
|
|
2464
|
-
Cost data for a single day.
|
|
2465
|
-
|
|
2466
|
-
<a id="agent_engine_runner_shared.models.CostDashboardResponse"></a>
|
|
2467
|
-
|
|
2468
|
-
## CostDashboardResponse
|
|
2469
|
-
|
|
2470
|
-
```python
|
|
2471
|
-
class CostDashboardResponse(BaseModel)
|
|
2472
|
-
```
|
|
2473
|
-
|
|
2474
|
-
Response for cost dashboard aggregation (used by API Gateway proxy).
|
|
2475
|
-
|
|
2476
|
-
<a id="agent_engine_runner_shared.models.ExecutionDocument"></a>
|
|
2477
|
-
|
|
2478
|
-
## ExecutionDocument
|
|
2479
|
-
|
|
2480
|
-
```python
|
|
2481
|
-
class ExecutionDocument(BaseModel)
|
|
2482
|
-
```
|
|
2483
|
-
|
|
2484
|
-
An execution document as stored in the platform database.
|
|
2485
|
-
|
|
2486
|
-
<a id="agent_engine_runner_shared.models.ExecutionsListQueryResponse"></a>
|
|
2487
|
-
|
|
2488
|
-
## ExecutionsListQueryResponse
|
|
2489
|
-
|
|
2490
|
-
```python
|
|
2491
|
-
class ExecutionsListQueryResponse(BaseModel)
|
|
2492
|
-
```
|
|
2493
|
-
|
|
2494
|
-
Response for executions list query (used by API Gateway proxy).
|
|
2495
|
-
|
|
2496
|
-
<a id="agent_engine_runner_shared.models.ExecutionDetailQueryResponse"></a>
|
|
2497
|
-
|
|
2498
|
-
## ExecutionDetailQueryResponse
|
|
2499
|
-
|
|
2500
|
-
```python
|
|
2501
|
-
class ExecutionDetailQueryResponse(BaseModel)
|
|
2502
|
-
```
|
|
2503
|
-
|
|
2504
|
-
Response for single execution detail query (used by API Gateway proxy).
|
|
2505
|
-
|
|
2506
|
-
<a id="agent_engine_runner_shared.models.NodeExecutionRequest"></a>
|
|
2507
|
-
|
|
2508
|
-
## NodeExecutionRequest
|
|
2509
|
-
|
|
2510
|
-
```python
|
|
2511
|
-
class NodeExecutionRequest(BaseModel)
|
|
2512
|
-
```
|
|
2513
|
-
|
|
2514
|
-
Report node execution event (AER → OE for logging).
|
|
2515
|
-
|
|
2516
|
-
<a id="agent_engine_runner_shared.models.NodeExecutionRequest.to_log"></a>
|
|
2517
|
-
|
|
2518
|
-
#### to\_log
|
|
2519
|
-
|
|
2520
|
-
```python
|
|
2521
|
-
def to_log() -> "NodeExecutionLog"
|
|
2522
|
-
```
|
|
2523
|
-
|
|
2524
|
-
Convert this request to a NodeExecutionLog for persistence.
|
|
2525
|
-
|
|
2526
2329
|
emit / emit_step — send a mid-execution chunk from within a tool function.
|
|
2527
2330
|
|
|
2528
2331
|
Tool functions running inside a Tool Pod call these to stream events to the
|
|
@@ -2822,6 +2625,30 @@ The proxy packages intercepted invoke_llm requests for the Orchestration Engine
|
|
|
2822
2625
|
and unwraps the streamed OE relay back into sdk-core models. The OE owns
|
|
2823
2626
|
approval, routing, live SSE relay, and final audit/result recording.
|
|
2824
2627
|
|
|
2628
|
+
<a id="agent_engine_runner_shared.secure_llm_proxy.GuardrailReviewPending"></a>
|
|
2629
|
+
|
|
2630
|
+
## GuardrailReviewPending
|
|
2631
|
+
|
|
2632
|
+
```python
|
|
2633
|
+
class GuardrailReviewPending(Exception)
|
|
2634
|
+
```
|
|
2635
|
+
|
|
2636
|
+
A recorded halt whose adapter emits its native wait after the LLM call.
|
|
2637
|
+
|
|
2638
|
+
<a id="agent_engine_runner_shared.secure_llm_proxy.guardrail_review_wait_id"></a>
|
|
2639
|
+
|
|
2640
|
+
#### guardrail\_review\_wait\_id
|
|
2641
|
+
|
|
2642
|
+
```python
|
|
2643
|
+
def guardrail_review_wait_id(value: Any) -> str | None
|
|
2644
|
+
```
|
|
2645
|
+
|
|
2646
|
+
The review a pause value names, when this attempt paused for that review.
|
|
2647
|
+
|
|
2648
|
+
The answer to such a pause is the platform's review decision, not part of
|
|
2649
|
+
the conversation. An application's own pause is never one, whatever its
|
|
2650
|
+
value looks like: only a review the proxy recorded a halt for counts.
|
|
2651
|
+
|
|
2825
2652
|
<a id="agent_engine_runner_shared.secure_llm_proxy.SecureLLMProxy"></a>
|
|
2826
2653
|
|
|
2827
2654
|
## SecureLLMProxy
|
|
@@ -2877,15 +2704,22 @@ Collect streamed sdk-core chunks into a final sdk-core LLMResponse.
|
|
|
2877
2704
|
|
|
2878
2705
|
```python
|
|
2879
2706
|
def stream(
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2707
|
+
messages: list[Message],
|
|
2708
|
+
step: int | None = None,
|
|
2709
|
+
stop: list[str] | None = None,
|
|
2710
|
+
options: LLMInvocationOptions | None = None,
|
|
2711
|
+
activity_key: str | None = None,
|
|
2712
|
+
pending_review: GuardrailReviewPending | None = None
|
|
2884
2713
|
) -> Iterator[LLMStreamChunk]
|
|
2885
2714
|
```
|
|
2886
2715
|
|
|
2887
2716
|
Stream invoke_llm chunks through OE approval and OE-owned SSE relay.
|
|
2888
2717
|
|
|
2718
|
+
`activity_key` names this call's durable activity. An adapter whose
|
|
2719
|
+
framework re-runs code after a pause supplies a key that is the same
|
|
2720
|
+
on every run; the default, the operational step, only ever increases
|
|
2721
|
+
within an attempt.
|
|
2722
|
+
|
|
2889
2723
|
Sessions routed to the platform-owned workflow wrap the call in a
|
|
2890
2724
|
serial LLM activity: a recorded outcome replays without a model call;
|
|
2891
2725
|
a fresh dispatch streams the model and records the folded response
|
|
@@ -2999,6 +2833,16 @@ Process-local operational step_number mint for one AER execution.
|
|
|
2999
2833
|
Shared by SecureToolWrapper and SecureLLMProxy so parallel tools and LLM
|
|
3000
2834
|
calls cannot collide under a single AER. Not a multi-OE authority.
|
|
3001
2835
|
|
|
2836
|
+
<a id="agent_engine_runner_shared.secure_wrapper.OperationalStepAllocator.allocation_count"></a>
|
|
2837
|
+
|
|
2838
|
+
#### allocation\_count
|
|
2839
|
+
|
|
2840
|
+
```python
|
|
2841
|
+
def allocation_count() -> int
|
|
2842
|
+
```
|
|
2843
|
+
|
|
2844
|
+
Count minted request slots independently of replayed step watermarks.
|
|
2845
|
+
|
|
3002
2846
|
<a id="agent_engine_runner_shared.secure_wrapper.ExternalAPICallError"></a>
|
|
3003
2847
|
|
|
3004
2848
|
## ExternalAPICallError
|
|
@@ -3027,6 +2871,9 @@ uses this same exception type.
|
|
|
3027
2871
|
on the failure (e.g. a provider credential rejection), when it did. It
|
|
3028
2872
|
travels to the OE/UI on the ERROR chunk metadata instead of the generic
|
|
3029
2873
|
invocation code so consumers can classify without string-matching prose.
|
|
2874
|
+
It is ``GUARDRAIL_REVIEW_INVALID`` when OE refused to answer a call from
|
|
2875
|
+
a guardrail review: the review is unknown or undecided, or the call is not
|
|
2876
|
+
the reviewed one.
|
|
3030
2877
|
|
|
3031
2878
|
<a id="agent_engine_runner_shared.secure_wrapper.request_oe_approval"></a>
|
|
3032
2879
|
|
|
@@ -3048,7 +2895,9 @@ def request_oe_approval(
|
|
|
3048
2895
|
scopes: Optional[list[str]] = None,
|
|
3049
2896
|
tool_call_id: Optional[str] = None,
|
|
3050
2897
|
custom_headers: Optional[Dict[str, str]] = None,
|
|
3051
|
-
timeout: float | httpx.Timeout | None = None
|
|
2898
|
+
timeout: float | httpx.Timeout | None = None,
|
|
2899
|
+
review_protocol: Optional[int] = None,
|
|
2900
|
+
review_id: Optional[str] = None) -> ToolExecuteResponse
|
|
3052
2901
|
```
|
|
3053
2902
|
|
|
3054
2903
|
Request approval from OE before executing a tool/LLM call.
|
|
@@ -3435,17 +3284,6 @@ Usage:
|
|
|
3435
3284
|
# Get all metrics
|
|
3436
3285
|
metrics = Metrics.get_all()
|
|
3437
3286
|
|
|
3438
|
-
<a id="agent_engine_runner_shared.metrics.MetricPoint"></a>
|
|
3439
|
-
|
|
3440
|
-
## MetricPoint
|
|
3441
|
-
|
|
3442
|
-
```python
|
|
3443
|
-
@dataclass
|
|
3444
|
-
class MetricPoint()
|
|
3445
|
-
```
|
|
3446
|
-
|
|
3447
|
-
Single metric data point.
|
|
3448
|
-
|
|
3449
3287
|
<a id="agent_engine_runner_shared.metrics.LatencyStats"></a>
|
|
3450
3288
|
|
|
3451
3289
|
## LatencyStats
|
|
@@ -4127,18 +3965,6 @@ def log_policy_blocked(tool_name: str,
|
|
|
4127
3965
|
|
|
4128
3966
|
Log that a tool call was blocked by policy.
|
|
4129
3967
|
|
|
4130
|
-
<a id="agent_engine_runner_shared.utils.log_execution_start"></a>
|
|
4131
|
-
|
|
4132
|
-
#### log\_execution\_start
|
|
4133
|
-
|
|
4134
|
-
```python
|
|
4135
|
-
def log_execution_start(execution_id: str,
|
|
4136
|
-
input_keys: List[str],
|
|
4137
|
-
prefix: str = "OE") -> None
|
|
4138
|
-
```
|
|
4139
|
-
|
|
4140
|
-
Log the start of an execution.
|
|
4141
|
-
|
|
4142
3968
|
<a id="agent_engine_runner_shared.utils.log_execution_callback"></a>
|
|
4143
3969
|
|
|
4144
3970
|
#### log\_execution\_callback
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "agent-engine-runner-shared"
|
|
3
|
-
version = "0.11.
|
|
3
|
+
version = "0.11.9"
|
|
4
4
|
description = "Runner SDK - Framework-agnostic agent runtime"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = {text = "Apache-2.0"}
|
|
@@ -11,7 +11,7 @@ dependencies = [
|
|
|
11
11
|
# floor: older starlette rebuilds url.path from the Host header with no
|
|
12
12
|
# validation, which can disagree with scope["path"]. The
|
|
13
13
|
# Host-validating _HOST_RE landed in starlette 1.4.1.
|
|
14
|
-
"starlette>=1.
|
|
14
|
+
"starlette>=1.7.0",
|
|
15
15
|
"uvicorn>=0.32.0",
|
|
16
16
|
"pydantic>=2.0.0",
|
|
17
17
|
"protobuf>=6.33.6,<7",
|
|
@@ -23,9 +23,9 @@ dependencies = [
|
|
|
23
23
|
"jsonschema>=4.26.0",
|
|
24
24
|
"sentry-sdk>=2.27.0",
|
|
25
25
|
# BaseAgent protocol and AgentInput/AgentEvent models
|
|
26
|
-
"agent-engine-sdk==0.11.
|
|
26
|
+
"agent-engine-sdk==0.11.9",
|
|
27
27
|
# Memory models and the MemoryClient HTTP client
|
|
28
|
-
"agent-engine-sdk-memory==0.11.
|
|
28
|
+
"agent-engine-sdk-memory==0.11.9",
|
|
29
29
|
# Required for checkpoint message decoding (query/sessions endpoints)
|
|
30
30
|
"msgpack>=1.0.0",
|
|
31
31
|
# Required by guardrails_evaluator/regex.py for advanced regex matching
|
|
@@ -53,6 +53,14 @@ dev = [
|
|
|
53
53
|
"msgpack>=1.0.0",
|
|
54
54
|
"pymongo>=4.0.0",
|
|
55
55
|
"mongomock>=4.1.0",
|
|
56
|
+
"debugpy>=1.8.0",
|
|
57
|
+
]
|
|
58
|
+
# Local-Kind-only debug hook. Not installed by default so
|
|
59
|
+
# production/CI images never pull in a debugger; local debug-mode tooling
|
|
60
|
+
# installs this extra explicitly when building an agent/tool image with
|
|
61
|
+
# debugging enabled.
|
|
62
|
+
debug = [
|
|
63
|
+
"debugpy>=1.8.0",
|
|
56
64
|
]
|
|
57
65
|
|
|
58
66
|
[build-system]
|
|
@@ -42,6 +42,25 @@ auth:
|
|
|
42
42
|
env: JIRA_TOKEN
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
+
For delegated OAuth, replace that auth block with an explicit provider binding:
|
|
46
|
+
|
|
47
|
+
```yaml
|
|
48
|
+
auth:
|
|
49
|
+
type: oauth
|
|
50
|
+
provider_type: github
|
|
51
|
+
scopes: [repo]
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
`provider_type` is the key of a provider configured for the project, independent
|
|
55
|
+
of the resource API's base URL. The scopes apply to every exposed operation in
|
|
56
|
+
this connector. Registration carries this policy outside the model's argument
|
|
57
|
+
schema. The Orchestration Engine resolves a credential for the saved application
|
|
58
|
+
user and passes it to the Tool Pod for that invocation. A missing or invalid token
|
|
59
|
+
stops the HTTP call; OAuth never falls back to a tenant environment secret.
|
|
60
|
+
Existing static auth modes continue to use their configured environment bindings.
|
|
61
|
+
Catalog regeneration preserves the authored OAuth binding and records only
|
|
62
|
+
secret-free Bearer presentation in the catalog.
|
|
63
|
+
|
|
45
64
|
The pre-materialized index paths are relative to the index and must remain inside its
|
|
46
65
|
directory. AER loads the schemas as ordinary remote tools. Tool Pod startup loads the
|
|
47
66
|
same materialized view and owns one `ConnectorExecutor` per connector.
|
|
@@ -52,7 +71,9 @@ same materialized view and owns one `ConnectorExecutor` per connector.
|
|
|
52
71
|
|
|
53
72
|
Own one `ConnectorExecutor(definitions)` per connector in a Tool Pod process. Call
|
|
54
73
|
`execute(tool_name, arguments, env=tenant_secrets)` after authorization; the environment
|
|
55
|
-
mapping is request-local and defaults to the tenant-owned process environment
|
|
74
|
+
mapping is request-local and defaults to the tenant-owned process environment for
|
|
75
|
+
static auth. OAuth additionally requires `authorization=ToolAuthorization(...)`;
|
|
76
|
+
the Tool Pod supplies it from request context and the executor never retains it. Close
|
|
56
77
|
the executor at shutdown after in-flight calls finish, or use it as a context manager.
|
|
57
78
|
|
|
58
79
|
The compiled format is the stable `source`, `auth`, `tools`, `params` and
|
|
@@ -95,14 +95,16 @@ class BundledTool:
|
|
|
95
95
|
|
|
96
96
|
@property
|
|
97
97
|
def registration_metadata(self) -> dict[str, Any]:
|
|
98
|
-
"""Return
|
|
98
|
+
"""Return detached AER/Tool Pod policy, with delegated binding outside the schema."""
|
|
99
99
|
operation = self.operation
|
|
100
|
+
auth = self.connector.definitions.auth
|
|
101
|
+
delegated = auth if auth is not None and auth.type == "oauth" else None
|
|
100
102
|
return {
|
|
101
103
|
"name": operation.name,
|
|
102
104
|
"description": operation.description.strip() or f"REST connector tool {operation.name}",
|
|
103
105
|
"is_local": False,
|
|
104
|
-
"provider_type": None,
|
|
105
|
-
"scopes": [],
|
|
106
|
+
"provider_type": delegated.provider_type if delegated else None,
|
|
107
|
+
"scopes": list(delegated.scopes) if delegated else [],
|
|
106
108
|
"network": self.network,
|
|
107
109
|
"timeout_seconds": DEFAULT_EXECUTION_TIMEOUT_SECONDS,
|
|
108
110
|
"redact_fields": [],
|
|
@@ -162,8 +162,14 @@ class Credential(_Model):
|
|
|
162
162
|
|
|
163
163
|
|
|
164
164
|
class Auth(_Model):
|
|
165
|
-
type: Literal["none", "bearer", "api_key", "basic", "api_keys"] = Field(
|
|
166
|
-
default="none", description="Static auth presentation"
|
|
165
|
+
type: Literal["none", "bearer", "api_key", "basic", "api_keys", "oauth"] = Field(
|
|
166
|
+
default="none", description="Static auth presentation or request-local delegated OAuth"
|
|
167
|
+
)
|
|
168
|
+
provider_type: str | None = Field(
|
|
169
|
+
default=None, description="Project-scoped Broker provider key"
|
|
170
|
+
)
|
|
171
|
+
scopes: list[str] = Field(
|
|
172
|
+
default_factory=list, description="Connector-wide delegated permissions"
|
|
167
173
|
)
|
|
168
174
|
env: str | None = Field(default=None, description="Tenant secret environment reference")
|
|
169
175
|
header: str | None = Field(default=None, description="API key header name")
|
|
@@ -189,12 +195,23 @@ class Auth(_Model):
|
|
|
189
195
|
"api_key": {"type", "env", "header", "location", "name", "prefix", "headers"},
|
|
190
196
|
"basic": {"type", "username_env", "password_env", "headers"},
|
|
191
197
|
"api_keys": {"type", "credentials", "headers"},
|
|
198
|
+
"oauth": {"type", "provider_type", "scopes", "headers"},
|
|
192
199
|
}[self.type]
|
|
193
200
|
if configured - allowed:
|
|
194
201
|
raise ValueError(f"{self.type} auth contains fields for another auth type")
|
|
195
202
|
|
|
196
203
|
credential_headers: set[str] = set()
|
|
197
|
-
if self.type == "
|
|
204
|
+
if self.type == "oauth":
|
|
205
|
+
if not self.provider_type or any(
|
|
206
|
+
ord(character) <= 32 or ord(character) >= 127 for character in self.provider_type
|
|
207
|
+
):
|
|
208
|
+
raise ValueError("OAuth auth requires an explicit provider key without whitespace")
|
|
209
|
+
if len(set(self.scopes)) != len(self.scopes) or any(
|
|
210
|
+
re.fullmatch(r"[!\x23-\x5B\x5D-\x7E]+", scope) is None for scope in self.scopes
|
|
211
|
+
):
|
|
212
|
+
raise ValueError("OAuth scopes must be unique OAuth scope tokens")
|
|
213
|
+
credential_headers.add("authorization")
|
|
214
|
+
elif self.type == "bearer":
|
|
198
215
|
if not _validate_secret_env(self.env):
|
|
199
216
|
raise ValueError("bearer auth requires one tenant secret env")
|
|
200
217
|
credential_headers.add("authorization")
|
|
@@ -235,7 +252,7 @@ class Auth(_Model):
|
|
|
235
252
|
|
|
236
253
|
def header_name(self) -> str | None:
|
|
237
254
|
"""Return the single generated auth header, when this auth shape has one."""
|
|
238
|
-
if self.type
|
|
255
|
+
if self.type in ("bearer", "oauth"):
|
|
239
256
|
return "Authorization"
|
|
240
257
|
if self.type == "api_key":
|
|
241
258
|
if (self.location or "header") == "header":
|
|
@@ -244,7 +261,7 @@ class Auth(_Model):
|
|
|
244
261
|
|
|
245
262
|
def header_names(self) -> set[str]:
|
|
246
263
|
"""List auth-controlled headers so model parameters cannot collide with them."""
|
|
247
|
-
if self.type in ("bearer", "basic"):
|
|
264
|
+
if self.type in ("bearer", "basic", "oauth"):
|
|
248
265
|
names = {"authorization"}
|
|
249
266
|
elif self.type == "api_key" and (header_name := self.header_name()):
|
|
250
267
|
names = {header_name.lower()}
|