agent-engine-runner-shared 0.11.9__tar.gz → 0.11.11__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/CHANGELOG.md +20 -0
  2. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/Dockerfile +1 -1
  3. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/Makefile +12 -2
  4. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/PKG-INFO +6 -5
  5. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/docs/api.md +130 -30
  6. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/pyproject.toml +9 -5
  7. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/__init__.py +2 -0
  8. agent_engine_runner_shared-0.11.11/src/agent_engine_runner_shared/caller_trace.py +138 -0
  9. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/connectors/README.md +14 -15
  10. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/connectors/__init__.py +1 -5
  11. agent_engine_runner_shared-0.11.11/src/agent_engine_runner_shared/connectors/bundle.py +93 -0
  12. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/connectors/create_tool.py +35 -3
  13. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/connectors/definitions.py +1 -1
  14. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/connectors/executor.py +13 -2
  15. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/connectors/generate/README.md +1 -1
  16. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/connectors/generate/authoring.py +4 -1
  17. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/connectors/generate/modes.py +25 -8
  18. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/connectors/materialize.py +3 -12
  19. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/custom_events.py +12 -2
  20. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/error_reporting.py +1 -1
  21. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/launcher.py +103 -3
  22. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/mcp_oauth.py +66 -45
  23. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/mcp_oauth_cli.py +52 -33
  24. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/mcp_oauth_secret.py +27 -1
  25. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/mcp_tools.py +198 -78
  26. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/models.py +10 -0
  27. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/node_logger.py +5 -3
  28. agent_engine_runner_shared-0.11.11/src/agent_engine_runner_shared/owner_callback.py +139 -0
  29. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/progress.py +16 -85
  30. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/runtime.py +42 -2
  31. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/secure_wrapper.py +516 -125
  32. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/server/aer.py +33 -23
  33. agent_engine_runner_shared-0.11.11/src/agent_engine_runner_shared/server/atlas_dns.py +88 -0
  34. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/server/base.py +54 -3
  35. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/server/http_retry.py +29 -2
  36. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/server/tool.py +194 -35
  37. agent_engine_runner_shared-0.11.11/src/agent_engine_runner_shared/startup_state.py +19 -0
  38. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/structured_logging.py +33 -1
  39. agent_engine_runner_shared-0.11.11/src/agent_engine_runner_shared/tls_client.py +579 -0
  40. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/tool_api_error.py +44 -5
  41. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/utils.py +7 -0
  42. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/workflow/__init__.py +8 -0
  43. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/workflow/activity.py +76 -6
  44. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/workflow/client.py +68 -24
  45. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/workflow/context.py +198 -11
  46. agent_engine_runner_shared-0.11.11/tests/conftest.py +33 -0
  47. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/corpus/README.md +5 -3
  48. agent_engine_runner_shared-0.11.11/tests/corpus/fetch_corpus.py +78 -0
  49. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/corpus/manifest.json +102 -100
  50. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/corpus/test_api_corpus.py +2 -1
  51. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/pact/test_oe_provider_verification.py +9 -1
  52. agent_engine_runner_shared-0.11.11/tests/unit/connectors/test_bundle.py +99 -0
  53. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/connectors/test_core.py +155 -0
  54. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/connectors/test_create_tool.py +174 -0
  55. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/connectors/test_materialize.py +4 -58
  56. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_aer_a2a_registration.py +2 -1
  57. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_aer_cancelled_turn.py +3 -0
  58. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_aer_capability_advertise.py +2 -1
  59. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_aer_chunk_delivery_reliability.py +1 -0
  60. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_aer_durable_attempt.py +72 -1
  61. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_aer_llm_invocation_signal.py +3 -1
  62. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_aer_metadata_payload.py +1 -0
  63. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_aer_policy_denied.py +3 -1
  64. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_aer_session_finish.py +1 -0
  65. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_aer_timeout_signal.py +3 -1
  66. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_aer_trace_context.py +1 -0
  67. agent_engine_runner_shared-0.11.11/tests/unit/test_atlas_dns.py +129 -0
  68. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_drain.py +2 -1
  69. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_durable_guardrail_review.py +1 -2
  70. agent_engine_runner_shared-0.11.11/tests/unit/test_durable_oauth.py +300 -0
  71. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_durable_proxies.py +5 -1
  72. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_emit_custom_event.py +79 -23
  73. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_emit_progress.py +102 -40
  74. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_function_mode.py +12 -6
  75. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_graph_warm.py +1 -0
  76. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_hitl_interrupt.py +57 -4
  77. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_http_retry.py +100 -5
  78. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_launcher.py +30 -3
  79. agent_engine_runner_shared-0.11.11/tests/unit/test_launcher_reports.py +390 -0
  80. agent_engine_runner_shared-0.11.11/tests/unit/test_mcp_era_compat.py +352 -0
  81. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_mcp_oauth.py +89 -36
  82. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_mcp_oauth_cli.py +93 -38
  83. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_mcp_tools.py +184 -171
  84. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_node_logger.py +28 -53
  85. agent_engine_runner_shared-0.11.11/tests/unit/test_owner_callback.py +234 -0
  86. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_query_routes.py +1 -1
  87. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_runtime_models.py +72 -0
  88. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_secure_wrapper.py +384 -94
  89. agent_engine_runner_shared-0.11.11/tests/unit/test_server_startup_failures.py +194 -0
  90. agent_engine_runner_shared-0.11.11/tests/unit/test_shared_client.py +510 -0
  91. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_structured_logging.py +172 -0
  92. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_tls_client.py +15 -0
  93. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_tls_client_integration.py +5 -3
  94. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_tool.py +140 -19
  95. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_tool_api_error.py +56 -5
  96. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_tool_server_startup.py +50 -106
  97. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_tool_trace_context.py +250 -0
  98. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/workflow/test_activity.py +108 -0
  99. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/workflow/test_client.py +115 -2
  100. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/workflow/test_context.py +147 -0
  101. agent_engine_runner_shared-0.11.9/src/agent_engine_runner_shared/connectors/bundle.py +0 -194
  102. agent_engine_runner_shared-0.11.9/src/agent_engine_runner_shared/owner_callback.py +0 -60
  103. agent_engine_runner_shared-0.11.9/src/agent_engine_runner_shared/tls_client.py +0 -314
  104. agent_engine_runner_shared-0.11.9/tests/conftest.py +0 -18
  105. agent_engine_runner_shared-0.11.9/tests/corpus/fetch_corpus.py +0 -52
  106. agent_engine_runner_shared-0.11.9/tests/unit/connectors/test_bundle.py +0 -174
  107. agent_engine_runner_shared-0.11.9/tests/unit/test_owner_callback.py +0 -109
  108. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/LICENSE +0 -0
  109. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/README.md +0 -0
  110. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/pydoc-markdown.yml +0 -0
  111. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/pyrightconfig.json +0 -0
  112. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/scripts/agentic-vendored-wheel-check.sh +0 -0
  113. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/__main__.py +0 -0
  114. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/a2a.py +0 -0
  115. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/a2a_auth.py +0 -0
  116. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/agent_config.py +0 -0
  117. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/async_utils.py +0 -0
  118. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/checkpoint_workspace.py +0 -0
  119. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/connectors/generate/__init__.py +0 -0
  120. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/connectors/generate/catalog.py +0 -0
  121. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/connectors/generate/naming.py +0 -0
  122. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/connectors/generate/parameters.py +0 -0
  123. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/connectors/generate/security.py +0 -0
  124. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/connectors/generate/spec.py +0 -0
  125. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/connectors/runtime.py +0 -0
  126. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/context.py +0 -0
  127. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/db_config.py +0 -0
  128. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/db_naming.py +0 -0
  129. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/execution.py +0 -0
  130. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/generated/__init__.py +0 -0
  131. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/generated/workflow/__init__.py +0 -0
  132. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/generated/workflow/v1/__init__.py +0 -0
  133. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/generated/workflow/v1/activity_pb2.py +0 -0
  134. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/generated/workflow/v1/activity_pb2.pyi +0 -0
  135. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/generated/workflow/v1/common_pb2.py +0 -0
  136. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/generated/workflow/v1/common_pb2.pyi +0 -0
  137. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/generated/workflow/v1/runtime_pb2.py +0 -0
  138. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/generated/workflow/v1/runtime_pb2.pyi +0 -0
  139. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/generated/workflow/v1/state_pb2.py +0 -0
  140. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/generated/workflow/v1/state_pb2.pyi +0 -0
  141. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/guardrails_evaluator/__init__.py +0 -0
  142. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/guardrails_evaluator/core.py +0 -0
  143. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/guardrails_evaluator/regex.py +0 -0
  144. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/hooks.py +0 -0
  145. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/http_path.py +0 -0
  146. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/mcp_oauth_cache_lock.py +0 -0
  147. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/mcp_oauth_cache_name.py +0 -0
  148. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/memory.py +0 -0
  149. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/memory_appbound.py +0 -0
  150. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/metrics.py +0 -0
  151. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/py.typed +0 -0
  152. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/secure_llm_proxy.py +0 -0
  153. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/server/__init__.py +0 -0
  154. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/server/auth.py +0 -0
  155. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/server/call_interrupt.py +0 -0
  156. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/server/callback_delivery.py +0 -0
  157. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/server/chunk_types.py +0 -0
  158. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/server/cors.py +0 -0
  159. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/server/drain.py +0 -0
  160. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/server/function.py +0 -0
  161. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/server/graph_warm.py +0 -0
  162. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/server/metadata.py +0 -0
  163. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/server/oe_url.py +0 -0
  164. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/server/owner_url.py +0 -0
  165. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/server/query.py +0 -0
  166. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/span_kinds.py +0 -0
  167. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/span_names.py +0 -0
  168. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/tool_memory_ownership.py +0 -0
  169. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/toolpod_handlers.py +0 -0
  170. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/tracing/__init__.py +0 -0
  171. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/tracing/exporters.py +0 -0
  172. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/tracing/setup.py +0 -0
  173. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/types.py +0 -0
  174. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/workflow/attempt.py +0 -0
  175. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/workflow/cancelled_history.py +0 -0
  176. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/workflow/heartbeat.py +0 -0
  177. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/workflow/memory.py +0 -0
  178. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/workflow/protojson.py +0 -0
  179. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/src/agent_engine_runner_shared/workflow/settlement.py +0 -0
  180. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/__init__.py +0 -0
  181. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/corpus/.gitignore +0 -0
  182. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/corpus/__init__.py +0 -0
  183. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/integration/__init__.py +0 -0
  184. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/integration/mock_embedder.py +0 -0
  185. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/integration/test_a2a_trace_propagation.py +0 -0
  186. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/integration/test_runtime.py +0 -0
  187. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/integration/test_secure_async.py +0 -0
  188. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/integration/test_secure_sync.py +0 -0
  189. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/integration/test_tracing_otlp_wire_format.py +0 -0
  190. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/pact/conftest.py +0 -0
  191. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/__init__.py +0 -0
  192. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/connectors/__init__.py +0 -0
  193. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/connectors/fixtures/jira.tool_defs.yaml +0 -0
  194. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/connectors/test_generate.py +0 -0
  195. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_a2a.py +0 -0
  196. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_a2a_auth.py +0 -0
  197. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_aer_build_agent_span.py +0 -0
  198. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_aer_chunk_emission.py +0 -0
  199. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_aer_workspace_scope.py +0 -0
  200. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_agent_config.py +0 -0
  201. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_async_utils.py +0 -0
  202. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_call_interrupt.py +0 -0
  203. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_call_interrupt_contract.py +0 -0
  204. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_checkpoint_workspace.py +0 -0
  205. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_cors.py +0 -0
  206. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_create_memory_client_headers.py +0 -0
  207. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_custom_headers_context.py +0 -0
  208. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_custom_headers_models.py +0 -0
  209. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_db_naming.py +0 -0
  210. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_debug_hook.py +0 -0
  211. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_drain_contract.py +0 -0
  212. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_error_reporting.py +0 -0
  213. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_execution.py +0 -0
  214. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_extract_turn_messages.py +0 -0
  215. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_format_llm_error.py +0 -0
  216. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_guardrails_protocol.py +0 -0
  217. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_hooks.py +0 -0
  218. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_http_path.py +0 -0
  219. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_listen_host.py +0 -0
  220. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_llm_credential_classification.py +0 -0
  221. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_llm_routing.py +0 -0
  222. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_mcp_oauth_secret.py +0 -0
  223. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_memory_appbound.py +0 -0
  224. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_memory_search_metadata.py +0 -0
  225. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_memory_writer_context.py +0 -0
  226. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_metadata.py +0 -0
  227. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_metrics.py +0 -0
  228. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_models.py +0 -0
  229. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_no_lc_imports.py +0 -0
  230. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_oe_url.py +0 -0
  231. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_owner_url.py +0 -0
  232. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_payload_context.py +0 -0
  233. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_request_id_context.py +0 -0
  234. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_resume_payload.py +0 -0
  235. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_runtime_build_context_from_sources.py +0 -0
  236. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_runtime_checkpoint_workspace.py +0 -0
  237. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_runtime_custom_memory.py +0 -0
  238. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_runtime_memory_context.py +0 -0
  239. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_runtime_register_tool.py +0 -0
  240. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_secure_llm_proxy.py +0 -0
  241. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_server_auth.py +0 -0
  242. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_server_health.py +0 -0
  243. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_server_shutdown.py +0 -0
  244. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_session_filesystem_isolation.py +0 -0
  245. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_session_finish_context.py +0 -0
  246. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_thinking_tokens.py +0 -0
  247. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_token_capture.py +0 -0
  248. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_tool_authorization.py +0 -0
  249. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_tool_cancellation_boundary.py +0 -0
  250. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_tool_deserialization.py +0 -0
  251. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_tool_log_redaction.py +0 -0
  252. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_tool_memory_ownership.py +0 -0
  253. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_toolpod_handlers.py +0 -0
  254. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_tracing_exporter.py +0 -0
  255. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/test_tracing_retry.py +0 -0
  256. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/workflow/test_attempt.py +0 -0
  257. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/workflow/test_cancelled_history.py +0 -0
  258. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/workflow/test_heartbeat.py +0 -0
  259. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/workflow/test_memory.py +0 -0
  260. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/workflow/test_protojson.py +0 -0
  261. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/workflow/test_protojson_helpers.py +0 -0
  262. {agent_engine_runner_shared-0.11.9 → agent_engine_runner_shared-0.11.11}/tests/unit/workflow/test_settlement.py +0 -0
