steerable-agent-runtime 0.6.26__tar.gz → 0.6.28__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 (158) hide show
  1. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/PKG-INFO +1 -1
  2. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/pyproject.toml +1 -1
  3. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/loop.py +7 -0
  4. steerable_agent_runtime-0.6.28/src/steerable_agent_runtime/native_bridge.py +821 -0
  5. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime.egg-info/PKG-INFO +1 -1
  6. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime.egg-info/SOURCES.txt +2 -0
  7. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_loop.py +55 -0
  8. steerable_agent_runtime-0.6.28/tests/test_pyo3_api_surface.py +99 -0
  9. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/README.md +0 -0
  10. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/setup.cfg +0 -0
  11. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/__init__.py +0 -0
  12. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/antihallucination.py +0 -0
  13. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/approval.py +0 -0
  14. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/approval_policy.py +0 -0
  15. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/ask_user.py +0 -0
  16. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/branch.py +0 -0
  17. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/cache_control.py +0 -0
  18. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/calibration.py +0 -0
  19. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/compaction.py +0 -0
  20. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/compaction_policy.py +0 -0
  21. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/config.py +0 -0
  22. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/default.harness.json +0 -0
  23. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/default.harness.yaml +0 -0
  24. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/errors.py +0 -0
  25. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/gateway_catalog.py +0 -0
  26. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/handoff.py +0 -0
  27. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/harness.py +0 -0
  28. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/harness_spec.py +0 -0
  29. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/history.py +0 -0
  30. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/hooks.py +0 -0
  31. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/llm/__init__.py +0 -0
  32. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/llm/anthropic_native.py +0 -0
  33. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/llm/compat.py +0 -0
  34. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/llm/errors.py +0 -0
  35. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/llm/google_genai.py +0 -0
  36. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/llm/openai_compat.py +0 -0
  37. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/llm/openai_responses.py +0 -0
  38. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/llm/parts.py +0 -0
  39. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/llm/presets.py +0 -0
  40. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/llm/system_proxy.py +0 -0
  41. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/maintenance.py +0 -0
  42. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/mcp.py +0 -0
  43. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/mcp_server.py +0 -0
  44. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/model_catalog.py +0 -0
  45. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/model_info.py +0 -0
  46. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/model_resolve.py +0 -0
  47. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/observation_aging.py +0 -0
  48. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/orchestration.py +0 -0
  49. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/otel.py +0 -0
  50. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/plugins.py +0 -0
  51. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/pool.py +0 -0
  52. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/pricing.py +0 -0
  53. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/pseudo.py +0 -0
  54. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/recording.py +0 -0
  55. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/reminders.py +0 -0
  56. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/replay.py +0 -0
  57. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/resume.py +0 -0
  58. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/retry.py +0 -0
  59. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/sandboxed.py +0 -0
  60. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/skills.py +0 -0
  61. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/spill.py +0 -0
  62. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/storage/__init__.py +0 -0
  63. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/storage/in_memory.py +0 -0
  64. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/storage/sqlalchemy_store.py +0 -0
  65. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/storage/sqlite_store.py +0 -0
  66. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/storage/write_lease.py +0 -0
  67. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/subagent.py +0 -0
  68. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/todo.py +0 -0
  69. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/tokens.py +0 -0
  70. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/tool_schema.py +0 -0
  71. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/tool_search.py +0 -0
  72. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/tools.py +0 -0
  73. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/tracing.py +0 -0
  74. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/transport/__init__.py +0 -0
  75. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/transport/fastapi_sse.py +0 -0
  76. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/transport/stdio_jsonrpc.py +0 -0
  77. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime/world_state.py +0 -0
  78. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime.egg-info/dependency_links.txt +0 -0
  79. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime.egg-info/requires.txt +0 -0
  80. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/src/steerable_agent_runtime.egg-info/top_level.txt +0 -0
  81. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_antihallucination.py +0 -0
  82. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_approval.py +0 -0
  83. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_approval_policy.py +0 -0
  84. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_ask_user.py +0 -0
  85. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_branch.py +0 -0
  86. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_cache_control.py +0 -0
  87. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_cache_instrumentation.py +0 -0
  88. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_calibration.py +0 -0
  89. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_compaction.py +0 -0
  90. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_compaction_policy.py +0 -0
  91. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_compaction_strategy.py +0 -0
  92. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_config.py +0 -0
  93. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_content_parts.py +0 -0
  94. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_error_taxonomy.py +0 -0
  95. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_fragment_bounds.py +0 -0
  96. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_gateway_catalog.py +0 -0
  97. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_golden.py +0 -0
  98. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_handoff.py +0 -0
  99. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_harness.py +0 -0
  100. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_harness_spec.py +0 -0
  101. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_history.py +0 -0
  102. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_history_persistence.py +0 -0
  103. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_hooks.py +0 -0
  104. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_in_memory_storage.py +0 -0
  105. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_llm_gemini_wire.py +0 -0
  106. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_llm_responses_wire.py +0 -0
  107. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_llm_stream_e2e.py +0 -0
  108. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_llm_wire_helpers.py +0 -0
  109. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_long_session.py +0 -0
  110. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_loop_cancellation.py +0 -0
  111. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_loop_replay.py +0 -0
  112. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_loop_sandbox_event.py +0 -0
  113. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_loop_terminal.py +0 -0
  114. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_maintenance.py +0 -0
  115. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_mcp.py +0 -0
  116. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_mcp_server.py +0 -0
  117. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_model_catalog.py +0 -0
  118. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_model_equivalence.py +0 -0
  119. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_model_info.py +0 -0
  120. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_model_resolve.py +0 -0
  121. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_observation_aging.py +0 -0
  122. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_orchestration.py +0 -0
  123. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_otel.py +0 -0
  124. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_parallel_tools.py +0 -0
  125. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_plugins.py +0 -0
  126. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_provider_compat.py +0 -0
  127. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_provider_presets.py +0 -0
  128. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_pseudo.py +0 -0
  129. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_recording.py +0 -0
  130. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_reminders.py +0 -0
  131. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_replay_crosslang.py +0 -0
  132. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_resume.py +0 -0
  133. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_retry_hooks.py +0 -0
  134. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_safety_gate.py +0 -0
  135. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_sandboxed.py +0 -0
  136. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_skills.py +0 -0
  137. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_soft_timeout.py +0 -0
  138. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_spill.py +0 -0
  139. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_sqlite_storage.py +0 -0
  140. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_steer.py +0 -0
  141. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_storage_contract.py +0 -0
  142. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_stream_strip.py +0 -0
  143. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_subagent.py +0 -0
  144. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_system_proxy.py +0 -0
  145. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_todo.py +0 -0
  146. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_todo_gate.py +0 -0
  147. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_tokens.py +0 -0
  148. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_tool_exposure.py +0 -0
  149. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_tool_hygiene.py +0 -0
  150. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_tool_router.py +0 -0
  151. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_tool_schema.py +0 -0
  152. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_tool_timeout.py +0 -0
  153. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_trace_recorder.py +0 -0
  154. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_transport_jsonrpc.py +0 -0
  155. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_transport_sse.py +0 -0
  156. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_usage_attribution.py +0 -0
  157. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_world_state.py +0 -0
  158. {steerable_agent_runtime-0.6.26 → steerable_agent_runtime-0.6.28}/tests/test_write_lease.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: steerable-agent-runtime
