AbstractRuntime 0.4.32__tar.gz → 0.4.33__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 (590) hide show
  1. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/CHANGELOG.md +31 -1
  2. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/PKG-INFO +8 -7
  3. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/README.md +4 -3
  4. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/api.md +1 -1
  5. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/architecture.md +1 -1
  6. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/getting-started.md +1 -1
  7. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/integrations/abstractcore.md +54 -1
  8. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/troubleshooting.md +1 -1
  9. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/llms-full.txt +93 -9
  10. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/llms.txt +2 -2
  11. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/pyproject.toml +4 -4
  12. abstractruntime-0.4.33/release-notes.md +25 -0
  13. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/config_facade.py +434 -0
  14. abstractruntime-0.4.33/tests/test_config_facade_models_engines.py +502 -0
  15. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_packaging_extras.py +3 -3
  16. abstractruntime-0.4.32/release-notes.md +0 -140
  17. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/.github/workflows/ci.yml +0 -0
  18. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/.github/workflows/release.yml +0 -0
  19. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/.gitignore +0 -0
  20. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/ACKNOWLEDGMENTS.md +0 -0
  21. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/CODE_OF_CONDUCT.md +0 -0
  22. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/CONTRIBUTING.md +0 -0
  23. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/LICENSE +0 -0
  24. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/ROADMAP.md +0 -0
  25. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/SECURITY.md +0 -0
  26. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/README.md +0 -0
  27. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/adr/0001_layered_coupling_with_abstractcore.md +0 -0
  28. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/adr/0002_execution_modes_local_remote_hybrid.md +0 -0
  29. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/adr/0003_provenance_tamper_evident_hash_chain.md +0 -0
  30. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/adr/0004_runtime_owns_run_scoped_media_execution_truth.md +0 -0
  31. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/adr/0005_runtime_owns_abstractcore_host_discovery_queries.md +0 -0
  32. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/adr/0006_runtime_owns_durable_abstractcore_bloc_prompt_cache.md +0 -0
  33. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/adr/0007_runtime_relays_core_owned_model_residency_truth.md +0 -0
  34. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/adr/README.md +0 -0
  35. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/artifacts.md +0 -0
  36. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/README.md +0 -0
  37. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/001_runtime_kernel.md +0 -0
  38. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/002_persistence_and_ledger.md +0 -0
  39. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/0030_runtime_host_facades_for_comms_telegram_and_tool_specs.md +0 -0
  40. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/0032_runtime_durable_outbound_comms_truth.md +0 -0
  41. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/0033_runtime_host_local_prompt_cache_export_import_surface.md +0 -0
  42. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/0035_model_residency_provider_truth_for_local_http_clients.md +0 -0
  43. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/0037_visualflow_generate_music_node_compiler_parity.md +0 -0
  44. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/0039_runtime_music_structure_prompt_bool_contract.md +0 -0
  45. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/003_wait_primitives.md +0 -0
  46. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/0040_task_agnostic_local_residency_listing.md +0 -0
  47. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/0041_runtime_hardware_extras_avoid_nonpermissive_document_stacks.md +0 -0
  48. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/0042_core_vision_upscale_and_parameter_surface.md +0 -0
  49. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/0043_runtime_vision_adapter_and_batch_surface.md +0 -0
  50. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/004_scheduler_driver.md +0 -0
  51. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/005_abstractcore_integration.md +0 -0
  52. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/006_snapshots_bookmarks.md +0 -0
  53. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/007_provenance_hash_chain.md +0 -0
  54. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/009_artifact_store.md +0 -0
  55. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/010_examples_and_composition.md +0 -0
  56. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/011_subworkflow_support.md +0 -0
  57. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/012_run_store_query_and_scheduler_support.md +0 -0
  58. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/013_effect_retries_and_idempotency.md +0 -0
  59. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/016_runtime_aware_parameters.md +0 -0
  60. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/019_runtime_host_facade_for_core_operator_surfaces.md +0 -0
  61. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/020_runtime_gateway_install_boundary.md +0 -0
  62. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/021_runtime_gateway_env_namespace_cleanup.md +0 -0
  63. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/022_model_residency_control_plane.md +0 -0
  64. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/023_truthful_local_media_residency_boundaries.md +0 -0
  65. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/024_runtime_owned_run_scoped_media_execution.md +0 -0
  66. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/026_runtime_host_discovery_facade_for_core_catalogs.md +0 -0
  67. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/027_runtime_durable_bloc_prompt_cache_facade.md +0 -0
  68. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/028_runtime_bloc_kv_lifecycle_and_pruning.md +0 -0
  69. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/029_runtime_music_generation_and_discovery_via_abstractcore.md +0 -0
  70. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/completed/0846_mlx_instance_scheduling_and_execution_controls.md +0 -0
  71. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/deprecated/001_integrations_abstractcore.md +0 -0
  72. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/deprecated/001_runtime_kernel.md +0 -0
  73. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/deprecated/002_persistence_and_ledger.md +0 -0
  74. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/deprecated/002_snapshots_bookmarks.md +0 -0
  75. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/deprecated/0034_agent_runtime_convenience_constructor.md +0 -0
  76. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/deprecated/003_provenance_ledger_chain.md +0 -0
  77. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/deprecated/003_wait_resume_and_scheduler.md +0 -0
  78. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/deprecated/004_effect_handlers_and_integrations.md +0 -0
  79. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/deprecated/004_tests.md +0 -0
  80. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/deprecated/005_docs_updates.md +0 -0
  81. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/deprecated/005_examples_and_composition.md +0 -0
  82. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/deprecated/006_ai_fingerprint_and_provenance.md +0 -0
  83. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/deprecated/DEPRECATED_README.md +0 -0
  84. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/deprecated/README.md +0 -0
  85. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/deprecated/abstractruntime_docs_final_02a7373b.plan.md +0 -0
  86. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/0070_standalone_wui_browser_session_security_contract.md +0 -0
  87. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/008_signatures_and_keys.md +0 -0
  88. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/014_remote_tool_worker_executor.md +0 -0
  89. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/017_limit_warnings_and_observability.md +0 -0
  90. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/018_workspace_access_policy_for_media_and_tools.md +0 -0
  91. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/0233_real_run_cancellation.md +0 -0
  92. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/025_runtime_retention_and_purge_contract.md +0 -0
  93. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/026_context_checkpoint_self_compression.md +0 -0
  94. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/027_quote_provenance_discipline.md +0 -0
  95. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/028_selective_artifact_rehydration.md +0 -0
  96. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/0845_session_prompt_cache_resume_and_purge_contract.md +0 -0
  97. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_portability/0065_portable_process_and_lock_layer.md +0 -0
  98. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_portability/0066_portable_io_and_media_reader.md +0 -0
  99. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_portability/README.md +0 -0
  100. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_systemic_reliability/0044_meta_analysis_record.md +0 -0
  101. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_systemic_reliability/0045_crash_replay_harness_and_ordering_invariant.md +0 -0
  102. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_systemic_reliability/0046_per_run_driver_exclusion.md +0 -0
  103. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_systemic_reliability/0047_indexed_idempotency_lookup.md +0 -0
  104. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_systemic_reliability/0048_durable_io_unification.md +0 -0
  105. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_systemic_reliability/0049_llm_client_mechanical_split.md +0 -0
  106. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_systemic_reliability/0050_control_sidecar_all_writers.md +0 -0
  107. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_systemic_reliability/0051_runtime_owned_durable_event_mailbox.md +0 -0
  108. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_systemic_reliability/0052_sync_store_event_loop_tripwire.md +0 -0
  109. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_systemic_reliability/0053_bounded_run_vars_growth.md +0 -0
  110. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_systemic_reliability/0054_runtime_health_counters.md +0 -0
  111. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_systemic_reliability/0055_jsonl_store_honesty.md +0 -0
  112. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_systemic_reliability/0064_prompt_cache_fingerprint_stability.md +0 -0
  113. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_systemic_reliability/0067_durable_write_discipline.md +0 -0
  114. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_systemic_reliability/0068_hot_path_store_reads.md +0 -0
  115. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/planned/runtime_systemic_reliability/README.md +0 -0
  116. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/proposed/0031_runtime_tool_spec_adapters_for_gateway_and_mcp.md +0 -0
  117. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/proposed/0036_local_media_residency_bridge_to_core_residency.md +0 -0
  118. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/proposed/0038_core_server_pool_residency_affinity.md +0 -0
  119. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/proposed/0069_document_renderer_professional_figures.md +0 -0
  120. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/proposed/runtime_systemic_reliability/0056_schema_version_and_quarantine_loading.md +0 -0
  121. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/proposed/runtime_systemic_reliability/0057_trust_boundary_stamp_registry.md +0 -0
  122. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/proposed/runtime_systemic_reliability/0058_terminal_run_archival_helper.md +0 -0
  123. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/proposed/runtime_systemic_reliability/0059_memory_span_handler_extraction.md +0 -0
  124. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/proposed/runtime_systemic_reliability/0060_visualflow_compiler_decomposition.md +0 -0
  125. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/proposed/runtime_systemic_reliability/0061_root_api_deprecation_machinery.md +0 -0
  126. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/proposed/runtime_systemic_reliability/0062_dependency_honesty_extras.md +0 -0
  127. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/proposed/runtime_systemic_reliability/0063_b3_envelope_lane_unification.md +0 -0
  128. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/backlog/proposed/runtime_systemic_reliability/README.md +0 -0
  129. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/entity-runtime.md +0 -0
  130. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/evidence.md +0 -0
  131. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/faq.md +0 -0
  132. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/limits.md +0 -0
  133. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/manual_testing.md +0 -0
  134. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/mcp-worker.md +0 -0
  135. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/proposal.md +0 -0
  136. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/provenance.md +0 -0
  137. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/snapshots.md +0 -0
  138. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/tool-approval.md +0 -0
  139. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/tools-comms.md +0 -0
  140. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/docs/workflow-bundles.md +0 -0
  141. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/emails.config.example.yaml +0 -0
  142. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/examples/01_hello_world.py +0 -0
  143. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/examples/02_ask_user.py +0 -0
  144. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/examples/03_wait_until.py +0 -0
  145. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/examples/04_multi_step.py +0 -0
  146. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/examples/05_persistence.py +0 -0
  147. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/examples/06_llm_integration.py +0 -0
  148. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/examples/07_react_agent.py +0 -0
  149. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/examples/README.md +0 -0
  150. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/mkdocs.yml +0 -0
  151. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/pytest.ini +0 -0
  152. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/scripts/backfill_diary_edges.py +0 -0
  153. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/__init__.py +0 -0
  154. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/core/__init__.py +0 -0
  155. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/core/config.py +0 -0
  156. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/core/effect_cancellation.py +0 -0
  157. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/core/event_keys.py +0 -0
  158. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/core/health.py +0 -0
  159. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/core/models.py +0 -0
  160. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/core/policy.py +0 -0
  161. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/core/progress_channel.py +0 -0
  162. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/core/run_lifecycle.py +0 -0
  163. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/core/runtime.py +0 -0
  164. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/core/spec.py +0 -0
  165. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/core/tool_scope.py +0 -0
  166. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/core/vars.py +0 -0
  167. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/documents/__init__.py +0 -0
  168. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/documents/charts.py +0 -0
  169. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/documents/docx.py +0 -0
  170. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/documents/pdf.py +0 -0
  171. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/evidence/__init__.py +0 -0
  172. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/evidence/recorder.py +0 -0
  173. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/history_bundle.py +0 -0
  174. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/__init__.py +0 -0
  175. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/act_only.py +0 -0
  176. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/chat.py +0 -0
  177. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/communities.py +0 -0
  178. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/diary.py +0 -0
  179. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/digest.py +0 -0
  180. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/entity_runtime.py +0 -0
  181. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/fingerprint.py +0 -0
  182. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/lease.py +0 -0
  183. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/life.py +0 -0
  184. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/memory_reader.py +0 -0
  185. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/night_voice.py +0 -0
  186. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/phase_graph.py +0 -0
  187. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/phase_spec.py +0 -0
  188. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/prelude.py +0 -0
  189. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/prompt_overlay.py +0 -0
  190. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/reflection.py +0 -0
  191. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/spec/entity_phases.vendored.json +0 -0
  192. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/substrate.py +0 -0
  193. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/tool_effects.py +0 -0
  194. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/tool_policy.py +0 -0
  195. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/tools.py +0 -0
  196. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/identity/visit_workflow.py +0 -0
  197. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/__init__.py +0 -0
  198. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/__init__.py +0 -0
  199. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/agora_tools.py +0 -0
  200. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/comms_facade.py +0 -0
  201. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/constants.py +0 -0
  202. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/data_registry_facade.py +0 -0
  203. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/default_tools.py +0 -0
  204. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/discovery_facade.py +0 -0
  205. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/discovery_queries.py +0 -0
  206. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/effect_handlers.py +0 -0
  207. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/embeddings_client.py +0 -0
  208. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/factory.py +0 -0
  209. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/host_facade.py +0 -0
  210. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/llm_client.py +0 -0
  211. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/local_helper_tools.py +0 -0
  212. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/logging.py +0 -0
  213. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/mcp_worker.py +0 -0
  214. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/media_subprocess.py +0 -0
  215. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/observability.py +0 -0
  216. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/output_specs.py +0 -0
  217. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/run_facade.py +0 -0
  218. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/session_attachments.py +0 -0
  219. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/summarizer.py +0 -0
  220. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/telegram_facade.py +0 -0
  221. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/tool_executor.py +0 -0
  222. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/tool_inventory_facade.py +0 -0
  223. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractcore/workspace_scoped_tools.py +0 -0
  224. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractmemory/__init__.py +0 -0
  225. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractmemory/brain_handlers.py +0 -0
  226. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractmemory/effect_handlers.py +0 -0
  227. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractmemory/identity_support.py +0 -0
  228. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/integrations/abstractmemory/seam_handlers.py +0 -0
  229. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/memory/__init__.py +0 -0
  230. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/memory/active_context.py +0 -0
  231. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/memory/active_memory.py +0 -0
  232. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/memory/compaction.py +0 -0
  233. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/memory/kg_packets.py +0 -0
  234. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/memory/memact_composer.py +0 -0
  235. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/memory/recall_levels.py +0 -0
  236. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/memory/token_budget.py +0 -0
  237. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/rendering/__init__.py +0 -0
  238. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/rendering/agent_trace_report.py +0 -0
  239. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/rendering/json_stringify.py +0 -0
  240. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/scheduler/__init__.py +0 -0
  241. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/scheduler/convenience.py +0 -0
  242. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/scheduler/multi_store.py +0 -0
  243. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/scheduler/registry.py +0 -0
  244. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/scheduler/scheduler.py +0 -0
  245. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/session_history.py +0 -0
  246. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/storage/__init__.py +0 -0
  247. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/storage/artifacts.py +0 -0
  248. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/storage/base.py +0 -0
  249. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/storage/commands.py +0 -0
  250. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/storage/in_memory.py +0 -0
  251. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/storage/json_files.py +0 -0
  252. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/storage/lease.py +0 -0
  253. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/storage/ledger_chain.py +0 -0
  254. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/storage/ledger_slim.py +0 -0
  255. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/storage/observable.py +0 -0
  256. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/storage/offloading.py +0 -0
  257. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/storage/serialize.py +0 -0
  258. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/storage/snapshots.py +0 -0
  259. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/storage/sqlite.py +0 -0
  260. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/storage/steer_sidecar.py +0 -0
  261. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/turn_grounding.py +0 -0
  262. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/utils/__init__.py +0 -0
  263. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/utils/atomic_files.py +0 -0
  264. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/utils/file_filters.py +0 -0
  265. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/utils/workspace_paths.py +0 -0
  266. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/__init__.py +0 -0
  267. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/adapters/__init__.py +0 -0
  268. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/adapters/agent_adapter.py +0 -0
  269. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/adapters/context_adapter.py +0 -0
  270. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/adapters/control_adapter.py +0 -0
  271. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/adapters/effect_adapter.py +0 -0
  272. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/adapters/event_adapter.py +0 -0
  273. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/adapters/function_adapter.py +0 -0
  274. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/adapters/memact_adapter.py +0 -0
  275. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/adapters/subflow_adapter.py +0 -0
  276. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/adapters/variable_adapter.py +0 -0
  277. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/compiler.py +0 -0
  278. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/flow.py +0 -0
  279. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/visual/__init__.py +0 -0
  280. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/visual/agent_ids.py +0 -0
  281. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/visual/builtins.py +0 -0
  282. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/visual/code_executor.py +0 -0
  283. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/visual/execution_metrics.py +0 -0
  284. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/visual/executor.py +0 -0
  285. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/visual/function_library.py +0 -0
  286. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/visual/models.py +0 -0
  287. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/visual/multi_entry_lowering.py +0 -0
  288. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/visualflow_compiler/visual/pin_expressions.py +0 -0
  289. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/workflow_bundle/__init__.py +0 -0
  290. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/workflow_bundle/models.py +0 -0
  291. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/workflow_bundle/packer.py +0 -0
  292. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/workflow_bundle/reader.py +0 -0
  293. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/src/abstractruntime/workflow_bundle/registry.py +0 -0
  294. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/README.md +0 -0
  295. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/conftest.py +0 -0
  296. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_abstractcore_comms_facade.py +0 -0
  297. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_abstractcore_discovery_facade.py +0 -0
  298. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_abstractcore_host_facade.py +0 -0
  299. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_abstractcore_run_facade.py +0 -0
  300. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_abstractcore_telegram_facade.py +0 -0
  301. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_active_context_policy.py +0 -0
  302. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_active_memory.py +0 -0
  303. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_agora_agent_alias_identity.py +0 -0
  304. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_agora_tools_http.py +0 -0
  305. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_analyze_media_addressing_and_walling.py +0 -0
  306. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_answer_user_effect.py +0 -0
  307. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_artifacts.py +0 -0
  308. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_browser_probe_target_walling.py +0 -0
  309. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_budget_law_no_unrequested_caps.py +0 -0
  310. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_capability_default_reasoning.py +0 -0
  311. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_chat_summarizer_integration.py +0 -0
  312. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_code_node_restricted_python.py +0 -0
  313. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_command_store.py +0 -0
  314. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_compaction_helpers.py +0 -0
  315. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_control_adapter_while.py +0 -0
  316. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_crash_ordering_inversions.py +0 -0
  317. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_data_registry_facade.py +0 -0
  318. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_default_tools_camera_gating.py +0 -0
  319. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_default_tools_comms_gating.py +0 -0
  320. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_default_tools_include_skim_files.py +0 -0
  321. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_default_tools_include_skim_folders.py +0 -0
  322. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_default_tools_include_skim_web.py +0 -0
  323. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_default_tools_search_files_executor.py +0 -0
  324. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_diary_capture.py +0 -0
  325. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_diary_write_rescue.py +0 -0
  326. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_directory_lease.py +0 -0
  327. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_disabled_toolsets_seam.py +0 -0
  328. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_discovery_survives_unbuildable_default.py +0 -0
  329. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_document_markdown_tables.py +0 -0
  330. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_document_renderers_hr_quote.py +0 -0
  331. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_durable_toolsets.py +0 -0
  332. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_durable_write_discipline.py +0 -0
  333. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_e2e_tool_calls_idempotency_lmstudio.py +0 -0
  334. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_effect_cancellation.py +0 -0
  335. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_effect_issuance_idempotency.py +0 -0
  336. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_effect_payload_stays_json_serializable.py +0 -0
  337. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_election_consequence_teaching.py +0 -0
  338. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_emergence_experiment.py +0 -0
  339. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_emit_event_uses_wait_index.py +0 -0
  340. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_emit_event_without_workflow_registry.py +0 -0
  341. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_endpoint_profile_route_context.py +0 -0
  342. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_entity_awake_memory_fixes.py +0 -0
  343. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_entity_brain_effects.py +0 -0
  344. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_entity_chat_driver.py +0 -0
  345. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_entity_chat_tools_reflection.py +0 -0
  346. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_entity_diary.py +0 -0
  347. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_entity_execute_tool.py +0 -0
  348. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_entity_fetch_url_tool.py +0 -0
  349. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_entity_life_loop.py +0 -0
  350. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_entity_memory_richness.py +0 -0
  351. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_entity_phase_graph_conformance.py +0 -0
  352. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_entity_recent_memories.py +0 -0
  353. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_entity_runtime.py +0 -0
  354. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_entity_search_memory.py +0 -0
  355. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_entity_sleep_bound_and_yield_attribution.py +0 -0
  356. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_entity_substrate_resolution.py +0 -0
  357. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_entity_visit_honesty.py +0 -0
  358. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_entity_workspace_cap.py +0 -0
  359. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_entity_workspace_tools.py +0 -0
  360. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_event_wait_index.py +0 -0
  361. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_every_path_bearing_tool_is_walled.py +0 -0
  362. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_evidence_recorder.py +0 -0
  363. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_evidence_recorder_post_policy_envelope.py +0 -0
  364. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_execute_command_output_offload.py +0 -0
  365. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_execution_capability_discovery.py +0 -0
  366. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_factory_default_retry_policy.py +0 -0
  367. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_factory_timeouts_default_to_abstractcore_config.py +0 -0
  368. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_format_repair_nudge.py +0 -0
  369. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_fresh_install_no_provider.py +0 -0
  370. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_gateway_facades_c4899.py +0 -0
  371. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_git_read_only_refiner.py +0 -0
  372. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_hot_path_store_reads.py +0 -0
  373. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_indexed_idempotency_lookup.py +0 -0
  374. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_integration_abstractcore.py +0 -0
  375. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_integrations_abstractcore.py +0 -0
  376. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_json_file_run_store_children_index.py +0 -0
  377. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_json_run_cache_bound.py +0 -0
  378. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_json_store_scan_memo.py +0 -0
  379. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_jsonl_ledger_recovery.py +0 -0
  380. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_kg_learn_and_recall_contract.py +0 -0
  381. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_ledger_chain.py +0 -0
  382. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_ledger_record_slimming.py +0 -0
  383. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_ledger_subscription.py +0 -0
  384. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_llm_call_media_artifact_refs.py +0 -0
  385. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_llm_call_media_artifact_refs_persist_across_restart.py +0 -0
  386. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_llm_call_media_uses_source_path_label.py +0 -0
  387. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_llm_call_payload_shape_refusal.py +0 -0
  388. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_llm_call_requires_prompt.py +0 -0
  389. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_llm_call_response_schema_normalization.py +0 -0
  390. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_llm_call_structured_output_fallback.py +0 -0
  391. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_llm_call_text_phase_progress.py +0 -0
  392. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_llm_call_truncation_retry_contract.py +0 -0
  393. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_llm_call_use_context_appends_turn.py +0 -0
  394. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_llm_call_verbatim_payload_capture.py +0 -0
  395. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_llm_client_grounding_tail.py +0 -0
  396. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_llm_client_media_artifacts.py +0 -0
  397. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_llm_client_system_context.py +0 -0
  398. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_llm_client_tool_call_parsing.py +0 -0
  399. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_llm_retry_classification.py +0 -0
  400. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_llm_streaming_on_token.py +0 -0
  401. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_local_helper_tool_exposure.py +0 -0
  402. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_local_residency_host_sweep.py +0 -0
  403. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_local_runtime_timeout_kwarg_policy.py +0 -0
  404. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_max_iterations_ceiling.py +0 -0
  405. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_mcp_remote_tool_executor.py +0 -0
  406. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_mcp_worker_logging.py +0 -0
  407. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_mcp_worker_security.py +0 -0
  408. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_mcp_worker_stdio.py +0 -0
  409. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_media_artifact_resolution.py +0 -0
  410. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_media_capability_default_routing.py +0 -0
  411. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_media_subprocess.py +0 -0
  412. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_memact_composer_from_kg_result.py +0 -0
  413. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_memory_appraise_handler.py +0 -0
  414. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_memory_communities.py +0 -0
  415. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_memory_kg_assert_attributes_defaults.py +0 -0
  416. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_memory_kg_packets.py +0 -0
  417. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_memory_kg_predicate_aliasing.py +0 -0
  418. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_memory_kg_query_packetization_restart.py +0 -0
  419. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_memory_kg_query_recall_level_policy.py +0 -0
  420. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_memory_kg_semantic_query_ranking.py +0 -0
  421. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_memory_note_effect.py +0 -0
  422. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_memory_query_effect.py +0 -0
  423. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_memory_query_rich_filters.py +0 -0
  424. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_memory_scope_and_rehydrate_effect.py +0 -0
  425. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_memory_seam_handlers.py +0 -0
  426. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_memory_seam_sqlite_durability.py +0 -0
  427. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_memory_tag_effect.py +0 -0
  428. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_mlx_generation_serialization.py +0 -0
  429. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_model_eject_cancel.py +0 -0
  430. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_model_residency_control_plane.py +0 -0
  431. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_model_residency_lock_and_context_estimate.py +0 -0
  432. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_multi_store_scheduler.py +0 -0
  433. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_multimodal_abstractcore_integration.py +0 -0
  434. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_native_mlx_application_wiring.py +0 -0
  435. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_native_mlx_execution_controls_live.py +0 -0
  436. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_native_tool_channel.py +0 -0
  437. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_night_voice.py +0 -0
  438. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_no_default_provider_refusal_ux.py +0 -0
  439. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_offload_answer_chain_c4978.py +0 -0
  440. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_offloaded_node_traces_report_unknown_not_zero.py +0 -0
  441. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_offloading.py +0 -0
  442. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_parallel_readonly_tool_execution.py +0 -0
  443. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_pause_resume.py +0 -0
  444. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_pdf_unicode_rendering.py +0 -0
  445. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_personal_cycle.py +0 -0
  446. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_phantom_attachment_index.py +0 -0
  447. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_phase_graph_artifact_control.py +0 -0
  448. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_phase_graph_obedience.py +0 -0
  449. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_phase_vocabulary_migration.py +0 -0
  450. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_pooled_client_strips_construction_cache_key.py +0 -0
  451. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_prompt_cache_export_import.py +0 -0
  452. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_prompt_cache_fingerprint_stability.py +0 -0
  453. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_prompt_cache_modules.py +0 -0
  454. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_prompt_cache_posture_inheritance.py +0 -0
  455. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_prompt_cache_thinking_and_prompt_only.py +0 -0
  456. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_prompt_overlay.py +0 -0
  457. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_provider_endpoint_profile_resolution.py +0 -0
  458. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_provider_pin_routing_isolation.py +0 -0
  459. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_queryable_run_store.py +0 -0
  460. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_read_file_fallback_to_session_attachments.py +0 -0
  461. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_read_idle_threading.py +0 -0
  462. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_readoption_experiment.py +0 -0
  463. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_real_integration.py +0 -0
  464. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_realize_election.py +0 -0
  465. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_recall_levels_policy.py +0 -0
  466. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_remote_client_cancel.py +0 -0
  467. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_remote_llm_client.py +0 -0
  468. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_remote_speculation_defaults.py +0 -0
  469. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_rendering_agent_trace_report.py +0 -0
  470. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_rendering_json_stringify.py +0 -0
  471. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_report_branding.py +0 -0
  472. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_retry_idempotency.py +0 -0
  473. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_run_history_bundle.py +0 -0
  474. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_run_scoped_tool_policy.py +0 -0
  475. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_run_tool_scope_ceiling.py +0 -0
  476. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_runtime_browser_session_boundary.py +0 -0
  477. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_runtime_config_max_output_tokens_fallback.py +0 -0
  478. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_runtime_default_provider_model_refresh.py +0 -0
  479. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_runtime_effect_invocation_trace.py +0 -0
  480. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_runtime_health_and_bounded_vars.py +0 -0
  481. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_runtime_install_boundary.py +0 -0
  482. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_runtime_llm_call_grounding_in_ledger.py +0 -0
  483. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_runtime_node_traces.py +0 -0
  484. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_runtime_start_seeds_tool_support.py +0 -0
  485. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_runtime_tick_step_gate.py +0 -0
  486. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_scheduler.py +0 -0
  487. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_send_email_refiner.py +0 -0
  488. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_session_attachments_registry_and_open_tool.py +0 -0
  489. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_session_history.py +0 -0
  490. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_session_prompt_cache_attribution.py +0 -0
  491. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_session_prompt_cache_visibility.py +0 -0
  492. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_session_route_stamp.py +0 -0
  493. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_shell_tool_exposure.py +0 -0
  494. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_snapshots.py +0 -0
  495. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_speculation_inheritance.py +0 -0
  496. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_speculation_reaches_provider_construction.py +0 -0
  497. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_sqlite_ledger_store.py +0 -0
  498. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_start_subworkflow_async_wait.py +0 -0
  499. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_start_subworkflow_inherit_context_merges_messages.py +0 -0
  500. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_start_subworkflow_workspace_inheritance.py +0 -0
  501. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_steer_sidecar.py +0 -0
  502. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_storage_deletion.py +0 -0
  503. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_structured_output_schema_enum.py +0 -0
  504. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_subworkflow.py +0 -0
  505. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_terminal_effect_completion.py +0 -0
  506. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_terminal_resume_appends_ledger_completion.py +0 -0
  507. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_thinking_inheritance.py +0 -0
  508. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_tick_completion_includes_output_in_ledger.py +0 -0
  509. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_tool_approval_executor.py +0 -0
  510. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_tool_approval_resume_executes.py +0 -0
  511. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_tool_approval_wait_key_identity.py +0 -0
  512. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_tool_calls_idempotency_keys.py +0 -0
  513. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_tool_catalog.py +0 -0
  514. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_tool_descriptor_registry.py +0 -0
  515. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_tool_executor_argument_sanitization.py +0 -0
  516. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_tool_executor_error_output_detection.py +0 -0
  517. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_tool_executor_filename_alias.py +0 -0
  518. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_tool_executor_kwarg_canonicalization.py +0 -0
  519. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_tool_executor_read_file_aliases.py +0 -0
  520. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_tool_executor_timeout.py +0 -0
  521. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_tool_inventory_facade.py +0 -0
  522. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_tool_invoke_effect.py +0 -0
  523. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_tool_policy_and_mounts.py +0 -0
  524. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_tool_wait_allowlist_safety.py +0 -0
  525. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_topic_election_world_model.py +0 -0
  526. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_trace_context_propagation.py +0 -0
  527. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_turn_grounding_byte_stability.py +0 -0
  528. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_turn_grounding_carriers_a3.py +0 -0
  529. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_vars_query_effect.py +0 -0
  530. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visit_ab_fixture.py +0 -0
  531. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visit_history_replay_caps.py +0 -0
  532. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visit_midturn_elections.py +0 -0
  533. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visit_midturn_resume.py +0 -0
  534. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visit_workflow.py +0 -0
  535. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visual_agent_output_context_includes_messages.py +0 -0
  536. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visual_agent_skills_block_passthrough.py +0 -0
  537. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visual_agent_tool_observations_persist_across_restart.py +0 -0
  538. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visual_agent_use_context_inherits_attachments.py +0 -0
  539. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visual_agent_use_context_persists_tool_observations.py +0 -0
  540. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visual_agent_use_context_persists_turn.py +0 -0
  541. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visual_entity_memory_nodes.py +0 -0
  542. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visual_flow_end_effect_only_persistence.py +0 -0
  543. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visual_llm_call_partial_override.py +0 -0
  544. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visual_llm_call_schema_ref_resolution.py +0 -0
  545. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visual_memact_compose_node.py +0 -0
  546. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visual_memory_kg_query_outputs_propagate.py +0 -0
  547. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visual_memory_kg_resolve_outputs_propagate.py +0 -0
  548. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visual_multi_entry_loop_overrides.py +0 -0
  549. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visual_unknown_node_type_refuses.py +0 -0
  550. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visual_wait_event_deadline_passthrough.py +0 -0
  551. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_add_message_builtin.py +0 -0
  552. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_add_message_node_appends_to_active_context.py +0 -0
  553. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_agora_react_agent.py +0 -0
  554. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_call_tool_node.py +0 -0
  555. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_capability_routes_and_thinking.py +0 -0
  556. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_compiler_basic.py +0 -0
  557. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_context_and_builder_nodes.py +0 -0
  558. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_continue_on_error.py +0 -0
  559. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_edit_json_schema_node.py +0 -0
  560. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_event_inbox_react_agent.py +0 -0
  561. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_file_nodes_workspace.py +0 -0
  562. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_function_library.py +0 -0
  563. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_get_element_node.py +0 -0
  564. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_get_random_element_node.py +0 -0
  565. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_get_var_node.py +0 -0
  566. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_has_tools_builtin.py +0 -0
  567. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_llm_call_context_attachments_map_to_media.py +0 -0
  568. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_llm_call_multimodal_output.py +0 -0
  569. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_make_object_node.py +0 -0
  570. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_media_nodes.py +0 -0
  571. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_memory_effect_nodes.py +0 -0
  572. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_memory_source_pins.py +0 -0
  573. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_pin_expressions.py +0 -0
  574. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_prompt_only.py +0 -0
  575. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_random_nodes.py +0 -0
  576. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_schema_enum_switch.py +0 -0
  577. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_string_contains_replace.py +0 -0
  578. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_visualflow_tool_parameters_node.py +0 -0
  579. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_w4_feelings_lens.py +0 -0
  580. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_wait_event_deadline.py +0 -0
  581. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_wait_event_prompt_metadata.py +0 -0
  582. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_wait_until_streak.py +0 -0
  583. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_wait_until_utc_normalization.py +0 -0
  584. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_workflow_bundle_registry.py +0 -0
  585. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_workspace_policy_absolute_reanchor.py +0 -0
  586. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_workspace_policy_allowlist_mode.py +0 -0
  587. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_workspace_policy_mount_virtual_paths.py +0 -0
  588. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_workspace_policy_tool_calls_persist_across_restart.py +0 -0
  589. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_workspace_prompt_context.py +0 -0
  590. {abstractruntime-0.4.32 → abstractruntime-0.4.33}/tests/test_write_chart.py +0 -0