@@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Removed
11
+ - Removed the unused pre-materialized connector bundle override
12
+ (`AGENTIC_CONNECTOR_BUNDLE_PATH`) and the `load_connector_bundle` /
13
+ `CONNECTOR_BUNDLE_PATH_ENV` exports. Connectors resolve only from
14
+ `agent.yaml` and its local connector authoring files.
15
+
16
+ ### Changed
17
+ - Remote MCP servers now use MCP Python SDK 2.x (`mcp==2.3.0`). Each call
18
+ negotiates the protocol automatically: it probes `server/discover` and falls
19
+ back to the legacy `initialize` handshake, so servers on `2025-11-25` and
20
+ older keep working while `2026-07-28` servers are reached directly. Tool
21
+ result content keeps its wire field names (`mimeType`, `readOnlyHint`) and
22
+ failed HTTP calls keep reporting their status in error messages. OAuth caches
23
+ written by the previous SDK still load; new entries record the authorization
24
+ server's `issuer` when it provides one.
25
+ - Reuse a process-wide keep-alive mTLS client for OE callbacks (tool
26
+ execute/result, node events, progress and custom events) and drain callback
27
+ response bodies so connections return to the pool; removes a full TLS
28
+ handshake per callback.
29
+
10
30
  ### Fixed
11
31
  - Uncaught exceptions in agent code now emit one filterable `level=ERROR`