3
- Version: 0.6.26
3
+ Version: 0.6.28
4
4
  Summary: Steerable agent runtime: LLM, tool, storage, and transport adapters.
5
5
  Requires-Python: >=3.10
6
6
  Description-Content-Type: text/markdown
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "steerable-agent-runtime"
3
- version = "0.6.26"
3
+ version = "0.6.28"
4
4
  description = "Steerable agent runtime: LLM, tool, storage, and transport adapters."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -49,6 +49,7 @@ from __future__ import annotations
49
49
 
50
50
  import asyncio
51
51
  import logging
52
+ import os
52
53
  import time
53
54
  from collections.abc import AsyncIterator, Sequence
54
55
  from dataclasses import dataclass, field
@@ -847,6 +848,12 @@ class CoreLoop:
847
848
  tools: list[dict[str, Any]] | None = None,
848
849
  chat_id: str | None = None,
849
850
  ) -> AsyncIterator[LoopEvent]:
851
+ if os.environ.get("STEERABLE_RUST_CORELOOP") == "1":
852
+ from .native_bridge import run_native
853
+
854
+ async for event in run_native(self, messages, tools=tools, chat_id=chat_id):
855
+ yield event
856
+ return
850
857
  ctx = LoopContext(chat_id=chat_id)
851
858
  self._run_context = ctx
852
859
  # The transcript is a projection of the append-only record; nothing