@@ -7,6 +7,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.4.33] - 2026-09-23
11
+
12
+ ### Added
13
+ - **Models and engines for hosts.** `config_facade` passes AbstractCore's
14
+ models and engines features through to hosts, so the Gateway can offer the
15
+ same model browser and engine installer as `abstractcore models` and
16
+ `abstractcore engines` without importing AbstractCore:
17
+ `host_profile`, `engine_inventory`, `engine_status`,
18
+ `engine_install_plan`, `engine_download_url`, `engine_install`,
19
+ `model_catalog`, `list_installed_models`, `model_delete_blockers`,
20
+ `delete_model_artifact`, `start_model_download_job`, `host_jobs_list`,
21
+ `host_job`, `host_job_cancel` and `console_fragment`. Payloads are
22
+ AbstractCore's own (`host_profile_v1`, `engines_status_v1`,
23
+ `model_catalog_v1`, `models_installed_v1`, `host_job_v1`).
24
+ - `models_engines_support()` reports whether the installed AbstractCore has
25
+ these modules. It never raises.
26
+ - `AbstractCoreTooOld` (a `NotImplementedError`) is raised when the installed
27
+ AbstractCore predates these modules. The message names the installed
28
+ version and the upgrade command.
29
+ - `HostActionRefused` carries an HTTP status and a structured body for
30
+ refusals: engine installs not allowed, unknown engine, an install already
31
+ running, a delete blocked by a loaded or shared model. Hosts no longer need
32
+ AbstractCore's exception types to tell refusals apart.
33
+
34
+ ### Changed
35
+ - The AbstractCore floor is now 2.14.0 in the base install and in the `apple`
36
+ and `gpu` extras.
37
+
10
38
  ## [0.4.32] - 2026-09-23