12
32
  record instead of only `WARNING`. Ordinary stderr writes with no
@@ -5,7 +5,7 @@
5
5
  # Usage: docker buildx build -t runner:latest -f packages/python/packages/agent-engine-runner-shared/Dockerfile .
6
6
 
7
7
  ARG BASE_TARGETPLATFORM=linux/amd64
8
- ARG RUNNER_BASE_IMAGE=664315256653.dkr.ecr.us-east-1.amazonaws.com/base/amazonlinux2023-python:v3.11-202512082043-f9f77a3
8
+ ARG RUNNER_BASE_IMAGE=664315256653.dkr.ecr.us-east-1.amazonaws.com/base/amazonlinux2023-python:v3.11-202610191636-2ff39c3@sha256:30ecac067fceafe43a5f0f5e80d1725b60708204dcd2fe3f176363417e2a2402
9
9
 
10
10
  FROM --platform=${BASE_TARGETPLATFORM} ghcr.io/astral-sh/uv@sha256:ff07b86af50d4d9391d9daf4ff89ce427bc544f9aae87057e69a1cc0aa369946 AS uv
11
11
 
@@ -13,6 +13,16 @@ PYDOC_MARKDOWN := uv tool run --from 'pydoc-markdown>=4.8' pydoc-markdown
13
13
  # pydoc-markdown emits trailing spaces on blank lines and an extra trailing
14
14
  # blank line; strip both so docs-check only fails on content changes.
15
15
  NORMALIZE_DOCS := perl -0pe 's/[^\S\n]+$$//mg; s/\n+\z/\n/'
16
+ # ruff formats the Python inside Markdown fences, so the generated reference has
17
+ # to go through it too. Without this stage the pre-commit ruff-format hook
18
+ # rewrites api.md and docs-check then fails on the unformatted generator output.
19
+ # Ruff runs from the uv workspace root so it resolves from the workspace lock,
20
+ # the same version the hook and CI pin.
21
+ # $(CURDIR) rather than $(abspath ...): abspath splits its argument on
22
+ # whitespace, so a checkout whose path contains a space would break. Both paths
23
+ # are quoted at the point of use for the same reason.
24
+ PYTHON_WORKSPACE := $(CURDIR)/../..
25
+ FORMAT_DOCS := uv run --directory "$(PYTHON_WORKSPACE)" ruff format --stdin-filename "$(CURDIR)/docs/api.md" -
16
26
 
