matrx-ai 0.5.332__tar.gz → 0.5.334__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.
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/PKG-INFO +6 -6
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/__init__.py +7 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/agent_ops.py +0 -43
- matrx_ai-0.5.334/matrx_ai/tools/kinds/google.py +230 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/topical_map.py +124 -1
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/workflow_tools.py +13 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/pyproject.toml +6 -6
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/.gitignore +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/AGENTS.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/CLAUDE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/MEDIA_VARIABLES_AND_HANDOFF.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/REMAINING_TASKS.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/TEST_HEALTH_HANDOFF.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/conftest.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/examples/embed_vfs.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/_ext.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agent_runners/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agent_runners/PODCAST_PIPELINE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agent_runners/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agent_runners/_checkpoint.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agent_runners/content_cleaner.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agent_runners/conversation_labeler.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agent_runners/podcast_generator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agent_runners/podcast_stages.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agent_runners/research.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agent_runners/tests/test_distinct_voices.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/DEPRECATED_prompts_manager.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/auto_assignment.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/batch_render.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/cache.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/conversation_type.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/definition.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/executor.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/history_hydration.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/library/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/library/schema_coerce.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/named.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/output.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/resolver.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/response_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/services/conversation_labeler.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/source_tracking.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/tests/new_agent_test.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/tests/test_response_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/tests/test_structured_output_emit.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/tests/test_variables_prompt_door.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/types.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/usage_registry.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/variable_kinds.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/variable_schema.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/agents/variables.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/browser_handoff/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/browser_handoff/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/browser_handoff/coordinator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/browser_handoff/handle.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/browser_handoff/models.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/browser_handoff/outcomes.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/browser_handoff/seam.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/capabilities/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/capabilities/browser_dom.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/capabilities/built_in.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/capabilities/desktop_native.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/capabilities/models.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/capabilities/registry.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/capabilities/tests/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/capabilities/tests/test_browser_dom.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/capabilities/tests/test_capabilities.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/catalog/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/catalog/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/catalog/canonicalize.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/catalog/constraint_eval.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/catalog/controls.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/catalog/equivalence.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/catalog/errors.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/catalog/host_catalog.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/catalog/knobs.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/catalog/lifecycle.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/catalog/manager.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/catalog/models.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/catalog/processors.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/catalog/resolve.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/catalog/routes.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/client_host/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/client_host/agent_source.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/client_host/mandate_source.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/client_host/store.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/client_host/validate.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/coding_sessions/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/coding_sessions/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/coding_sessions/models.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/concepts/ai_matrx_context_engine_v2.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/concepts/context_engine_plus_deferred_context_full_flow.svg +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/AGENTS_API.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/CONTENT_TYPES.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/TABLE_REFERENCE_FETCH.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/_parity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/agent-definition-types.ts +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/ai-api-types.ts +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/citations.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/config_utils.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/context_preflight.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/context_trim.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/contract.schema.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/custom_tool.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/dictionary_config.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/enums.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/extra_config.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/finish_reason.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/json_schema_wire.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/llm_params.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/llm_wire_types.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/media_config.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/message-types.ts +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/message_config.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/models/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/models/content.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/models/extra.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/models/media.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/models/message.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/models/response.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/models/structured_input.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/models/unified.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/models/usage.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/name_gender.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/openai_responses_tool_ids.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/output_ceiling.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/picklist_runtime.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/prompt_values.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/read_only_resources.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/resource_ref.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/response_format.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/send_boundary.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/structured_input_config.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/structured_input_resolver.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/tests/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/tests/test_absolute_ceiling.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/tests/test_get_output_excludes_thinking.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/tool_config_image_processing_spec.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/tool_result_guard.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/tools_config.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/tts_config.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/unified_config.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/unified_content.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/usage_config.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/validators.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/config/wire_names.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/context/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/context/app_context.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/context/emitter_protocol.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/context/environment_sniffer.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/context/events.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/context_engine.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/_agx_manager_impl.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/_arm_managers_impl.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/_conversation_rebuild_impl.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/_cx_managers_impl.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/_guest_registry_impl.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/_registry.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/agx_manager.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/ai_models/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/ai_models/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/ai_models/_ai_model_base_impl.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/ai_models/_ai_model_dto_impl.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/ai_models/_ai_model_manager_orm.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/ai_models/ai_model_base.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/ai_models/ai_model_dto.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/ai_models/ai_model_manager.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/arm_managers.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/content_types/DATA_REF.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/content_types/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/content_types/_notes_impl.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/content_types/_tasks_impl.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/content_types/data_ref.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/content_types/data_ref_utils.ts +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/content_types/datasets.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/content_types/notes.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/content_types/patch_utils.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/content_types/picklists.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/content_types/tasks.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/content_types/tests.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/control_tokens.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/conversation_gate.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/conversation_rebuild.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/conversation_title_backfill.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/cx_managers.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/db_requirements.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/guest_registry.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/message_parts.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/message_positions.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/migrations/0050_vfs_inode_blob.sql +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/migrations/0051_request_execution_attribution.sql +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/migrations/TOOL_CALL_OUTPUT_METADATA.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/migrations/add_observational_memory.sql +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/ownership_fields.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/persistence.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/request_tracking_log.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/tests/db_tests.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/turn_failure.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/db/voice_catalog.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/docs/AUDIO_AUTOMATIC_FALLBACK.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/docs/AUDIO_HANDLING_COMPARISON.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/docs/GROQ_TRANSCRIPTION.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/docs/GROQ_TRANSCRIPTION_QUICK_START.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/docs/GROQ_TRANSCRIPTION_SUMMARY.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/docs/GROQ_TRANSCRIPTION_USAGE_TRACKING.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/docs/STT_CATALOG.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/docs/SUBAGENTS.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/docs/TRANSCRIPTION_CACHING.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/docs/YOUTUBE_URL_HANDLING.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/evaluators/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/evaluators/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/evaluators/ai_judge.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/evaluators/calibration.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/evaluators/judge.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/evaluators/ledger.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/evaluators/selector.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/extraction.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/_strict_json.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/agent_action.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/agent_assignment_action.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/agent_loop_actions.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/agent_produce_action.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/chat_action.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/conversation_action.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/extract_action.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/image_action.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/image_pipeline_actions.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/llm_action.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/mandate_action.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/mandates.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/scrape_action.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/search_action.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/shared.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/tests/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/tests/test_extract_model_contract.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/tests/test_graph_nodes.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/tests/test_llm_response_format.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/tests/test_node_handlers_execute.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/tests/test_node_panel_hooks.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/transcribe_action.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/tts_action.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/util_action.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/graph_nodes/video_action.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/injection_catalog.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/instructions/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/instructions/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/instructions/content_blocks_manager.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/instructions/core.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/instructions/docs/MATRX_PATTERNS_FRONTEND_GUIDE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/instructions/docs/QUICK_REFERENCE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/instructions/docs/README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/instructions/matrx_fetcher.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/instructions/pattern_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/instructions/tests/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/instructions/tests/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/instructions/tests/dataset_data_test.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/instructions/tests/direct_fetch_test.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/instructions/tests/instruction_builder_test.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/instructions/tests/integration_test.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/instructions/tests/simple_variable_example.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/instructions/tests/variable_recognition_test.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/kinds.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/local_data/.gitignore +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/local_data/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/local_data/paths.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/mandates.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/media/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/media/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/media/file_handles.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/media/generation_metadata.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/media/media_blocks.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/media/media_persistence.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/media/mime_utils.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/media/naming.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/INTEGRATION_GUIDE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/adapter.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/buffering_coordinator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/constants.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/date_utils.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/events.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/factory.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/llm_adapter.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/message_utils.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/observational_memory.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/observer_agent.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/observer_runner.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/reflector_agent.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/reflector_runner.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/storage.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/storage_db.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/tests/test_async_buffering.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/tests/test_basic.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/thresholds.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/token_counter.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/memory/types.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/ops/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/ops/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/ops/issue_capture.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/ops/issue_registry.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/ops/pricing_drift.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/ops/provider_outage.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/change_claims.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/concurrent_engine.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/conversation_persistence.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/conversation_provider.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/conversation_runtime.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/cost_budget.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/execution_state.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/executor.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/loop_guard.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/mandate_carrier.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/overload_reroute.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/parallel_executor.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/recovery_logic.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/requests.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/required_members.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/reroute_alarm.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/step_phase.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/orchestrator/tracking.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/persistence/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/persistence/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/persistence/coordinator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/persistence/postgres_text.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/persistence/queue_helpers.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/persistence/registry.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/persistence/replay.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/plans/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/plans/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/plans/compiler.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/plans/errors.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/plans/types.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/plans/validate.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/PROCESSING_TASKS.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/audio/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/audio/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/audio/audio_preprocessing.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/audio/groq_transcription.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/audio/stt.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/audio/transcription_cache.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/block_detector.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/block_registry.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/content_view.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/envelope.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/fingerprint.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/generate_ts_types.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/kind_catalog.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/kind_surfaces_generated.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/artifact.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/base.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/comparison.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/decision.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/decision_tree.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/diagram.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/flashcards.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/item_presentation.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/math_problem.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/media.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/mermaid.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/presentation.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/progress.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/questionnaire.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/quiz.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/recipe.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/research.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/resources.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/schema_proposal.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/structured_info.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/table.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/tasks.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/text.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/thinking.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/timeline.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/transcript.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/models/troubleshooting.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/_llm_json.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/artifact_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/comparison_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/decision_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/decision_tree_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/diagram_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/diff_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/flashcard_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/item_presentation_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/math_problem_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/mermaid_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/presentation_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/progress_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/questionnaire_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/quiz_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/recipe_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/research_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/resources_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/schema_proposal_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/structured_info_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/table_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/task_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/timeline_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/timeline_stream_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/transcript_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/parsers/troubleshooting_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/stream_processor.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tag_detection_buffer.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/block_tester.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/stream_debug.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/test_block_detector.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/test_content.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/test_content_view.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/test_content_view_reads_real_envelopes.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/test_declared_markers_are_stamped.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/test_input.txt +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/test_mermaid_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/test_parsers/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/test_parsers/test_flashcard_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/test_parsers/test_parser_drift_guards.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/test_parsers/test_quiz_natural_shape.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/test_parsers/test_various_parsers.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/test_registered_kinds_are_kind_blocks.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/test_results/2026-03-24_13-54-33_decision_variant_b.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/test_stream_processor.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/test_streaming_partial_kinds.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/test_table_stream_stability.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/ts_bridge/parse_blocks.ts +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/blocks/tests/ts_bridge/stream_partials.ts +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/media_fallback/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/media_fallback/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/media_fallback/handler.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/media_fallback/resolvers.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/streaming-constitution.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/vision/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/vision/image_processor.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/vision/tests/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/vision/tests/test_image_processor.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/vision/tests/test_vision_classes.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/processing/vision/vision_classes.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/_media_dims.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/admission.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/anthropic/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/anthropic/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/anthropic/anthropic_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/anthropic/broker.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/anthropic/client.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/anthropic/translator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/base_media.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/base_translator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/cache_guard.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/capability_vocabulary.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/cerebras/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/cerebras/cerebras_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/cerebras/client.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/cerebras/translator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/citation_emit.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/cohere/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/cohere/rerank.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/data_sync/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/data_sync/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/data_sync/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/data_sync/cerebras_model_sync.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/data_sync/google_model_sync.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/data_sync/groq_model_sync.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/data_sync/model_sync.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/data_sync/openai_model_sync.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/data_sync/together_model_sync.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/data_sync/xai_model_sync.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/debug_pretty_print.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/eleven_labs/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/eleven_labs/TASK-Update-elevent-api.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/eleven_labs/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/eleven_labs/client.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/eleven_labs/direct_dialogue.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/eleven_labs/elevenlabs_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/eleven_labs/pronunciation_dict.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/eleven_labs/tts_streaming.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/errors.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/fastino/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/fastino/client.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/fastino/errors.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/fastino/fastino_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/fastino/models.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/generic_openai/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/generic_openai/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/generic_openai/endpoint_probe.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/generic_openai/generic_openai_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/generic_openai/huggingface_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/generic_openai/translator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/google/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/google/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/google/google_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/google/google_client.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/google/google_image_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/google/google_interactions_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/google/google_video_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/google/sample_podcast_direct.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/google/specialized.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/google/translator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/groq/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/groq/client.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/groq/groq_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/groq/stt.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/groq/translator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/keys.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/mock/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/mock/mock_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/model_listing.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/moonshot/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/moonshot/moonshot_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/openai/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/openai/client.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/openai/openai_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/openai/openai_image_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/openai/openai_video_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/openai/realtime.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/openai/translator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/outbound_capture.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/outbound_params.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/provider_io_capabilities.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/reasoning.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/reasoning_stream_state.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/replicate/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/replicate/model_descriptors.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/replicate/rate_limit.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/replicate/replicate_image_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/replicate/replicate_video_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/resolved_capabilities.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/sdk_drift.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/snapshot.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/snapshot_redactors.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/tests/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/tests/fixtures/openai_responses_request.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/tests/test_capture_client_sdk_flavor.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/tests/test_outbound_capture.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/tests/test_tts_segmentation.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/together/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/together/client.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/together/together_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/together/together_image_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/together/together_video_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/together/translator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/unified_client.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/xai/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/xai/client.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/xai/realtime.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/xai/translator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/xai/xai_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/xai/xai_image_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/providers/xai/xai_video_api.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/reports/cost_analysis.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/schema/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/schema/grammar_budget.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/schema/lint.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/schema/rules.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/skills/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/skills/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/skills/ingest.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/skills/models.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/skills/preamble.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/skills/providers.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/skills/resolver.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/skills/startup_check.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/testing/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/testing/host_isolation.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/testing/profile_factory.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/testing/record_replay.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/testing/tests/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/testing/tests/conftest.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/testing/tests/test_catalog_canonicalize.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/testing/tests/test_catalog_controls.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/testing/tests/test_catalog_manager.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/testing/tests/test_record_replay.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/clean_response.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/cx_storage_response.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/final_response.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/openai/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/openai/background_stream_async.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/openai/conversation_id_test.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/openai/openai_function_test.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/openai/openai_image_input.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/openai/openai_small_tests.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/openai/sample_output.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/prompts/agent_comparison.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/prompts/prompt_to_config.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/prompts/test_basic_prompts.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/sample_db.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/small_test.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/test_agent_loop_actions.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/test_apply_overrides.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/test_error_handling.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/test_evaluators.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/test_graph_nodes_turn_failure.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/test_image_pipeline_actions.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/test_judge_primitive.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/test_llm_params_drift.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/test_response_format.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/test_strict_json.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/test_translations.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tests/veo_generation.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/ARG_RECOVERY.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/FEATURE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/TOOLS_AUDIT_REPORT.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/TOOL_OUTPUT_VALIDATION_GATE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/TOOL_RESULT_SIZE_GATE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/USER_TOOL_WIRE_CONTRACT.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/_call_logger.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/_change_events.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/_db_log.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/_debug_log.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/_dispatch_util.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/_generated_declarations.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/_sandbox_proxy.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/_sandbox_runtime.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/agent_projection.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/agent_tool.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/arg_models/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/arg_models/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/arg_models/_coercion.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/arg_models/browser_args.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/arg_models/code_ingest_args.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/arg_models/db_args.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/arg_models/dictionary_args.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/arg_models/dispatcher_args.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/arg_models/fs_args.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/arg_models/math_args.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/arg_models/memory_args.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/arg_models/rag_args.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/arg_models/shell_args.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/arg_models/text_args.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/arg_models/user_secrets_args.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/arg_models/web_args.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/db_hints.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/declared.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/document_validation.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/dynamic_drain.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/error_remedy.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/execution_authorization.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/executor.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/external_handlers.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/external_mcp.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/fault.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/gates.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/guardrails.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/handle_tool_calls.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/image_outputs.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/STORE_HTML_SERVICE.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/TOOLS_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/_kd6_sabotage.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/_summarize_helper.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/_web_read_caps.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/agent_call.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/browser_discovery.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/bundle_lister.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/cloud_files.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/code.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/code_ingest.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/ctx.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/ctx_write.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/database.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/datasets_tools.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/debug_traces_tools.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/desktop_discovery.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/dictionary.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/feedback_tools.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/filesystem.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/kind_authoring.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/kind_component.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/kind_instance.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/kind_shared.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/math.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/memory.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/news.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/notes.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/picklists_tools.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/questionnaire.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/rag.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/random_wheel.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/seo.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/shell.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/skill.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/tasks.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/text.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/tool_component.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/travel.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/user_secrets_tool.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/vfs_filesystem.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/vfs_shell.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/vsc.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/web.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/implementations/widgets.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kind_stamp.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/agent_tasks.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/cms.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/code_docs.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/context_tools.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/database_tools.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/execution.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/fact_check.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/filesystem.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/ide.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/kind_authoring.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/kind_components.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/kind_instances.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/media_forensics.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/personal_content.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/scope_tools.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/text_tools.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/tool_components.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/tool_loading.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/tool_traces.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/tooling.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/udt_content.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/user_secrets.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/value_store.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/weather.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/wheel.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/kinds/workbench.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/knobs.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/lifecycle.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/logger.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/mcp_sync.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/merge.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/models.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/output_caps.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/output_models/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/output_models/seo.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/output_overflow.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/registry.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/result_gate.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/specs.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/streaming.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/MODULE_README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/mimic_model_tests.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/register_kind_tools.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/register_toolcomp_tools.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_agent_projection.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_client_kinds.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_code_ingest.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_content_ir_contracts.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_dispatch_validation.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_document_tool_result.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_dynamic_drain.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_external_mcp.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_fault.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_memory_org_stamp.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_output_caps.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_pending_injection_drain.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_preflight_executor_drop.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_random_wheel.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_research_web_caps.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_result_gate.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_screenshot_tool_result.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_seo_async_keyword_seam.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_seo_tools.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_surface_enforcement.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_tool_aliases.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_tool_component.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_tool_result_kinds.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_tool_specs.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_toolcomp_sample_caps.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_toolcomp_tools.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_validate.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_vfs_adapters.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_vfs_routing.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tests/test_wire_names.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tool_aliases.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tool_binding_db.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tool_def_db.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tool_executor_db.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/tool_source.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/turn_ledger.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/validate.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/validation/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/validation/engine.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/validation/runner.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/validation/schema.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/EXTRACTION.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/README.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/adapters/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/backends/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/backends/memory.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/backends/postgres.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/cache.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/awk.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/base.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/cat.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/cd.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/chmod.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/chown.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/cp.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/cut.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/df.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/diff.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/du.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/echo.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/env.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/file.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/find.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/grep.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/gzip.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/head.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/ln.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/ls.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/mkdir.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/mv.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/patch.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/printf.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/ps.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/pwd.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/read_cmd.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/readlink.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/realpath.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/registry.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/rm.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/rmdir.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/runner.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/sed.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/set_cmd.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/sort.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/stat.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/stubs.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/tail.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/tar.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/test_cmd.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/touch.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/tr.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/tree.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/type.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/uniq.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/unzip.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/wc.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/which.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/commands/xargs.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/core.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/errors.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/mimicry/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/mimicry/cat.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/mimicry/claude_tool.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/mimicry/coreutils_errors.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/mimicry/dates.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/mimicry/grep.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/mimicry/ls.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/mimicry/sizes.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/mimicry/stat.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/mimicry/traceback.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/paths.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/shell/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/shell/ast.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/shell/env.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/shell/executor.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/shell/expansion.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/shell/heredoc.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/shell/lexer.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/shell/parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/shell/runner.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs/workspace.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/tools/vfs_routing.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/utils/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai/utils/cache.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/matrx_ai_implementation_master_plan.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/scripts/contract_closure.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/scripts/dataclass_api_inventory.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/scripts/emit_contract_schema.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/scripts/engine_boundary_census.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/scripts/export_conformance_corpus.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/scripts/release.sh +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/scripts/verify_kind_instance_actor_artifact.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/browser_handoff_fakes.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/client_host/conftest.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/client_host/test_catalog_no_db.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/client_host/test_client_host_validate.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/client_host/test_control_rules_payload.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/client_host/test_credential_resolver_seam.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/client_host/test_execute_with_store.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/client_host/test_execution_agent_source.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/client_host/test_import_surface.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/client_host/test_key_resolver.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/client_host/test_ledger_truth_survives_persistence.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/client_host/test_lifecycle_no_db.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/client_host/test_mandate_source.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/client_host/test_no_db_streaming_with_tool.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/client_host/test_pricing_client_host.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/client_host/test_row_schema_fidelity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/client_host/test_source_kind_collision.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/client_host/test_tool_source.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/coding_sessions/test_models.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/error_browser_controlled_by_human.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/error_configuration.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/error_not_found_legacy.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/error_profile_access_denied.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/error_profile_busy.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/error_profile_not_found.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/error_stale_run.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/get_element_ok.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/human_required_captcha.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/human_required_credential_missing.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/human_required_mfa.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/navigate_ok_default_profile.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/navigate_ok_named_profile.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/navigate_ok_transient_legacy.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/reopened_for_handoff.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/resume_page_inventory.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/resume_page_inventory_truncated.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/screenshot_media_ref_error.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/browser_s6/screenshot_ok_media_ref.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/anthropic_adaptive.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/anthropic_adaptive__v2.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/anthropic_standard.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/cerebras_reasoning.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/cerebras_reasoning_toggle.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/cerebras_standard.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/google_thinking.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/google_thinking_3__flash.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/google_thinking_3__pro.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/google_thinking__v2.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/groq_reasoning.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/groq_reasoning_toggle.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/groq_standard.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/groq_standard__v2.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/huggingface_standard.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/openai_reasoning.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/openai_reasoning_minimal.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/openai_reasoning_xhigh.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/openai_reasoning_xhigh__v2.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/openai_standard.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/openai_standard__v2.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/together_text_standard.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/xai_reasoning.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/chat_param_golden/xai_standard.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/citations/anthropic_pdf_doc.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/citations/anthropic_search_result.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/citations/anthropic_stream_events.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/citations/anthropic_text_doc.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/citations/gemini_grounding.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/citations/openai_web_search_annotations.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/constraint-eval-fixture.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/fingerprint_vectors.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/kind_schemas_sample.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/live_agent_variables.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/google_image.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/google_image__v2.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/google_video.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/openai_image.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/openai_image__v2.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/openai_image__v3.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/openai_video.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/replicate_image.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/replicate_image__v2.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/replicate_image__v3.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/replicate_image__v4.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/replicate_image__v5.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/replicate_image__v6.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/replicate_image__v7.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/replicate_video.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/replicate_video__v2.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/replicate_video__v3.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/replicate_video__v4.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/replicate_video__v5.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/together_image.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/together_image__v2.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/together_image__v3.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/together_image__v4.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/together_image__v5.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/together_image__v6.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/together_video.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/together_video__v2.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/together_video__v3.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/together_video__v4.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/together_video__v5.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/xai_image.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/media_family_rules/xai_video.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/refresh_kind_schemas.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/w59_prescriber_outputs.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/fixtures/wire_replay/gemini_tool_turn_snapshot.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/memory/test_storage_identity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/memory/test_token_count_isolation.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/parity/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/parity/fixtures/01_mixed_prose_and_blocks.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/parity/fixtures/02_nested_xml_and_attributes.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/parity/fixtures/03_fences_and_languages.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/parity/fixtures/04_json_patterns.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/parity/fixtures/05_malformed_and_partial.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/parity/fixtures/06_dividers_media_tree.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/parity/fixtures/07_unrecognized_xml.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/parity/fixtures/08_embedded_kind_containers.md +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/parity/fixtures/variable-kind-bridge.generated.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/parity/harness.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/parity/test_partial_kind_fixture.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/parity/test_partial_value_parity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/parity/test_ts_parser_parity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/parity/test_variable_kind_fixture.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/persistence/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/persistence/conftest.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/persistence/test_chat_door_declares_actor.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/persistence/test_conversation_visibility.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/persistence/test_coordinator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/persistence/test_postgres_text.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/persistence/test_registry_policy.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/persistence/test_replay.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/persistence/test_replay_permanent_quarantine.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/persistence/test_replay_permanent_signature_siblings.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/persistence/test_replay_policy.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/plans/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/plans/test_plan_compiler.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/plans/test_plan_engine_mock.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/plans/test_plan_types.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/plans/test_plan_validation_gate.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/providers/test_cohere_rerank.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/providers/test_transport_truncation_is_retryable.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/fixtures/content_block_shapes.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/fixtures/message_shapes.json +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/test_code_execution_roundtrip.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/test_content_block_parity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/test_contract_closure.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/test_contract_schema.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/test_dataclass_api_inventory.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/test_extra_parity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/test_media_block_parity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/test_s1_corpus_replay.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/test_s1_message_and_response_replay.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/test_structured_input_parity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/test_token_usage_parity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/test_unexpected_keys.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/test_unified_config_parity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/test_unified_config_preconditions.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/test_unified_content_union.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/test_unified_message_parity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/pydantic_migration/test_unified_response_parity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_adversarial_content_contract.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_adversarial_prompt_door.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_agent_action_input.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_agent_call_history.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_agent_call_result_mode.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_agent_executor_structured_output.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_agent_handoff.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_agent_input_kind_gate.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_agent_produce_kind_binding.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_agent_recursion_depth.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_agent_result_mode.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_agent_run_cost_settlement.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_agent_start_mandate.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_agent_tool_projection_args.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_agent_variable_defaults.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_anthropic_effort_ceiling.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_anthropic_hosted_search.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_anthropic_reasoning_structured_output.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_anthropic_stream_event_loop.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_anthropic_terminal_assistant_guard.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_arg_error_hints.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_assignment_empty_answer_refusal.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_auto_assignment.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_batch_dispatch.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_block_envelope.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_block_envelope_families.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_block_registry_loader.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_bound_filesystem_adapter.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_broadcast_agent_result_binding.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_browser_args_forbid.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_browser_handoff_park_resume.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_browser_s6_fixtures.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_browser_s6_outcomes.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_cache_state_persistence_scope.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_capability_vocabulary.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_catalog_controls_supported_false_beats_processor.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_catalog_media_processors_parity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_catalog_model_lifecycle.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_catalog_rule_vocabulary.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_catalog_tts_stt.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_change_claim_gate.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_chat_param_golden.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_child_source_context.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_citation_emit.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_citations_normalization.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_citations_search_result_wire.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_code_execute_python_arguments.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_code_store_html_async.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_component_source_gate_parity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_config_hydration_sanitization.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_constraint_eval_fixture.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_content_deserializer_parity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_context_action_recovery.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_context_engine_multi_scope_cells.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_context_patch_failure_capture.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_context_trim_active_loop.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_control_token_persistence.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_conversation_adoption.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_conversation_history_fence.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_conversation_integrity_capture.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_conversation_labeler_provider.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_conversation_labeler_rendezvous.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_conversation_memo_scope.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_conversation_persistence.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_conversation_provider.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_conversation_rebuild_hydration.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_conversation_resolver_responder.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_conversation_response_format_transition.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_conversation_runtime.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_conversation_step_title.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_conversation_title_backfill.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_cross_family_blast.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_cross_family_blast_media.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_ctx_key_reconciliation.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_ctx_known_missing_key.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_ctx_summary_fallback.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_data_ref_allowlist.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_dataset_output_caps.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_db_hints.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_delegated_arg_recovery.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_delegated_schema_contract.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_delegation_authority.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_desktop_discovery_contract.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_document_output_ceiling.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_document_output_ceiling_at_send.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_document_text_serialization.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_dropped_setting_warning.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_durable_run_preflight.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_elevenlabs_audio_streaming.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_entity_input_context.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_ephemeral_message_lease.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_equivalence_law.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_executor_cancel_persist.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_executor_user_message_reservation.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_external_mcp_streaming.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_failed_turn_thread_text.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_fallback_http_code_boundaries.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_fastino_extraction.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_file_handles.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_file_search_match_ripgrep_rows.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_fingerprint_parity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_format_scraped_content.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_function_calling_gate.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_generic_openai_registry.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_generic_openai_streaming_usage.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_generic_openai_translator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_google_interactions.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_google_safety_settings.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_google_search_with_tools.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_google_specialized.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_google_tool_schema_items.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_google_wire_replay_payload.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_graph_node_normalization_offload.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_graph_node_registration.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_graph_nodes_structured_output.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_grooming_stubs.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_guardrails_dedupe_exempt.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_guest_registry.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_history_hydration.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_host_authored_user_turns.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_host_seam_isolation.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_idless_tool_call_guard.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_image_ref_result_content.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_import_no_config.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_infer_discriminator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_injection_catalog.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_interrupt_tail_hiding.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_issue_capture_context.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_iteration_assistant_announcement.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_kind_authoring_tools.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_kind_discriminator_first.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_kind_instance_actor_artifact.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_kind_instance_tools.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_kind_surface_bootstrap.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_kinds_response_format.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_knowledge_search_relevance_report.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_llm_stream_text.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_llm_to_pydantic_streaming.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_log_delegated_runtime_pin.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_loop_guard_reason_travels.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_mandate_carrier_guard.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_mandate_offer_rename.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_mandates_runtime_honesty.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_mcp_discovered_tool_purpose_boundary.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_mcp_lister_user_auth_discovery.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_mcp_sync.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_media_billing_basis.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_media_block_carries_visibility.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_media_fallback.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_media_history_single_locator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_media_identity_consumers.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_media_kind_reconciliation.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_media_node_output_durability.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_media_node_output_kinds.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_media_output_durability.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_media_visibility_policy.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_member_depth_warning.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_memory_wire_contract.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_message_part_wire_contract.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_message_position_contract.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_minor_image_safety.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_missing_provider_usage_capture.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_model_authoring_resolution.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_model_listing.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_model_visibility.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_moonshot_error_handling.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_named_agent_mandate_definition.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_nested_agent_stream_mutes.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_no_inline_agent_system_prompts.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_no_off_funnel_anthropic.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_no_traceback_destroying_tool_errors.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_offering_pin.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_openai_chat_tool_result_image.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_openai_config_converter_boundary.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_openai_responses_foreign_tool_ids.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_openai_stream_event_loop.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_openai_stream_terminal.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_openai_tool_call_message_adjacency.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_organization_system_actor.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_orphan_tool_use_repair.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_output_caps_list.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_output_ceiling_classifier.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_overload_reroute.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_paid_completion_guards.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_parent_lineage_capture.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_parse_llm_json_node.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_persistence_coordinator_ownership.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_persistence_error_text.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_podcast_cast_preview.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_podcast_heartbeat.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_podcast_image_provider_distribution.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_podcast_media_caps.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_podcast_official_video_media_resolution.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_podcast_post_prep.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_podcast_script_usage.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_podcast_usage_resume.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_podcast_voice_gender.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_pricing_drift_routing.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_pricing_exact_match_only.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_programmatic_agent_prepare_hook.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_prompt_ai_view.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_prompt_caching.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_provider_admission.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_provider_billed_usage_capture.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_provider_client_event_loop.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_provider_error_ownership.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_provider_id_never_message_pk.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_provider_io_capabilities.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_provider_outage_seam.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_provider_overload_retry_policy.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_provider_reasoning_wrapper_concurrency.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_provider_reroute_visibility.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_provider_tool_dedup.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_reasoning_persistence.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_reasoning_state_signal.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_request_snapshot_assistant_text_full.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_request_snapshot_json_safe.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_request_snapshot_provider_stamp.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_request_snapshot_store_gate.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_request_summary_parity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_required_members.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_resolved_capabilities.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_resource_ref_normalization.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_response_parser_repair.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_sampling_param_gating.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_sandbox_token_cache_isolation.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_sandbox_transient_outage_retry.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_schema_lint.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_schema_oneof_rewrite.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_schema_rules_const_rewrite.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_schema_rules_kind_first.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_sdk_drift_guard.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_sdk_kwargs_guard_census.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_send_boundary_cache_gate.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_send_boundary_guard.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_send_boundary_preflight.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_skill_ingest_flat_guard.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_skill_provider_scope.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_speech_model_chat_guard.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_sql_arg_coercion.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_sql_catalog_write_hook.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_sql_error_classification.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_sql_match_filters.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_sql_schema_aware_stamp.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_sql_write_match_lists.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_standing_output_contract_dispatch.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_structured_info_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_structured_input_tool_injection.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_structured_output_empty_refusal.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_structured_output_schema_strip.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_structured_sql_query.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_success_trace_evidence.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_summarize_helper.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_supersede_failed_turns.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_system_instruction_persist_roundtrip.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_system_prompt_freeze.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_system_run_cost_only_persistence.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_terminal_provider_failure_capture.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_terminal_response_guard.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_thinking_cross_provider_anthropic.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_thinking_cross_provider_google.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_together_image_pacing.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_together_reasoning_params.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_blob_media_identity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_call_backfill_cache.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_call_details_pairing.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_call_stats_key.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_completion_inline_persist.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_dispatch_provenance_and_ceiling.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_error_from_exception.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_id_edge_lazy_load.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_ledger_truth_in_structured_output.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_logger_standalone_ownership.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_logger_user_request_gate.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_registry_annotations.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_registry_extension_import.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_registry_reload.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_result_dedup.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_result_error_is_persisted.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_result_guard_capture.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_result_json_boundary.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_result_validator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_structured_output_conflict.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_trace_parent_ordering.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_validation_dispatch.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_validation_enum.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_validation_runner.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tool_validation_unbound_ownership.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_toolcomp_get_context_workflow.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_toolcomp_versioning.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_trace_tags.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_translator_base_request.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_translator_golden.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_trim_summary_per_iteration.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_truncated_response_capture.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_truncation_notice_context.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tts_speaker_alignment.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tts_speaker_gender_adoption.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_tts_structural_keys_stripped.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_unknown_tool_hint.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_unpriced_cost_never_silent_zero.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_user_request_memo_scope.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_variable_kinds_bridge.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_variable_mapping.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_variable_schema_fidelity.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_web_read_caps.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_web_search_billing.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_web_search_capability_gate.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_wire_swap_budget.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_wire_swap_role_gating.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_workbook_document_input.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_workflow_step_holder.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_write_governed_schemas.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_xai_native_translator.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/test_youtube_url_normalization.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/fidelity/__init__.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/fidelity/conftest.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/fidelity/fixtures.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/fidelity/harness.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/fidelity/test_fidelity_cat.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/fidelity/test_fidelity_errors.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/fidelity/test_fidelity_find.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/fidelity/test_fidelity_grep.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/fidelity/test_fidelity_ls.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/fidelity/test_harness_routing.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cache.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_awk.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_cat.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_cd.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_chmod.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_chown.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_cp.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_cut.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_df.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_diff.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_du.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_echo.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_env.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_file.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_find.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_grep.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_gzip.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_head.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_ln.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_ls.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_mkdir.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_mv.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_patch.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_printf.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_ps.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_pwd.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_read.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_readlink.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_realpath.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_rm.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_rmdir.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_sed.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_set.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_sort.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_stat.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_stubs.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_tail.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_tar.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_test.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_touch.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_tr.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_tree.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_type.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_uniq.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_unzip.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_wc.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_which.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_cmd_xargs.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_command_base.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_core.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_mimicry.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_package_isolation.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_paths.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_registry_isolation_contract.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_shell_executor.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_shell_expansion.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_shell_lexer.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_shell_parser.py +0 -0
- {matrx_ai-0.5.332 → matrx_ai-0.5.334}/tests/vfs/test_workspace_identity_no_silent_fallback.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: matrx-ai
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.334
|
|
4
4
|
Summary: Unified multi-provider AI client, orchestration, and tool system
|
|
5
5
|
Project-URL: Homepage, https://github.com/AI-Matrix-Engine/aidream-current
|
|
6
6
|
Project-URL: Repository, https://github.com/AI-Matrix-Engine/aidream-current
|
|
@@ -32,12 +32,12 @@ Requires-Dist: groq>=1.2.0
|
|
|
32
32
|
Requires-Dist: httpx
|
|
33
33
|
Requires-Dist: json-repair
|
|
34
34
|
Requires-Dist: matrx-assignment>=0.1.21
|
|
35
|
-
Requires-Dist: matrx-connect>=0.1.
|
|
36
|
-
Requires-Dist: matrx-files>=0.2.
|
|
37
|
-
Requires-Dist: matrx-graph>=0.2.
|
|
35
|
+
Requires-Dist: matrx-connect>=0.1.111
|
|
36
|
+
Requires-Dist: matrx-files>=0.2.173
|
|
37
|
+
Requires-Dist: matrx-graph>=0.2.171
|
|
38
38
|
Requires-Dist: matrx-runtime>=0.0.104
|
|
39
|
-
Requires-Dist: matrx-scraper[browser]>=0.2.
|
|
40
|
-
Requires-Dist: matrx-utils>=2.0.
|
|
39
|
+
Requires-Dist: matrx-scraper[browser]>=0.2.220
|
|
40
|
+
Requires-Dist: matrx-utils>=2.0.44
|
|
41
41
|
Requires-Dist: numpy>=2.0
|
|
42
42
|
Requires-Dist: openai>=2.35.1
|
|
43
43
|
Requires-Dist: pathspec>=1.0.0
|
|
@@ -70,6 +70,7 @@ from matrx_ai.tools.kinds.execution import ( # noqa: E402
|
|
|
70
70
|
ShellExecution,
|
|
71
71
|
)
|
|
72
72
|
from matrx_ai.tools.kinds.fact_check import FactCheckReviewSet # noqa: E402
|
|
73
|
+
from matrx_ai.tools.kinds.google import GOOGLE_TOOL_RESULT_KINDS # noqa: E402
|
|
73
74
|
from matrx_ai.tools.kinds.filesystem import ( # noqa: E402
|
|
74
75
|
DirectoryCreateResult,
|
|
75
76
|
DirectoryListing,
|
|
@@ -251,6 +252,12 @@ TOOL_RESULT_KINDS: dict[str, type[KindModel]] = {
|
|
|
251
252
|
# image verification pair — ONE kind each, shared with the workflow nodes
|
|
252
253
|
# web.google.reverse_image_search / image.metadata.read (no twin slugs).
|
|
253
254
|
**MEDIA_FORENSICS_TOOL_RESULT_KINDS,
|
|
255
|
+
# the two Google tools (2026-09-17, google-native PLAN §5.8). ONE union kind
|
|
256
|
+
# each — google_workspace_result was a PLACEHOLDER declared beside the other
|
|
257
|
+
# agent-ops shapes and bound to nothing, so the tool it describes stamped no
|
|
258
|
+
# __kind at all; google_marketing_result is new with its tool. The twelve-
|
|
259
|
+
# action `google_read` these two replaced had no kind and no row here.
|
|
260
|
+
**GOOGLE_TOOL_RESULT_KINDS,
|
|
254
261
|
# scope_system (aidream/services/scope_system/tools.py): render actions
|
|
255
262
|
# reshaped from a bare string into `context` (a scalar cannot carry __kind).
|
|
256
263
|
"scope_system": ScopeSystemResult,
|
|
@@ -208,49 +208,6 @@ class OfficeToolResult(KindModel):
|
|
|
208
208
|
__all__ = ["SelfPromptResult", "RulebookToolResult", "ResearchRunState", "OfficeToolResult"]
|
|
209
209
|
|
|
210
210
|
|
|
211
|
-
@kind(
|
|
212
|
-
"google_workspace_result",
|
|
213
|
-
label="Google Workspace Result",
|
|
214
|
-
family="google_workspace",
|
|
215
|
-
example={"created": True, "file_id": "1AbC", "name": "Notes", "kind": "google_document", "open_in_google": "https://docs.google.com/…"},
|
|
216
|
-
# PLACEHOLDER — list_resources/create/read/append (Docs), read/write
|
|
217
|
-
# (Sheets) and prepare_email (which NEVER sends) receipts.
|
|
218
|
-
maturity="placeholder",
|
|
219
|
-
)
|
|
220
|
-
class GoogleWorkspaceResult(KindModel):
|
|
221
|
-
#: `list_resources`.
|
|
222
|
-
resources: list[dict] | None = None
|
|
223
|
-
count: int | None = None
|
|
224
|
-
note: str | None = None
|
|
225
|
-
#: create receipts.
|
|
226
|
-
created: bool | None = None
|
|
227
|
-
file_id: str | None = None
|
|
228
|
-
name: str | None = None
|
|
229
|
-
kind: str | None = None
|
|
230
|
-
open_in_google: str | None = None
|
|
231
|
-
#: document read/append window.
|
|
232
|
-
title: str | None = None
|
|
233
|
-
text: str | None = None
|
|
234
|
-
total_chars: int | None = None
|
|
235
|
-
showing_chars: str | None = None
|
|
236
|
-
has_more: bool | None = None
|
|
237
|
-
next_start_char: int | None = None
|
|
238
|
-
appended: bool | None = None
|
|
239
|
-
#: sheet read/write window.
|
|
240
|
-
tab: str | None = None
|
|
241
|
-
range: str | None = None
|
|
242
|
-
rows: list[list[JsonValue]] | None = None
|
|
243
|
-
row_count: int | None = None
|
|
244
|
-
sheet_size: str | None = None
|
|
245
|
-
next_range_a1: str | None = None
|
|
246
|
-
written: bool | None = None
|
|
247
|
-
#: `prepare_email` — a draft for the HUMAN send step; never sent here.
|
|
248
|
-
sent: bool | None = None
|
|
249
|
-
draft: dict | None = None
|
|
250
|
-
from_email: str | None = None
|
|
251
|
-
next_step: str | None = None
|
|
252
|
-
|
|
253
|
-
|
|
254
211
|
@kind(
|
|
255
212
|
"tool_result_page",
|
|
256
213
|
label="Tool Result Page",
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
"""Kinds for the two Google agent tools — ``google_workspace`` · ``google_marketing``.
|
|
2
|
+
|
|
3
|
+
ONE union kind per tool, the ``cms_*`` / ``topical_map`` precedent: an
|
|
4
|
+
action-dispatched tool returns one shape whose branch-only keys are optional,
|
|
5
|
+
and every branch validates against it before the result leaves the tool
|
|
6
|
+
(a key the kind does not declare is a TOOL DEFECT, never an untyped
|
|
7
|
+
pass-through).
|
|
8
|
+
|
|
9
|
+
* ``google_workspace_result`` — Docs, Sheets, the prepared (never sent) email,
|
|
10
|
+
and the read/import halves of Calendar, Contacts and Tasks. Promoted from the
|
|
11
|
+
placeholder tier on 2026-09-17 when the tool was rebuilt to the convention
|
|
12
|
+
(``common-docs/projects/google-native/PLAN.md`` §5.8): every mutating action
|
|
13
|
+
gained ``dry_run``, so the kind now declares the PREVIEW branches too — the
|
|
14
|
+
block an append would land and where, the cells a write would replace, the
|
|
15
|
+
fields an import would mint, the field map a contact import would apply, and
|
|
16
|
+
which of a task set is already here.
|
|
17
|
+
* ``google_marketing_result`` — the six read-only marketing reads. Every branch
|
|
18
|
+
carries ``source`` (persisted vs live Google), the ``bounds`` it was asked
|
|
19
|
+
for, and the truthful truncation trio, because a marketing number read
|
|
20
|
+
without its bounds is how a partial window becomes a reported total.
|
|
21
|
+
|
|
22
|
+
The models live HERE, not in aidream, because ``TOOL_RESULT_KINDS`` may never
|
|
23
|
+
import aidream (``scripts/check_package_boundaries.py``) and the tool
|
|
24
|
+
implementations import these models to validate with.
|
|
25
|
+
|
|
26
|
+
Publish: ``scripts/publish_kind_catalog.py matrx_ai.tools.kinds.google --apply``.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
from __future__ import annotations
|
|
30
|
+
|
|
31
|
+
from matrx_graph.content_ir.model import KindModel
|
|
32
|
+
from matrx_graph.content_ir.sdk import kind
|
|
33
|
+
from pydantic import JsonValue
|
|
34
|
+
|
|
35
|
+
# ---------------------------------------------------------------------------
|
|
36
|
+
# google_workspace_result
|
|
37
|
+
# ---------------------------------------------------------------------------
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
@kind(
|
|
41
|
+
"google_workspace_result",
|
|
42
|
+
label="Google Workspace Result",
|
|
43
|
+
family="google_workspace",
|
|
44
|
+
example={
|
|
45
|
+
"action": "append_document",
|
|
46
|
+
"dry_run": True,
|
|
47
|
+
"file_id": "1AbC",
|
|
48
|
+
"title": "Q3 Plan",
|
|
49
|
+
"would_append": {
|
|
50
|
+
"position": "end_of_document",
|
|
51
|
+
"heading": "## 2026-09-17",
|
|
52
|
+
"text": "Three risks remain open.",
|
|
53
|
+
"after_char": 4211,
|
|
54
|
+
},
|
|
55
|
+
"note": "Nothing was written. Re-run without dry_run to append exactly this block.",
|
|
56
|
+
"open_in_google": "https://docs.google.com/document/d/1AbC",
|
|
57
|
+
},
|
|
58
|
+
)
|
|
59
|
+
class GoogleWorkspaceResult(KindModel):
|
|
60
|
+
#: Every result names the action that produced it (the union's own label).
|
|
61
|
+
action: str = ""
|
|
62
|
+
#: Which connected Google account answered. Present on every live read.
|
|
63
|
+
google_account: str | None = None
|
|
64
|
+
note: str | None = None
|
|
65
|
+
|
|
66
|
+
# ── list_resources: the files AI Matrx can reach + the health of the
|
|
67
|
+
# accounts behind them (what `google_read.list_capabilities` used to answer).
|
|
68
|
+
resources: list[dict] | None = None
|
|
69
|
+
count: int | None = None
|
|
70
|
+
accounts: list[dict] | None = None
|
|
71
|
+
|
|
72
|
+
# ── create receipts (Doc or Sheet).
|
|
73
|
+
created: bool | None = None
|
|
74
|
+
file_id: str | None = None
|
|
75
|
+
name: str | None = None
|
|
76
|
+
kind: str | None = None
|
|
77
|
+
open_in_google: str | None = None
|
|
78
|
+
|
|
79
|
+
# ── document read / append window.
|
|
80
|
+
title: str | None = None
|
|
81
|
+
text: str | None = None
|
|
82
|
+
total_chars: int | None = None
|
|
83
|
+
showing_chars: str | None = None
|
|
84
|
+
has_more: bool | None = None
|
|
85
|
+
next_start_char: int | None = None
|
|
86
|
+
appended: bool | None = None
|
|
87
|
+
|
|
88
|
+
# ── sheet read / write window.
|
|
89
|
+
tab: str | None = None
|
|
90
|
+
range: str | None = None
|
|
91
|
+
rows: list[list[JsonValue]] | None = None
|
|
92
|
+
row_count: int | None = None
|
|
93
|
+
sheet_size: str | None = None
|
|
94
|
+
next_range_a1: str | None = None
|
|
95
|
+
written: bool | None = None
|
|
96
|
+
|
|
97
|
+
# ── dry_run previews. `dry_run: true` means NOTHING was written; each
|
|
98
|
+
# preview is the exact change the same call without dry_run would make.
|
|
99
|
+
dry_run: bool | None = None
|
|
100
|
+
#: append_document — the block and where it lands.
|
|
101
|
+
would_append: dict | None = None
|
|
102
|
+
#: write_sheet — the cells that would be replaced and what would replace them.
|
|
103
|
+
would_write: dict | None = None
|
|
104
|
+
#: create_document / create_sheet — the file that would be created.
|
|
105
|
+
would_create: dict | None = None
|
|
106
|
+
|
|
107
|
+
# ── import_sheet_as_table.
|
|
108
|
+
#: One field per header-row column, with the column letter it came from.
|
|
109
|
+
fields: list[dict] | None = None
|
|
110
|
+
header_row: int | None = None
|
|
111
|
+
#: A step only the browser can take, named exactly. Never a fake success.
|
|
112
|
+
needs_client: dict | None = None
|
|
113
|
+
|
|
114
|
+
# ── prepare_email — a draft for the HUMAN send step; never sent here.
|
|
115
|
+
sent: bool | None = None
|
|
116
|
+
draft: dict | None = None
|
|
117
|
+
from_email: str | None = None
|
|
118
|
+
next_step: str | None = None
|
|
119
|
+
|
|
120
|
+
# ── read_calendar.
|
|
121
|
+
events: list[dict] | None = None
|
|
122
|
+
window_start: str | None = None
|
|
123
|
+
window_end: str | None = None
|
|
124
|
+
|
|
125
|
+
# ── read_contacts / import_contact.
|
|
126
|
+
contacts: list[dict] | None = None
|
|
127
|
+
#: import_contact — per Person field, where the value came from.
|
|
128
|
+
field_map: list[dict] | None = None
|
|
129
|
+
person: dict | None = None
|
|
130
|
+
imported: bool | None = None
|
|
131
|
+
matched_by: str | None = None
|
|
132
|
+
|
|
133
|
+
# ── read_tasks / import_tasks.
|
|
134
|
+
task_lists: list[dict] | None = None
|
|
135
|
+
tasks: list[dict] | None = None
|
|
136
|
+
#: import_tasks — what landed, what was already here, what was skipped.
|
|
137
|
+
imported_tasks: list[dict] | None = None
|
|
138
|
+
already_imported: list[dict] | None = None
|
|
139
|
+
skipped: list[dict] | None = None
|
|
140
|
+
|
|
141
|
+
# ── the human-in-the-loop branch. An organization can require a person to
|
|
142
|
+
# approve a write or an import before it happens (the ``hitl.google.*``
|
|
143
|
+
# knobs). When it does, the tool runs its OWN dry run, queues that exact
|
|
144
|
+
# preview in the one approval queue, and returns the preview WITH these two
|
|
145
|
+
# keys set — so the model is told, in the result rather than in prose, that
|
|
146
|
+
# nothing was written and where the change is waiting.
|
|
147
|
+
#: True when the change was PROPOSED, not made. Never present otherwise.
|
|
148
|
+
awaiting_approval: bool | None = None
|
|
149
|
+
#: The queue item: ``approval_id``, the ``mode`` it runs in, the ``knob``
|
|
150
|
+
#: that decided, whether the run was ``attended``, and who it waits with.
|
|
151
|
+
approval: dict | None = None
|
|
152
|
+
|
|
153
|
+
# ── the honesty trio every bounded read carries.
|
|
154
|
+
bounds: dict | None = None
|
|
155
|
+
truncated: bool | None = None
|
|
156
|
+
limit_note: str | None = None
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
# ---------------------------------------------------------------------------
|
|
160
|
+
# google_marketing_result
|
|
161
|
+
# ---------------------------------------------------------------------------
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
@kind(
|
|
165
|
+
"google_marketing_result",
|
|
166
|
+
label="Google Marketing Result",
|
|
167
|
+
family="google_marketing",
|
|
168
|
+
example={
|
|
169
|
+
"action": "read_search_console",
|
|
170
|
+
"source": "persisted",
|
|
171
|
+
"site_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
|
|
172
|
+
"bounds": {"start_date": "2026-08-01", "end_date": "2026-08-28", "limit": 1000},
|
|
173
|
+
"returned_count": 412,
|
|
174
|
+
"count_unit": "rows",
|
|
175
|
+
"truncated": False,
|
|
176
|
+
"completeness": "complete_within_requested_bound",
|
|
177
|
+
"limit_note": "Persisted Search Console rows are bounded by the requested limit.",
|
|
178
|
+
"data": {"rows": []},
|
|
179
|
+
},
|
|
180
|
+
)
|
|
181
|
+
class GoogleMarketingResult(KindModel):
|
|
182
|
+
action: str = ""
|
|
183
|
+
#: `persisted` = our own stored facts (no hidden sync); `live_google` = a
|
|
184
|
+
#: bounded call to Google made for this request. Never absent.
|
|
185
|
+
source: str = ""
|
|
186
|
+
#: Which connected Google account answered a live read.
|
|
187
|
+
google_account: str | None = None
|
|
188
|
+
site_id: str | None = None
|
|
189
|
+
channel_id: str | None = None
|
|
190
|
+
|
|
191
|
+
#: What was ASKED for — the window, the limit, the profile.
|
|
192
|
+
bounds: dict | None = None
|
|
193
|
+
returned_count: int | None = None
|
|
194
|
+
count_unit: str | None = None
|
|
195
|
+
#: True/False when the provider or our own cap says so; null when unknowable.
|
|
196
|
+
truncated: bool | None = None
|
|
197
|
+
completeness: str | None = None
|
|
198
|
+
limit_note: str | None = None
|
|
199
|
+
#: How old the numbers are, in words, when the source lags (GSC ~3 days).
|
|
200
|
+
freshness: str | None = None
|
|
201
|
+
note: str | None = None
|
|
202
|
+
|
|
203
|
+
#: The read's payload, under the shape the underlying reader returns.
|
|
204
|
+
data: JsonValue | None = None
|
|
205
|
+
|
|
206
|
+
# ── tracking_health: the plain-English verdict, the three graded checks, and
|
|
207
|
+
# what the read could not see. The check shape and the three booleans are the
|
|
208
|
+
# SAME vocabulary the stored snapshot declares (`web.tag_manager_snapshot`
|
|
209
|
+
# findings → `tag_manager_findings`, migration 0763), so this answer can be
|
|
210
|
+
# persisted verbatim rather than translated into a second set of words.
|
|
211
|
+
verdict: str | None = None
|
|
212
|
+
checks: list[dict] | None = None
|
|
213
|
+
has_ga4: bool | None = None
|
|
214
|
+
has_conversion_tag: bool | None = None
|
|
215
|
+
has_consent: bool | None = None
|
|
216
|
+
caveats: list[str] | None = None
|
|
217
|
+
containers: list[dict] | None = None
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
GOOGLE_TOOL_RESULT_KINDS: dict[str, type[KindModel]] = {
|
|
221
|
+
"google_workspace": GoogleWorkspaceResult,
|
|
222
|
+
"google_marketing": GoogleMarketingResult,
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
__all__ = [
|
|
227
|
+
"GOOGLE_TOOL_RESULT_KINDS",
|
|
228
|
+
"GoogleMarketingResult",
|
|
229
|
+
"GoogleWorkspaceResult",
|
|
230
|
+
]
|
|
@@ -10,7 +10,7 @@ doctrine forbids).
|
|
|
10
10
|
EVERY key is typed: the tool validates each result against this model before
|
|
11
11
|
returning it, so a database contract change that adds, drops or reshapes a key
|
|
12
12
|
fails loudly as `result_kind_mismatch` instead of reaching an agent untyped.
|
|
13
|
-
The shapes are the database's as of `
|
|
13
|
+
The shapes are the database's as of `seo_topical_map_19_page_intents`:
|
|
14
14
|
|
|
15
15
|
* an associated item the caller cannot open is ABSENT from every listing (no
|
|
16
16
|
entry, no count); a facet value's `ref` to such a row is `null`, the same as no
|
|
@@ -185,6 +185,103 @@ class PageMapping(KindSubModel):
|
|
|
185
185
|
error: str | None = None
|
|
186
186
|
|
|
187
187
|
|
|
188
|
+
# ── page intents (`page_intents`, `set_page_intents`) ────────────────────────
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
class IntentPage(EntityRef):
|
|
192
|
+
"""`seo.list_page_intents` page projection + its Search Console totals."""
|
|
193
|
+
|
|
194
|
+
site_id: str | None = None
|
|
195
|
+
clicks: int | None = None
|
|
196
|
+
impressions: int | None = None
|
|
197
|
+
#: the window the totals were summed over (the `performance_window_days` knob).
|
|
198
|
+
performance_window_days: int | None = None
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
class IntentTopicRef(KindSubModel):
|
|
202
|
+
slug: str
|
|
203
|
+
name: str
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
class CoveredTopic(KindSubModel):
|
|
207
|
+
"""A `covers` edge: where the page sits TODAY."""
|
|
208
|
+
|
|
209
|
+
slug: str
|
|
210
|
+
name: str
|
|
211
|
+
confidence: int | None = None
|
|
212
|
+
#: mapper | human | agent — who asserted the coverage.
|
|
213
|
+
source: str | None = None
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
class PageIntent(KindSubModel):
|
|
217
|
+
"""The one `intent` edge of a page: where it is GOING and what happens to it."""
|
|
218
|
+
|
|
219
|
+
topic: IntentTopicRef
|
|
220
|
+
#: keep | move | merge | redirect | rewrite | delete.
|
|
221
|
+
disposition: str
|
|
222
|
+
#: proposed | accepted | done.
|
|
223
|
+
state: str | None = None
|
|
224
|
+
source: str | None = None
|
|
225
|
+
note: str | None = None
|
|
226
|
+
#: merge / redirect only: the live page or planned page it points at. Null when
|
|
227
|
+
#: the destination row is one the caller cannot open — the same as no destination.
|
|
228
|
+
into: EntityRef | None = None
|
|
229
|
+
updated_at: str | None = None
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
class PageIntentRow(KindSubModel):
|
|
233
|
+
page: IntentPage
|
|
234
|
+
current_topics: list[CoveredTopic]
|
|
235
|
+
#: null when the page carries `covers` edges but no intent yet.
|
|
236
|
+
intent: PageIntent | None = None
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
# ── gaps, history, planned pages (`topic_gaps`, `map_history`, `create_planned_page`) ──
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
class TopicGap(KindSubModel):
|
|
243
|
+
"""A topic of the map carrying no live page and no planned page."""
|
|
244
|
+
|
|
245
|
+
slug: str
|
|
246
|
+
name: str
|
|
247
|
+
status: str
|
|
248
|
+
depth: int
|
|
249
|
+
keyword_count: int
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
class MapHistoryRow(KindSubModel):
|
|
253
|
+
"""A topic the map no longer shows — rejected or retired — and who changed it.
|
|
254
|
+
|
|
255
|
+
`changed_at` / `changed_by` come from `history.row_versions`, so they are the
|
|
256
|
+
platform's record of the change, not a column a writer could set."""
|
|
257
|
+
|
|
258
|
+
slug: str
|
|
259
|
+
name: str
|
|
260
|
+
status: str
|
|
261
|
+
description: str | None = None
|
|
262
|
+
parent_slug: str | None = None
|
|
263
|
+
version: int | None = None
|
|
264
|
+
attachments: Attachments | None = None
|
|
265
|
+
changed_at: str | None = None
|
|
266
|
+
changed_by: str | None = None
|
|
267
|
+
#: user | agent | code — the actor tier the change was made under.
|
|
268
|
+
changed_by_tier: str | None = None
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
class PlannedPage(KindSubModel):
|
|
272
|
+
"""The `plan.node` `create_planned_page` had the content plan create. `slug` and
|
|
273
|
+
`route` are the plan's own derivations, never ours."""
|
|
274
|
+
|
|
275
|
+
id: str | None = None
|
|
276
|
+
site_id: str | None = None
|
|
277
|
+
label: str | None = None
|
|
278
|
+
slug: str | None = None
|
|
279
|
+
route: str | None = None
|
|
280
|
+
node_type: str | None = None
|
|
281
|
+
page_type: str | None = None
|
|
282
|
+
status: str | None = None
|
|
283
|
+
|
|
284
|
+
|
|
188
285
|
# ── graph ────────────────────────────────────────────────────────────────────
|
|
189
286
|
|
|
190
287
|
|
|
@@ -359,6 +456,32 @@ class TopicalMapResult(KindModel):
|
|
|
359
456
|
mapped: int | None = None
|
|
360
457
|
failed: int | None = None
|
|
361
458
|
|
|
459
|
+
# page intents
|
|
460
|
+
#: `page_intents`: one row per page carrying an intent OR a `covers` edge.
|
|
461
|
+
#: Each listing keeps its OWN key — three shapes under one `items` would make an
|
|
462
|
+
#: agent guess which one it is holding, and would widen a published kind's field.
|
|
463
|
+
items: list[PageIntentRow] | None = None
|
|
464
|
+
#: `page_intents`: the unpaged count, and the window actually applied.
|
|
465
|
+
total: int | None = None
|
|
466
|
+
limit: int | None = None
|
|
467
|
+
offset: int | None = None
|
|
468
|
+
performance_window_days: int | None = None
|
|
469
|
+
#: `page_intents`: extra `intent` edges beyond the one per page that should exist —
|
|
470
|
+
#: nonzero is a data defect, never hidden.
|
|
471
|
+
duplicate_intents: int | None = None
|
|
472
|
+
#: `set_page_intents`: how many intents were written (`failed` counts the rest).
|
|
473
|
+
set: int | None = None
|
|
474
|
+
|
|
475
|
+
# proposals and planned pages
|
|
476
|
+
#: `reject_topics`: the proposals moved to `status = 'rejected'` — kept, never lost.
|
|
477
|
+
rejected: list[RemovedTopic] | None = None
|
|
478
|
+
#: `create_planned_page`: the node the content plan created (or would create).
|
|
479
|
+
node: PlannedPage | None = None
|
|
480
|
+
#: `topic_gaps`: topics with no live page and no planned page.
|
|
481
|
+
gaps: list[TopicGap] | None = None
|
|
482
|
+
#: `map_history`: topics the map no longer shows, newest change first.
|
|
483
|
+
history: list[MapHistoryRow] | None = None
|
|
484
|
+
|
|
362
485
|
|
|
363
486
|
TopicNode.model_rebuild()
|
|
364
487
|
|
|
@@ -134,6 +134,19 @@ class WorkflowAuthorResult(KindModel):
|
|
|
134
134
|
#: folded into the prose hint.
|
|
135
135
|
warnings: list[dict] | None = None
|
|
136
136
|
hint: str | None = None
|
|
137
|
+
#: The saved row's fresh concurrency token (ISO-8601), so a client that
|
|
138
|
+
#: already holds the row can adopt it without a second read.
|
|
139
|
+
updated_at: str | None = None
|
|
140
|
+
#: update/patch only — the RECEIPT of the write: the ids of the steps and
|
|
141
|
+
#: connections it added, changed or removed (``nodes_added`` /
|
|
142
|
+
#: ``nodes_updated`` / ``nodes_removed`` / ``edges_added`` /
|
|
143
|
+
#: ``edges_updated`` / ``edges_removed``), each list capped, with
|
|
144
|
+
#: ``truncated`` naming any list that was cut. The Studio reveals exactly
|
|
145
|
+
#: these on the canvas instead of diffing a re-read (Conductor mode,
|
|
146
|
+
#: 2026-09-17). Added to the KIND the same day it was added to the tool:
|
|
147
|
+
#: an undeclared key fails ``extra="forbid"`` and the whole result loses
|
|
148
|
+
#: its ``__kind`` stamp.
|
|
149
|
+
changed: dict[str, list[str]] | None = None
|
|
137
150
|
|
|
138
151
|
|
|
139
152
|
@kind(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "matrx-ai"
|
|
3
|
-
version = "0.5.
|
|
3
|
+
version = "0.5.334"
|
|
4
4
|
description = "Unified multi-provider AI client, orchestration, and tool system"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { text = "MIT" }
|
|
@@ -65,15 +65,15 @@ dependencies = [
|
|
|
65
65
|
"asyncpg>=0.31.0",
|
|
66
66
|
# --- Matrx ecosystem ---
|
|
67
67
|
# media/media_persistence.py imports VisibilityLiteral, first exported by 2.0.7.
|
|
68
|
-
"matrx-utils>=2.0.
|
|
69
|
-
"matrx-files>=0.2.
|
|
68
|
+
"matrx-utils>=2.0.44",
|
|
69
|
+
"matrx-files>=0.2.173",
|
|
70
70
|
# 0.1.26+ exports the Masterwork* event models used here (renamed 2026-08-17;
|
|
71
71
|
# the next matrx-connect release is the first tag that exports the new names).
|
|
72
|
-
"matrx-connect>=0.1.
|
|
72
|
+
"matrx-connect>=0.1.111",
|
|
73
73
|
# actions.register_node is imported at module scope and first shipped in 0.1.22.
|
|
74
|
-
"matrx-graph>=0.2.
|
|
74
|
+
"matrx-graph>=0.2.171",
|
|
75
75
|
# tools.implementations imports the browser implementation eagerly.
|
|
76
|
-
"matrx-scraper[browser]>=0.2.
|
|
76
|
+
"matrx-scraper[browser]>=0.2.220",
|
|
77
77
|
# matrx-runtime (the Request Management Layer): the conversation executor
|
|
78
78
|
# (orchestrator/conversation_runtime.py) is a CONSUMER of its ExecutionEngine —
|
|
79
79
|
# one conversation = one global_execution. ai → runtime is the acyclic edge.
|
|
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
|