11
39
 
12
40
  This release also contains everything listed under 0.4.31, which was never
@@ -827,7 +855,9 @@ AbstractRuntime is the durable execution substrate designed to pair with Abstrac
827
855
 
828
856
  Initial development version with basic proof-of-concept features.
829
857
 
830
- [Unreleased]: https://github.com/lpalbou/abstractruntime/compare/v0.4.31...HEAD
858
+ [Unreleased]: https://github.com/lpalbou/abstractruntime/compare/v0.4.33...HEAD
859
+ [0.4.33]: https://github.com/lpalbou/abstractruntime/compare/v0.4.32...v0.4.33
860
+ [0.4.32]: https://github.com/lpalbou/abstractruntime/compare/v0.4.29...v0.4.32
831
861
  [0.4.31]: https://github.com/lpalbou/abstractruntime/compare/v0.4.29...v0.4.31
832
862
  [0.4.29]: https://github.com/lpalbou/abstractruntime/compare/v0.4.28...v0.4.29
833
863
  [0.4.28]: https://github.com/lpalbou/abstractruntime/compare/v0.4.27...v0.4.28
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: AbstractRuntime
3
- Version: 0.4.32
3
+ Version: 0.4.33
4
4
  Summary: AbstractRuntime: a durable graph runner designed to pair with AbstractCore.