17
27
  # Output path for the generated reference. Defaults to the committed file;
18
28
  # override (e.g. DOCS_OUT=/tmp/api.md) to generate elsewhere without clobbering
@@ -21,11 +31,11 @@ DOCS_OUT ?= docs/api.md
21
31
 
22
32
  # Regenerate API reference from docstrings.
23
33
  docs:
24
- $(PYDOC_MARKDOWN) pydoc-markdown.yml | $(NORMALIZE_DOCS) > $(DOCS_OUT)
34
+ $(PYDOC_MARKDOWN) pydoc-markdown.yml | $(NORMALIZE_DOCS) | $(FORMAT_DOCS) > $(DOCS_OUT)
25
35
 
26
36
  # CI: fail if docs/api.md is stale.
27
37
  docs-check:
28
- @$(PYDOC_MARKDOWN) pydoc-markdown.yml | $(NORMALIZE_DOCS) > /tmp/api-docs-check.md
38
+ @$(PYDOC_MARKDOWN) pydoc-markdown.yml | $(NORMALIZE_DOCS) | $(FORMAT_DOCS) > /tmp/api-docs-check.md
29
39
  @diff -u docs/api.md /tmp/api-docs-check.md || { \
30
40
  echo ""; \
31
41
  echo "ERROR: docs/api.md is stale. Run 'make docs' to regenerate."; \
@@ -1,18 +1,19 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: agent-engine-runner-shared
3
- Version: 0.11.9
3
+ Version: 0.11.11
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
9
- Requires-Dist: agent-engine-sdk==0.11.9
8
+ Requires-Dist: agent-engine-sdk-memory==0.11.11
9
+ Requires-Dist: agent-engine-sdk==0.11.11
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
13
+ Requires-Dist: httpx2>=2.5.0
13
14
  Requires-Dist: httpx>=0.27.0
14
15
  Requires-Dist: jsonschema>=4.26.0
15
- Requires-Dist: mcp==1.27.0
16
+ Requires-Dist: mcp==2.3.0
16
17
  Requires-Dist: msgpack>=1.0.0
17
18
  Requires-Dist: protobuf<7,>=6.33.6
18
19
  Requires-Dist: pydantic>=2.0.0
@@ -21,7 +22,7 @@ Requires-Dist: pyyaml>=6.0
21
22
  Requires-Dist: regex>=2026.4.4
22
23
  Requires-Dist: sentry-sdk>=2.27.0
23
24
  Requires-Dist: starlette>=1.7.0
24
- Requires-Dist: uvicorn>=0.32.0
25
+ Requires-Dist: uvicorn>=0.50.0
25
26
  Provides-Extra: debug
26
27
  Requires-Dist: debugpy>=1.8.0; extra == 'debug'
27
28
  Provides-Extra: dev
@@ -6,6 +6,8 @@
6
6
  * [agent\_config](#agent_engine_runner_shared.runtime.TenantRuntime.agent_config)
7
7
  * [memory\_enabled](#agent_engine_runner_shared.runtime.TenantRuntime.memory_enabled)
8
8
  * [get\_agent](#agent_engine_runner_shared.runtime.TenantRuntime.get_agent)
9
+ * [build\_graph](#agent_engine_runner_shared.runtime.TenantRuntime.build_graph)
10
+ * [uses\_per\_invocation\_build](#agent_engine_runner_shared.runtime.TenantRuntime.uses_per_invocation_build)
9
11
  * [warm\_up\_agent](#agent_engine_runner_shared.runtime.TenantRuntime.warm_up_agent)
10
12
  * [memory\_engine](#agent_engine_runner_shared.runtime.TenantRuntime.memory_engine)
11
13
  * [memory\_writer](#agent_engine_runner_shared.runtime.TenantRuntime.memory_writer)
@@ -174,10 +176,14 @@
174
176
  * [response\_from\_stream\_chunks](#agent_engine_runner_shared.secure_llm_proxy.SecureLLMProxy.response_from_stream_chunks)
175
177
  * [stream](#agent_engine_runner_shared.secure_llm_proxy.SecureLLMProxy.stream)
176
178
  * [agent\_engine\_runner\_shared.secure\_wrapper](#agent_engine_runner_shared.secure_wrapper)
179
+ * [\_OAuthAuthorizationRequired](#agent_engine_runner_shared.secure_wrapper._OAuthAuthorizationRequired)
180
+ * [\_\_init\_\_](#agent_engine_runner_shared.secure_wrapper._OAuthAuthorizationRequired.__init__)
181
+ * [oauth\_authorization\_wait\_id](#agent_engine_runner_shared.secure_wrapper.oauth_authorization_wait_id)
177
182
  * [extract\_usage](#agent_engine_runner_shared.secure_wrapper.extract_usage)
178
183
  * [PolicyDeniedException](#agent_engine_runner_shared.secure_wrapper.PolicyDeniedException)
179
184
  * [OERetryAfterError](#agent_engine_runner_shared.secure_wrapper.OERetryAfterError)
180
185
  * [ToolExecutionError](#agent_engine_runner_shared.secure_wrapper.ToolExecutionError)
186
+ * [ToolPlatformError](#agent_engine_runner_shared.secure_wrapper.ToolPlatformError)
181
187
  * [TerminalExecutionError](#agent_engine_runner_shared.secure_wrapper.TerminalExecutionError)
182
188
  * [raise\_for\_oe\_rejection](#agent_engine_runner_shared.secure_wrapper.raise_for_oe_rejection)
183
189
  * [ToolCallTimeoutError](#agent_engine_runner_shared.secure_wrapper.ToolCallTimeoutError)
@@ -343,7 +349,9 @@ Return the resolved agent.yaml Memory feature setting.
343
349
  #### get\_agent
344
350
 
345
351
  ```python
346
- def get_agent(callbacks: List[Any] | None = None) -> BaseAgent
352
+ def get_agent(callbacks: List[Any] | None = None,
353
+ *,
354
+ graph: Any = None) -> BaseAgent
347
355
  ```
348
356
 
349
357
  Get a BaseAgent instance from the registered App.
@@ -355,6 +363,9 @@ framework-specific graph building and callback adaptation.
355
363
 
356
364
  - `callbacks` - Framework-neutral callbacks for observability
357
365
  (e.g., NodeExecutionLogger)
366
+ - `graph` - A graph already built by ``build_graph`` for this
367
+ invocation (a per-execution agent). Only forwarded when
368
+ present, so an App that does not accept it keeps working.
358
369
 
359
370
 
360
371
  **Returns**:
@@ -366,6 +377,37 @@ framework-specific graph building and callback adaptation.
366
377
 
367
378
  - `RuntimeError` - If no App has been registered via register_and_run()
368
379
 
380
+ <a id="agent_engine_runner_shared.runtime.TenantRuntime.build_graph"></a>
381
+
382
+ #### build\_graph
383
+
384
+ ```python
385
+ async def build_graph(agent_input: Any = None, ctx: Any = None) -> Any
386
+ ```
387
+
388
+ Build the graph for this invocation before ``get_agent``.
389
+
390
+ The AER awaits this so a per-execution agent's builder -- which may do
391
+ its own async I/O -- runs off the build path. Returns ``None`` when the
392
+ registered App declares no per-execution build (every global agent),
393
+ which tells the caller to use the cached build path unchanged. A
394
+ context-free discovery call passes ``(None, None)``.
395
+
396
+ <a id="agent_engine_runner_shared.runtime.TenantRuntime.uses_per_invocation_build"></a>
397
+
398
+ #### uses\_per\_invocation\_build
399
+
400
+ ```python
401
+ def uses_per_invocation_build() -> bool
402
+ ```
403
+
404
+ Whether the registered App builds its graph per invocation.
405
+
406
+ True only for an App that opted into ``load_strategy="per-execution"``.
407
+ The Tool Pod reads this to decide whether a failed context-free
408
+ discovery build should keep the registrations the builder made before
409
+ it raised, rather than discarding them.
410
+
369
411
  <a id="agent_engine_runner_shared.runtime.TenantRuntime.warm_up_agent"></a>
370
412
 
371
413
  #### warm\_up\_agent
@@ -2733,6 +2775,36 @@ This module provides:
2733
2775
 
2734
2776
  HITL is handled via LangGraph's native interrupt() / Command(resume=...) API.
2735
2777
 
2778
+ <a id="agent_engine_runner_shared.secure_wrapper._OAuthAuthorizationRequired"></a>
2779
+
2780
+ ## \_OAuthAuthorizationRequired
2781
+
2782
+ ```python
2783
+ class _OAuthAuthorizationRequired(Exception)
2784
+ ```
2785
+
2786
+ Leave durable dispatch with typed consent control instead of interrupting its activity.
2787
+
2788
+ <a id="agent_engine_runner_shared.secure_wrapper._OAuthAuthorizationRequired.__init__"></a>
2789
+
2790
+ #### \_\_init\_\_
2791
+
2792
+ ```python
2793
+ def __init__(elicitation: ElicitationInfo, step: int) -> None
2794
+ ```
2795
+
2796
+ Carry the OE response to its activity boundary without exposing it in errors.
2797
+
2798
+ <a id="agent_engine_runner_shared.secure_wrapper.oauth_authorization_wait_id"></a>
2799
+
2800
+ #### oauth\_authorization\_wait\_id
2801
+
2802
+ ```python
2803
+ def oauth_authorization_wait_id(value: Any) -> str | None
2804
+ ```
2805
+
2806
+ Identify a consent wait only when this attempt recorded the platform's challenge.
2807
+
2736
2808
  <a id="agent_engine_runner_shared.secure_wrapper.extract_usage"></a>
2737
2809
 
2738
2810
  #### extract\_usage
@@ -2783,12 +2855,26 @@ class ToolExecutionError(Exception)
2783
2855
 
2784
2856
  Raised when tool execution fails.
2785
2857
 
2858
+ <a id="agent_engine_runner_shared.secure_wrapper.ToolPlatformError"></a>
2859
+
2860
+ ## ToolPlatformError
2861
+
2862
+ ```python
2863
+ class ToolPlatformError(ToolExecutionError)
2864
+ ```
2865
+
2866
+ Raised when the platform, not the tool, failed a tool call.
2867
+
2868
+ The tool may already have run, for example when OE rejects or never
2869
+ acknowledges its result, so an adapter must not report this to the model as
2870
+ a failed tool it could call again.
2871
+
2786
2872
  <a id="agent_engine_runner_shared.secure_wrapper.TerminalExecutionError"></a>
2787
2873
 
2788
2874
  ## TerminalExecutionError
2789
2875
 
2790
2876
  ```python
2791
- class TerminalExecutionError(ToolExecutionError)
2877
+ class TerminalExecutionError(ToolPlatformError)
2792
2878
  ```
2793
2879
 
2794
2880
  Raised when OE rejects a tool call because the execution already ended.
@@ -3077,24 +3163,30 @@ Clean up resources owned by this execution's wrapper.
3077
3163
  #### execute\_tool
3078
3164
 
3079
3165
  ```python
3080
- def execute_tool(tool_name: str,
3081
- arguments: Dict[str, Any],
3082
- *,
3083
- metadata: Optional[Dict[str, Any]] = None,
3084
- provider_type: Optional[str] = None,
3085
- scopes: Optional[list[str]] = None,
3086
- tool_call_id: Optional[str] = None,
3087
- raw_on_interrupt: bool = False,
3088
- redact_fields: Optional[list[str]] = None,
3089
- is_local: bool = True,
3090
- local_executor: Optional[Callable[[], Any]] = None,
3091
- is_framework_control_flow: Optional[Callable[[BaseException],
3092
- bool]] = None,
3093
- call_channel_expected: bool = False) -> Any
3166
+ def execute_tool(
3167
+ tool_name: str,
3168
+ arguments: Dict[str, Any],
3169
+ *,
3170
+ metadata: Optional[Dict[str, Any]] = None,
3171
+ provider_type: Optional[str] = None,
3172
+ scopes: Optional[list[str]] = None,
3173
+ tool_call_id: Optional[str] = None,
3174
+ raw_on_interrupt: bool = False,
3175
+ redact_fields: Optional[list[str]] = None,
3176
+ is_local: bool = True,
3177
+ local_executor: Optional[Callable[[], Any]] = None,
3178
+ is_framework_control_flow: Optional[Callable[[BaseException],
3179
+ bool]] = None,
3180
+ call_channel_expected: bool = False,
3181
+ on_unknown_outcome: Optional[UnknownOutcomePolicy] = None) -> Any
3094
3182
  ```
3095
3183
 
3096
3184
  Execute a tool call through OE.
3097
3185
 
3186
+ Durable OAuth records a typed challenge before a separate framework
3187
+ wait, then records the actual resource call after reauthorization.
3188
+ Its consent answer never becomes a tool result or Memory content.
3189
+
3098
3190
  **Arguments**:
3099
3191
 
3100
3192
  - `tool_name` - Name of the tool
@@ -3111,6 +3203,9 @@ Execute a tool call through OE.
3111
3203
  - `is_local` - Whether OE should return the approved call to this AER.
3112
3204
  - `local_executor` - Callback that invokes the registered tool on the
3113
3205
  current framework stack. Required for local tools.
3206
+ - `on_unknown_outcome` - What a retry does when the runner was lost while
3207
+ this tool was in flight in a durable workflow: ``"rerun"`` runs it
3208
+ again, ``"fail"`` refuses the retry.
3114
3209
 
3115
3210
 
3116
3211
  **Returns**:
@@ -3132,20 +3227,22 @@ Execute a tool call through OE.
3132
3227
 
3133
3228
  ```python
3134
3229
  def create_secure_tool_function(
3135
- original_tool: Any,
3136
- tool_name: str,
3137
- *,
3138
- allow_direct: bool = False,
3139
- metadata: Optional[Dict[str, Any]] = None,
3140
- is_local: bool = True,
3141
- provider_type: Optional[str] = None,
3142
- scopes: Optional[list[str]] = None,
3143
- response_format: Literal["content", "content_and_artifact"] = "content",
3144
- tool_declared_format: Optional[Literal["content",
3145
- "content_and_artifact"]] = None,
3146
- redact_fields: Optional[list[str]] = None,
3147
- is_framework_control_flow: Optional[Callable[[BaseException], bool]] = None
3148
- ) -> Callable
3230
+ original_tool: Any,
3231
+ tool_name: str,
3232
+ *,
3233
+ allow_direct: bool = False,
3234
+ metadata: Optional[Dict[str, Any]] = None,
3235
+ is_local: bool = True,
3236
+ provider_type: Optional[str] = None,
3237
+ scopes: Optional[list[str]] = None,
3238
+ response_format: Literal["content",
3239
+ "content_and_artifact"] = "content",
3240
+ tool_declared_format: Optional[Literal["content",
3241
+ "content_and_artifact"]] = None,
3242
+ redact_fields: Optional[list[str]] = None,
3243
+ is_framework_control_flow: Optional[Callable[[BaseException],
3244
+ bool]] = None,
3245
+ on_unknown_outcome: Optional[UnknownOutcomePolicy] = None) -> Callable
3149
3246
  ```
3150
3247
 
3151
3248
  Create a wrapped tool function that routes through SecureToolWrapper.
@@ -3165,6 +3262,9 @@ to be built before execution context exists.
3165
3262
  - `tool_declared_format` - The tool author's own original format, used only
3166
3263
  to decide whether a normal result gets shape-matched into a tuple.
3167
3264
  Defaults to ``response_format``.
3265
+ - `on_unknown_outcome` - What a retry does when the runner was lost while
3266
+ this tool was in flight in a durable workflow: ``"rerun"`` runs it
3267
+ again, ``"fail"`` refuses the retry.
3168
3268
 
3169
3269
 
3170
3270
  **Returns**:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "agent-engine-runner-shared"
3
- version = "0.11.9"
3
+ version = "0.11.11"
4
4
  description = "Runner SDK - Framework-agnostic agent runtime"
5
5
  readme = "README.md"
6
6
  license = {text = "Apache-2.0"}
@@ -12,20 +12,24 @@ dependencies = [
12
12
  # validation, which can disagree with scope["path"]. The
13
13
  # Host-validating _HOST_RE landed in starlette 1.4.1.
14
14
  "starlette>=1.7.0",
15
- "uvicorn>=0.32.0",
15
+ # The launcher relies on uvicorn's STARTUP_FAILURE (exit 3) contract for
16
+ # lifespan startup and bind failures, added in 0.50.0.
17
+ "uvicorn>=0.50.0",
16
18
  "pydantic>=2.0.0",
17
19
  "protobuf>=6.33.6,<7",
18
20
  "httpx>=0.27.0",
21
+ # MCP 2.x talks httpx2; the two clients install side by side.
22
+ "httpx2>=2.5.0",
19
23
  "httpx-sse>=0.4.0",
20
- "mcp==1.27.0",
24
+ "mcp==2.3.0",
21
25
  "python-dotenv>=1.0.0",
22
26
  "PyYAML>=6.0",
23
27
  "jsonschema>=4.26.0",
24
28
  "sentry-sdk>=2.27.0",
25
29
  # BaseAgent protocol and AgentInput/AgentEvent models
26
- "agent-engine-sdk==0.11.9",
30
+ "agent-engine-sdk==0.11.11",
27
31
  # Memory models and the MemoryClient HTTP client
28
- "agent-engine-sdk-memory==0.11.9",
32
+ "agent-engine-sdk-memory==0.11.11",
29
33
  # Required for checkpoint message decoding (query/sessions endpoints)
30
34
  "msgpack>=1.0.0",
31
35
  # Required by guardrails_evaluator/regex.py for advanced regex matching
@@ -96,6 +96,7 @@ from agent_engine_runner_shared.secure_wrapper import (
96
96
  TerminalExecutionError,
97
97
  ToolCallTimeoutError,
98
98
  ToolExecutionError,
99
+ ToolPlatformError,
99
100
  extract_usage,
100
101
  )
101
102
  from agent_engine_runner_shared.structured_logging import (
@@ -190,6 +191,7 @@ __all__ = [
190
191
  "TerminalExecutionError",
191
192
  "ToolCallTimeoutError",
192
193
  "ToolExecutionError",
194
+ "ToolPlatformError",
193
195
  "ExternalAPICallError",
194
196
  # Utilities
195
197
  "extract_usage",
@@ -0,0 +1,138 @@
1
+ """Distinguish an inbound caller trace from a root this runner created.
2
+
3
+ AER always starts ``aer.execute``. With no inbound traceparent that span is a
4
+ root, and ``tls_client`` injects it on the call to the OE. The OE forwards
5
+ that header, so the tool process sees a remote parent even though no caller
6
+ trace was bound. W3C traceparent cannot say who created the root, so the
7
+ outgoing tracestate carries ``agentengine=root`` for a runner-created trace.
8
+ Guardrail content is recorded only when that marker is absent.
9
+ """
10
+
11
+ from __future__ import annotations
12
+
13
+ from contextlib import contextmanager
14
+ from typing import Any, Iterator
15
+
16
+ # Simple W3C tracestate member. A value of "root" means a runner process
17
+ # created this trace; an inbound caller does not set it.
18
+ RUNNER_ROOT_TRACESTATE_KEY = "agentengine"
19
+ RUNNER_ROOT_TRACESTATE_VALUE = "root"
20
+
21
+ _RUNNER_ROOTED_KEY: Any = None
22
+
23
+
24
+ def _runner_rooted_key() -> Any:
25
+ global _RUNNER_ROOTED_KEY
26
+ if _RUNNER_ROOTED_KEY is None:
27
+ from opentelemetry import context
28
+
29
+ _RUNNER_ROOTED_KEY = context.create_key("agentengine.runner_rooted_trace")
30
+ return _RUNNER_ROOTED_KEY
31
+
32
+
33
+ def trace_state_marks_runner_root(trace_state: Any) -> bool:
34
+ """True when tracestate says a runner created this trace's root."""
35
+ if trace_state is None:
36
+ return False
37
+ try:
38
+ marked = RUNNER_ROOT_TRACESTATE_KEY in trace_state
39
+ except TypeError:
40
+ return False
41
+ if not marked:
42
+ return False
43
+ return trace_state[RUNNER_ROOT_TRACESTATE_KEY] == RUNNER_ROOT_TRACESTATE_VALUE
44
+
45
+
46
+ def merge_runner_root_trace_state(existing: str | None) -> str:
47
+ """Return tracestate with the runner-root member first, without duplicates."""
48
+ kept: list[str] = []
49
+ prefix = f"{RUNNER_ROOT_TRACESTATE_KEY}="
50
+ for part in (existing or "").split(","):
51
+ item = part.strip()
52
+ if not item or item.startswith(prefix):
53
+ continue
54
+ kept.append(item)
55
+ member = f"{RUNNER_ROOT_TRACESTATE_KEY}={RUNNER_ROOT_TRACESTATE_VALUE}"
56
+ return ",".join([member, *kept])
57
+
58
+
59
+ def parent_context_is_runner_rooted(parent_context: Any) -> bool:
60
+ """True when ``parent_context`` is not an inbound caller trace.
61
+
62
+ An invalid extract means this process is about to create the root. A
63
+ remote parent without the runner-root marker was already bound by a caller.
64
+ """
65
+ from opentelemetry import trace
66
+
67
+ span_context = trace.get_current_span(parent_context).get_span_context()
68
+ if span_context is None or not span_context.is_valid:
69
+ return True
70
+ if trace_state_marks_runner_root(getattr(span_context, "trace_state", None)):
71
+ return True
72
+ if getattr(span_context, "is_remote", False):
73
+ return False
74
+ return True
75
+
76
+
77
+ def bind_runner_rooted_trace(ctx: Any, rooted: bool) -> Any:
78
+ """Return ``ctx`` with the runner-rooted flag set for descendant spans."""
79
+ from opentelemetry import context
80
+
81
+ return context.set_value(_runner_rooted_key(), rooted, ctx)
82
+
83
+
84
+ def runner_rooted_trace_active() -> bool:
85
+ """True when the active span's trace was created by a runner, not a caller.
86
+
87
+ The flag set at span entry wins. Without it, a remote parent that carries
88
+ the marker — or any local root — is treated as runner-created so guardrail
89
+ content stays off unless a caller trace was already bound.
90
+ """
91
+ try:
92
+ from opentelemetry import context, trace
93
+ except ImportError:
94
+ return False
95
+
96
+ explicit = context.get_value(_runner_rooted_key())
97
+ if explicit is True:
98
+ return True
99
+ if explicit is False:
100
+ return False
101
+
102
+ span = trace.get_current_span()
103
+ span_context = span.get_span_context()
104
+ if trace_state_marks_runner_root(getattr(span_context, "trace_state", None)):
105
+ return True
106
+ parent = getattr(span, "parent", None)
107
+ if parent is not None and getattr(parent, "is_valid", False):
108
+ if trace_state_marks_runner_root(getattr(parent, "trace_state", None)):
109
+ return True
110
+ if getattr(parent, "is_remote", False):
111
+ return False
112
+ # Parent was created in this process and nobody bound a caller trace.
113
+ return True
114
+ if span_context is not None and span_context.is_valid:
115
+ if getattr(span_context, "is_remote", False):
116
+ return trace_state_marks_runner_root(getattr(span_context, "trace_state", None))
117
+ return True
118
+ return False
119
+
120
+
121
+ @contextmanager
122
+ def runner_trace_scope(parent_context: Any) -> Iterator[None]:
123
+ """Attach the runner-rooted flag for the span about to be started.
124
+
125
+ ``start_as_current_span`` copies the ambient context, so the flag has to
126
+ be attached before the span or nested ``tls_client`` calls will not see it.
127
+ """
128
+ try:
129
+ from opentelemetry import context as otel_context
130
+ except ImportError:
131
+ yield
132
+ return
133
+ rooted = parent_context_is_runner_rooted(parent_context)
134
+ token = otel_context.attach(bind_runner_rooted_trace(otel_context.get_current(), rooted))
135
+ try:
136
+ yield
137
+ finally:
138
+ otel_context.detach(token)
@@ -5,20 +5,17 @@ opt-in registration. It is not exposed through the CLI. Connector tools use the
5
5
  AER → OE → Tool Pod execution path.
6
6
 
7
7
  Runtime integration follows the platform's config → discover → register flow: each
8
- process derives its own view from the same manifest. Resolution order in
8
+ process derives its own view from the same manifest. Resolution in
9
9
  `resolve_runtime_bundle`:
10
10
 
11
- 1. A pre-materialized bundle published by the platform build, located via the
12
- platform-owned `AGENTIC_CONNECTOR_BUNDLE_PATH` environment variable (the
13
- deployment contract for hosted builds).
14
- 2. Otherwise, the `connectors` entries in `agent.yaml` are materialized in memory at
11
+ 1. The `connectors` entries in `agent.yaml` are materialized in memory at
15
12
  startup: each entry names a `tool.yaml` (resolved relative to `agent.yaml`) that
16
13
  selects operations from a local catalog file (resolved relative to the
17
14
  `tool.yaml`, contained within the agent workspace) and binds the endpoint and
18
15
  credential environment reference. Catalogs are local files only — HTTPS catalog
19
16
  references fail; there is no network fetch.
20
- 3. With neither configured, loading is an immediate no-op without filesystem or
21
- network access.
17
+ 2. With no connectors configured, loading is an immediate no-op without filesystem
18
+ or network access.
22
19
 
23
20
  ```yaml
24
21
  version: 1
@@ -61,9 +58,8 @@ Existing static auth modes continue to use their configured environment bindings
61
58
  Catalog regeneration preserves the authored OAuth binding and records only
62
59
  secret-free Bearer presentation in the catalog.
63
60
 
64
- The pre-materialized index paths are relative to the index and must remain inside its
65
- directory. AER loads the schemas as ordinary remote tools. Tool Pod startup loads the
66
- same materialized view and owns one `ConnectorExecutor` per connector.
61
+ AER loads the materialized schemas as ordinary remote tools. Tool Pod startup
62
+ materializes the same view and owns one `ConnectorExecutor` per connector.
67
63
 
68
64
  `load_tool_defs(path)` reads a local compiled YAML artifact into `ToolDefinitions`.
69
65
  `tool_schemas()` returns detached name, description and `inputSchema` dictionaries.
@@ -107,14 +103,17 @@ Only GET, HEAD and OPTIONS retry 429/503, at most three times; `Retry-After` is
107
103
  at 30 seconds. Each invocation carries a 30-second budget between requests, redirects,
108
104
  response chunks and retry waits. Every request
109
105
  uses its remaining budget for HTTPX's standard connect, read, write and pool timeouts;
110
- the read timeout bounds each blocking read, as defined by HTTPX.
106
+ the read timeout bounds each blocking read, as defined by HTTPX. Requests carry
107
+ `User-Agent: agent-engine-connector` unless the connector sets its own in
108
+ `auth.headers`, matched case-insensitively.
111
109
 
112
110
  HTTP failures, including rejected provider redirects, use `httpx.HTTPStatusError`,
113
111
  and transport failures use the existing
114
112
  timeout/connection exception types recognized by `classify_tool_api_error`. An HTTP
115
113
  error may retain a bounded provider error body (at most 4 KB) so the shared classifier
116
- can surface the provider's own explanation. The retained body is never logged; the
117
- classifier applies rudimentary hygiene to the extracted explanation — control
118
- characters dropped, URL-shaped text rejected, exact credential values redacted, result
119
- bounded. This is best-effort, not a guarantee. Oversized bodies, redirect locations,
114
+ can surface the provider's own explanation: a recognized JSON error field, or a
115
+ plain-text body that is not HTML markup, up to its first link. The retained body is
116
+ never logged; the classifier applies rudimentary hygiene to the extracted explanation
117
+ — control characters dropped, URL-shaped text rejected, exact credential values
118
+ redacted, result bounded. This is best-effort, not a guarantee. Oversized bodies, redirect locations,
120
119
  and credential-bearing request objects are never retained.
@@ -1,12 +1,10 @@
1
- """Compiled OpenAPI connector core, bundle loading, and authoring materialization."""
1
+ """Compiled OpenAPI connector core and authoring materialization."""
2
2
 
3
3
  from agent_engine_runner_shared.connectors.bundle import (
4
- CONNECTOR_BUNDLE_PATH_ENV,
5
4
  BundledConnector,
6
5
  BundledTool,
7
6
  ConnectorBundle,
8
7
  ConnectorBundleError,
9
- load_connector_bundle,
10
8
  )
11
9
  from agent_engine_runner_shared.connectors.definitions import (
12
10
  Auth,
@@ -33,7 +31,6 @@ from agent_engine_runner_shared.connectors.runtime import (
33
31
  )
34
32
 
35
33
  __all__ = [
36
- "CONNECTOR_BUNDLE_PATH_ENV",
37
34
  "BundledConnector",
38
35
  "BundledTool",
39
36
  "CompileResult",
@@ -48,7 +45,6 @@ __all__ = [
48
45
  "Auth",
49
46
  "ToolDefinitions",
50
47
  "compile_catalog",
51
- "load_connector_bundle",
52
48
  "load_tool_defs",
53
49
  "materialize_connectors",
54
50
  "regenerate_catalog",