flare-kernel 1.0.7__tar.gz → 1.0.8__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.
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/PKG-INFO +1 -1
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/pyproject.toml +1 -1
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/contracts/session_contract.py +10 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/api/session.py +22 -133
- flare_kernel-1.0.8/src/flare_kernel/router/api/session_access.py +48 -0
- flare_kernel-1.0.8/src/flare_kernel/router/api/session_messages.py +101 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/workflow_projection.py +6 -1
- flare_kernel-1.0.8/src/flare_kernel/router/canonical/workflow_run_projection.py +166 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/session/repository.py +9 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/session/repository_memory.py +26 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/session/repository_sql.py +39 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/session/repository_sql_schema.py +4 -1
- flare_kernel-1.0.8/src/flare_kernel/session_message_window.py +82 -0
- flare_kernel-1.0.8/src/flare_kernel/session_message_window_store.py +42 -0
- flare_kernel-1.0.8/src/flare_kernel/session_repository_registry.py +39 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/session_store.py +25 -40
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel.egg-info/PKG-INFO +1 -1
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel.egg-info/SOURCES.txt +6 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_session_api.py +42 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_session_sql_repository.py +43 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_workflow_projection_precedence.py +72 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/README.md +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/setup.cfg +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/app.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/contracts/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/contracts/artifact_document.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/contracts/auth_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/contracts/code_proposal_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/contracts/context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/contracts/kernel_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/contracts/list_event_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/contracts/llm_node_taxonomy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/contracts/mode.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/contracts/node_result.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/contracts/project_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/contracts/project_memory_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/contracts/run_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/contracts/source_image_understanding.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/contracts/update_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/contracts/workflow_tracker_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/list_event_broker.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/main.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/project_record_memory_store.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/project_session_summary.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/project_store.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/api/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/api/auth.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/api/auth_guard.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/api/chat.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/api/chat_attach_stream.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/api/chat_stream_timing.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/api/errors.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/api/list_events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/api/project.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/api/run.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/api/session_artifact_edit.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/api/session_list_events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/api/session_run_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/api/update.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/analysis.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/analysis_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/capability_availability.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/checkpoint.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/composer_ui.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/context/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/context/analysis.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/context/inputs.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/context/session.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/context_activity.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/context_authority.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/contract_support.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/flow.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/intent_state_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/mode_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/payload.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/track_actions.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/workflow_projection_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/workflow_tracker_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/analysis_artifact_overwrite_guard.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/analysis_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/analysis_result_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/artifact_action_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/artifact_regeneration_bridge.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/boundary_intent.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/boundary_response_composer.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/capability_boundary.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/degraded_fallback.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/guided.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/intake_chooser_reply_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/intake_commit_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/intake_question_visibility.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/intake_summary_content.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/intake_summary_document_sync.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/intake_summary_events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/intake_summary_submission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/output_quality.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/response_appendix.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/response_builder.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/response_quality_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/selection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/sidecar_reply_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/stream_collect.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/completion/turn_decision_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/context/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/context/endpoint.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/context/sourcing_preview.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/fast_gate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/hardcode_boundary.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/amount_quantity.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/answer.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/authority/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/authority/checkpoint.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/authority/core.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/authority/hydration.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/authority/session.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/canonicalization.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/clarification.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/decision_rules.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/delivery_time.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/entry_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/extraction/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/extraction/control_messages.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/extraction/core.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/extraction/extractors.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/extraction/merge.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/extraction/quantity_classifier.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/extraction/quantity_prefixes.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/extraction/use_case_patterns.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/field_projection/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/field_projection/core.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/field_projection/entity.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/field_projection/payload.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/field_projection/source.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/field_scope.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/guided/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/guided/confirmed_updates.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/guided/flags.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/guided/followup.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/guided/followup_work_item.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/guided/open_fields.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/guided/status.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/guided/summary.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/inputs.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/legacy_question.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/node_state.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/numeric.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/payload_updates.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/readiness.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/state_persistence.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/status/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/status/core.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/status/guided_session.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/status/projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/status/schema.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/status/stage_resolution.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intake/workflow_checkpoint.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intent/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intent/classifier_utils.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intent/compat_aliases.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intent/escalation/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intent/escalation/override.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intent/escalation/pipeline.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intent/escalation/signal.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intent/routing.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intent/session_intent/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intent/session_intent/core.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intent/session_intent/fields.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/intent/session_intent/small_talk.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_constants/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_constants/intake.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_constants/intent.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_constants/patch.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_endpoint_handlers/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_endpoint_handlers/health.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_endpoint_handlers/knowledge.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_endpoint_handlers/sourcing.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_endpoint_handlers/turn.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/canonical_state.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/context_io.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/dependency_resolution.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/domain_pack_payload.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/domain_trigger_signal_flow.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/flow.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/flow_admission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/flow_context_refs.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/flow_enrichment.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/flow_execution_mode.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/flow_orchestration_status.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/flow_result.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/flow_runtime_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/flow_timing.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/orchestration.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/payload_enrichment.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/runtime_prompt_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/structured_reasoning_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/turn_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_facade/utils.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_flow_bindings/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_flow_bindings/intent_query.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_flow_bindings/mode.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_flow_bindings/session_intent.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_request_pipeline/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_request_pipeline/action.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_request_pipeline/early_boundary.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_request_pipeline/fast_gate_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_request_pipeline/intake.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_request_pipeline/intake_session_intent_bridge.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_request_pipeline/intent_query.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_request_pipeline/intent_signal.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_request_pipeline/session_binding.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_route/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_route/action.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_route/execution.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_route/run.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_route/stream.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_stream_session.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/kernel_support_routes.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/mode/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/mode/resolution.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/mode/switch.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/next_actions_guard.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/action_readiness.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/actions.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/analysis_entry_decision.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/builder.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/checkpoint_state.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/context_helpers.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/core.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/decision.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/followup_state.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/result.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/runtime_state.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/state/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/state/context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/state/decision.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/state/entry.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/state/flow.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/state/followup.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/state/intent.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/state/node.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/state/payload.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/status/state/unpack.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/trace/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/trace/core.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/trace/projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/orchestration/trace/steps.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/patch_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/payload/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/payload/action.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/payload/admission_state.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/payload/analysis_artifact_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/payload/analysis_canvas.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/payload/analysis_template_matching.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/payload/analysis_template_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/payload/analysis_template_variants.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/payload/enrichment.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/payload/turn_act_enrichment.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/prompting/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/prompting/artifact_edit_preflight.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/prompting/artifact_template.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/prompting/boundary_intent.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/prompting/candidate_fields.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/prompting/capability_boundary.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/prompting/context_blocks.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/prompting/context_copy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/prompting/core.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/prompting/mainline_answer_frame.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/prompting/patch_preview.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/prompting/pre_response_plan.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/prompting/requirement_intake.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/prompting/response_strategy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/prompting/summary_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/prompting/track_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/prompting/workflow_guidance.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/request/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/request/identity.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/request/intent_resolution.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/response_intent/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/response_intent/analysis_output.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/response_intent/contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/response_intent/conversation_intent.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/response_intent/document_output.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/response_intent/patch_diff_intent.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/response_intent/resolution.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/retrieval/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/retrieval/aliases.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/retrieval/field_queries.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/retrieval/projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/retrieval/query_builder.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/retrieval/search.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/source_library.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/artifact_upkeep_completion.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/completion.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/context_patch_completion.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/final_patch_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/finalize.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/interrupt.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/patch_fast_path_events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/patch_preview_events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/phase.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/phase_timing.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/post_completion.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/post_completion_canvas_events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/post_completion_canvas_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/post_completion_event_sequence.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/post_completion_persistence_payloads.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/post_completion_summary_actions.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/post_completion_visible_text.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/post_generation_completion.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/prologue.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/reconciliation_completion.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/session_exchange.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/text_cadence.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/draft/turn_disposition_completion.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/event_emitter.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/intake/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/intake/phase.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/mode/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/mode/event_payload.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/mode/events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/response/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/response/background_execution.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/response/bootstrap.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/response/builder.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/response/builder_transport.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/response/draft_phase.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/response/first_event_timing.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/response/patch_fast_path_phase.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/response/phase_groups.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/response/phases.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/response/runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/response/structured_reasoning_admission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/response/structured_reasoning_existing.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/response/structured_reasoning_phase.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/response/structured_reasoning_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/response/structured_reasoning_refresh.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/response/turn_workplan_fast_path_phase.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/retrieval/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/retrieval/phase.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/runtime/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/runtime/sourcing_observations.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/streaming/runtime/steps.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/structured_reasoning_gate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/text_safety.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/turn_act.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/run_store.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/run_store_events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/run_store_expiration.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/run_store_replay.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/run_store_states.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_edit/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_edit/action_content.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_edit/context_patch.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_edit/contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_edit/orchestrator.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_edit/preflight.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_edit/refresh_structure.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_edit/semantic_map_refresh.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_edit/view_capabilities.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_hud/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_hud/contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_hud/orchestrator.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_quality/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_quality/body_admission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_quality/requirement_markdown.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_registry/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_registry/contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_registry/resolver.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_upkeep/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_upkeep/analysis_projector.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_upkeep/contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_upkeep/generic_projector.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_upkeep/orchestrator.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_upkeep/planner.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_upkeep/policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_upkeep/projector.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_upkeep/requirement_package_updates.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/artifact_upkeep/requirement_projector.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/auth/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/auth/bearer.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/auth/exchange.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/auth/policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/auth/scope_guard.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/context/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/context/analysis_application.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/context/artifact_application.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/context/document_application.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/context/intake_application.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/context/reasoning_application.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/context/session_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/context/track_application.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/context/turn_delta_application.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/diagnostics/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/diagnostics/provider_audit.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/diagnostics/provider_audit_export.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/diagnostics/replay_snapshot.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/diagnostics/replay_snapshot_io.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/diagnostics/replay_snapshot_validation.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/domain/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/domain/domain_pack_loader.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/domain/domain_pack_paths.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/domain/domain_pack_reload.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/domain/domain_pack_root.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/domain/profile_resolution.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/execution/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/execution/agent_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/execution/skill_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/chat_memory.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/database.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/dependency_status.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/infrastructure.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/knowledge_ingest.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/knowledge_memory.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/knowledge_postgres_search.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/knowledge_qdrant_search.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/knowledge_search.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/knowledge_terms.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/logging.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/project_memory_codec.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/project_memory_review_sql.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/project_memory_review_store.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/project_memory_sql.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/project_memory_store.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/project_memory_version_sql.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/project_memory_version_store.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/redis_client.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/run/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/run/repository.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/run/repository_memory.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/run/repository_sql.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/session/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/session/columns.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/source/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/source/document_understanding_codec.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/source/image_understanding_config.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/source/image_understanding_dashscope.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/source/image_understanding_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/source/image_understanding_prompt.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/source/image_understanding_provider.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/source/image_understanding_text.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/source/library_dedupe.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/source/library_persistence.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/source/library_records.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/source/ocr_provider.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/source/schema.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/source/text_extractor.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/source/upload_storage.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/sourcing/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/sourcing/instance_profile_adapter.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/sourcing/persistence.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/sourcing/provider.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/sourcing/provider_config.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/sourcing/provider_gateway.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/sourcing/provider_normalize.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/sourcing/provider_public.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/sourcing/provider_result.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/trace.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/infrastructure/vector_store.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/intent/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/intent/intent_and_escalation/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/intent/intent_and_escalation/decision.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/intent/intent_and_escalation/lexicon.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/intent/intent_and_escalation/preprocessing.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/intent/intent_and_escalation/signals.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/intent/intent_and_escalation_classifier.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/apipro_provider.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/apipro_streaming_provider.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/code_generation_provider_matrix.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/completion_capture.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/completion_plan.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/config.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/credential_adapter.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/credential_config.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/credential_pool.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/dashscope_provider.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/dashscope_streaming_provider.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/failover_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/fallback_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/intent_model_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/langgraph_executor_adapter.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/llm_provider.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/model_limits.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/model_router.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/native_stream_result.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/native_stream_retry.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/native_streaming.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/ocr_provider_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/ocr_structured_extraction_admission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/ocr_structured_extraction_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/ocr_structured_extraction_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/provider_error.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/provider_failover.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/provider_health.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/provider_health_probe.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/provider_health_snapshot.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/provider_health_source.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/provider_quota.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/provider_retry.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/provider_trace.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/provider_usage.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/replay_provider.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/stream_dispatch.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/streaming_provider.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/llm/system_prompt.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/action_prompt_drafts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/active_artifact_context_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/admission_node.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/analysis_route_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/analysis_router_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/artifact_admission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/artifact_template_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/artifact_template_selection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/background_run_contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/background_run_coordinator.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/boundary_artifact_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/boundary_context_evidence.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/boundary_intent_gate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/boundary_intent_gate_application.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/boundary_intent_gate_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/boundary_intent_gate_response_deferral.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/boundary_intent_gate_rules.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/boundary_intent_gate_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/boundary_intent_gate_semantic.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/boundary_semantic_evidence.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/boundary_semantic_frame.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/boundary_turn_continuity_gate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/canvas/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/canvas/toolbar_actions.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/canvas_output_admission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/canvas_sourcing_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/canvas_version_history_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/capability_completion_admission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/capability_completion_events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/capability_confirmation_contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/capability_confirmation_resolution.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/capability_dispatch.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/capability_dispatch_contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/capability_node_result.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/capability_result_normalization.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/category_resolution.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/context_operation_executor.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/context_write_admission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/decision_engine.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/direct_turn_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/domain_trigger_signals.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/main_chain_sidecar_model_question.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/main_chain_sidecar_options.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/main_chain_sidecar_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/main_chain_sidecar_question.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/canvas_state.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/fallback.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/field_definitions.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_action_resolution.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_actions.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_artifact_display_value.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_artifact_document.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_artifact_node_candidates.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_artifact_semantic_map.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_artifact_semantic_template.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_artifact_views.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_canvas.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_canvas_candidate_fields.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_canvas_content.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_canvas_events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_canvas_presentation.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_composer_chooser_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_context_evidence.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_coverage.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_current_question.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_document_seed.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_draft_payload.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_field_candidates.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_field_hydration.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_field_pack_suggestions.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_field_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_field_state.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_interaction_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_markdown_normalization.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_model_question_plan.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_model_question_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_next_actions_payload.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_package_draft.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_package_events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_package_projection_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_package_schema.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_payloads.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_procurement_task_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_progress_payload.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_question.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_question_interruption.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_question_interruption_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_question_lifecycle.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_question_options.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_question_plan_carrier.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_question_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_question_progress.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_question_queue.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_question_queue_canvas.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_structured_document.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_summary_artifact.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_summary_generation_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_summary_merge.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_summary_source.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_summary_validation.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_template_canvas_content.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_template_document.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_template_placeholder_body.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/intake_template_table_values.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/orchestration.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/question_selection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/reasoning.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/runtime_bookkeeping.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/shared.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/sourcing_actions.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/sourcing_events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/sourcing_preview.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/sourcing_report.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/mode/state_transition.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/module_prompt_registry.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/node_result_normalization.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/normalized_policy_view.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/observation.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/operation_target_resolver.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/patch_fast_path_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/patch_preview_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/patch_preview_operations.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/patch_preview_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/patch_preview_target.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/patch_question_node.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/pre_response_plan_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/projection_patches.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/prompt_context_copy_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/reasoning_loop.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/response_strategy_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/run_settlement.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/semantic_boundary_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/semantic_intent_node.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/session_context_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sidecar_option_generation.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/source_grounding_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/additive_search.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/analysis_entry.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/candidate_explainability.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/canvas_state.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/context_round.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/event_payloads.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/instance_db_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/internal_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/mcp_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/observation_payloads.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/observations.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/parameter_draft.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/provider_config_loader.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/provider_health.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/response_labels.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/result_window.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/search_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/source_priority.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/sourcing/web_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/structured_prompt_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/structured_reasoning.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/structured_reasoning_normalization.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/structured_reasoning_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/track_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/turn_act_classification.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/turn_admission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/turn_admission_contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/turn_admission_facts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/turn_admission_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/turn_admission_rules.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/turn_continuity.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/turn_continuity_contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/turn_decision_contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/turn_decision_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/turn_disposition.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/turn_operation_planner.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/turn_operation_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/turn_workplan_contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/turn_workplan_gate_decision.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/workflow_artifact_events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/workflow_guidance_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/workflow_run_lifecycle.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/workflow_run_terminal.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/workplan_contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/orchestration/workplan_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/post_generation/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/post_generation/contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/post_generation/normalizer.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/post_generation/orchestrator.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/post_generation/output_target.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/post_generation/validator.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/project_memory/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/project_memory/decision.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/project_memory/extraction.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/project_memory/promotion.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/project_memory/recall.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/project_memory/runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/project_memory/semantic_index.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/api.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/branching/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/branching/core.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/branching/policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/field_selection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/gap_detection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/hypothesis.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/planning.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/priority.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/question/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/question/branch_plan.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/question/builder.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/question/decision.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/question/extraction.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/question/planner.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/question/structured.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/question/structured_candidate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/readiness/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/readiness/core.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/readiness/scoring.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/shared.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/understanding_state.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/visible_response.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reasoning/intake/visible_summary.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reconciliation/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reconciliation/artifact_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reconciliation/context_revision.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reconciliation/contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reconciliation/events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reconciliation/executor.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reconciliation/gates.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reconciliation/impact.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reconciliation/operation.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reconciliation/orchestrator.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/reconciliation/planner.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/session/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/session/checkpoint_manager.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/session/intake_session_codec.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/session/intake_session_postgres.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/session/intake_session_redis.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/session/intake_session_store.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/session/models.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/source_ingestion/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/source_ingestion/artifacts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/source_ingestion/chunk_storage.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/source_ingestion/knowledge_storage.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/source_ingestion/profile.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/source_ingestion/runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/source_ingestion/storage.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/turn_pipeline/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/turn_pipeline/contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/runtime/turn_pipeline/delta_extraction.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/session_archive_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/session_archive_graph.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/session_archive_metrics.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/session_archive_summary.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/session_creation.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/session_exchange_persistence.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/session_lifecycle_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/session_list_store.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/session_message_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/session_message_records.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/session_record_assembly.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/session_record_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/session_replay.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/update/__init__.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/update/compatibility.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/update/planner.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/update/registry.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/update/versioning.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/user_store.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel.egg-info/dependency_links.txt +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel.egg-info/requires.txt +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel.egg-info/top_level.txt +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_action_payload.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_action_prompt_drafts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_action_readiness.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_active_artifact_context_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_active_artifact_registry_resolver.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_active_artifact_workplan_acceptance_matrix.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_agent_runtime_slice_acceptance.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_agent_skill_runtime_trace_authority.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_ai_provider_governance_docs.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_analysis_artifact_context_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_analysis_artifact_overwrite_guard.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_analysis_canvas_payload.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_analysis_canvas_slot_fallbacks.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_analysis_context_patch.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_analysis_e2e.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_analysis_entry_decision.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_analysis_prompt_artifact_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_analysis_route_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_analysis_route_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_analysis_template_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_arch01_admission_node.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_arch01_fake_domain_decision_matrix.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_arch01_fake_domain_node_output_matrix.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_arch01_normalized_policy_consumption.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_artifact_admission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_artifact_cross_mode_regression_matrix.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_artifact_document_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_artifact_edit_action_content.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_artifact_edit_context_patch.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_artifact_edit_preflight_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_artifact_edit_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_artifact_edit_view_capabilities.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_artifact_hud_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_artifact_regeneration_bridge.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_artifact_template_prompt.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_artifact_template_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_artifact_upkeep_orchestrator.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_artifact_upkeep_policy_planner.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_artifact_upkeep_projector.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_artifact_upkeep_projector_structure.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_artifact_upkeep_requirement_package_updates.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_auth_bearer_guard.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_auth_exchange.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_auth_scope_guard.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_background_run_coordinator.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_background_stream_execution.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_basics.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_boundary_intent_semantic_composer.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_budget_patch_real_phrasing.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_builder_split_modules.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_business_hardcode_guard.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_canonical_composer_chooser_authority.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_canonical_composer_ui_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_canonical_mode_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_canonical_state_context_analysis.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_canonical_state_context_inputs.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_canonical_state_context_session.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_canonical_state_flow.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_canonical_state_payload.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_canonical_state_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_canvas_output_admission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_canvas_sourcing_contract_meta.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_canvas_version_history_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_capability_active_work_item.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_capability_availability_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_capability_boundary.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_capability_completion_admission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_capability_confirmation_resolution.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_capability_dispatch_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_capability_result_normalization.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_chat_api_alias.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_chat_stream_attach.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_code_generation_provider_matrix.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_code_proposal_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_command_resolution_analysis_mode.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_compat_aliases.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_completion_degraded_source_fallback.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_completion_output_quality_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_completion_response_builder.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_completion_selection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_completion_selection_clarification_domain_pack.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_completion_selection_intent_routing.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_context_activity_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_context_authority_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_context_delta_artifact_sync_acceptance.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_context_live_chain.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_context_operation_executor.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_context_usage_model_limit.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_context_write_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_dashscope_streaming_provider.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_decision_engine.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_dependency_status.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_domain_pack_loader.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_domain_pack_structured_reasoning_guidance.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_domain_trigger_signals.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_endpoint_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_entry_recommendation_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_execution_profile_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_fast_gate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_fast_gate_context_isolation.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_fast_gate_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_flare_v1_patch_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_generic_domain_pack_options.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_guided_completion.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_image_understanding_dashscope.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_infrastructure_helpers.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_infrastructure_knowledge.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_action_copy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_amount_quantity.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_answer.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_artifact_candidate_display_values.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_artifact_semantic_map.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_artifact_semantic_map_candidate_values.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_authority.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_authority_checkpoint.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_authority_hydration.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_authority_session.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_canonicalization.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_chooser_reply_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_clarification.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_commit_context_patch.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_composer_chooser_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_decision_rules.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_delivery_time.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_document_seed.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_domain_context_options.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_entry_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_extraction.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_extraction_control_messages.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_extraction_extractors.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_extraction_merge.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_extraction_quantity_prefixes.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_extraction_use_case_patterns.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_field_hydration_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_field_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_field_projection_entity.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_field_projection_payload.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_field_projection_source.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_field_scope.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_field_state.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_field_state_gap_scoring.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_field_state_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_guided_confirmed_updates.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_guided_flags.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_guided_followup.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_guided_followup_work_item.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_guided_open_fields.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_guided_status.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_guided_summary.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_inputs.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_markdown_normalization.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_model_question_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_money_currency_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_node_state.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_numeric.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_payload_updates.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_question_extraction.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_question_interruption_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_question_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_readiness.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_reasoning_priority.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_session_store.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_sourcing_handoff_gate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_state_persistence.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_status.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_status_guided_session.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_status_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_status_schema.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_status_stage.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_summary_artifact_framework.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_summary_next_actions_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_visible_response.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intake_workflow_checkpoint.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intent_classifier_utils.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intent_escalation_classifier.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intent_escalation_override.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intent_escalation_pipeline.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intent_escalation_signal.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intent_fast_general_qa.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intent_resolution.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intent_retrieval.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intent_routing.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_intent_type_compat_aliases.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_kernel_alias_delegation.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_kernel_endpoint_clarification_copy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_kernel_endpoint_handlers.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_kernel_endpoint_handlers_sourcing.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_kernel_facade_context_io.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_kernel_facade_direct_admission_mode.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_kernel_facade_early_boundary.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_kernel_facade_fast_boundary_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_kernel_facade_flow_enrichment.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_kernel_facade_helpers.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_kernel_facade_sidecar_prompt_payload.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_kernel_facade_turn_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_kernel_intent_query_flow.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_kernel_mode_flow.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_kernel_route_execution_wrappers.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_kernel_route_normalized_result.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_kernel_session_intent_flow.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_kernel_stream_timing.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_langgraph_executor_adapter.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_langgraph_executor_boundary_docs.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_list_events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_llm_apipro_provider.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_llm_credential_pool.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_llm_credential_pool_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_llm_node_result_coverage_matrix.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_llm_node_taxonomy_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_llm_provider.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_llm_provider_error_normalization.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_llm_provider_failover.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_llm_provider_fallback_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_llm_provider_health_file.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_llm_provider_health_probe.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_llm_provider_health_snapshot.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_llm_provider_live.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_llm_provider_native_streaming.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_llm_provider_quota.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_llm_provider_streaming.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_llm_replay_provider.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_llm_structured_reasoning_replay_fixtures.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_main_chain_sidecar_options.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_main_chain_sidecar_question_split.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_main_chain_sidecar_queue.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_mode_orchestration_state_bridge.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_mode_reasoning.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_mode_resolution.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_mode_switch.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_model_router.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_module_prompt_registry.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_new_flow_guard.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_node_result_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_node_result_normalization.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_ocr_provider_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_ocr_structured_extraction_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_operation_target_resolver.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orc15_guided_completion.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orc15_turn_act_classification.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orc16_main_chain_hardcode_boundary.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_checkpoint_state.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_followup_state.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_status_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_status_context_helpers.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_status_decision.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_status_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_status_result.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_status_runtime_state.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_status_state_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_status_state_decision.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_status_state_entry.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_status_state_followup.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_status_state_intent.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_status_state_node.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_status_state_payload.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_status_state_unpack.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_trace.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_trace_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_orchestration_trace_steps.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_patch_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_patch_fast_path_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_patch_preview_events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_patch_preview_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_patch_question_node.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_payload_enrichment.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_pln03_question_chooser.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_pln11_question_option_extraction.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_post_completion_persistence_payloads.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_post_completion_visible_text.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_post_generation_canvas_admission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_post_generation_completion.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_post_generation_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_pre_response_plan_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_project_api.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_project_memory_promotion.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_project_memory_promotion_decision.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_project_memory_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_project_memory_semantic_index.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_project_memory_store.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_project_memory_versions.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_projection_patches.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_prompt_template_main_chain_flow.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_prompting_analysis_instruction.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_prompting_requirement_intake.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_prompting_sidecar_question.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_prompting_user_template_instruction.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_provider_audit.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_provider_audit_export.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_reasoning_context_patch.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_reasoning_loop.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_reconciliation_analysis_patch_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_reconciliation_artifact_structure_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_reconciliation_context_revision.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_reconciliation_orchestrator.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_reconciliation_requirement_canvas_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_release_isolation_gate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_replay_snapshot.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_replay_snapshot_validation.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_request_identity.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_request_intent_resolution.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_requirement_intake_branch_chooser.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_requirement_intake_canvas_progress.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_requirement_intake_canvas_state.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_requirement_intake_canvas_visibility.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_requirement_intake_continuation.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_requirement_intake_flow.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_requirement_intake_model_question_plan.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_requirement_intake_node_result_question_plan.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_requirement_intake_question_queue.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_requirement_intake_structured_package.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_requirement_intake_summary_route.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_requirement_refresh_prompting.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_response_intent_full_output_regression.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_response_intent_resolution.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_response_strategy_prompting_compact.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_response_strategy_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_retrieval_aliases.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_retrieval_field_queries.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_retrieval_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_retrieval_query_builder.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_retrieval_search.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_run_api.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_run_contract_metadata.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_run_replay_api_contract.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_run_settlement.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_run_sql_repository.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_run_store.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_run_store_event_conflict.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_runtime_decision_llm_response_regression.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_runtime_prompt_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_session_archive_summary.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_session_context_persistence.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_session_domain_binding.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_session_intent.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_session_intent_fields.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_session_intent_small_talk.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_session_lifecycle_api.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_session_replay_api.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_session_run_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_session_sql_columns.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_session_sql_migration.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_session_workflow_projection_persistence.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sidecar_option_generation.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sidecar_reply_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_source_ingestion_profile.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_source_ingestion_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_source_ingestion_ssot_acceptance.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_source_library.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_source_library_dedupe.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_source_library_persistence_scope.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_source_text_extractor.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_source_xlsx_contract_fixture.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sourcing_action_copy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sourcing_additive_search.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sourcing_candidate_explainability.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sourcing_context_reuse.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sourcing_e2e.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sourcing_instance_profile_adapter.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sourcing_parameter_draft.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sourcing_preview_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sourcing_preview_copy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sourcing_provider.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sourcing_provider_adapters.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sourcing_provider_config_loader.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sourcing_provider_health.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sourcing_runtime_additive_search.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sourcing_search_response_labels.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sourcing_search_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_sourcing_source_priority.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_stream_collect_completion.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_artifact_upkeep_completion.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_draft_artifact_start.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_draft_budget_reconciliation_completion.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_draft_completion.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_draft_finalize.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_draft_intake_canvas_sync.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_draft_phase.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_draft_post_completion.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_draft_prologue.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_draft_reconciliation_completion.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_draft_session_exchange.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_draft_visible_text_boundaries.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_event_emitter.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_intake_phase.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_mode_event_payload.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_mode_events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_patch_fast_path_phase.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_reasoning_context_patch.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_response_bootstrap.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_response_phases.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_response_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_response_transport.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_retrieval_phase.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_runtime_steps.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_sidecar_reply_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_structured_reasoning_gate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_structured_reasoning_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_text_cadence.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_streaming_turn_workplan_fast_path_phase.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_structured_prompt_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_structured_reasoning.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_structured_reasoning_gate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_text_safety.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_track_prompt_context.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_track_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_turn_admission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_turn_admission_stale_workflow.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_turn_continuity_admission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_turn_decision_completion_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_turn_delta_extraction.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_turn_disposition_admission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_turn_disposition_chooser_ready.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_turn_mode_preference.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_turn_operation_planner.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_turn_operation_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_turn_pipeline_artifact_upkeep_contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_turn_workplan_contracts.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_turn_workplan_gate_decision.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_update_plane.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_v1_mainline_regressions.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_workflow_guidance_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_workflow_run_events.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_workflow_tracker_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_workplan_runtime.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_active_artifact_contextual_gate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_active_artifact_sync_gate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_analysis_report_intent_first.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_analysis_template_detail_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_artifact_followup_gate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_attachment_context_gate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_boundary_guidance.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_boundary_intent_gate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_boundary_intent_gate_semantic.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_boundary_score_gate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_capability_admission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_category_resolution.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_domain_pack.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_intake_normalization_admission.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_negative_boundary_gate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_output_template_quality.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_post_generation_requirement_summary.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_pre_workspace_required_gate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_reconciliation_confirmation_policy.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_requirement_analysis.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_requirement_artifact_template_projection.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_requirement_markdown_recovery.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_requirement_mode_canvas.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_semantic_admission_gate.py +0 -0
- {flare_kernel-1.0.7 → flare_kernel-1.0.8}/tests/test_xiaocai_sidecar_dynamic_options.py +0 -0
|
@@ -96,8 +96,18 @@ class SessionMessageRecord(BaseModel):
|
|
|
96
96
|
created_at: str
|
|
97
97
|
|
|
98
98
|
|
|
99
|
+
class SessionMessageWindow(BaseModel):
|
|
100
|
+
"""Pagination metadata for a loaded message window."""
|
|
101
|
+
|
|
102
|
+
mode: Literal["full", "latest", "before"] = "full"
|
|
103
|
+
limit: int | None = None
|
|
104
|
+
has_older: bool = False
|
|
105
|
+
next_before: str = ""
|
|
106
|
+
|
|
107
|
+
|
|
99
108
|
class SessionMessageListResponse(BaseModel):
|
|
100
109
|
messages: list[SessionMessageRecord] = Field(default_factory=list)
|
|
110
|
+
window: SessionMessageWindow = Field(default_factory=SessionMessageWindow)
|
|
101
111
|
|
|
102
112
|
|
|
103
113
|
class SessionReplayTurn(BaseModel):
|
|
@@ -11,11 +11,9 @@ from fastapi import APIRouter, Depends, Query
|
|
|
11
11
|
|
|
12
12
|
from flare_kernel.contracts import (
|
|
13
13
|
AuthContext,
|
|
14
|
-
SessionAppendExchangeRequest,
|
|
15
14
|
SessionCreateRequest,
|
|
16
15
|
SessionLifecycleRequest,
|
|
17
16
|
SessionListResponse,
|
|
18
|
-
SessionMessageListResponse,
|
|
19
17
|
SessionRecord,
|
|
20
18
|
SessionReplayResponse,
|
|
21
19
|
SessionUpdateRequest,
|
|
@@ -27,18 +25,19 @@ from flare_kernel.router.api.auth_guard import (
|
|
|
27
25
|
require_route_scope,
|
|
28
26
|
resolve_route_auth_context,
|
|
29
27
|
)
|
|
30
|
-
from flare_kernel.router.api.
|
|
31
|
-
|
|
28
|
+
from flare_kernel.router.api.session_access import (
|
|
29
|
+
invalid_lifecycle_error,
|
|
30
|
+
require_session_or_404,
|
|
31
|
+
require_session_scope,
|
|
32
|
+
)
|
|
32
33
|
from flare_kernel.router.api.session_list_events import publish_session_list_invalidation
|
|
34
|
+
from flare_kernel.router.api.session_messages import router as session_messages_router
|
|
33
35
|
from flare_kernel.router.api.session_run_projection import project_session_run_metadata
|
|
34
36
|
from flare_kernel.session_replay import build_session_replay
|
|
35
37
|
from flare_kernel.session_store import (
|
|
36
38
|
apply_lifecycle_action,
|
|
37
|
-
append_exchange,
|
|
38
39
|
create_session,
|
|
39
40
|
ensure_session,
|
|
40
|
-
get_session,
|
|
41
|
-
list_messages,
|
|
42
41
|
update_session,
|
|
43
42
|
)
|
|
44
43
|
from flare_kernel.session_list_store import list_session_list_items
|
|
@@ -46,56 +45,6 @@ from flare_kernel.session_list_store import list_session_list_items
|
|
|
46
45
|
router = APIRouter(tags=["sessions"])
|
|
47
46
|
|
|
48
47
|
|
|
49
|
-
def _require_session_or_404(session_id: str) -> dict:
|
|
50
|
-
record = get_session(session_id=session_id)
|
|
51
|
-
if record is not None:
|
|
52
|
-
return record
|
|
53
|
-
raise ApiError(
|
|
54
|
-
code="RESOURCE_NOT_FOUND",
|
|
55
|
-
http_status=404,
|
|
56
|
-
message="session not found",
|
|
57
|
-
description="target session_id does not exist",
|
|
58
|
-
context_fields=["session_id"],
|
|
59
|
-
retryable=False,
|
|
60
|
-
details={"session_id": session_id},
|
|
61
|
-
)
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
def _require_session_scope(
|
|
65
|
-
auth_context: AuthContext | None,
|
|
66
|
-
record: dict,
|
|
67
|
-
required_scopes: list[str],
|
|
68
|
-
) -> None:
|
|
69
|
-
require_route_scope(
|
|
70
|
-
auth_context,
|
|
71
|
-
required_scopes=required_scopes,
|
|
72
|
-
project_id=str(record.get("project_id") or ""),
|
|
73
|
-
session_id=str(record.get("session_id") or ""),
|
|
74
|
-
user_id=str(record.get("user_id") or ""),
|
|
75
|
-
)
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
def _invalid_lifecycle_error(exc: ValueError, fields: list[str]) -> ApiError:
|
|
79
|
-
"""Map lifecycle policy validation failures to the API error contract.
|
|
80
|
-
|
|
81
|
-
Args:
|
|
82
|
-
exc: Policy validation exception raised by session lifecycle helpers.
|
|
83
|
-
fields: Request fields responsible for the validation failure.
|
|
84
|
-
|
|
85
|
-
Returns:
|
|
86
|
-
ApiError with the shared structured error payload fields.
|
|
87
|
-
"""
|
|
88
|
-
|
|
89
|
-
return ApiError(
|
|
90
|
-
code="INVALID_SESSION_LIFECYCLE",
|
|
91
|
-
http_status=422,
|
|
92
|
-
message="invalid session lifecycle",
|
|
93
|
-
description=str(exc),
|
|
94
|
-
context_fields=fields,
|
|
95
|
-
retryable=False,
|
|
96
|
-
)
|
|
97
|
-
|
|
98
|
-
|
|
99
48
|
@router.get("/sessions", response_model=SessionListResponse)
|
|
100
49
|
@router.get("/chat/sessions", response_model=SessionListResponse)
|
|
101
50
|
async def list_chat_sessions(
|
|
@@ -140,7 +89,7 @@ async def list_chat_sessions(
|
|
|
140
89
|
include_context=include_context,
|
|
141
90
|
)
|
|
142
91
|
except ValueError as exc:
|
|
143
|
-
raise
|
|
92
|
+
raise invalid_lifecycle_error(exc, ["status"]) from exc
|
|
144
93
|
return SessionListResponse(sessions=[SessionRecord.model_validate(project_session_run_metadata(row)) for row in rows])
|
|
145
94
|
|
|
146
95
|
|
|
@@ -175,8 +124,8 @@ async def get_chat_session(
|
|
|
175
124
|
session_id: str,
|
|
176
125
|
auth_context: AuthContext | None = Depends(resolve_route_auth_context),
|
|
177
126
|
) -> SessionRecord:
|
|
178
|
-
record =
|
|
179
|
-
|
|
127
|
+
record = require_session_or_404(session_id)
|
|
128
|
+
require_session_scope(auth_context, record, ["sessions:read"])
|
|
180
129
|
return SessionRecord.model_validate(project_session_run_metadata(record))
|
|
181
130
|
|
|
182
131
|
|
|
@@ -197,8 +146,8 @@ async def patch_chat_session(
|
|
|
197
146
|
Updated session record.
|
|
198
147
|
"""
|
|
199
148
|
|
|
200
|
-
record =
|
|
201
|
-
|
|
149
|
+
record = require_session_or_404(session_id)
|
|
150
|
+
require_session_scope(auth_context, record, ["sessions:write"])
|
|
202
151
|
try:
|
|
203
152
|
row = update_session(
|
|
204
153
|
session_id=session_id,
|
|
@@ -209,23 +158,12 @@ async def patch_chat_session(
|
|
|
209
158
|
title_source=req.title_source,
|
|
210
159
|
)
|
|
211
160
|
except ValueError as exc:
|
|
212
|
-
raise
|
|
213
|
-
next_row = row or
|
|
161
|
+
raise invalid_lifecycle_error(exc, ["status"]) from exc
|
|
162
|
+
next_row = row or require_session_or_404(session_id)
|
|
214
163
|
publish_session_list_invalidation("updated")
|
|
215
164
|
return SessionRecord.model_validate(next_row)
|
|
216
165
|
|
|
217
166
|
|
|
218
|
-
@router.get("/sessions/{session_id}/messages", response_model=SessionMessageListResponse)
|
|
219
|
-
@router.get("/chat/sessions/{session_id}/messages", response_model=SessionMessageListResponse)
|
|
220
|
-
async def list_chat_session_messages(
|
|
221
|
-
session_id: str,
|
|
222
|
-
auth_context: AuthContext | None = Depends(resolve_route_auth_context),
|
|
223
|
-
) -> SessionMessageListResponse:
|
|
224
|
-
record = _require_session_or_404(session_id)
|
|
225
|
-
_require_session_scope(auth_context, record, ["sessions:read"])
|
|
226
|
-
return SessionMessageListResponse(messages=list_messages(session_id=session_id))
|
|
227
|
-
|
|
228
|
-
|
|
229
167
|
@router.get("/sessions/{session_id}/replay", response_model=SessionReplayResponse)
|
|
230
168
|
@router.get("/chat/sessions/{session_id}/replay", response_model=SessionReplayResponse)
|
|
231
169
|
async def get_chat_session_replay(
|
|
@@ -243,10 +181,10 @@ async def get_chat_session_replay(
|
|
|
243
181
|
|
|
244
182
|
replay = build_session_replay(session_id=session_id)
|
|
245
183
|
if replay is None:
|
|
246
|
-
record =
|
|
184
|
+
record = require_session_or_404(session_id)
|
|
247
185
|
else:
|
|
248
186
|
record = dict(replay.get("session") or {})
|
|
249
|
-
|
|
187
|
+
require_session_scope(auth_context, record, ["sessions:read"])
|
|
250
188
|
return SessionReplayResponse.model_validate(replay)
|
|
251
189
|
|
|
252
190
|
|
|
@@ -267,69 +205,17 @@ async def apply_chat_session_lifecycle(
|
|
|
267
205
|
Updated session record after the lifecycle transition.
|
|
268
206
|
"""
|
|
269
207
|
|
|
270
|
-
record =
|
|
271
|
-
|
|
208
|
+
record = require_session_or_404(session_id)
|
|
209
|
+
require_session_scope(auth_context, record, ["sessions:write"])
|
|
272
210
|
try:
|
|
273
211
|
row = apply_lifecycle_action(session_id=session_id, action=req.action)
|
|
274
212
|
except ValueError as exc:
|
|
275
|
-
raise
|
|
276
|
-
next_row = row or
|
|
213
|
+
raise invalid_lifecycle_error(exc, ["action"]) from exc
|
|
214
|
+
next_row = row or require_session_or_404(session_id)
|
|
277
215
|
publish_session_list_invalidation(str(req.action or "").strip() or "lifecycle")
|
|
278
216
|
return SessionRecord.model_validate(next_row)
|
|
279
217
|
|
|
280
218
|
|
|
281
|
-
@router.post("/sessions/{session_id}/messages", response_model=SessionRecord)
|
|
282
|
-
@router.post("/chat/sessions/{session_id}/messages", response_model=SessionRecord)
|
|
283
|
-
async def append_chat_session_exchange(
|
|
284
|
-
session_id: str,
|
|
285
|
-
req: SessionAppendExchangeRequest,
|
|
286
|
-
auth_context: AuthContext | None = Depends(resolve_route_auth_context),
|
|
287
|
-
) -> SessionRecord:
|
|
288
|
-
record = _require_session_or_404(session_id)
|
|
289
|
-
_require_session_scope(auth_context, record, ["sessions:write"])
|
|
290
|
-
append_fields = resolve_artifact_edit_append_fields(
|
|
291
|
-
artifact_edit_request=req.artifact_edit_request,
|
|
292
|
-
default_mode_key=str(record.get("function_type") or ""),
|
|
293
|
-
canvas_state=req.canvas_state,
|
|
294
|
-
analysis_payload=req.analysis_payload,
|
|
295
|
-
context_patch=req.context_patch,
|
|
296
|
-
execution_trace=req.execution_trace,
|
|
297
|
-
plan_payload=req.plan_payload,
|
|
298
|
-
)
|
|
299
|
-
row = append_exchange(
|
|
300
|
-
session_id=session_id,
|
|
301
|
-
run_id=req.run_id,
|
|
302
|
-
user_message=req.user_message,
|
|
303
|
-
assistant_message=req.assistant_message,
|
|
304
|
-
replace_assistant_message_id=req.replace_assistant_message_id,
|
|
305
|
-
attachments=req.attachments,
|
|
306
|
-
context_refs=req.context_refs,
|
|
307
|
-
knowledge_refs=req.knowledge_refs,
|
|
308
|
-
agent_status=req.agent_status,
|
|
309
|
-
thinking_trace=req.thinking_trace,
|
|
310
|
-
execution_trace=append_fields["execution_trace"],
|
|
311
|
-
knowledge_search=req.knowledge_search,
|
|
312
|
-
sourcing_candidates=req.sourcing_candidates,
|
|
313
|
-
knowledge_citation=req.knowledge_citation,
|
|
314
|
-
canvas_state=append_fields["canvas_state"],
|
|
315
|
-
analysis_payload=append_fields["analysis_payload"],
|
|
316
|
-
context_usage=req.context_usage,
|
|
317
|
-
provider_trace=req.provider_trace,
|
|
318
|
-
context_activity=req.context_activity,
|
|
319
|
-
context_authority=req.context_authority,
|
|
320
|
-
workflow_projection=req.workflow_projection,
|
|
321
|
-
plan_payload=append_fields["plan_payload"],
|
|
322
|
-
reasoning_result=req.reasoning_result,
|
|
323
|
-
document_result=req.document_result,
|
|
324
|
-
track_result=req.track_result,
|
|
325
|
-
context_patch=append_fields["context_patch"],
|
|
326
|
-
context_snapshot=req.context_snapshot,
|
|
327
|
-
)
|
|
328
|
-
next_row = row or _require_session_or_404(session_id)
|
|
329
|
-
publish_session_list_invalidation("message_appended")
|
|
330
|
-
return SessionRecord.model_validate(next_row)
|
|
331
|
-
|
|
332
|
-
|
|
333
219
|
@router.post("/sessions/ensure", response_model=SessionRecord)
|
|
334
220
|
@router.post("/chat/sessions/ensure", response_model=SessionRecord)
|
|
335
221
|
async def ensure_chat_session(
|
|
@@ -356,3 +242,6 @@ async def ensure_chat_session(
|
|
|
356
242
|
)
|
|
357
243
|
publish_session_list_invalidation("ensured")
|
|
358
244
|
return SessionRecord.model_validate(row)
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
router.include_router(session_messages_router)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"""Session route access helpers."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from flare_kernel.contracts import AuthContext
|
|
6
|
+
from flare_kernel.router.api.auth_guard import require_route_scope
|
|
7
|
+
from flare_kernel.router.api.errors import ApiError
|
|
8
|
+
from flare_kernel.session_store import get_session
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def require_session_or_404(session_id: str) -> dict:
|
|
12
|
+
record = get_session(session_id=session_id)
|
|
13
|
+
if record is not None:
|
|
14
|
+
return record
|
|
15
|
+
raise ApiError(
|
|
16
|
+
code="RESOURCE_NOT_FOUND",
|
|
17
|
+
http_status=404,
|
|
18
|
+
message="session not found",
|
|
19
|
+
description="target session_id does not exist",
|
|
20
|
+
context_fields=["session_id"],
|
|
21
|
+
retryable=False,
|
|
22
|
+
details={"session_id": session_id},
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def require_session_scope(
|
|
27
|
+
auth_context: AuthContext | None,
|
|
28
|
+
record: dict,
|
|
29
|
+
required_scopes: list[str],
|
|
30
|
+
) -> None:
|
|
31
|
+
require_route_scope(
|
|
32
|
+
auth_context,
|
|
33
|
+
required_scopes=required_scopes,
|
|
34
|
+
project_id=str(record.get("project_id") or ""),
|
|
35
|
+
session_id=str(record.get("session_id") or ""),
|
|
36
|
+
user_id=str(record.get("user_id") or ""),
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def invalid_lifecycle_error(exc: ValueError, fields: list[str]) -> ApiError:
|
|
41
|
+
return ApiError(
|
|
42
|
+
code="INVALID_SESSION_LIFECYCLE",
|
|
43
|
+
http_status=422,
|
|
44
|
+
message="invalid session lifecycle",
|
|
45
|
+
description=str(exc),
|
|
46
|
+
context_fields=fields,
|
|
47
|
+
retryable=False,
|
|
48
|
+
)
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"""Session message API routes."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from fastapi import APIRouter, Depends, Query
|
|
6
|
+
|
|
7
|
+
from flare_kernel.contracts import AuthContext, SessionAppendExchangeRequest, SessionMessageListResponse, SessionRecord
|
|
8
|
+
from flare_kernel.router.api.auth_guard import resolve_route_auth_context
|
|
9
|
+
from flare_kernel.router.api.errors import ApiError
|
|
10
|
+
from flare_kernel.router.api.session_access import require_session_or_404, require_session_scope
|
|
11
|
+
from flare_kernel.router.api.session_artifact_edit import resolve_artifact_edit_append_fields
|
|
12
|
+
from flare_kernel.router.api.session_list_events import publish_session_list_invalidation
|
|
13
|
+
from flare_kernel.session_message_window_store import list_message_window
|
|
14
|
+
from flare_kernel.session_store import append_exchange
|
|
15
|
+
|
|
16
|
+
router = APIRouter(tags=["sessions"])
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def _invalid_message_cursor_error(exc: ValueError) -> ApiError:
|
|
20
|
+
return ApiError(
|
|
21
|
+
code="INVALID_MESSAGE_CURSOR",
|
|
22
|
+
http_status=422,
|
|
23
|
+
message="invalid message cursor",
|
|
24
|
+
description=str(exc),
|
|
25
|
+
context_fields=["before", "cursor"],
|
|
26
|
+
retryable=False,
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
@router.get("/sessions/{session_id}/messages", response_model=SessionMessageListResponse)
|
|
31
|
+
@router.get("/chat/sessions/{session_id}/messages", response_model=SessionMessageListResponse)
|
|
32
|
+
async def list_chat_session_messages(
|
|
33
|
+
session_id: str,
|
|
34
|
+
limit: int = Query(default=0, ge=0, le=200),
|
|
35
|
+
before: str = Query(default=""),
|
|
36
|
+
cursor: str = Query(default=""),
|
|
37
|
+
auth_context: AuthContext | None = Depends(resolve_route_auth_context),
|
|
38
|
+
) -> SessionMessageListResponse:
|
|
39
|
+
record = require_session_or_404(session_id)
|
|
40
|
+
require_session_scope(auth_context, record, ["sessions:read"])
|
|
41
|
+
try:
|
|
42
|
+
payload = list_message_window(
|
|
43
|
+
session_id=session_id,
|
|
44
|
+
limit=limit,
|
|
45
|
+
before=str(before or cursor or ""),
|
|
46
|
+
)
|
|
47
|
+
except ValueError as exc:
|
|
48
|
+
raise _invalid_message_cursor_error(exc) from exc
|
|
49
|
+
return SessionMessageListResponse.model_validate(payload)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
@router.post("/sessions/{session_id}/messages", response_model=SessionRecord)
|
|
53
|
+
@router.post("/chat/sessions/{session_id}/messages", response_model=SessionRecord)
|
|
54
|
+
async def append_chat_session_exchange(
|
|
55
|
+
session_id: str,
|
|
56
|
+
req: SessionAppendExchangeRequest,
|
|
57
|
+
auth_context: AuthContext | None = Depends(resolve_route_auth_context),
|
|
58
|
+
) -> SessionRecord:
|
|
59
|
+
record = require_session_or_404(session_id)
|
|
60
|
+
require_session_scope(auth_context, record, ["sessions:write"])
|
|
61
|
+
append_fields = resolve_artifact_edit_append_fields(
|
|
62
|
+
artifact_edit_request=req.artifact_edit_request,
|
|
63
|
+
default_mode_key=str(record.get("function_type") or ""),
|
|
64
|
+
canvas_state=req.canvas_state,
|
|
65
|
+
analysis_payload=req.analysis_payload,
|
|
66
|
+
context_patch=req.context_patch,
|
|
67
|
+
execution_trace=req.execution_trace,
|
|
68
|
+
plan_payload=req.plan_payload,
|
|
69
|
+
)
|
|
70
|
+
row = append_exchange(
|
|
71
|
+
session_id=session_id,
|
|
72
|
+
run_id=req.run_id,
|
|
73
|
+
user_message=req.user_message,
|
|
74
|
+
assistant_message=req.assistant_message,
|
|
75
|
+
replace_assistant_message_id=req.replace_assistant_message_id,
|
|
76
|
+
attachments=req.attachments,
|
|
77
|
+
context_refs=req.context_refs,
|
|
78
|
+
knowledge_refs=req.knowledge_refs,
|
|
79
|
+
agent_status=req.agent_status,
|
|
80
|
+
thinking_trace=req.thinking_trace,
|
|
81
|
+
execution_trace=append_fields["execution_trace"],
|
|
82
|
+
knowledge_search=req.knowledge_search,
|
|
83
|
+
sourcing_candidates=req.sourcing_candidates,
|
|
84
|
+
knowledge_citation=req.knowledge_citation,
|
|
85
|
+
canvas_state=append_fields["canvas_state"],
|
|
86
|
+
analysis_payload=append_fields["analysis_payload"],
|
|
87
|
+
context_usage=req.context_usage,
|
|
88
|
+
provider_trace=req.provider_trace,
|
|
89
|
+
context_activity=req.context_activity,
|
|
90
|
+
context_authority=req.context_authority,
|
|
91
|
+
workflow_projection=req.workflow_projection,
|
|
92
|
+
plan_payload=append_fields["plan_payload"],
|
|
93
|
+
reasoning_result=req.reasoning_result,
|
|
94
|
+
document_result=req.document_result,
|
|
95
|
+
track_result=req.track_result,
|
|
96
|
+
context_patch=append_fields["context_patch"],
|
|
97
|
+
context_snapshot=req.context_snapshot,
|
|
98
|
+
)
|
|
99
|
+
next_row = row or require_session_or_404(session_id)
|
|
100
|
+
publish_session_list_invalidation("message_appended")
|
|
101
|
+
return SessionRecord.model_validate(next_row)
|
{flare_kernel-1.0.7 → flare_kernel-1.0.8}/src/flare_kernel/router/canonical/workflow_projection.py
RENAMED
|
@@ -5,6 +5,7 @@ from __future__ import annotations
|
|
|
5
5
|
from typing import Any
|
|
6
6
|
|
|
7
7
|
from flare_kernel.router.canonical.workflow_projection_policy import build_workflow_projection_policy
|
|
8
|
+
from flare_kernel.router.canonical.workflow_run_projection import build_workflow_run_projection
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
def _mapping(value: Any) -> dict[str, Any]:
|
|
@@ -249,11 +250,15 @@ def build_workflow_projection(
|
|
|
249
250
|
patch_status=status,
|
|
250
251
|
)
|
|
251
252
|
turn_disposition = _turn_disposition(orchestration_status, runtime)
|
|
253
|
+
run_projection = build_workflow_run_projection(runtime)
|
|
252
254
|
return {
|
|
253
255
|
"mode": _text(source.get("mode_key")),
|
|
254
256
|
"phase": _phase(source),
|
|
255
257
|
"run_id": _runtime_run_id(runtime),
|
|
256
|
-
"
|
|
258
|
+
"run_state": run_projection["run_state"],
|
|
259
|
+
"current_step": run_projection["current_step"],
|
|
260
|
+
"run_steps": run_projection["run_steps"],
|
|
261
|
+
"run_events": run_projection["run_events"] or _runtime_run_events(runtime),
|
|
257
262
|
"readiness": policy["readiness"],
|
|
258
263
|
"turn_disposition": _text(turn_disposition.get("turn_disposition")),
|
|
259
264
|
"artifact_write_allowed": turn_disposition.get("artifact_write_allowed") is True,
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"""Canonical workflow Run status projection from backend RunEvents."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Any
|
|
6
|
+
|
|
7
|
+
_TERMINAL_EVENT_STATUS = {
|
|
8
|
+
"complete": "completed",
|
|
9
|
+
"error": "failed",
|
|
10
|
+
"run.completed": "completed",
|
|
11
|
+
"run.failed": "failed",
|
|
12
|
+
"run.cancelled": "cancelled",
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
_STEP_EVENT_STATUS = {
|
|
16
|
+
"workstep.started": "running",
|
|
17
|
+
"workstep.progress": "running",
|
|
18
|
+
"capability.called": "running",
|
|
19
|
+
"capability.result_normalized": "completed",
|
|
20
|
+
"workstep.completed": "completed",
|
|
21
|
+
"workstep.blocked": "blocked",
|
|
22
|
+
"workstep.failed": "failed",
|
|
23
|
+
"human_confirmation.requested": "waiting_for_user",
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
_ACTIVE_RUN_STATES = frozenset({"queued", "running", "waiting_for_user"})
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def _mapping(value: Any) -> dict[str, Any]:
|
|
30
|
+
return value if isinstance(value, dict) else {}
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def _sequence(value: Any) -> list[Any]:
|
|
34
|
+
return value if isinstance(value, list) else []
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def _text(value: Any) -> str:
|
|
38
|
+
return str(value or "").strip()
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def _number(value: Any, fallback: int = 0) -> int:
|
|
42
|
+
try:
|
|
43
|
+
return int(value or fallback)
|
|
44
|
+
except (TypeError, ValueError):
|
|
45
|
+
return fallback
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def _normalized_events(runtime_snapshot: dict[str, Any]) -> list[dict[str, Any]]:
|
|
49
|
+
events = []
|
|
50
|
+
for index, item in enumerate(_sequence(runtime_snapshot.get("run_events")), start=1):
|
|
51
|
+
event = _mapping(item)
|
|
52
|
+
payload = _mapping(event.get("payload"))
|
|
53
|
+
event_name = _text(event.get("event_name") or event.get("eventName") or payload.get("event_name"))
|
|
54
|
+
if not event_name:
|
|
55
|
+
continue
|
|
56
|
+
events.append(
|
|
57
|
+
{
|
|
58
|
+
**dict(event),
|
|
59
|
+
"event_name": event_name,
|
|
60
|
+
"payload": dict(payload),
|
|
61
|
+
"sequence": _number(event.get("sequence") or payload.get("run_event_sequence"), index),
|
|
62
|
+
}
|
|
63
|
+
)
|
|
64
|
+
return sorted(events, key=lambda event: _number(event.get("sequence")))
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
def _event_step_id(event: dict[str, Any]) -> str:
|
|
68
|
+
payload = _mapping(event.get("payload"))
|
|
69
|
+
return _text(payload.get("step_id") or payload.get("stepId"))
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def _step_status(event: dict[str, Any]) -> str:
|
|
73
|
+
payload = _mapping(event.get("payload"))
|
|
74
|
+
payload_status = _text(payload.get("step_status") or payload.get("status"))
|
|
75
|
+
event_name = _text(event.get("event_name"))
|
|
76
|
+
if payload_status in {"blocked", "failed", "completed", "cancelled", "waiting_for_user"}:
|
|
77
|
+
return payload_status
|
|
78
|
+
return _STEP_EVENT_STATUS.get(event_name, "")
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def _capability_id(event: dict[str, Any], step: dict[str, Any]) -> str:
|
|
82
|
+
payload = _mapping(event.get("payload"))
|
|
83
|
+
return _text(payload.get("capability_id") or payload.get("owner_capability") or step.get("capability_id"))
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
def _merge_step_event(step: dict[str, Any], event: dict[str, Any]) -> dict[str, Any]:
|
|
87
|
+
payload = _mapping(event.get("payload"))
|
|
88
|
+
return {
|
|
89
|
+
**step,
|
|
90
|
+
"step_id": _event_step_id(event) or _text(step.get("step_id")),
|
|
91
|
+
"status": _step_status(event) or _text(step.get("status")),
|
|
92
|
+
"capability_id": _capability_id(event, step),
|
|
93
|
+
"owner_capability": _text(payload.get("owner_capability") or step.get("owner_capability")),
|
|
94
|
+
"reason": _text(payload.get("capability_reason") or payload.get("reason") or step.get("reason")),
|
|
95
|
+
"missing_inputs": [_text(item) for item in _sequence(payload.get("missing_inputs")) if _text(item)],
|
|
96
|
+
"latest_event_name": _text(event.get("event_name")),
|
|
97
|
+
"sequence": _number(event.get("sequence")),
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
def _run_steps(events: list[dict[str, Any]]) -> list[dict[str, Any]]:
|
|
102
|
+
steps_by_id: dict[str, dict[str, Any]] = {}
|
|
103
|
+
for event in events:
|
|
104
|
+
step_id = _event_step_id(event)
|
|
105
|
+
if not step_id or not _step_status(event):
|
|
106
|
+
continue
|
|
107
|
+
steps_by_id[step_id] = _merge_step_event(steps_by_id.get(step_id, {}), event)
|
|
108
|
+
return sorted(steps_by_id.values(), key=lambda step: _number(step.get("sequence")))
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
def _terminal_event_state(events: list[dict[str, Any]]) -> str:
|
|
112
|
+
for event in reversed(events):
|
|
113
|
+
status = _TERMINAL_EVENT_STATUS.get(_text(event.get("event_name")), "")
|
|
114
|
+
if status:
|
|
115
|
+
return status
|
|
116
|
+
return ""
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
def _payload_run_state(events: list[dict[str, Any]]) -> str:
|
|
120
|
+
for event in reversed(events):
|
|
121
|
+
payload = _mapping(event.get("payload"))
|
|
122
|
+
state = _text(payload.get("run_state"))
|
|
123
|
+
if state:
|
|
124
|
+
return state
|
|
125
|
+
return ""
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
def _run_state(runtime_snapshot: dict[str, Any], events: list[dict[str, Any]]) -> str:
|
|
129
|
+
terminal = _terminal_event_state(events)
|
|
130
|
+
if terminal:
|
|
131
|
+
return terminal
|
|
132
|
+
run = _mapping(runtime_snapshot.get("run"))
|
|
133
|
+
run_state = _text(run.get("state") or run.get("run_state"))
|
|
134
|
+
if run_state:
|
|
135
|
+
return run_state
|
|
136
|
+
payload_state = _payload_run_state(events)
|
|
137
|
+
if payload_state:
|
|
138
|
+
return payload_state
|
|
139
|
+
return "running" if events else ""
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
def _current_step(steps: list[dict[str, Any]], run_state: str) -> dict[str, Any]:
|
|
143
|
+
active = [step for step in steps if _text(step.get("status")) in _ACTIVE_RUN_STATES]
|
|
144
|
+
if active:
|
|
145
|
+
return dict(active[-1])
|
|
146
|
+
if run_state in _ACTIVE_RUN_STATES and steps:
|
|
147
|
+
return dict(steps[-1])
|
|
148
|
+
return dict(steps[-1]) if steps else {}
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
def build_workflow_run_projection(runtime_snapshot: dict[str, Any] | None) -> dict[str, Any]:
|
|
152
|
+
"""Return backend-owned current Run status plus append-only events."""
|
|
153
|
+
|
|
154
|
+
runtime = _mapping(runtime_snapshot)
|
|
155
|
+
events = _normalized_events(runtime)
|
|
156
|
+
steps = _run_steps(events)
|
|
157
|
+
state = _run_state(runtime, events)
|
|
158
|
+
return {
|
|
159
|
+
"run_state": state,
|
|
160
|
+
"current_step": _current_step(steps, state),
|
|
161
|
+
"run_steps": steps,
|
|
162
|
+
"run_events": events,
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
__all__ = ["build_workflow_run_projection"]
|
|
@@ -18,6 +18,15 @@ class SessionRepository(Protocol):
|
|
|
18
18
|
|
|
19
19
|
def list_session_messages(self, session_id: str) -> list[dict[str, Any]]: ...
|
|
20
20
|
|
|
21
|
+
def list_session_messages_descending(
|
|
22
|
+
self,
|
|
23
|
+
session_id: str,
|
|
24
|
+
*,
|
|
25
|
+
before_created_at: str = "",
|
|
26
|
+
before_message_id: str = "",
|
|
27
|
+
limit: int = 50,
|
|
28
|
+
) -> list[dict[str, Any]]: ...
|
|
29
|
+
|
|
21
30
|
def append_session_messages(self, session_id: str, messages: list[dict[str, Any]]) -> list[dict[str, Any]]: ...
|
|
22
31
|
|
|
23
32
|
def replace_session_message(self, session_id: str, message_id: str, message: dict[str, Any]) -> list[dict[str, Any]]: ...
|
|
@@ -49,6 +49,32 @@ class InMemorySessionRepository(SessionRepository):
|
|
|
49
49
|
with self._lock:
|
|
50
50
|
return [dict(item) for item in self._messages.get(resolved, [])]
|
|
51
51
|
|
|
52
|
+
def list_session_messages_descending(
|
|
53
|
+
self,
|
|
54
|
+
session_id: str,
|
|
55
|
+
*,
|
|
56
|
+
before_created_at: str = "",
|
|
57
|
+
before_message_id: str = "",
|
|
58
|
+
limit: int = 50,
|
|
59
|
+
) -> list[dict[str, Any]]:
|
|
60
|
+
resolved = str(session_id or "").strip()
|
|
61
|
+
bounded_limit = max(0, int(limit or 0))
|
|
62
|
+
if not resolved or bounded_limit <= 0:
|
|
63
|
+
return []
|
|
64
|
+
cursor = (str(before_created_at or "").strip(), str(before_message_id or "").strip())
|
|
65
|
+
with self._lock:
|
|
66
|
+
messages = sorted(
|
|
67
|
+
[dict(item) for item in self._messages.get(resolved, [])],
|
|
68
|
+
key=lambda item: (str(item.get("created_at") or ""), str(item.get("message_id") or "")),
|
|
69
|
+
reverse=True,
|
|
70
|
+
)
|
|
71
|
+
if all(cursor):
|
|
72
|
+
messages = [
|
|
73
|
+
item for item in messages
|
|
74
|
+
if (str(item.get("created_at") or ""), str(item.get("message_id") or "")) < cursor
|
|
75
|
+
]
|
|
76
|
+
return messages[:bounded_limit]
|
|
77
|
+
|
|
52
78
|
def append_session_messages(self, session_id: str, messages: list[dict[str, Any]]) -> list[dict[str, Any]]:
|
|
53
79
|
resolved = str(session_id or "").strip()
|
|
54
80
|
if not resolved:
|