5
5
  Project-URL: AbstractCore (website), https://www.abstractcore.ai/
6
6
  Project-URL: AbstractRuntime (GitHub), https://github.com/lpalbou/abstractruntime
@@ -20,7 +20,7 @@ Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
21
  Classifier: Programming Language :: Python :: 3.13
22
22
  Requires-Python: >=3.10
23
- Requires-Dist: abstractcore[audio,music,remote,tools,vision,voice]>=2.13.41
23
+ Requires-Dist: abstractcore[audio,music,remote,tools,vision,voice]>=2.14.0
24
24
  Requires-Dist: abstractmemory>=0.3.0
25
25
  Requires-Dist: abstractsemantics>=0.0.5
26
26
  Requires-Dist: anyio<5.0.0,>=4.12.1
@@ -35,14 +35,14 @@ Requires-Dist: reportlab<5.0.0,>=4.0.0
35
35
  Requires-Dist: restrictedpython>=7.0
36
36
  Requires-Dist: unstructured[docx,odt,pptx,rtf,xlsx]<0.19.0,>=0.18.32
37
37
  Provides-Extra: apple
38
- Requires-Dist: abstractcore[all-apple]>=2.13.41; extra == 'apple'
38
+ Requires-Dist: abstractcore[all-apple]>=2.14.0; extra == 'apple'
39
39
  Requires-Dist: setuptools<82.0.0,>=80.10.2; extra == 'apple'
