AbstractRuntime 0.10.2__tar.gz → 0.10.3__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.
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/CHANGELOG.md +11 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/PKG-INFO +1 -1
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/api.md +1 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/llms-full.txt +1 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/pyproject.toml +1 -1
- abstractruntime-0.10.3/release-notes.md +8 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/llm_client.py +17 -1
- abstractruntime-0.10.3/tests/test_endpoint_profile_media_in_process.py +45 -0
- abstractruntime-0.10.2/release-notes.md +0 -19
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/.github/workflows/ci.yml +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/.github/workflows/release.yml +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/.gitignore +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/ACKNOWLEDGMENTS.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/CODE_OF_CONDUCT.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/CONTRIBUTING.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/LICENSE +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/README.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/ROADMAP.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/SECURITY.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/README.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/adr/0001_layered_coupling_with_abstractcore.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/adr/0002_execution_modes_local_remote_hybrid.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/adr/0003_provenance_tamper_evident_hash_chain.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/adr/0004_runtime_owns_run_scoped_media_execution_truth.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/adr/0005_runtime_owns_abstractcore_host_discovery_queries.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/adr/0006_runtime_owns_durable_abstractcore_bloc_prompt_cache.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/adr/0007_runtime_relays_core_owned_model_residency_truth.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/adr/README.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/architecture.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/artifacts.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/automations.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/README.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/001_runtime_kernel.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/002_persistence_and_ledger.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/0030_runtime_host_facades_for_comms_telegram_and_tool_specs.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/0032_runtime_durable_outbound_comms_truth.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/0033_runtime_host_local_prompt_cache_export_import_surface.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/0035_model_residency_provider_truth_for_local_http_clients.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/0037_visualflow_generate_music_node_compiler_parity.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/0039_runtime_music_structure_prompt_bool_contract.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/003_wait_primitives.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/0040_task_agnostic_local_residency_listing.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/0041_runtime_hardware_extras_avoid_nonpermissive_document_stacks.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/0042_core_vision_upscale_and_parameter_surface.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/0043_runtime_vision_adapter_and_batch_surface.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/004_scheduler_driver.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/005_abstractcore_integration.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/006_snapshots_bookmarks.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/007_provenance_hash_chain.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/009_artifact_store.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/010_examples_and_composition.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/011_subworkflow_support.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/012_run_store_query_and_scheduler_support.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/013_effect_retries_and_idempotency.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/016_runtime_aware_parameters.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/019_runtime_host_facade_for_core_operator_surfaces.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/020_runtime_gateway_install_boundary.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/021_runtime_gateway_env_namespace_cleanup.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/022_model_residency_control_plane.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/023_truthful_local_media_residency_boundaries.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/024_runtime_owned_run_scoped_media_execution.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/026_runtime_host_discovery_facade_for_core_catalogs.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/027_runtime_durable_bloc_prompt_cache_facade.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/028_runtime_bloc_kv_lifecycle_and_pruning.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/029_runtime_music_generation_and_discovery_via_abstractcore.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/0846_mlx_instance_scheduling_and_execution_controls.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/0847_automations_v1_controller_contracts_occurrences_triggers.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/001_integrations_abstractcore.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/001_runtime_kernel.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/002_persistence_and_ledger.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/002_snapshots_bookmarks.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/0034_agent_runtime_convenience_constructor.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/003_provenance_ledger_chain.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/003_wait_resume_and_scheduler.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/004_effect_handlers_and_integrations.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/004_tests.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/005_docs_updates.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/005_examples_and_composition.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/006_ai_fingerprint_and_provenance.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/DEPRECATED_README.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/README.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/abstractruntime_docs_final_02a7373b.plan.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/0070_standalone_wui_browser_session_security_contract.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/008_signatures_and_keys.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/014_remote_tool_worker_executor.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/017_limit_warnings_and_observability.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/018_workspace_access_policy_for_media_and_tools.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/0233_real_run_cancellation.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/025_runtime_retention_and_purge_contract.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/026_context_checkpoint_self_compression.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/027_quote_provenance_discipline.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/028_selective_artifact_rehydration.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/0845_session_prompt_cache_resume_and_purge_contract.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/0848_automations_v2_external_event_inbox_and_run_triggers.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_portability/0065_portable_process_and_lock_layer.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_portability/0066_portable_io_and_media_reader.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_portability/README.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_systemic_reliability/0044_meta_analysis_record.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_systemic_reliability/0045_crash_replay_harness_and_ordering_invariant.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_systemic_reliability/0046_per_run_driver_exclusion.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_systemic_reliability/0047_indexed_idempotency_lookup.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_systemic_reliability/0048_durable_io_unification.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_systemic_reliability/0049_llm_client_mechanical_split.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_systemic_reliability/0050_control_sidecar_all_writers.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_systemic_reliability/0051_runtime_owned_durable_event_mailbox.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_systemic_reliability/0052_sync_store_event_loop_tripwire.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_systemic_reliability/0053_bounded_run_vars_growth.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_systemic_reliability/0054_runtime_health_counters.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_systemic_reliability/0055_jsonl_store_honesty.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_systemic_reliability/0064_prompt_cache_fingerprint_stability.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_systemic_reliability/0067_durable_write_discipline.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_systemic_reliability/0068_hot_path_store_reads.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_systemic_reliability/README.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/proposed/0031_runtime_tool_spec_adapters_for_gateway_and_mcp.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/proposed/0036_local_media_residency_bridge_to_core_residency.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/proposed/0038_core_server_pool_residency_affinity.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/proposed/0069_document_renderer_professional_figures.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/proposed/runtime_systemic_reliability/0056_schema_version_and_quarantine_loading.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/proposed/runtime_systemic_reliability/0057_trust_boundary_stamp_registry.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/proposed/runtime_systemic_reliability/0058_terminal_run_archival_helper.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/proposed/runtime_systemic_reliability/0059_memory_span_handler_extraction.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/proposed/runtime_systemic_reliability/0060_visualflow_compiler_decomposition.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/proposed/runtime_systemic_reliability/0061_root_api_deprecation_machinery.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/proposed/runtime_systemic_reliability/0062_dependency_honesty_extras.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/proposed/runtime_systemic_reliability/0063_b3_envelope_lane_unification.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/proposed/runtime_systemic_reliability/README.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/email.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/entity-runtime.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/evidence.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/faq.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/getting-started.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/integrations/abstractcore.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/limits.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/manual_testing.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/mcp-worker.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/proposal.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/provenance.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/snapshots.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/tool-approval.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/tools-comms.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/troubleshooting.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/workflow-bundles.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/examples/01_hello_world.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/examples/02_ask_user.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/examples/03_wait_until.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/examples/04_multi_step.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/examples/05_persistence.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/examples/06_llm_integration.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/examples/07_react_agent.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/examples/README.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/llms.txt +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/mkdocs.yml +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/pytest.ini +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/scripts/backfill_diary_edges.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/scripts/generate_llms_full.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/automation_queries.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/automations/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/automations/adapters.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/automations/attention.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/automations/bundle.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/automations/bundles/automation-controller/flows/controller.json +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/automations/bundles/automation-controller/manifest.json +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/automations/commands.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/automations/controller.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/automations/ledger.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/automations/models.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/automations/service.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/core/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/core/config.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/core/effect_cancellation.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/core/event_keys.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/core/health.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/core/live_deltas.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/core/models.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/core/policy.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/core/progress_channel.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/core/run_attribution.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/core/run_identity.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/core/run_lifecycle.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/core/runtime.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/core/spec.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/core/tool_scope.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/core/vars.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/documents/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/documents/charts.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/documents/docx.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/documents/pdf.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/email/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/email/actions.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/email/automations.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/email/binding.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/email/feeder.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/email/frame.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/email/inbox.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/evidence/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/evidence/recorder.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/history_bundle.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/act_only.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/chat.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/communities.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/diary.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/digest.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/entity_runtime.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/fingerprint.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/lease.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/life.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/memory_reader.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/night_voice.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/phase_graph.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/phase_spec.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/prelude.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/prompt_overlay.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/reflection.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/spec/entity_phases.vendored.json +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/substrate.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/tool_effects.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/tool_policy.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/tools.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/identity/visit_workflow.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/agora_tools.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/command_sandbox_host.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/comms_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/config_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/constants.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/data_registry_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/default_tools.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/discovery_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/discovery_queries.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/effect_handlers.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/email_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/embeddings_client.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/factory.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/host_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/local_helper_tools.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/logging.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/mcp_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/mcp_worker.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/media_subprocess.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/observability.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/output_specs.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/run_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/server_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/session_attachments.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/structured_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/summarizer.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/telegram_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/tool_effects.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/tool_executor.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/tool_inventory_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractcore/workspace_scoped_tools.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractmemory/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractmemory/brain_handlers.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractmemory/effect_handlers.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractmemory/identity_support.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/integrations/abstractmemory/seam_handlers.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/memory/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/memory/active_context.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/memory/active_memory.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/memory/compaction.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/memory/kg_packets.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/memory/memact_composer.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/memory/recall_levels.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/memory/token_budget.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/rendering/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/rendering/agent_trace_report.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/rendering/json_stringify.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/scheduler/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/scheduler/convenience.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/scheduler/multi_store.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/scheduler/registry.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/scheduler/scheduler.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/session_history.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/session_turns.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/storage/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/storage/artifacts.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/storage/base.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/storage/commands.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/storage/in_memory.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/storage/json_files.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/storage/lease.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/storage/ledger_chain.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/storage/ledger_slim.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/storage/observable.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/storage/offloading.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/storage/serialize.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/storage/snapshots.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/storage/sqlite.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/storage/steer_sidecar.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/triggers/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/triggers/email_received.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/triggers/manual.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/triggers/protocol.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/triggers/registry.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/triggers/schedule.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/turn_grounding.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/utils/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/utils/atomic_files.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/utils/file_filters.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/utils/workspace_paths.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/adapters/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/adapters/agent_adapter.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/adapters/context_adapter.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/adapters/control_adapter.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/adapters/effect_adapter.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/adapters/event_adapter.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/adapters/function_adapter.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/adapters/memact_adapter.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/adapters/subflow_adapter.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/adapters/variable_adapter.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/compiler.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/flow.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/visual/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/visual/agent_ids.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/visual/builtins.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/visual/code_executor.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/visual/execution_metrics.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/visual/executor.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/visual/function_library.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/visual/loop_back_check.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/visual/loop_limit_lowering.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/visual/models.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/visual/multi_entry_lowering.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/visual/pin_expressions.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/visualflow_compiler/visual/reroute_lowering.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/workflow_bundle/__init__.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/workflow_bundle/models.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/workflow_bundle/packer.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/workflow_bundle/reader.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/workflow_bundle/registry.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/README.md +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/automation_harness.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/conftest.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/email_wp2_support.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/fixtures/schedule_v1_corpus.json +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/live_email/conftest.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/live_email/live_email_support.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/live_email/test_email_live_runtime.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_abstractcore_comms_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_abstractcore_discovery_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_abstractcore_host_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_abstractcore_run_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_abstractcore_server_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_abstractcore_structured_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_abstractcore_telegram_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_active_context_policy.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_active_index.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_active_memory.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_agora_agent_alias_identity.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_agora_tools_http.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_analyze_media_addressing_and_walling.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_answer_user_effect.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_artifacts.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_automation_calendar_schedule.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_automation_commands.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_automation_controller.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_automation_controller_recovery.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_automation_definition.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_automation_discussion_isolation.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_automation_email_results.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_automation_growing_context.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_automation_index.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_automation_next_fire.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_automation_occurrence_input_resolver.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_automation_occurrence_recovery.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_automation_replay_read_only.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_automation_retry.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_automation_session_turns.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_automation_status.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_automation_tool_approval.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_browser_probe_target_walling.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_budget_law_no_unrequested_caps.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_capability_default_reasoning.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_chat_summarizer_integration.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_code_node_imports.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_code_node_restricted_python.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_command_sandbox_host_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_command_store.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_compaction_helpers.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_compaction_summarizer_route.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_config_facade_models_engines.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_config_facade_voice_input_hint.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_control_adapter_while.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_controller_bundle_packaged.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_crash_ordering_inversions.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_create_if_absent.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_data_registry_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_default_tools_camera_gating.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_default_tools_comms_gating.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_default_tools_include_skim_files.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_default_tools_include_skim_folders.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_default_tools_include_skim_web.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_default_tools_search_files_executor.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_diary_capture.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_diary_write_rescue.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_directory_lease.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_disabled_toolsets_seam.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_discovery_survives_unbuildable_default.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_discovery_tts_unavailable_reason.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_discovery_voice_openai_api_key.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_discussion_session_anchor.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_document_markdown_tables.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_document_renderers_hr_quote.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_durable_toolsets.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_durable_write_discipline.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_e2e_tool_calls_idempotency_lmstudio.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_effect_cancellation.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_effect_issuance_idempotency.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_effect_payload_stays_json_serializable.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_election_consequence_teaching.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_email_binding_and_refiner.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_email_gate_fixes.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_email_inbox_and_trigger.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_email_regate_fixes.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_email_review_fixes.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_email_self_trigger_loop.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_email_toolset_and_walls.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_emergence_experiment.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_emit_event_uses_wait_index.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_emit_event_without_workflow_registry.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_endpoint_profile_route_context.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_awake_memory_fixes.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_brain_effects.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_chat_driver.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_chat_tools_reflection.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_diary.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_execute_tool.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_fetch_url_tool.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_history_window.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_life_loop.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_memory_richness.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_phase_graph_conformance.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_react_visit_window.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_recent_memories.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_runtime.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_search_memory.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_sleep_bound_and_yield_attribution.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_substrate_resolution.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_visit_honesty.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_workspace_cap.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_entity_workspace_tools.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_event_wait_index.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_every_path_bearing_tool_is_walled.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_evidence_recorder.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_evidence_recorder_post_policy_envelope.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_execute_command_output_offload.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_execution_capability_discovery.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_explicit_eject_other_clients.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_factory_default_retry_policy.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_factory_timeouts_default_to_abstractcore_config.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_format_repair_nudge.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_fresh_install_no_provider.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_gateway_facades_c4899.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_git_read_only_refiner.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_hf_process_residency_merge.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_history_window_multimodal.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_hot_path_store_reads.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_indexed_idempotency_lookup.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_integration_abstractcore.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_integrations_abstractcore.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_json_file_run_store_children_index.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_json_run_cache_bound.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_json_store_scan_memo.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_jsonl_ledger_recovery.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_kg_learn_and_recall_contract.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_ledger_chain.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_ledger_record_slimming.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_ledger_subscription.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_live_token_deltas.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_llm_call_media_artifact_refs.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_llm_call_media_artifact_refs_persist_across_restart.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_llm_call_media_uses_source_path_label.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_llm_call_payload_shape_refusal.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_llm_call_requires_prompt.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_llm_call_response_schema_normalization.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_llm_call_structured_output_fallback.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_llm_call_text_phase_progress.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_llm_call_truncation_retry_contract.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_llm_call_use_context_appends_turn.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_llm_call_verbatim_payload_capture.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_llm_client_grounding_tail.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_llm_client_media_artifacts.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_llm_client_system_context.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_llm_client_tool_call_parsing.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_llm_retry_classification.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_llm_streaming_on_token.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_local_helper_tool_exposure.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_local_residency_host_sweep.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_local_runtime_timeout_kwarg_policy.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_max_iterations_ceiling.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_mcp_remote_tool_executor.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_mcp_runs_untrusted_and_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_mcp_worker_logging.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_mcp_worker_security.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_mcp_worker_stdio.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_media_artifact_resolution.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_media_capability_default_routing.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_media_only_requests_skip_text_client.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_media_subprocess.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_memact_composer_from_kg_result.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_memory_appraise_handler.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_memory_communities.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_memory_kg_assert_attributes_defaults.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_memory_kg_packets.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_memory_kg_predicate_aliasing.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_memory_kg_query_packetization_restart.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_memory_kg_query_recall_level_policy.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_memory_kg_semantic_query_ranking.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_memory_note_effect.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_memory_query_effect.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_memory_query_rich_filters.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_memory_scope_and_rehydrate_effect.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_memory_seam_handlers.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_memory_seam_sqlite_durability.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_memory_tag_effect.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_mlx_generation_serialization.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_mlx_process_residency_merge.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_model_eject_cancel.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_model_residency_clean_switch.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_model_residency_control_plane.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_model_residency_lock_and_context_estimate.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_multi_store_scheduler.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_multimodal_abstractcore_integration.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_native_mlx_application_wiring.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_native_mlx_execution_controls_live.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_native_tool_channel.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_night_voice.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_no_default_provider_refusal_ux.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_offload_answer_chain_c4978.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_offloaded_node_traces_report_unknown_not_zero.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_offloading.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_packaging_extras.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_parallel_readonly_tool_execution.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_pause_resume.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_pdf_unicode_rendering.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_personal_cycle.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_phantom_attachment_index.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_phase_graph_artifact_control.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_phase_graph_obedience.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_phase_vocabulary_migration.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_pooled_client_strips_construction_cache_key.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_prompt_cache_export_import.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_prompt_cache_fingerprint_stability.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_prompt_cache_modules.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_prompt_cache_posture_inheritance.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_prompt_cache_thinking_and_prompt_only.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_prompt_overlay.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_provider_endpoint_profile_resolution.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_provider_pin_routing_isolation.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_queryable_run_store.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_r12_workspace_sandbox.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_read_file_fallback_to_session_attachments.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_read_idle_threading.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_readoption_experiment.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_real_integration.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_realize_election.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_recall_levels_policy.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_remote_client_cancel.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_remote_llm_client.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_remote_speculation_defaults.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_rendering_agent_trace_report.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_rendering_json_stringify.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_report_branding.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_resident_media_generation.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_resume_concurrent_same_wait.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_retry_idempotency.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_run_history_bundle.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_run_index_workspace_root.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_run_mutation_lock.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_run_scoped_tool_policy.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_run_tool_scope_ceiling.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_runtime_browser_session_boundary.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_runtime_config_max_output_tokens_fallback.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_runtime_default_provider_model_refresh.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_runtime_effect_invocation_trace.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_runtime_health_and_bounded_vars.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_runtime_install_boundary.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_runtime_llm_call_grounding_in_ledger.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_runtime_node_traces.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_runtime_start_seeds_tool_support.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_runtime_tick_step_gate.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_schedule_v1_corpus.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_schedule_v2_calendar.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_scheduler.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_send_email_refiner.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_send_email_self_default_policy.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_session_attachments_registry_and_open_tool.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_session_history.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_session_prompt_cache_attribution.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_session_prompt_cache_visibility.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_session_route_stamp.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_session_start_cost.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_shell_tool_exposure.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_snapshots.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_speculation_inheritance.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_speculation_reaches_provider_construction.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_sqlite_ledger_store.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_start_subworkflow_async_wait.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_start_subworkflow_inherit_context_merges_messages.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_start_subworkflow_workspace_inheritance.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_steer_sidecar.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_storage_deletion.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_structured_output_schema_enum.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_subworkflow.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_terminal_effect_completion.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_terminal_resume_appends_ledger_completion.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_thinking_inheritance.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_tick_completion_includes_output_in_ledger.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_tool_approval_executor.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_tool_approval_resume_executes.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_tool_approval_wait_key_identity.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_tool_calls_idempotency_keys.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_tool_catalog.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_tool_descriptor_registry.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_tool_executor_argument_sanitization.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_tool_executor_error_output_detection.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_tool_executor_filename_alias.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_tool_executor_kwarg_canonicalization.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_tool_executor_read_file_aliases.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_tool_executor_timeout.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_tool_inventory_facade.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_tool_invoke_effect.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_tool_policy_and_mounts.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_tool_wait_allowlist_safety.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_topic_election_world_model.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_trace_context_propagation.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_trigger_registry.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_trigger_schedule_math.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_turn_grounding_byte_stability.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_turn_grounding_carriers_a3.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_vars_query_effect.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visit_ab_fixture.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visit_midturn_elections.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visit_midturn_resume.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visit_workflow.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_agent_output_context_includes_messages.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_agent_skills_block_passthrough.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_agent_tool_observations_persist_across_restart.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_agent_use_context_inherits_attachments.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_agent_use_context_persists_tool_observations.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_agent_use_context_persists_turn.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_entity_memory_nodes.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_flow_end_effect_only_persistence.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_llm_call_partial_override.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_llm_call_schema_ref_resolution.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_loop_back_out_of_body.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_loop_limit_and_list_nodes.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_loop_limit_on_wire.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_memact_compose_node.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_memory_kg_query_outputs_propagate.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_memory_kg_resolve_outputs_propagate.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_multi_entry_loop_overrides.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_reroute_lowering.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_set_vars_pins.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_unknown_node_type_refuses.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visual_wait_event_deadline_passthrough.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_add_message_builtin.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_add_message_node_appends_to_active_context.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_agora_react_agent.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_call_tool_node.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_capability_routes_and_thinking.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_compiler_basic.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_context_and_builder_nodes.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_continue_on_error.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_edit_json_schema_node.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_event_inbox_react_agent.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_file_nodes_workspace.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_function_library.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_get_element_node.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_get_random_element_node.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_get_var_node.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_has_tools_builtin.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_llm_call_context_attachments_map_to_media.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_llm_call_multimodal_output.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_make_object_node.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_media_nodes.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_memory_effect_nodes.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_memory_source_pins.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_pin_expressions.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_prompt_only.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_random_nodes.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_schema_enum_switch.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_string_contains_replace.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_visualflow_tool_parameters_node.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_voice_openai_api_key_path.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_voice_stream_is_not_a_wait.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_w4_feelings_lens.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_wait_event_deadline.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_wait_event_prompt_metadata.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_wait_until_streak.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_wait_until_utc_normalization.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_workflow_bundle_registry.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_workspace_builtin_deny.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_workspace_context_allowed_workspaces.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_workspace_policy_absolute_reanchor.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_workspace_policy_allowlist_mode.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_workspace_policy_mount_virtual_paths.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_workspace_policy_tool_calls_persist_across_restart.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_workspace_prompt_context.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_workspace_read_only.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_workspace_writable_paths.py +0 -0
- {abstractruntime-0.10.2 → abstractruntime-0.10.3}/tests/test_write_chart.py +0 -0
|
@@ -5,6 +5,17 @@ All notable changes to AbstractRuntime will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.10.3] - 2026-10-18
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- Image and video specs whose provider is an endpoint profile (`endpoint:<id>`) run in process instead of in
|
|
13
|
+
the one-shot local media subprocess. The subprocess isolates local pipelines and has no host
|
|
14
|
+
endpoint-profile resolver, so a gateway profile (for example an OpenAI-compatible relay serving
|
|
15
|
+
`gpt-image-2` selected on the gateway's image route) could not be resolved there; in process,
|
|
16
|
+
AbstractVision resolves it through the resolver the host attached to the client. Tests:
|
|
17
|
+
`tests/test_endpoint_profile_media_in_process.py`.
|
|
18
|
+
|
|
8
19
|
## [0.10.2] - 2026-10-16
|
|
9
20
|
|
|
10
21
|
### Changed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: AbstractRuntime
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.3
|
|
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
|
|
@@ -355,6 +355,7 @@ Multimodal support:
|
|
|
355
355
|
- with the pooled local client (`MultiLocalAbstractCoreLLMClient`), a request whose outputs are all non-text (image, video, voice, music, transcription) and that carries no tools never builds the text client: it runs on AbstractCore's capability host (`CapabilityHostProvider`, no text model), and so does streaming TTS. A text default that cannot be built (an engine not installed) therefore never blocks speech or image generation
|
|
356
356
|
- media-only normalized results expose `runtime_provider` / `runtime_model` separately from `media_provider` / `media_model`
|
|
357
357
|
- local image/video generation runs in a one-shot subprocess (`execution_mode="local_one_shot_subprocess"`) unless every requested media model is resident (explicitly loaded with `load_model_residency`), in which case it runs in-process on the loaded pipeline (`execution_mode="resident_in_process"`, `resident_load_ids`)
|
|
358
|
+
- a media spec whose `provider` is an endpoint profile (`endpoint:<id>`) never uses the one-shot subprocess: it is an HTTP call to that endpoint, and the host's endpoint-profile resolver (`set_provider_endpoint_profile_resolver`) exists only in this process
|
|
358
359
|
- optional local media residency failures complete with `status_hint="warning"` and `degraded=true`; local media warmup that no capability plugin can serve (`image_generation`, `image_upscale`, `video_generation`, `text_to_video`, `image_to_video`, `tts`, `stt`, `music_generation`) reports `requires_long_lived_server=true`, and image/video tasks also report `execution_mode="local_one_shot_subprocess"`
|
|
359
360
|
- Gateway/hosts remain responsible for explicit Core server URLs, Core server auth headers, provider/model defaults, selected local-inference profiles, and translation of Gateway-owned env/config into explicit Runtime inputs; Runtime persists only JSON-safe routing metadata and artifact refs
|
|
360
361
|
|
|
@@ -1225,6 +1225,7 @@ Multimodal support:
|
|
|
1225
1225
|
- with the pooled local client (`MultiLocalAbstractCoreLLMClient`), a request whose outputs are all non-text (image, video, voice, music, transcription) and that carries no tools never builds the text client: it runs on AbstractCore's capability host (`CapabilityHostProvider`, no text model), and so does streaming TTS. A text default that cannot be built (an engine not installed) therefore never blocks speech or image generation
|
|
1226
1226
|
- media-only normalized results expose `runtime_provider` / `runtime_model` separately from `media_provider` / `media_model`
|
|
1227
1227
|
- local image/video generation runs in a one-shot subprocess (`execution_mode="local_one_shot_subprocess"`) unless every requested media model is resident (explicitly loaded with `load_model_residency`), in which case it runs in-process on the loaded pipeline (`execution_mode="resident_in_process"`, `resident_load_ids`)
|
|
1228
|
+
- a media spec whose `provider` is an endpoint profile (`endpoint:<id>`) never uses the one-shot subprocess: it is an HTTP call to that endpoint, and the host's endpoint-profile resolver (`set_provider_endpoint_profile_resolver`) exists only in this process
|
|
1228
1229
|
- optional local media residency failures complete with `status_hint="warning"` and `degraded=true`; local media warmup that no capability plugin can serve (`image_generation`, `image_upscale`, `video_generation`, `text_to_video`, `image_to_video`, `tts`, `stt`, `music_generation`) reports `requires_long_lived_server=true`, and image/video tasks also report `execution_mode="local_one_shot_subprocess"`
|
|
1229
1230
|
- Gateway/hosts remain responsible for explicit Core server URLs, Core server auth headers, provider/model defaults, selected local-inference profiles, and translation of Gateway-owned env/config into explicit Runtime inputs; Runtime persists only JSON-safe routing metadata and artifact refs
|
|
1230
1231
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
### Fixed
|
|
2
|
+
|
|
3
|
+
- Image and video specs whose provider is an endpoint profile (`endpoint:<id>`) run in process instead of in
|
|
4
|
+
the one-shot local media subprocess. The subprocess isolates local pipelines and has no host
|
|
5
|
+
endpoint-profile resolver, so a gateway profile (for example an OpenAI-compatible relay serving
|
|
6
|
+
`gpt-image-2` selected on the gateway's image route) could not be resolved there; in process,
|
|
7
|
+
AbstractVision resolves it through the resolver the host attached to the client. Tests:
|
|
8
|
+
`tests/test_endpoint_profile_media_in_process.py`.
|
|
@@ -2141,6 +2141,20 @@ def _decode_subprocess_media_payload(payload: Dict[str, Any]) -> Dict[str, Any]:
|
|
|
2141
2141
|
return out
|
|
2142
2142
|
|
|
2143
2143
|
|
|
2144
|
+
def _spec_routes_to_endpoint_profile(spec: Any) -> bool:
|
|
2145
|
+
"""True when a media spec names an `endpoint:<id>` provider.
|
|
2146
|
+
|
|
2147
|
+
Such a spec is an HTTP call to a named endpoint connection, not a local
|
|
2148
|
+
pipeline: the one-shot media subprocess has nothing to isolate for it, and
|
|
2149
|
+
it cannot resolve the profile -- the host's endpoint-profile resolver
|
|
2150
|
+
(`set_provider_endpoint_profile_resolver`) lives on THIS process's
|
|
2151
|
+
clients, and a per-user gateway profile has no AbstractCore config row
|
|
2152
|
+
the subprocess could read. So it runs in process, where AbstractVision
|
|
2153
|
+
resolves the profile through the owning provider's resolver.
|
|
2154
|
+
"""
|
|
2155
|
+
return isinstance(spec, dict) and str(spec.get("provider") or "").strip().lower().startswith("endpoint:")
|
|
2156
|
+
|
|
2157
|
+
|
|
2144
2158
|
def _is_subprocess_safe_image_specs(specs: List[Dict[str, Any]], media: Optional[List[Any]]) -> bool:
|
|
2145
2159
|
if not _env_flag_enabled("ABSTRACTRUNTIME_LOCAL_IMAGE_SUBPROCESS", default=True):
|
|
2146
2160
|
return False
|
|
@@ -2148,7 +2162,7 @@ def _is_subprocess_safe_image_specs(specs: List[Dict[str, Any]], media: Optional
|
|
|
2148
2162
|
return False
|
|
2149
2163
|
normalized_media = list(media or [])
|
|
2150
2164
|
for spec in specs:
|
|
2151
|
-
if not isinstance(spec, dict):
|
|
2165
|
+
if not isinstance(spec, dict) or _spec_routes_to_endpoint_profile(spec):
|
|
2152
2166
|
return False
|
|
2153
2167
|
modality = str(spec.get("modality") or "").strip().lower()
|
|
2154
2168
|
task = str(spec.get("task") or "").strip().lower()
|
|
@@ -2202,6 +2216,8 @@ def _is_subprocess_safe_video_specs(specs: List[Dict[str, Any]], media: Optional
|
|
|
2202
2216
|
if len(specs) != 1 or not isinstance(specs[0], dict):
|
|
2203
2217
|
return False
|
|
2204
2218
|
spec = specs[0]
|
|
2219
|
+
if _spec_routes_to_endpoint_profile(spec):
|
|
2220
|
+
return False
|
|
2205
2221
|
modality = str(spec.get("modality") or "").strip().lower()
|
|
2206
2222
|
task = str(spec.get("task") or "").strip().lower()
|
|
2207
2223
|
if modality != "video":
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"""Media specs routed to an `endpoint:<id>` profile run in process.
|
|
2
|
+
|
|
3
|
+
The one-shot media subprocess isolates LOCAL pipelines; it has no host
|
|
4
|
+
endpoint-profile resolver, so a gateway profile (e.g. an OpenAI-compatible
|
|
5
|
+
relay serving `gpt-image-2`) could not be resolved there. Regression for the
|
|
6
|
+
operator report of 2026-10-18.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
from pathlib import Path
|
|
12
|
+
|
|
13
|
+
from abstractruntime.integrations.abstractcore.llm_client import (
|
|
14
|
+
_is_subprocess_safe_image_specs,
|
|
15
|
+
_is_subprocess_safe_video_specs,
|
|
16
|
+
_spec_routes_to_endpoint_profile,
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def test_endpoint_spec_detection() -> None:
|
|
21
|
+
assert _spec_routes_to_endpoint_profile({"provider": "endpoint:relay"}) is True
|
|
22
|
+
assert _spec_routes_to_endpoint_profile({"provider": "Endpoint:Relay"}) is True
|
|
23
|
+
assert _spec_routes_to_endpoint_profile({"provider": "huggingface"}) is False
|
|
24
|
+
assert _spec_routes_to_endpoint_profile({}) is False
|
|
25
|
+
assert _spec_routes_to_endpoint_profile(None) is False
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def test_endpoint_image_specs_skip_the_subprocess(tmp_path: Path) -> None:
|
|
29
|
+
source = tmp_path / "source.png"
|
|
30
|
+
source.write_bytes(b"png")
|
|
31
|
+
media = [{"file_path": str(source), "type": "image", "role": "source"}]
|
|
32
|
+
|
|
33
|
+
assert _is_subprocess_safe_image_specs([{"modality": "image", "task": "text_to_image", "provider": "huggingface"}], None) is True
|
|
34
|
+
assert _is_subprocess_safe_image_specs(
|
|
35
|
+
[{"modality": "image", "task": "text_to_image", "provider": "endpoint:relay", "model": "gpt-image-2"}], None
|
|
36
|
+
) is False
|
|
37
|
+
assert _is_subprocess_safe_image_specs([{"modality": "image", "task": "image_edit", "provider": "huggingface"}], media) is True
|
|
38
|
+
assert _is_subprocess_safe_image_specs(
|
|
39
|
+
[{"modality": "image", "task": "image_edit", "provider": "endpoint:relay", "model": "gpt-image-2"}], media
|
|
40
|
+
) is False
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def test_endpoint_video_spec_skips_the_subprocess() -> None:
|
|
44
|
+
assert _is_subprocess_safe_video_specs([{"modality": "video", "task": "text_to_video"}], None) is True
|
|
45
|
+
assert _is_subprocess_safe_video_specs([{"modality": "video", "task": "text_to_video", "provider": "endpoint:relay"}], None) is False
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
### Changed
|
|
2
|
-
|
|
3
|
-
- **Code nodes can import Python's standard library.** In the `sandbox` permission mode, `import json`, `re`,
|
|
4
|
-
`datetime`, `math`, `collections`, `itertools`, `statistics`, `textwrap`, `hashlib`, `urllib.parse`… now
|
|
5
|
-
work, at the top of the code and inside functions, in both the RestrictedPython lane and the fallback lane, and
|
|
6
|
-
inside the function bodies of flow function libraries. The sandbox still refuses third-party packages, private
|
|
7
|
-
(`_`-prefixed) modules, and the standard-library modules that reach the machine or go around the sandbox's own
|
|
8
|
-
checks: processes and the operating system (`os`, `subprocess`, `threading`, `signal`, `ctypes`, `platform`…), files (`io`,
|
|
9
|
-
`pathlib`, `shutil`, `tempfile`, `glob`, `sqlite3`, `logging`, and the parsers that read a file by path: `xml`,
|
|
10
|
-
`configparser`, `argparse`…), the network (`socket`, `http`, `urllib.request`, `smtplib`…), code loading or
|
|
11
|
-
interpreter internals (`sys`, `importlib`, `pickle`, `types`, `inspect`…) and attribute access by name,
|
|
12
|
-
evaluated annotations or frames (`operator`, `typing`, `functools`, `traceback`). A refusal names the module
|
|
13
|
-
and the reason; `from x import *`, relative imports and the `__import__` call stay refused.
|
|
14
|
-
- **A Code node's return value must be JSON data.** `transform` returning a module, a function, a set, bytes or
|
|
15
|
-
any other value JSON cannot carry now fails with a sandbox error naming the value and where it sits
|
|
16
|
-
(`transform returned a value that cannot be sent as JSON: module 'time' at output[2]`), in every permission
|
|
17
|
-
mode, instead of a serializer crash later in the gateway's simulate reply or the run's persisted state. `full_access` (host policy) imports anything, as before.
|
|
18
|
-
The rule is applied twice: at compile time by `validate_code`, and at run time by the `__import__` bound into
|
|
19
|
-
the sandbox builtins. `get_code_execution_policy()` now lists `imports.denied_modules` for thin clients.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/001_runtime_kernel.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/003_wait_primitives.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/004_scheduler_driver.md
RENAMED
|
File without changes
|
|
File without changes
|
{abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/006_snapshots_bookmarks.md
RENAMED
|
File without changes
|
|
File without changes
|
{abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/009_artifact_store.md
RENAMED
|
File without changes
|
|
File without changes
|
{abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/completed/011_subworkflow_support.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/001_runtime_kernel.md
RENAMED
|
File without changes
|
|
File without changes
|
{abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/002_snapshots_bookmarks.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/005_docs_updates.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/deprecated/DEPRECATED_README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/008_signatures_and_keys.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/0233_real_run_cancellation.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.10.2 → abstractruntime-0.10.3}/docs/backlog/planned/runtime_portability/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/automations/__init__.py
RENAMED
|
File without changes
|
{abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/automations/adapters.py
RENAMED
|
File without changes
|
{abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/automations/attention.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/automations/commands.py
RENAMED
|
File without changes
|
{abstractruntime-0.10.2 → abstractruntime-0.10.3}/src/abstractruntime/automations/controller.py
RENAMED
|
File without changes
|