AbstractRuntime 0.4.12__tar.gz → 0.4.13__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.4.12 → abstractruntime-0.4.13}/CHANGELOG.md +6 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/PKG-INFO +12 -2
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/pyproject.toml +12 -2
- abstractruntime-0.4.13/release-notes.md +3 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_llm_call_media_artifact_refs.py +7 -2
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_llm_call_media_artifact_refs_persist_across_restart.py +7 -3
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_llm_call_media_uses_source_path_label.py +6 -1
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_packaging_extras.py +14 -7
- abstractruntime-0.4.12/release-notes.md +0 -6
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/.github/workflows/ci.yml +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/.github/workflows/release.yml +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/.gitignore +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/ACKNOWLEDGMENTS.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/CONTRIBUTING.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/LICENSE +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/README.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/ROADMAP.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/SECURITY.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/README.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/adr/0001_layered_coupling_with_abstractcore.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/adr/0002_execution_modes_local_remote_hybrid.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/adr/0003_provenance_tamper_evident_hash_chain.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/adr/README.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/api.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/architecture.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/README.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/001_runtime_kernel.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/002_persistence_and_ledger.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/003_wait_primitives.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/004_scheduler_driver.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/005_abstractcore_integration.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/006_snapshots_bookmarks.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/007_provenance_hash_chain.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/009_artifact_store.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/010_examples_and_composition.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/011_subworkflow_support.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/012_run_store_query_and_scheduler_support.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/013_effect_retries_and_idempotency.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/016_runtime_aware_parameters.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/deprecated/001_integrations_abstractcore.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/deprecated/001_runtime_kernel.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/deprecated/002_persistence_and_ledger.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/deprecated/002_snapshots_bookmarks.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/deprecated/003_provenance_ledger_chain.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/deprecated/003_wait_resume_and_scheduler.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/deprecated/004_effect_handlers_and_integrations.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/deprecated/004_tests.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/deprecated/005_docs_updates.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/deprecated/005_examples_and_composition.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/deprecated/006_ai_fingerprint_and_provenance.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/deprecated/DEPRECATED_README.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/deprecated/README.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/deprecated/abstractruntime_docs_final_02a7373b.plan.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/planned/008_signatures_and_keys.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/planned/014_remote_tool_worker_executor.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/planned/015_agent_integration_improvements.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/planned/017_limit_warnings_and_observability.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/planned/018_workspace_access_policy_for_media_and_tools.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/proposed/2026-05-08_runtime_gateway_env_namespace_cleanup.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/proposed/2026-05-08_runtime_gateway_install_boundary.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/proposed/2026-05-09_runtime_retention_and_purge_contract.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/evidence.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/faq.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/getting-started.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/integrations/abstractcore.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/limits.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/manual_testing.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/mcp-worker.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/proposal.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/provenance.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/snapshots.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/tools-comms.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/workflow-bundles.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/emails.config.example.yaml +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/examples/01_hello_world.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/examples/02_ask_user.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/examples/03_wait_until.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/examples/04_multi_step.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/examples/05_persistence.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/examples/06_llm_integration.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/examples/07_react_agent.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/examples/README.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/llms-full.txt +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/llms.txt +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/mkdocs.yml +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/pytest.ini +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/__init__.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/core/__init__.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/core/config.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/core/event_keys.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/core/models.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/core/policy.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/core/runtime.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/core/spec.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/core/vars.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/evidence/__init__.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/evidence/recorder.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/history_bundle.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/identity/__init__.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/identity/fingerprint.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/__init__.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/abstractcore/__init__.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/abstractcore/constants.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/abstractcore/default_tools.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/abstractcore/effect_handlers.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/abstractcore/embeddings_client.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/abstractcore/factory.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/abstractcore/llm_client.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/abstractcore/logging.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/abstractcore/mcp_worker.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/abstractcore/observability.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/abstractcore/output_specs.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/abstractcore/session_attachments.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/abstractcore/summarizer.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/abstractcore/tool_executor.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/abstractcore/workspace_scoped_tools.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/abstractmemory/__init__.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/abstractmemory/effect_handlers.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/memory/__init__.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/memory/active_context.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/memory/active_memory.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/memory/compaction.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/memory/kg_packets.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/memory/memact_composer.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/memory/recall_levels.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/memory/token_budget.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/rendering/__init__.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/rendering/agent_trace_report.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/rendering/json_stringify.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/scheduler/__init__.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/scheduler/convenience.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/scheduler/registry.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/scheduler/scheduler.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/storage/__init__.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/storage/artifacts.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/storage/base.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/storage/commands.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/storage/in_memory.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/storage/json_files.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/storage/ledger_chain.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/storage/observable.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/storage/offloading.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/storage/snapshots.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/storage/sqlite.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/__init__.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/adapters/__init__.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/adapters/agent_adapter.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/adapters/context_adapter.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/adapters/control_adapter.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/adapters/effect_adapter.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/adapters/event_adapter.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/adapters/function_adapter.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/adapters/memact_adapter.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/adapters/subflow_adapter.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/adapters/variable_adapter.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/compiler.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/flow.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/visual/__init__.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/visual/agent_ids.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/visual/builtins.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/visual/code_executor.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/visual/executor.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/visual/models.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/visual/multi_entry_lowering.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/workflow_bundle/__init__.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/workflow_bundle/models.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/workflow_bundle/packer.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/workflow_bundle/reader.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/workflow_bundle/registry.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/README.md +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/conftest.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_active_context_policy.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_active_memory.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_answer_user_effect.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_artifacts.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_chat_summarizer_integration.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_command_store.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_compaction_helpers.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_control_adapter_while.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_default_tools_comms_gating.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_default_tools_include_skim_files.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_default_tools_include_skim_folders.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_default_tools_search_files_executor.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_durable_toolsets.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_e2e_tool_calls_idempotency_lmstudio.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_emit_event_without_workflow_registry.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_evidence_recorder.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_factory_timeouts_default_to_abstractcore_config.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_integration_abstractcore.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_integrations_abstractcore.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_json_file_run_store_children_index.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_jsonl_ledger_recovery.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_kg_learn_and_recall_contract.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_ledger_chain.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_ledger_subscription.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_llm_call_requires_prompt.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_llm_call_response_schema_normalization.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_llm_call_structured_output_fallback.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_llm_call_truncation_retry_contract.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_llm_call_use_context_appends_turn.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_llm_call_verbatim_payload_capture.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_llm_client_media_artifacts.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_llm_client_system_context.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_llm_client_tool_call_parsing.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_local_runtime_timeout_kwarg_policy.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_mcp_remote_tool_executor.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_mcp_worker_logging.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_mcp_worker_security.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_mcp_worker_stdio.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_media_artifact_resolution.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_memact_composer_from_kg_result.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_memory_kg_assert_attributes_defaults.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_memory_kg_packets.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_memory_kg_predicate_aliasing.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_memory_kg_query_packetization_restart.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_memory_kg_query_recall_level_policy.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_memory_kg_semantic_query_ranking.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_memory_note_effect.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_memory_query_effect.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_memory_query_rich_filters.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_memory_scope_and_rehydrate_effect.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_memory_tag_effect.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_mlx_generation_serialization.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_multimodal_abstractcore_integration.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_offloading.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_pause_resume.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_prompt_cache_modules.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_queryable_run_store.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_read_file_fallback_to_session_attachments.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_real_integration.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_recall_levels_policy.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_remote_llm_client.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_rendering_agent_trace_report.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_rendering_json_stringify.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_retry_idempotency.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_run_history_bundle.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_runtime_config_max_output_tokens_fallback.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_runtime_install_boundary.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_runtime_llm_call_grounding_in_ledger.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_runtime_node_traces.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_runtime_start_seeds_tool_support.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_scheduler.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_session_attachments_registry_and_open_tool.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_snapshots.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_sqlite_ledger_store.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_start_subworkflow_async_wait.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_start_subworkflow_inherit_context_merges_messages.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_start_subworkflow_workspace_inheritance.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_structured_output_schema_enum.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_subworkflow.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_terminal_effect_completion.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_terminal_resume_appends_ledger_completion.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_tick_completion_includes_output_in_ledger.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_tool_approval_executor.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_tool_approval_resume_executes.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_tool_calls_idempotency_keys.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_tool_executor_argument_sanitization.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_tool_executor_error_output_detection.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_tool_executor_filename_alias.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_tool_executor_kwarg_canonicalization.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_tool_executor_read_file_aliases.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_tool_executor_timeout.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_tool_wait_allowlist_safety.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_trace_context_propagation.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_vars_query_effect.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visual_agent_output_context_includes_messages.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visual_agent_tool_observations_persist_across_restart.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visual_agent_use_context_inherits_attachments.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visual_agent_use_context_persists_tool_observations.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visual_agent_use_context_persists_turn.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visual_llm_call_schema_ref_resolution.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visual_memact_compose_node.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visual_memory_kg_query_outputs_propagate.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visual_memory_kg_resolve_outputs_propagate.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visual_multi_entry_loop_overrides.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visualflow_add_message_builtin.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visualflow_add_message_node_appends_to_active_context.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visualflow_call_tool_node.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visualflow_compiler_basic.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visualflow_context_and_builder_nodes.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visualflow_get_element_node.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visualflow_get_random_element_node.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visualflow_has_tools_builtin.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visualflow_llm_call_context_attachments_map_to_media.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visualflow_llm_call_multimodal_output.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visualflow_make_object_node.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visualflow_media_nodes.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visualflow_memory_effect_nodes.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visualflow_memory_source_pins.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visualflow_prompt_only.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visualflow_random_nodes.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visualflow_string_contains_replace.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_visualflow_tool_parameters_node.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_wait_event_prompt_metadata.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_workflow_bundle_registry.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_workspace_policy_allowlist_mode.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_workspace_policy_mount_virtual_paths.py +0 -0
- {abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_workspace_policy_tool_calls_persist_across_restart.py +0 -0
|
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.4.13] - 2026-05-19
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- The `multimodal` extra now uses AbstractCore's current remote/vision/voice/audio abstraction extras and declares the media document dependencies directly, avoiding Core's older narrow media constraints when combined with `[all-apple]` or `[all-gpu]`.
|
|
14
|
+
- Apple/GPU Runtime profile extras now bound setuptools to a modern version compatible with Torch's `<82` constraint, preventing resolver backtracking into broken legacy setuptools releases.
|
|
15
|
+
|
|
10
16
|
## [0.4.12] - 2026-05-19
|
|
11
17
|
|
|
12
18
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: AbstractRuntime
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.13
|
|
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
|
|
@@ -26,20 +26,30 @@ Provides-Extra: abstractcore
|
|
|
26
26
|
Requires-Dist: abstractcore>=2.13.15; extra == 'abstractcore'
|
|
27
27
|
Provides-Extra: all-apple
|
|
28
28
|
Requires-Dist: abstractcore[all-apple]>=2.13.15; extra == 'all-apple'
|
|
29
|
+
Requires-Dist: setuptools<82.0.0,>=80.10.2; extra == 'all-apple'
|
|
29
30
|
Provides-Extra: all-gpu
|
|
30
31
|
Requires-Dist: abstractcore[all-gpu]>=2.13.15; extra == 'all-gpu'
|
|
32
|
+
Requires-Dist: setuptools<82.0.0,>=80.10.2; extra == 'all-gpu'
|
|
31
33
|
Provides-Extra: apple
|
|
32
34
|
Requires-Dist: abstractcore[apple]>=2.13.15; extra == 'apple'
|
|
35
|
+
Requires-Dist: setuptools<82.0.0,>=80.10.2; extra == 'apple'
|
|
33
36
|
Provides-Extra: docs
|
|
34
37
|
Requires-Dist: mkdocs-material>=9.0.0; extra == 'docs'
|
|
35
38
|
Requires-Dist: mkdocs>=1.6.0; extra == 'docs'
|
|
36
39
|
Requires-Dist: pymdown-extensions>=10.0; extra == 'docs'
|
|
37
40
|
Provides-Extra: gpu
|
|
38
41
|
Requires-Dist: abstractcore[gpu]>=2.13.15; extra == 'gpu'
|
|
42
|
+
Requires-Dist: setuptools<82.0.0,>=80.10.2; extra == 'gpu'
|
|
39
43
|
Provides-Extra: mcp-worker
|
|
40
44
|
Requires-Dist: abstractcore[tools]>=2.13.15; extra == 'mcp-worker'
|
|
41
45
|
Provides-Extra: multimodal
|
|
42
|
-
Requires-Dist: abstractcore[audio,
|
|
46
|
+
Requires-Dist: abstractcore[audio,remote,vision,voice]>=2.13.15; extra == 'multimodal'
|
|
47
|
+
Requires-Dist: pandas<3.0.0,>=1.0.0; extra == 'multimodal'
|
|
48
|
+
Requires-Dist: pillow<13.0.0,>=10.0.0; extra == 'multimodal'
|
|
49
|
+
Requires-Dist: pymupdf-layout<2.0.0,>=1.26.6; extra == 'multimodal'
|
|
50
|
+
Requires-Dist: pymupdf4llm<1.0.0,>=0.0.20; extra == 'multimodal'
|
|
51
|
+
Requires-Dist: python-pptx<2.0.0,>=1.0.2; extra == 'multimodal'
|
|
52
|
+
Requires-Dist: unstructured[docx,odt,pptx,rtf,xlsx]<0.19.0,>=0.18.32; extra == 'multimodal'
|
|
43
53
|
Provides-Extra: test
|
|
44
54
|
Requires-Dist: pytest>=7.0.0; extra == 'test'
|
|
45
55
|
Description-Content-Type: text/markdown
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "AbstractRuntime"
|
|
7
|
-
version = "0.4.
|
|
7
|
+
version = "0.4.13"
|
|
8
8
|
description = "AbstractRuntime: a durable graph runner designed to pair with AbstractCore."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -51,24 +51,34 @@ abstractcore = [
|
|
|
51
51
|
|
|
52
52
|
apple = [
|
|
53
53
|
"abstractcore[apple]>=2.13.15",
|
|
54
|
+
"setuptools<82.0.0,>=80.10.2",
|
|
54
55
|
]
|
|
55
56
|
|
|
56
57
|
gpu = [
|
|
57
58
|
"abstractcore[gpu]>=2.13.15",
|
|
59
|
+
"setuptools<82.0.0,>=80.10.2",
|
|
58
60
|
]
|
|
59
61
|
|
|
60
62
|
all-apple = [
|
|
61
63
|
"abstractcore[all-apple]>=2.13.15",
|
|
64
|
+
"setuptools<82.0.0,>=80.10.2",
|
|
62
65
|
]
|
|
63
66
|
|
|
64
67
|
all-gpu = [
|
|
65
68
|
"abstractcore[all-gpu]>=2.13.15",
|
|
69
|
+
"setuptools<82.0.0,>=80.10.2",
|
|
66
70
|
]
|
|
67
71
|
|
|
68
72
|
# Enables AbstractCore multimodal generation helpers with common OpenAI-backed
|
|
69
73
|
# image/voice capability packages.
|
|
70
74
|
multimodal = [
|
|
71
|
-
"abstractcore[
|
|
75
|
+
"abstractcore[remote,vision,voice,audio]>=2.13.15",
|
|
76
|
+
"Pillow<13.0.0,>=10.0.0",
|
|
77
|
+
"pymupdf4llm<1.0.0,>=0.0.20",
|
|
78
|
+
"pymupdf-layout<2.0.0,>=1.26.6",
|
|
79
|
+
"unstructured[docx,odt,pptx,rtf,xlsx]<0.19.0,>=0.18.32",
|
|
80
|
+
"python-pptx<2.0.0,>=1.0.2",
|
|
81
|
+
"pandas<3.0.0,>=1.0.0",
|
|
72
82
|
]
|
|
73
83
|
|
|
74
84
|
# Enables `abstractruntime-mcp-worker` with the default toolsets (includes bs4/lxml).
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
### Fixed
|
|
2
|
+
- The `multimodal` extra now uses AbstractCore's current remote/vision/voice/audio abstraction extras and declares the media document dependencies directly, avoiding Core's older narrow media constraints when combined with `[all-apple]` or `[all-gpu]`.
|
|
3
|
+
- Apple/GPU Runtime profile extras now bound setuptools to a modern version compatible with Torch's `<82` constraint, preventing resolver backtracking into broken legacy setuptools releases.
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/tests/test_llm_call_media_artifact_refs.py
RENAMED
|
@@ -38,8 +38,13 @@ def test_llm_call_media_resolves_artifact_refs_to_temp_files() -> None:
|
|
|
38
38
|
assert isinstance(params, dict)
|
|
39
39
|
assert params.get("glyph_compression") == "never"
|
|
40
40
|
assert isinstance(media, list) and media, "Expected media to be passed"
|
|
41
|
-
|
|
42
|
-
assert isinstance(
|
|
41
|
+
item = media[0]
|
|
42
|
+
assert isinstance(item, dict), "Expected media item to preserve artifact metadata"
|
|
43
|
+
p = str(item.get("file_path") or "")
|
|
44
|
+
assert p, "Expected media item to include a temp file path"
|
|
45
|
+
assert item.get("$artifact") == meta.artifact_id
|
|
46
|
+
assert item.get("artifact_id") == meta.artifact_id
|
|
47
|
+
assert item.get("content_type") == "text/plain"
|
|
43
48
|
with open(p, "rb") as f:
|
|
44
49
|
assert f.read() == b"hello world"
|
|
45
50
|
return {"content": "OK", "metadata": {}}
|
|
@@ -9,8 +9,13 @@ class _StubLLM:
|
|
|
9
9
|
def generate(self, *, prompt, messages, system_prompt, media, tools, params):
|
|
10
10
|
self.calls += 1
|
|
11
11
|
assert isinstance(media, list) and media, "expected media list"
|
|
12
|
-
|
|
13
|
-
assert isinstance(
|
|
12
|
+
item = media[0]
|
|
13
|
+
assert isinstance(item, dict), "expected media to preserve artifact metadata"
|
|
14
|
+
p = str(item.get("file_path") or "")
|
|
15
|
+
assert p, "expected media to include a temp file path"
|
|
16
|
+
assert item.get("$artifact")
|
|
17
|
+
assert item.get("artifact_id")
|
|
18
|
+
assert item.get("content_type") == "text/plain"
|
|
14
19
|
with open(p, "rb") as f:
|
|
15
20
|
assert f.read() == b"hello world"
|
|
16
21
|
return {"content": "OK", "metadata": {}}
|
|
@@ -109,4 +114,3 @@ def test_llm_call_media_artifact_refs_persist_across_restart():
|
|
|
109
114
|
kwargs = obs.get("llm_generate_kwargs")
|
|
110
115
|
assert isinstance(kwargs, dict)
|
|
111
116
|
assert kwargs.get("media") == attachments
|
|
112
|
-
|
|
@@ -24,8 +24,13 @@ def test_llm_call_media_materializes_artifact_using_source_path_label(tmp_path:
|
|
|
24
24
|
assert err is None
|
|
25
25
|
assert isinstance(resolved, list) and len(resolved) == 1
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
item = resolved[0]
|
|
28
|
+
assert isinstance(item, dict)
|
|
29
|
+
out_path = Path(str(item.get("file_path") or ""))
|
|
28
30
|
assert out_path.is_file()
|
|
29
31
|
assert out_path.read_bytes() == b"hello\n"
|
|
30
32
|
short = str(meta.artifact_id)[:8]
|
|
31
33
|
assert out_path.name == f"Values__{short}.md"
|
|
34
|
+
assert item.get("$artifact") == str(meta.artifact_id)
|
|
35
|
+
assert item.get("artifact_id") == str(meta.artifact_id)
|
|
36
|
+
assert item.get("content_type") == "text/plain"
|
|
@@ -49,11 +49,14 @@ def test_runtime_exposes_abstractcore_and_worker_extras_with_gateway_aligned_flo
|
|
|
49
49
|
assert "[project.optional-dependencies]" in text
|
|
50
50
|
assert "abstractcore = [" in text
|
|
51
51
|
assert "mcp-worker = [" in text
|
|
52
|
-
assert '"abstractcore>=2.13.
|
|
53
|
-
assert '"abstractcore[
|
|
52
|
+
assert '"abstractcore>=2.13.15"' in text
|
|
53
|
+
assert '"abstractcore[remote,vision,voice,audio]>=2.13.15"' in text
|
|
54
|
+
assert '"Pillow<13.0.0,>=10.0.0"' in text
|
|
55
|
+
assert '"unstructured[docx,odt,pptx,rtf,xlsx]<0.19.0,>=0.18.32"' in text
|
|
56
|
+
assert '"python-pptx<2.0.0,>=1.0.2"' in text
|
|
54
57
|
|
|
55
58
|
worker_block = _extract_optional_dependency_block(text, key="mcp-worker")
|
|
56
|
-
assert '"abstractcore[tools]>=2.13.
|
|
59
|
+
assert '"abstractcore[tools]>=2.13.15"' in worker_block
|
|
57
60
|
|
|
58
61
|
|
|
59
62
|
def test_runtime_exposes_python_install_hardware_profile_cascades() -> None:
|
|
@@ -72,7 +75,11 @@ def test_runtime_exposes_python_install_hardware_profile_cascades() -> None:
|
|
|
72
75
|
all_apple_block = _extract_optional_dependency_block(text, key="all-apple")
|
|
73
76
|
all_gpu_block = _extract_optional_dependency_block(text, key="all-gpu")
|
|
74
77
|
|
|
75
|
-
assert '"abstractcore[apple]>=2.13.
|
|
76
|
-
assert '"abstractcore[gpu]>=2.13.
|
|
77
|
-
assert '"abstractcore[all-apple]>=2.13.
|
|
78
|
-
assert '"abstractcore[all-gpu]>=2.13.
|
|
78
|
+
assert '"abstractcore[apple]>=2.13.15"' in apple_block
|
|
79
|
+
assert '"abstractcore[gpu]>=2.13.15"' in gpu_block
|
|
80
|
+
assert '"abstractcore[all-apple]>=2.13.15"' in all_apple_block
|
|
81
|
+
assert '"abstractcore[all-gpu]>=2.13.15"' in all_gpu_block
|
|
82
|
+
assert '"setuptools<82.0.0,>=80.10.2"' in apple_block
|
|
83
|
+
assert '"setuptools<82.0.0,>=80.10.2"' in gpu_block
|
|
84
|
+
assert '"setuptools<82.0.0,>=80.10.2"' in all_apple_block
|
|
85
|
+
assert '"setuptools<82.0.0,>=80.10.2"' in all_gpu_block
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
### Fixed
|
|
2
|
-
- Remote AbstractCore transcription now uses provider-scoped audio routes such as `/{provider}/v1/audio/transcriptions` when an STT provider is selected.
|
|
3
|
-
- VisualFlow generated media nodes now keep LLM `provider`/`model` routing separate from image, TTS, and STT provider/model pins.
|
|
4
|
-
|
|
5
|
-
### Changed
|
|
6
|
-
- Minimum AbstractCore optional dependency floor is now `abstractcore>=2.13.15`.
|
|
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.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/001_runtime_kernel.md
RENAMED
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/003_wait_primitives.md
RENAMED
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/004_scheduler_driver.md
RENAMED
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/006_snapshots_bookmarks.md
RENAMED
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/009_artifact_store.md
RENAMED
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/completed/011_subworkflow_support.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/deprecated/001_runtime_kernel.md
RENAMED
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/deprecated/002_snapshots_bookmarks.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/deprecated/005_docs_updates.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/deprecated/DEPRECATED_README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/docs/backlog/planned/008_signatures_and_keys.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
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/identity/fingerprint.py
RENAMED
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/integrations/__init__.py
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
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/memory/active_context.py
RENAMED
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/memory/active_memory.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/memory/memact_composer.py
RENAMED
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/memory/recall_levels.py
RENAMED
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/memory/token_budget.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/rendering/json_stringify.py
RENAMED
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/scheduler/convenience.py
RENAMED
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/scheduler/scheduler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstractruntime-0.4.12 → abstractruntime-0.4.13}/src/abstractruntime/storage/ledger_chain.py
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.4.12 → abstractruntime-0.4.13}/src/abstractruntime/visualflow_compiler/flow.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|