40
40
  Provides-Extra: docs
41
41
  Requires-Dist: mkdocs-material>=9.0.0; extra == 'docs'
42
42
  Requires-Dist: mkdocs>=1.6.0; extra == 'docs'
43
43
  Requires-Dist: pymdown-extensions>=10.0; extra == 'docs'
44
44
  Provides-Extra: gpu
45
- Requires-Dist: abstractcore[all-gpu]>=2.13.41; extra == 'gpu'
45
+ Requires-Dist: abstractcore[all-gpu]>=2.14.0; extra == 'gpu'
46
46
  Requires-Dist: setuptools<82.0.0,>=77.0.3; extra == 'gpu'
47
47
  Provides-Extra: test
48
48
  Requires-Dist: pytest>=7.0.0; extra == 'test'
@@ -54,7 +54,7 @@ Description-Content-Type: text/markdown
54
54
 
55
55
  It is designed for long-running workflows that must survive restarts and explicitly model blocking (human input, timers, external events, subworkflows) without keeping Python stacks alive.
56
56
 
57
- **Version:** 0.4.32 • **Python:** 3.10+
57
+ **Version:** 0.4.33 • **Python:** 3.10+
58
58
 
59
59
  **Status:** pre-1.0 (API may evolve). For production use, pin versions and follow `CHANGELOG.md`.
60
60
 
@@ -82,7 +82,7 @@ Remote-light runtime:
82
82
  pip install abstractruntime
83
83
  ```
84
84
 
85
- The base install includes AbstractCore 2.13.41 or newer with remote provider,
85
+ The base install includes AbstractCore 2.14.0 or newer with remote provider,
86
86
  tool, vision, voice, audio, and music integration, plus the
87
87
  `abstractruntime-mcp-worker` entry point. It keeps inference remote/light by
88
88
  default: local engines such as MLX, vLLM, HuggingFace/Torch, Diffusers, and
@@ -146,7 +146,7 @@ state = rt.resume(
146
146
  assert state.status.value == "completed"
147
147
  ```
148
148
 
149
- ## What’s included (v0.4.32)
149
+ ## What’s included (v0.4.33)
150
150
 
151
151
  Kernel (import-light):
152
152
  - workflow graphs: `WorkflowSpec` (`src/abstractruntime/core/spec.py`)
@@ -189,6 +189,7 @@ Drivers + distribution:
189
189
 
190
190
  Runtime-owned integrations:
191
191
  - AbstractCore (LLM + tools, `MODEL_RESIDENCY` with residency locks and context estimates, public discovery/host/run facades, cached sessions with per-session prompt-cache listing/clearing, host memory snapshots, local-only prompt-cache export/import admin, durable bloc prompt-cache controls, bindings, lifecycle operations, generated image/video/voice/music outputs with progress events, host email helpers, Telegram host wrappers, and tool approval waits): `docs/integrations/abstractcore.md`
192
+ - AbstractCore models and engines for hosts (AbstractCore 2.14.0+): `config_facade` passes through the host profile, local-engine status and installs, the model catalog with fit verdicts, installed models, deletes, host jobs and the embeddable console screens: `docs/integrations/abstractcore.md#models-engines-and-host-jobs-config-facade`
192
193
  - For outbound comms, use the durable run facade when the send belongs to a run: `get_abstractcore_run_facade(...).send_email(...)` / `send_telegram_message(...)`. If that child run pauses for approval or passthrough execution, resume it through `resume_tool_calls(...)`. Direct host-facade send helpers and the standalone email comms facade remain host-local and nondurable.
193
194
  - AbstractMemory TripleStore integration for `MEMORY_KG_*` effects. Runtime
194
195
  depends on the light AbstractMemory contract; hosts choose storage backends
@@ -4,7 +4,7 @@
4
4
 
5
5
  It is designed for long-running workflows that must survive restarts and explicitly model blocking (human input, timers, external events, subworkflows) without keeping Python stacks alive.
6
6
 
7
- **Version:** 0.4.32 • **Python:** 3.10+
7
+ **Version:** 0.4.33 • **Python:** 3.10+
8
8
 
9
9
  **Status:** pre-1.0 (API may evolve). For production use, pin versions and follow `CHANGELOG.md`.
10
10
 
@@ -32,7 +32,7 @@ Remote-light runtime:
32
32
  pip install abstractruntime
33
33
  ```
34
34
 
35
- The base install includes AbstractCore 2.13.41 or newer with remote provider,
35
+ The base install includes AbstractCore 2.14.0 or newer with remote provider,
36
36
  tool, vision, voice, audio, and music integration, plus the
37
37
  `abstractruntime-mcp-worker` entry point. It keeps inference remote/light by
38
38
  default: local engines such as MLX, vLLM, HuggingFace/Torch, Diffusers, and
@@ -96,7 +96,7 @@ state = rt.resume(
96
96
  assert state.status.value == "completed"
97
97
  ```
98
98
 
99
- ## What’s included (v0.4.32)
99
+ ## What’s included (v0.4.33)
100
100
 
101
101
  Kernel (import-light):
102
102
  - workflow graphs: `WorkflowSpec` (`src/abstractruntime/core/spec.py`)
@@ -139,6 +139,7 @@ Drivers + distribution:
139
139
 
140
140
  Runtime-owned integrations:
141
141
  - AbstractCore (LLM + tools, `MODEL_RESIDENCY` with residency locks and context estimates, public discovery/host/run facades, cached sessions with per-session prompt-cache listing/clearing, host memory snapshots, local-only prompt-cache export/import admin, durable bloc prompt-cache controls, bindings, lifecycle operations, generated image/video/voice/music outputs with progress events, host email helpers, Telegram host wrappers, and tool approval waits): `docs/integrations/abstractcore.md`
142
+ - AbstractCore models and engines for hosts (AbstractCore 2.14.0+): `config_facade` passes through the host profile, local-engine status and installs, the model catalog with fit verdicts, installed models, deletes, host jobs and the embeddable console screens: `docs/integrations/abstractcore.md#models-engines-and-host-jobs-config-facade`
142
143
  - For outbound comms, use the durable run facade when the send belongs to a run: `get_abstractcore_run_facade(...).send_email(...)` / `send_telegram_message(...)`. If that child run pauses for approval or passthrough execution, resume it through `resume_tool_calls(...)`. Direct host-facade send helpers and the standalone email comms facade remain host-local and nondurable.
143
144
  - AbstractMemory TripleStore integration for `MEMORY_KG_*` effects. Runtime
144
145
  depends on the light AbstractMemory contract; hosts choose storage backends
@@ -216,7 +216,7 @@ from Core route resolution and persisted from `LLM_CALL` results.
216
216
 
217
217
  ### AbstractCore (LLM + tools)
218
218
 
219
- Requires: `pip install abstractruntime` (AbstractCore 2.13.41 or newer is part of the base install).
219
+ Requires: `pip install abstractruntime` (AbstractCore 2.14.0 or newer is part of the base install).
220
220
 
221
221
  Implementation: `src/abstractruntime/integrations/abstractcore/*`.
222
222
 
@@ -1,7 +1,7 @@
1
1
  # AbstractRuntime — Architecture
2
2
 
3
3
  > Updated: 2026-08-27
4
- > Version: 0.4.32
4
+ > Version: 0.4.33
5
5
  > Scope: this describes **what is implemented in this repository**.
6
6
 
7
7
  AbstractRuntime is a **durable workflow runtime**: it executes workflow graphs as a persisted state machine with explicit waits (user, time, events, jobs, subworkflows). A run can pause for hours/days and resume **without** keeping Python stacks/coroutines alive.
@@ -12,7 +12,7 @@ Remote-light runtime:
12
12
  pip install abstractruntime
13
13
  ```
14
14
 
15
- This installs AbstractCore 2.13.41 or newer with remote provider, vision,
15
+ This installs AbstractCore 2.14.0 or newer with remote provider, vision,
16
16
  voice, audio, music, tool, and MCP-worker support. The base install is
17
17
  remote-light: it can route multimodal workflows to hosted or OpenAI-compatible
18
18
  endpoints, but it does not select local inferencer stacks such as MLX, vLLM,
@@ -16,7 +16,7 @@ Implementation pointers (this repo):
16
16
  pip install abstractruntime
17
17
  ```
18
18
 
19
- The base install includes AbstractCore 2.13.41 or newer. That is the supported baseline for the current server auth split (`Authorization` for server auth, `X-AbstractCore-Provider-API-Key` for provider overrides), generated-media contracts, image upscaling, capability catalog, prompt-cache control-plane endpoints (including session attribution via `/acore/prompt_cache/key_meta`), host memory snapshots, the host-wide loaded-model sweep used by residency listings, durable bloc prompt-cache helpers, bindings and lifecycle operations, task-aware model residency for text/image/video/TTS/STT, current tool catalog, AbstractCore's public output-selector contract, async/sync text-generation output-selector parity, video generation endpoints, the public local vision-cache catalog helper used by Runtime discovery, vision adapter discovery plus batch/LoRA media controls, and the released shared workspace/file-filter utility surface used by Runtime packaging and integration checks.
19
+ The base install includes AbstractCore 2.14.0 or newer. That is the supported baseline for the current server auth split (`Authorization` for server auth, `X-AbstractCore-Provider-API-Key` for provider overrides), generated-media contracts, image upscaling, capability catalog, prompt-cache control-plane endpoints (including session attribution via `/acore/prompt_cache/key_meta`), host memory snapshots, the host-wide loaded-model sweep used by residency listings, durable bloc prompt-cache helpers, bindings and lifecycle operations, task-aware model residency for text/image/video/TTS/STT, current tool catalog, AbstractCore's public output-selector contract, async/sync text-generation output-selector parity, video generation endpoints, the public local vision-cache catalog helper used by Runtime discovery, vision adapter discovery plus batch/LoRA media controls, and the released shared workspace/file-filter utility surface used by Runtime packaging and integration checks.
20
20
 
21
21
  The base install also includes the remote-light media/capability plugins needed
22
22
  for AbstractCore's multimodal `generate(..., output=...)` path. Local
@@ -667,6 +667,59 @@ caches = facade.list_session_prompt_caches(session_id="support-session-1")
667
667
  result = facade.clear_session_prompt_caches("support-session-1")
668
668
  ```
669
669
 
670
+ ## Models, engines and host jobs (config facade)
671
+
672
+ AbstractCore 2.14.0 implements the model browser, the local-engine installer and
673
+ a host job registry. `abstractruntime.integrations.abstractcore.config_facade`
674
+ passes them through unchanged, so a host such as AbstractGateway serves the same
675
+ payloads as `abstractcore models|engines … --json` and the `/acore/*` routes
676
+ without importing AbstractCore itself.
677
+
678
+ | Function | Returns |
679
+ |---|---|
680
+ | `host_profile(refresh=False)` | `host_profile_v1`: OS, accelerator, memory ceiling, free disk per model store |
681
+ | `engine_inventory(probe=False)` | `engines_status_v1`: Ollama, LM Studio, MLX, llama.cpp, vLLM, Hugging Face; installed, running, install plan |
682
+ | `engine_status(engine_id, probe=False)` | one engine row |
683
+ | `engine_install_plan(engine_id)` | the fixed install command (`argv`), method, download URL and notes for this host |
684
+ | `engine_download_url(engine_id)` | the vendor download page |
685
+ | `engine_install(engine_id, dry_run=False, force=False, allow=None)` | a `host_job_v1` job of kind `engine_install` |
686
+ | `model_catalog(q=None, engine=None, fits_only=False, hub=False)` | `model_catalog_v1`: downloadable models with presence and a fit verdict |
687
+ | `list_installed_models(provider=None)` | `models_installed_v1`: installed models per engine, with sizes |
688
+ | `model_delete_blockers(provider, artifact)` | what would stop a delete (reads only) |
689
+ | `delete_model_artifact(provider, artifact, dry_run=False, force=False)` | a `host_job_v1` job of kind `delete` |
690
+ | `start_model_download_job(provider, artifact, dry_run=False)` | a `host_job_v1` job of kind `download` (single-flight per artifact) |
691
+ | `host_jobs_list(kind=None, status=None)` | `{"schema": "host_jobs_v1", "jobs": [...]}`, newest first, including jobs started by other processes on the host |
692
+ | `host_job(job_id)` / `host_job_cancel(job_id)` | one job, or `None` when the id is unknown |
693
+ | `console_fragment(kind)` | AbstractCore's embeddable web screen (`models` or `engines`): `{"html", "js", "css"}` |
694
+ | `models_engines_support()` | `{"available", "abstractcore_version", "required", "missing"}`; never raises |
695
+
696
+ Job-starting calls run in the background and return the queued job; a dry run
697
+ (and `run_inline=True`) finishes on the calling thread and returns the finished
698
+ job.
699
+
700
+ Errors a host can map to HTTP statuses:
701
+
702
+ - `AbstractCoreTooOld` (a `NotImplementedError`): the installed AbstractCore
703
+ predates these modules. The message names the installed version and the
704
+ upgrade command. Map it to 501.
705
+ - `RuntimeError`: AbstractCore is not installed. Map it to 503.
706
+ - `HostActionRefused`: a refusal with `status_code` and `payload()`. Examples:
707
+ 403 `not_allowed` (engine installs disabled by the host's policy), 404
708
+ `not_found` / `unknown_engine`, 409 `busy` (an engine install is already
709
+ running), 409 `refused` with `delete_blockers` (the model is loaded or shares
710
+ a cache; pass `force=True` to override).
711
+
712
+ ```python
713
+ from abstractruntime.integrations.abstractcore import config_facade as core
714
+
715
+ core.engine_inventory(probe=True)["engines"][0]["install"]["argv"] # e.g. ["brew", "install", "ollama"]
716
+ job = core.engine_install("ollama", dry_run=True) # finished job, nothing runs
717
+ try:
718
+ core.delete_model_artifact("ollama", "qwen3:8b", dry_run=True)
719
+ except core.HostActionRefused as refused:
720
+ print(refused.status_code, refused.payload())
721
+ ```
722
+
670
723
  ## Model residency listings
671
724
 
672
725
  `list_model_residency(...)` relays Core-owned residency truth (ADR-0007) and, for text-generation listings, includes the whole host:
@@ -20,7 +20,7 @@ Fix:
20
20
  - Install or upgrade the base Runtime package. LLM/tools integration, common
21
21
  remote-light multimodal dependencies, and the MCP worker entry point are part
22
22
  of the base install.
23
- - The current AbstractCore integration expects `abstractcore>=2.13.41`.
23
+ - The current AbstractCore integration expects `abstractcore>=2.14.0`.
24
24
 
25
25
  Verify:
26
26
 
@@ -13,7 +13,7 @@ It is generated from `llms.txt` in first-link order, de-duplicated, with repo-ro
13
13
 
14
14
  It is designed for long-running workflows that must survive restarts and explicitly model blocking (human input, timers, external events, subworkflows) without keeping Python stacks alive.
15
15
 
16
- **Version:** 0.4.32 • **Python:** 3.10+
16
+ **Version:** 0.4.33 • **Python:** 3.10+
17
17
 
18
18
  **Status:** pre-1.0 (API may evolve). For production use, pin versions and follow `CHANGELOG.md`.
19
19
 
@@ -41,7 +41,7 @@ Remote-light runtime:
41
41
  pip install abstractruntime
42
42
  ```
43
43
 
44
- The base install includes AbstractCore 2.13.41 or newer with remote provider,
44
+ The base install includes AbstractCore 2.14.0 or newer with remote provider,
45
45
  tool, vision, voice, audio, and music integration, plus the
46
46
  `abstractruntime-mcp-worker` entry point. It keeps inference remote/light by
47
47
  default: local engines such as MLX, vLLM, HuggingFace/Torch, Diffusers, and
@@ -105,7 +105,7 @@ state = rt.resume(
105
105
  assert state.status.value == "completed"
106
106
  ```
107
107
 
108
- ## What’s included (v0.4.32)
108
+ ## What’s included (v0.4.33)
109
109
 
110
110
  Kernel (import-light):
111
111
  - workflow graphs: `WorkflowSpec` (`src/abstractruntime/core/spec.py`)
@@ -148,6 +148,7 @@ Drivers + distribution:
148
148
 
149
149
  Runtime-owned integrations:
150
150
  - AbstractCore (LLM + tools, `MODEL_RESIDENCY` with residency locks and context estimates, public discovery/host/run facades, cached sessions with per-session prompt-cache listing/clearing, host memory snapshots, local-only prompt-cache export/import admin, durable bloc prompt-cache controls, bindings, lifecycle operations, generated image/video/voice/music outputs with progress events, host email helpers, Telegram host wrappers, and tool approval waits): `docs/integrations/abstractcore.md`
151
+ - AbstractCore models and engines for hosts (AbstractCore 2.14.0+): `config_facade` passes through the host profile, local-engine status and installs, the model catalog with fit verdicts, installed models, deletes, host jobs and the embeddable console screens: `docs/integrations/abstractcore.md#models-engines-and-host-jobs-config-facade`
151
152
  - For outbound comms, use the durable run facade when the send belongs to a run: `get_abstractcore_run_facade(...).send_email(...)` / `send_telegram_message(...)`. If that child run pauses for approval or passthrough execution, resume it through `resume_tool_calls(...)`. Direct host-facade send helpers and the standalone email comms facade remain host-local and nondurable.
152
153
  - AbstractMemory TripleStore integration for `MEMORY_KG_*` effects. Runtime
153
154
  depends on the light AbstractMemory contract; hosts choose storage backends
@@ -234,7 +235,7 @@ Remote-light runtime:
234
235
  pip install abstractruntime
235
236
  ```
236
237
 
237
- This installs AbstractCore 2.13.41 or newer with remote provider, vision,
238
+ This installs AbstractCore 2.14.0 or newer with remote provider, vision,
238
239
  voice, audio, music, tool, and MCP-worker support. The base install is
239
240
  remote-light: it can route multimodal workflows to hosted or OpenAI-compatible
240
241
  endpoints, but it does not select local inferencer stacks such as MLX, vLLM,
@@ -593,7 +594,7 @@ from Core route resolution and persisted from `LLM_CALL` results.
593
594
 
594
595
  ### AbstractCore (LLM + tools)
595
596
 
596
- Requires: `pip install abstractruntime` (AbstractCore 2.13.41 or newer is part of the base install).
597
+ Requires: `pip install abstractruntime` (AbstractCore 2.14.0 or newer is part of the base install).
597
598
 
598
599
  Implementation: `src/abstractruntime/integrations/abstractcore/*`.
599
600
 
@@ -683,7 +684,7 @@ This provides handlers for `MEMORY_KG_*` effects (opt-in wiring layer).
683
684
  # AbstractRuntime — Architecture
684
685
 
685
686
  > Updated: 2026-08-27
686
- > Version: 0.4.32
687
+ > Version: 0.4.33
687
688
  > Scope: this describes **what is implemented in this repository**.
688
689
 
689
690
  AbstractRuntime is a **durable workflow runtime**: it executes workflow graphs as a persisted state machine with explicit waits (user, time, events, jobs, subworkflows). A run can pause for hours/days and resume **without** keeping Python stacks/coroutines alive.
@@ -1356,7 +1357,7 @@ Fix:
1356
1357
  - Install or upgrade the base Runtime package. LLM/tools integration, common
1357
1358
  remote-light multimodal dependencies, and the MCP worker entry point are part
1358
1359
  of the base install.
1359
- - The current AbstractCore integration expects `abstractcore>=2.13.41`.
1360
+ - The current AbstractCore integration expects `abstractcore>=2.14.0`.
1360
1361
 
1361
1362
  Verify:
1362
1363
 
@@ -1831,7 +1832,7 @@ Implementation pointers (this repo):
1831
1832
  pip install abstractruntime
1832
1833
  ```
1833
1834
 
1834
- The base install includes AbstractCore 2.13.41 or newer. That is the supported baseline for the current server auth split (`Authorization` for server auth, `X-AbstractCore-Provider-API-Key` for provider overrides), generated-media contracts, image upscaling, capability catalog, prompt-cache control-plane endpoints (including session attribution via `/acore/prompt_cache/key_meta`), host memory snapshots, the host-wide loaded-model sweep used by residency listings, durable bloc prompt-cache helpers, bindings and lifecycle operations, task-aware model residency for text/image/video/TTS/STT, current tool catalog, AbstractCore's public output-selector contract, async/sync text-generation output-selector parity, video generation endpoints, the public local vision-cache catalog helper used by Runtime discovery, vision adapter discovery plus batch/LoRA media controls, and the released shared workspace/file-filter utility surface used by Runtime packaging and integration checks.
1835
+ The base install includes AbstractCore 2.14.0 or newer. That is the supported baseline for the current server auth split (`Authorization` for server auth, `X-AbstractCore-Provider-API-Key` for provider overrides), generated-media contracts, image upscaling, capability catalog, prompt-cache control-plane endpoints (including session attribution via `/acore/prompt_cache/key_meta`), host memory snapshots, the host-wide loaded-model sweep used by residency listings, durable bloc prompt-cache helpers, bindings and lifecycle operations, task-aware model residency for text/image/video/TTS/STT, current tool catalog, AbstractCore's public output-selector contract, async/sync text-generation output-selector parity, video generation endpoints, the public local vision-cache catalog helper used by Runtime discovery, vision adapter discovery plus batch/LoRA media controls, and the released shared workspace/file-filter utility surface used by Runtime packaging and integration checks.
1835
1836
 
1836
1837
  The base install also includes the remote-light media/capability plugins needed
1837
1838
  for AbstractCore's multimodal `generate(..., output=...)` path. Local
@@ -2482,6 +2483,59 @@ caches = facade.list_session_prompt_caches(session_id="support-session-1")
2482
2483
  result = facade.clear_session_prompt_caches("support-session-1")
2483
2484
  ```
2484
2485
 
2486
+ ## Models, engines and host jobs (config facade)
2487
+
2488
+ AbstractCore 2.14.0 implements the model browser, the local-engine installer and
2489
+ a host job registry. `abstractruntime.integrations.abstractcore.config_facade`
2490
+ passes them through unchanged, so a host such as AbstractGateway serves the same
2491
+ payloads as `abstractcore models|engines … --json` and the `/acore/*` routes
2492
+ without importing AbstractCore itself.
2493
+
2494
+ | Function | Returns |
2495
+ |---|---|
2496
+ | `host_profile(refresh=False)` | `host_profile_v1`: OS, accelerator, memory ceiling, free disk per model store |
2497
+ | `engine_inventory(probe=False)` | `engines_status_v1`: Ollama, LM Studio, MLX, llama.cpp, vLLM, Hugging Face; installed, running, install plan |
2498
+ | `engine_status(engine_id, probe=False)` | one engine row |
2499
+ | `engine_install_plan(engine_id)` | the fixed install command (`argv`), method, download URL and notes for this host |
2500
+ | `engine_download_url(engine_id)` | the vendor download page |
2501
+ | `engine_install(engine_id, dry_run=False, force=False, allow=None)` | a `host_job_v1` job of kind `engine_install` |
2502
+ | `model_catalog(q=None, engine=None, fits_only=False, hub=False)` | `model_catalog_v1`: downloadable models with presence and a fit verdict |
2503
+ | `list_installed_models(provider=None)` | `models_installed_v1`: installed models per engine, with sizes |
2504
+ | `model_delete_blockers(provider, artifact)` | what would stop a delete (reads only) |
2505
+ | `delete_model_artifact(provider, artifact, dry_run=False, force=False)` | a `host_job_v1` job of kind `delete` |
2506
+ | `start_model_download_job(provider, artifact, dry_run=False)` | a `host_job_v1` job of kind `download` (single-flight per artifact) |
2507
+ | `host_jobs_list(kind=None, status=None)` | `{"schema": "host_jobs_v1", "jobs": [...]}`, newest first, including jobs started by other processes on the host |
2508
+ | `host_job(job_id)` / `host_job_cancel(job_id)` | one job, or `None` when the id is unknown |
2509
+ | `console_fragment(kind)` | AbstractCore's embeddable web screen (`models` or `engines`): `{"html", "js", "css"}` |
2510
+ | `models_engines_support()` | `{"available", "abstractcore_version", "required", "missing"}`; never raises |
2511
+
2512
+ Job-starting calls run in the background and return the queued job; a dry run
2513
+ (and `run_inline=True`) finishes on the calling thread and returns the finished
2514
+ job.
2515
+
2516
+ Errors a host can map to HTTP statuses:
2517
+
2518
+ - `AbstractCoreTooOld` (a `NotImplementedError`): the installed AbstractCore
2519
+ predates these modules. The message names the installed version and the
2520
+ upgrade command. Map it to 501.
2521
+ - `RuntimeError`: AbstractCore is not installed. Map it to 503.
2522
+ - `HostActionRefused`: a refusal with `status_code` and `payload()`. Examples:
2523
+ 403 `not_allowed` (engine installs disabled by the host's policy), 404
2524
+ `not_found` / `unknown_engine`, 409 `busy` (an engine install is already
2525
+ running), 409 `refused` with `delete_blockers` (the model is loaded or shares
2526
+ a cache; pass `force=True` to override).
2527
+
2528
+ ```python
2529
+ from abstractruntime.integrations.abstractcore import config_facade as core
2530
+
2531
+ core.engine_inventory(probe=True)["engines"][0]["install"]["argv"] # e.g. ["brew", "install", "ollama"]
2532
+ job = core.engine_install("ollama", dry_run=True) # finished job, nothing runs
2533
+ try:
2534
+ core.delete_model_artifact("ollama", "qwen3:8b", dry_run=True)
2535
+ except core.HostActionRefused as refused:
2536
+ print(refused.status_code, refused.payload())
2537
+ ```
2538
+
2485
2539
  ## Model residency listings
2486
2540
 
2487
2541
  `list_model_residency(...)` relays Core-owned residency truth (ADR-0007) and, for text-generation listings, includes the whole host:
@@ -3591,6 +3645,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3591
3645
 
3592
3646
  ## [Unreleased]
3593
3647
 
3648
+ ## [0.4.33] - 2026-09-23
3649
+
3650
+ ### Added
3651
+ - **Models and engines for hosts.** `config_facade` passes AbstractCore's
3652
+ models and engines features through to hosts, so the Gateway can offer the
3653
+ same model browser and engine installer as `abstractcore models` and
3654
+ `abstractcore engines` without importing AbstractCore:
3655
+ `host_profile`, `engine_inventory`, `engine_status`,
3656
+ `engine_install_plan`, `engine_download_url`, `engine_install`,
3657
+ `model_catalog`, `list_installed_models`, `model_delete_blockers`,
3658
+ `delete_model_artifact`, `start_model_download_job`, `host_jobs_list`,
3659
+ `host_job`, `host_job_cancel` and `console_fragment`. Payloads are
3660
+ AbstractCore's own (`host_profile_v1`, `engines_status_v1`,
3661
+ `model_catalog_v1`, `models_installed_v1`, `host_job_v1`).
3662
+ - `models_engines_support()` reports whether the installed AbstractCore has
3663
+ these modules. It never raises.
3664
+ - `AbstractCoreTooOld` (a `NotImplementedError`) is raised when the installed
3665
+ AbstractCore predates these modules. The message names the installed
3666
+ version and the upgrade command.
3667
+ - `HostActionRefused` carries an HTTP status and a structured body for
3668
+ refusals: engine installs not allowed, unknown engine, an install already
3669
+ running, a delete blocked by a loaded or shared model. Hosts no longer need
3670
+ AbstractCore's exception types to tell refusals apart.
3671
+
3672
+ ### Changed
3673
+ - The AbstractCore floor is now 2.14.0 in the base install and in the `apple`
3674
+ and `gpu` extras.
3675
+
3594
3676
  ## [0.4.32] - 2026-09-23
3595
3677
 
3596
3678
  This release also contains everything listed under 0.4.31, which was never
@@ -4409,7 +4491,9 @@ AbstractRuntime is the durable execution substrate designed to pair with Abstrac
4409
4491
 
4410
4492
  Initial development version with basic proof-of-concept features.
4411
4493
 
4412
- [Unreleased]: https://github.com/lpalbou/abstractruntime/compare/v0.4.31...HEAD
4494
+ [Unreleased]: https://github.com/lpalbou/abstractruntime/compare/v0.4.33...HEAD
4495
+ [0.4.33]: https://github.com/lpalbou/abstractruntime/compare/v0.4.32...v0.4.33
4496
+ [0.4.32]: https://github.com/lpalbou/abstractruntime/compare/v0.4.29...v0.4.32
4413
4497
  [0.4.31]: https://github.com/lpalbou/abstractruntime/compare/v0.4.29...v0.4.31
4414
4498
  [0.4.29]: https://github.com/lpalbou/abstractruntime/compare/v0.4.28...v0.4.29
4415
4499
  [0.4.28]: https://github.com/lpalbou/abstractruntime/compare/v0.4.27...v0.4.28
@@ -3,10 +3,10 @@
3
3
  > Durable workflow runtime (interrupt → checkpoint → resume) with an append-only execution ledger.
4
4
 
5
5
  - Python: 3.10+ (see `pyproject.toml`)
6
- - Version: 0.4.32
6
+ - Version: 0.4.33
7
7
  - Ecosystem: [AbstractFramework](https://github.com/lpalbou/AbstractFramework) umbrella, integrates with [AbstractCore](https://github.com/lpalbou/abstractcore)
8
8
  - Hard invariant: `RunState.vars` must be JSON-serializable (`src/abstractruntime/core/models.py`)
9
- - Current AbstractCore baseline: base `abstractruntime` installs `abstractcore[remote,tools,vision,voice,audio,music]>=2.13.41`
9
+ - Current AbstractCore baseline: base `abstractruntime` installs `abstractcore[remote,tools,vision,voice,audio,music]>=2.14.0`
10
10
  - Install profiles: base `abstractruntime` is remote-light with MCP, generated media routing, and Runtime-owned permissive PDF read/write nodes; `abstractruntime[apple]` and `abstractruntime[gpu]` add local inferencer stacks.
11
11
  - Config boundary: Runtime does not read `ABSTRACTGATEWAY_*`; Gateway-owned config should be translated into explicit Runtime inputs or Runtime-owned env names. Hosts can attach `resolve_provider_endpoint_profile(provider_id)` to the LLM client; Runtime treats it as an optional resolver hook, injects transient provider/base URL/key params for the call, and redacts secret-like params from persisted observability.
12
12
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "AbstractRuntime"
7
- version = "0.4.32"
7
+ version = "0.4.33"
8
8
  description = "AbstractRuntime: a durable graph runner designed to pair with AbstractCore."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -50,7 +50,7 @@ dependencies = [
50
50
  # Runtime's base install is the remote-light workflow host: LLM/tool effects,
51
51
  # MCP worker support, and multimodal routing are available without selecting
52
52
  # local inference engines.
53
- "abstractcore[remote,tools,vision,voice,audio,music]>=2.13.41",
53
+ "abstractcore[remote,tools,vision,voice,audio,music]>=2.14.0",
54
54
  "openai<2.0.0,>=1.109.1",
55
55
  "httpx<1.0.0,>=0.28.1",
56
56
  "anyio<5.0.0,>=4.12.1",
@@ -67,12 +67,12 @@ dependencies = [
67
67
 
68
68
  [project.optional-dependencies]
69
69
  apple = [
70
- "abstractcore[all-apple]>=2.13.41",
70
+ "abstractcore[all-apple]>=2.14.0",
71
71
  "setuptools<82.0.0,>=80.10.2",
72
72
  ]
73
73
 
74
74
  gpu = [
75
- "abstractcore[all-gpu]>=2.13.41",
75
+ "abstractcore[all-gpu]>=2.14.0",
76
76
  # vLLM 0.9-0.19 caps setuptools below 80; 77.0.3 is still a modern floor.
77
77
  "setuptools<82.0.0,>=77.0.3",
78
78
  ]
@@ -0,0 +1,25 @@
1
+ ### Added
2
+ - **Models and engines for hosts.** `config_facade` passes AbstractCore's
3
+ models and engines features through to hosts, so the Gateway can offer the
4
+ same model browser and engine installer as `abstractcore models` and
5
+ `abstractcore engines` without importing AbstractCore:
6
+ `host_profile`, `engine_inventory`, `engine_status`,
7
+ `engine_install_plan`, `engine_download_url`, `engine_install`,
8
+ `model_catalog`, `list_installed_models`, `model_delete_blockers`,
9
+ `delete_model_artifact`, `start_model_download_job`, `host_jobs_list`,
10
+ `host_job`, `host_job_cancel` and `console_fragment`. Payloads are
11
+ AbstractCore's own (`host_profile_v1`, `engines_status_v1`,
12
+ `model_catalog_v1`, `models_installed_v1`, `host_job_v1`).
13
+ - `models_engines_support()` reports whether the installed AbstractCore has
14
+ these modules. It never raises.
15
+ - `AbstractCoreTooOld` (a `NotImplementedError`) is raised when the installed
16
+ AbstractCore predates these modules. The message names the installed
17
+ version and the upgrade command.
18
+ - `HostActionRefused` carries an HTTP status and a structured body for
19
+ refusals: engine installs not allowed, unknown engine, an install already
20
+ running, a delete blocked by a loaded or shared model. Hosts no longer need
21
+ AbstractCore's exception types to tell refusals apart.
22
+
23
+ ### Changed
24
+ - The AbstractCore floor is now 2.14.0 in the base install and in the `apple`
25
+ and `gpu` extras.