trustgraph-flow 2.3.0__tar.gz → 2.3.2__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.
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/PKG-INFO +1 -1
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/orchestrator/pattern_base.py +67 -24
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/orchestrator/plan_pattern.py +7 -3
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/orchestrator/react_pattern.py +19 -3
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/orchestrator/service.py +25 -13
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/orchestrator/supervisor_pattern.py +7 -3
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/react/agent_manager.py +54 -13
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/react/service.py +13 -13
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/react/tools.py +1 -1
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/react/types.py +11 -1
- trustgraph_flow-2.3.2/trustgraph/flow_version.py +1 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/retrieval/document_rag/document_rag.py +12 -1
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/retrieval/graph_rag/graph_rag.py +29 -2
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph_flow.egg-info/PKG-INFO +1 -1
- trustgraph_flow-2.3.0/trustgraph/flow_version.py +0 -1
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/README.md +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/pyproject.toml +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/setup.cfg +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/mcp_tool/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/mcp_tool/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/mcp_tool/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/orchestrator/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/orchestrator/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/orchestrator/aggregator.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/orchestrator/meta_router.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/react/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/react/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/react/streaming_parser.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/tool_filter.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/chunking/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/chunking/recursive/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/chunking/recursive/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/chunking/recursive/chunker.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/chunking/token/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/chunking/token/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/chunking/token/chunker.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/config/service/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/config/service/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/config/service/config.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/config/service/flow.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/config/service/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/cores/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/cores/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/cores/knowledge.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/cores/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/decoding/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/decoding/mistral_ocr/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/decoding/mistral_ocr/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/decoding/mistral_ocr/processor.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/decoding/pdf/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/decoding/pdf/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/decoding/pdf/pdf_decoder.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/direct/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/direct/cassandra_kg.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/direct/milvus_doc_embeddings.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/direct/milvus_graph_embeddings.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/embeddings/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/embeddings/document_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/embeddings/document_embeddings/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/embeddings/document_embeddings/embeddings.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/embeddings/fastembed/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/embeddings/fastembed/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/embeddings/fastembed/processor.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/embeddings/graph_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/embeddings/graph_embeddings/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/embeddings/graph_embeddings/embeddings.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/embeddings/ollama/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/embeddings/ollama/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/embeddings/ollama/processor.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/embeddings/row_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/embeddings/row_embeddings/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/embeddings/row_embeddings/embeddings.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/external/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/external/wikipedia/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/external/wikipedia/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/external/wikipedia/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/agent/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/agent/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/agent/extract.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/definitions/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/definitions/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/definitions/extract.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/ontology/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/ontology/entity_normalizer.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/ontology/extract.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/ontology/ontology_embedder.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/ontology/ontology_loader.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/ontology/ontology_selector.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/ontology/run.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/ontology/simplified_parser.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/ontology/text_processor.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/ontology/triple_converter.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/ontology/vector_store.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/relationships/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/relationships/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/relationships/extract.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/rows/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/rows/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/rows/processor.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/topics/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/topics/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/extract/kg/topics/extract.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/auth.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/config/receiver.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/agent.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/collection_management.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/config.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/core_export.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/core_import.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/document_embeddings_export.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/document_embeddings_import.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/document_embeddings_query.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/document_load.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/document_rag.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/document_stream.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/embeddings.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/entity_contexts_export.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/entity_contexts_import.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/flow.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/graph_embeddings_export.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/graph_embeddings_import.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/graph_embeddings_query.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/graph_rag.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/knowledge.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/librarian.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/manager.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/mcp_tool.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/mux.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/nlp_query.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/prompt.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/requestor.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/row_embeddings_query.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/rows_import.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/rows_query.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/sender.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/serialize.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/sparql_query.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/streamer.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/structured_diag.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/structured_query.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/text_completion.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/text_load.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/triples_export.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/triples_import.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/dispatch/triples_query.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/endpoint/constant_endpoint.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/endpoint/manager.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/endpoint/metrics.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/endpoint/socket.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/endpoint/stream_endpoint.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/endpoint/variable_endpoint.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/running.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/unused/dbpedia.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/unused/encyclopedia.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/gateway/unused/internet_search.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/librarian/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/librarian/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/librarian/blob_store.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/librarian/collection_manager.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/librarian/librarian.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/librarian/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/metering/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/metering/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/metering/counter.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/azure/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/azure/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/azure/llm.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/azure_openai/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/azure_openai/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/azure_openai/llm.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/claude/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/claude/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/claude/llm.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/cohere/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/cohere/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/cohere/llm.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/llamafile/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/llamafile/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/llamafile/llm.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/lmstudio/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/lmstudio/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/lmstudio/llm.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/mistral/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/mistral/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/mistral/llm.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/ollama/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/ollama/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/ollama/llm.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/openai/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/openai/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/openai/llm.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/tgi/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/tgi/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/tgi/llm.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/vllm/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/vllm/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/model/text_completion/vllm/llm.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/processing/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/processing/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/processing/processing.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/prompt/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/prompt/template/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/prompt/template/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/prompt/template/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/doc_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/doc_embeddings/milvus/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/doc_embeddings/milvus/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/doc_embeddings/milvus/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/doc_embeddings/pinecone/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/doc_embeddings/pinecone/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/doc_embeddings/pinecone/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/doc_embeddings/qdrant/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/doc_embeddings/qdrant/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/doc_embeddings/qdrant/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/graph_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/graph_embeddings/milvus/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/graph_embeddings/milvus/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/graph_embeddings/milvus/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/graph_embeddings/pinecone/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/graph_embeddings/pinecone/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/graph_embeddings/pinecone/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/graph_embeddings/qdrant/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/graph_embeddings/qdrant/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/graph_embeddings/qdrant/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/graphql/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/graphql/filters.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/graphql/schema.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/graphql/types.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/ontology/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/ontology/answer_generator.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/ontology/backend_router.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/ontology/cache.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/ontology/cypher_executor.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/ontology/cypher_generator.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/ontology/error_handling.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/ontology/monitoring.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/ontology/multi_language.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/ontology/ontology_matcher.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/ontology/query_explanation.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/ontology/query_optimizer.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/ontology/query_service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/ontology/question_analyzer.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/ontology/sparql_cassandra.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/ontology/sparql_generator.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/row_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/row_embeddings/qdrant/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/row_embeddings/qdrant/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/row_embeddings/qdrant/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/rows/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/rows/cassandra/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/rows/cassandra/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/rows/cassandra/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/sparql/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/sparql/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/sparql/algebra.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/sparql/expressions.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/sparql/parser.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/sparql/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/sparql/solutions.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/triples/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/triples/cassandra/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/triples/cassandra/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/triples/cassandra/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/triples/falkordb/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/triples/falkordb/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/triples/falkordb/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/triples/memgraph/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/triples/memgraph/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/triples/memgraph/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/triples/neo4j/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/triples/neo4j/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/query/triples/neo4j/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/retrieval/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/retrieval/document_rag/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/retrieval/document_rag/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/retrieval/document_rag/rag.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/retrieval/graph_rag/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/retrieval/graph_rag/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/retrieval/graph_rag/rag.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/retrieval/nlp_query/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/retrieval/nlp_query/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/retrieval/nlp_query/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/retrieval/structured_diag/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/retrieval/structured_diag/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/retrieval/structured_diag/type_detector.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/retrieval/structured_query/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/retrieval/structured_query/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/retrieval/structured_query/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/rev_gateway/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/rev_gateway/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/rev_gateway/dispatcher.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/rev_gateway/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/doc_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/doc_embeddings/milvus/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/doc_embeddings/milvus/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/doc_embeddings/milvus/write.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/doc_embeddings/pinecone/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/doc_embeddings/pinecone/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/doc_embeddings/pinecone/write.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/doc_embeddings/qdrant/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/doc_embeddings/qdrant/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/doc_embeddings/qdrant/write.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/graph_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/graph_embeddings/milvus/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/graph_embeddings/milvus/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/graph_embeddings/milvus/write.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/graph_embeddings/pinecone/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/graph_embeddings/pinecone/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/graph_embeddings/pinecone/write.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/graph_embeddings/qdrant/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/graph_embeddings/qdrant/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/graph_embeddings/qdrant/write.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/knowledge/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/knowledge/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/knowledge/store.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/row_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/row_embeddings/qdrant/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/row_embeddings/qdrant/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/row_embeddings/qdrant/write.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/rows/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/rows/cassandra/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/rows/cassandra/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/rows/cassandra/write.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/triples/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/triples/cassandra/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/triples/cassandra/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/triples/cassandra/write.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/triples/falkordb/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/triples/falkordb/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/triples/falkordb/write.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/triples/memgraph/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/triples/memgraph/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/triples/memgraph/write.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/triples/neo4j/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/triples/neo4j/__main__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/storage/triples/neo4j/write.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/tables/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/tables/config.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/tables/knowledge.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/tables/library.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/template/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/template/prompt_manager.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/tool_service/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/tool_service/joke/__init__.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/tool_service/joke/service.py +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph_flow.egg-info/SOURCES.txt +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph_flow.egg-info/dependency_links.txt +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph_flow.egg-info/entry_points.txt +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph_flow.egg-info/requires.txt +0 -0
- {trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph_flow.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: trustgraph-flow
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.2
|
|
4
4
|
Summary: TrustGraph provides a means to run a pipeline of flexible AI processing components in a flexible means to achieve a processing pipeline.
|
|
5
5
|
Author-email: "trustgraph.ai" <security@trustgraph.ai>
|
|
6
6
|
Project-URL: Homepage, https://github.com/trustgraph-ai/trustgraph
|
{trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/orchestrator/pattern_base.py
RENAMED
|
@@ -25,6 +25,7 @@ from trustgraph.provenance import (
|
|
|
25
25
|
agent_plan_uri,
|
|
26
26
|
agent_step_result_uri,
|
|
27
27
|
agent_synthesis_uri,
|
|
28
|
+
agent_pattern_decision_uri,
|
|
28
29
|
agent_session_triples,
|
|
29
30
|
agent_iteration_triples,
|
|
30
31
|
agent_observation_triples,
|
|
@@ -34,6 +35,7 @@ from trustgraph.provenance import (
|
|
|
34
35
|
agent_plan_triples,
|
|
35
36
|
agent_step_result_triples,
|
|
36
37
|
agent_synthesis_triples,
|
|
38
|
+
agent_pattern_decision_triples,
|
|
37
39
|
set_graph,
|
|
38
40
|
GRAPH_RETRIEVAL,
|
|
39
41
|
)
|
|
@@ -182,7 +184,7 @@ class PatternBase:
|
|
|
182
184
|
logger.debug(f"Think: {x} (is_final={is_final})")
|
|
183
185
|
if streaming:
|
|
184
186
|
r = AgentResponse(
|
|
185
|
-
|
|
187
|
+
message_type="thought",
|
|
186
188
|
content=x,
|
|
187
189
|
end_of_message=is_final,
|
|
188
190
|
end_of_dialog=False,
|
|
@@ -190,7 +192,7 @@ class PatternBase:
|
|
|
190
192
|
)
|
|
191
193
|
else:
|
|
192
194
|
r = AgentResponse(
|
|
193
|
-
|
|
195
|
+
message_type="thought",
|
|
194
196
|
content=x,
|
|
195
197
|
end_of_message=True,
|
|
196
198
|
end_of_dialog=False,
|
|
@@ -205,7 +207,7 @@ class PatternBase:
|
|
|
205
207
|
logger.debug(f"Observe: {x} (is_final={is_final})")
|
|
206
208
|
if streaming:
|
|
207
209
|
r = AgentResponse(
|
|
208
|
-
|
|
210
|
+
message_type="observation",
|
|
209
211
|
content=x,
|
|
210
212
|
end_of_message=is_final,
|
|
211
213
|
end_of_dialog=False,
|
|
@@ -213,7 +215,7 @@ class PatternBase:
|
|
|
213
215
|
)
|
|
214
216
|
else:
|
|
215
217
|
r = AgentResponse(
|
|
216
|
-
|
|
218
|
+
message_type="observation",
|
|
217
219
|
content=x,
|
|
218
220
|
end_of_message=True,
|
|
219
221
|
end_of_dialog=False,
|
|
@@ -228,7 +230,7 @@ class PatternBase:
|
|
|
228
230
|
logger.debug(f"Answer: {x}")
|
|
229
231
|
if streaming:
|
|
230
232
|
r = AgentResponse(
|
|
231
|
-
|
|
233
|
+
message_type="answer",
|
|
232
234
|
content=x,
|
|
233
235
|
end_of_message=False,
|
|
234
236
|
end_of_dialog=False,
|
|
@@ -236,7 +238,7 @@ class PatternBase:
|
|
|
236
238
|
)
|
|
237
239
|
else:
|
|
238
240
|
r = AgentResponse(
|
|
239
|
-
|
|
241
|
+
message_type="answer",
|
|
240
242
|
content=x,
|
|
241
243
|
end_of_message=True,
|
|
242
244
|
end_of_dialog=False,
|
|
@@ -270,16 +272,43 @@ class PatternBase:
|
|
|
270
272
|
logger.debug(f"Emitted session triples for {session_uri}")
|
|
271
273
|
|
|
272
274
|
await respond(AgentResponse(
|
|
273
|
-
|
|
275
|
+
message_type="explain",
|
|
274
276
|
content="",
|
|
275
277
|
explain_id=session_uri,
|
|
276
278
|
explain_graph=GRAPH_RETRIEVAL,
|
|
277
279
|
explain_triples=triples,
|
|
278
280
|
))
|
|
279
281
|
|
|
282
|
+
async def emit_pattern_decision_triples(
|
|
283
|
+
self, flow, session_id, session_uri, pattern, task_type,
|
|
284
|
+
user, collection, respond,
|
|
285
|
+
):
|
|
286
|
+
"""Emit provenance triples for a meta-router pattern decision."""
|
|
287
|
+
uri = agent_pattern_decision_uri(session_id)
|
|
288
|
+
triples = set_graph(
|
|
289
|
+
agent_pattern_decision_triples(
|
|
290
|
+
uri, session_uri, pattern, task_type,
|
|
291
|
+
),
|
|
292
|
+
GRAPH_RETRIEVAL,
|
|
293
|
+
)
|
|
294
|
+
await flow("explainability").send(Triples(
|
|
295
|
+
metadata=Metadata(id=uri, user=user, collection=collection),
|
|
296
|
+
triples=triples,
|
|
297
|
+
))
|
|
298
|
+
await respond(AgentResponse(
|
|
299
|
+
message_type="explain", content="",
|
|
300
|
+
explain_id=uri, explain_graph=GRAPH_RETRIEVAL,
|
|
301
|
+
explain_triples=triples,
|
|
302
|
+
))
|
|
303
|
+
return uri
|
|
304
|
+
|
|
280
305
|
async def emit_iteration_triples(self, flow, session_id, iteration_num,
|
|
281
306
|
session_uri, act, request, respond,
|
|
282
|
-
streaming
|
|
307
|
+
streaming, tool_candidates=None,
|
|
308
|
+
step_number=None,
|
|
309
|
+
llm_duration_ms=None,
|
|
310
|
+
in_token=None, out_token=None,
|
|
311
|
+
model=None):
|
|
283
312
|
"""Emit provenance triples for an iteration (Analysis+ToolUse)."""
|
|
284
313
|
iteration_uri = agent_iteration_uri(session_id, iteration_num)
|
|
285
314
|
|
|
@@ -319,6 +348,12 @@ class PatternBase:
|
|
|
319
348
|
arguments=act.arguments,
|
|
320
349
|
thought_uri=thought_entity_uri if thought_doc_id else None,
|
|
321
350
|
thought_document_id=thought_doc_id,
|
|
351
|
+
tool_candidates=tool_candidates,
|
|
352
|
+
step_number=step_number,
|
|
353
|
+
llm_duration_ms=llm_duration_ms,
|
|
354
|
+
in_token=in_token,
|
|
355
|
+
out_token=out_token,
|
|
356
|
+
model=model,
|
|
322
357
|
),
|
|
323
358
|
GRAPH_RETRIEVAL,
|
|
324
359
|
)
|
|
@@ -333,7 +368,7 @@ class PatternBase:
|
|
|
333
368
|
logger.debug(f"Emitted iteration triples for {iteration_uri}")
|
|
334
369
|
|
|
335
370
|
await respond(AgentResponse(
|
|
336
|
-
|
|
371
|
+
message_type="explain",
|
|
337
372
|
content="",
|
|
338
373
|
explain_id=iteration_uri,
|
|
339
374
|
explain_graph=GRAPH_RETRIEVAL,
|
|
@@ -342,7 +377,9 @@ class PatternBase:
|
|
|
342
377
|
|
|
343
378
|
async def emit_observation_triples(self, flow, session_id, iteration_num,
|
|
344
379
|
observation_text, request, respond,
|
|
345
|
-
context=None
|
|
380
|
+
context=None,
|
|
381
|
+
tool_duration_ms=None,
|
|
382
|
+
tool_error=None):
|
|
346
383
|
"""Emit provenance triples for a standalone Observation entity."""
|
|
347
384
|
iteration_uri = agent_iteration_uri(session_id, iteration_num)
|
|
348
385
|
observation_entity_uri = agent_observation_uri(session_id, iteration_num)
|
|
@@ -375,6 +412,8 @@ class PatternBase:
|
|
|
375
412
|
observation_entity_uri,
|
|
376
413
|
parent_uri,
|
|
377
414
|
document_id=observation_doc_id,
|
|
415
|
+
tool_duration_ms=tool_duration_ms,
|
|
416
|
+
tool_error=tool_error,
|
|
378
417
|
),
|
|
379
418
|
GRAPH_RETRIEVAL,
|
|
380
419
|
)
|
|
@@ -389,7 +428,7 @@ class PatternBase:
|
|
|
389
428
|
logger.debug(f"Emitted observation triples for {observation_entity_uri}")
|
|
390
429
|
|
|
391
430
|
await respond(AgentResponse(
|
|
392
|
-
|
|
431
|
+
message_type="explain",
|
|
393
432
|
content="",
|
|
394
433
|
explain_id=observation_entity_uri,
|
|
395
434
|
explain_graph=GRAPH_RETRIEVAL,
|
|
@@ -398,7 +437,7 @@ class PatternBase:
|
|
|
398
437
|
|
|
399
438
|
async def emit_final_triples(self, flow, session_id, iteration_num,
|
|
400
439
|
session_uri, answer_text, request, respond,
|
|
401
|
-
streaming):
|
|
440
|
+
streaming, termination_reason=None):
|
|
402
441
|
"""Emit provenance triples for the final answer and save to librarian."""
|
|
403
442
|
final_uri = agent_final_uri(session_id)
|
|
404
443
|
|
|
@@ -432,6 +471,7 @@ class PatternBase:
|
|
|
432
471
|
question_uri=final_question_uri,
|
|
433
472
|
previous_uri=final_previous_uri,
|
|
434
473
|
document_id=answer_doc_id,
|
|
474
|
+
termination_reason=termination_reason,
|
|
435
475
|
),
|
|
436
476
|
GRAPH_RETRIEVAL,
|
|
437
477
|
)
|
|
@@ -446,7 +486,7 @@ class PatternBase:
|
|
|
446
486
|
logger.debug(f"Emitted final triples for {final_uri}")
|
|
447
487
|
|
|
448
488
|
await respond(AgentResponse(
|
|
449
|
-
|
|
489
|
+
message_type="explain",
|
|
450
490
|
content="",
|
|
451
491
|
explain_id=final_uri,
|
|
452
492
|
explain_graph=GRAPH_RETRIEVAL,
|
|
@@ -470,7 +510,7 @@ class PatternBase:
|
|
|
470
510
|
triples=triples,
|
|
471
511
|
))
|
|
472
512
|
await respond(AgentResponse(
|
|
473
|
-
|
|
513
|
+
message_type="explain", content="",
|
|
474
514
|
explain_id=uri, explain_graph=GRAPH_RETRIEVAL,
|
|
475
515
|
explain_triples=triples,
|
|
476
516
|
))
|
|
@@ -509,7 +549,7 @@ class PatternBase:
|
|
|
509
549
|
triples=triples,
|
|
510
550
|
))
|
|
511
551
|
await respond(AgentResponse(
|
|
512
|
-
|
|
552
|
+
message_type="explain", content="",
|
|
513
553
|
explain_id=uri, explain_graph=GRAPH_RETRIEVAL,
|
|
514
554
|
explain_triples=triples,
|
|
515
555
|
))
|
|
@@ -529,7 +569,7 @@ class PatternBase:
|
|
|
529
569
|
triples=triples,
|
|
530
570
|
))
|
|
531
571
|
await respond(AgentResponse(
|
|
532
|
-
|
|
572
|
+
message_type="explain", content="",
|
|
533
573
|
explain_id=uri, explain_graph=GRAPH_RETRIEVAL,
|
|
534
574
|
explain_triples=triples,
|
|
535
575
|
))
|
|
@@ -562,14 +602,14 @@ class PatternBase:
|
|
|
562
602
|
triples=triples,
|
|
563
603
|
))
|
|
564
604
|
await respond(AgentResponse(
|
|
565
|
-
|
|
605
|
+
message_type="explain", content="",
|
|
566
606
|
explain_id=uri, explain_graph=GRAPH_RETRIEVAL,
|
|
567
607
|
explain_triples=triples,
|
|
568
608
|
))
|
|
569
609
|
|
|
570
610
|
async def emit_synthesis_triples(
|
|
571
611
|
self, flow, session_id, previous_uris, answer_text, user, collection,
|
|
572
|
-
respond, streaming,
|
|
612
|
+
respond, streaming, termination_reason=None,
|
|
573
613
|
):
|
|
574
614
|
"""Emit provenance for a synthesis answer."""
|
|
575
615
|
uri = agent_synthesis_uri(session_id)
|
|
@@ -586,7 +626,10 @@ class PatternBase:
|
|
|
586
626
|
doc_id = None
|
|
587
627
|
|
|
588
628
|
triples = set_graph(
|
|
589
|
-
agent_synthesis_triples(
|
|
629
|
+
agent_synthesis_triples(
|
|
630
|
+
uri, previous_uris, doc_id,
|
|
631
|
+
termination_reason=termination_reason,
|
|
632
|
+
),
|
|
590
633
|
GRAPH_RETRIEVAL,
|
|
591
634
|
)
|
|
592
635
|
await flow("explainability").send(Triples(
|
|
@@ -594,7 +637,7 @@ class PatternBase:
|
|
|
594
637
|
triples=triples,
|
|
595
638
|
))
|
|
596
639
|
await respond(AgentResponse(
|
|
597
|
-
|
|
640
|
+
message_type="explain", content="",
|
|
598
641
|
explain_id=uri, explain_graph=GRAPH_RETRIEVAL,
|
|
599
642
|
explain_triples=triples,
|
|
600
643
|
))
|
|
@@ -616,7 +659,7 @@ class PatternBase:
|
|
|
616
659
|
if text:
|
|
617
660
|
accumulated.append(text)
|
|
618
661
|
await respond(AgentResponse(
|
|
619
|
-
|
|
662
|
+
message_type="answer",
|
|
620
663
|
content=text,
|
|
621
664
|
end_of_message=False,
|
|
622
665
|
end_of_dialog=False,
|
|
@@ -666,7 +709,7 @@ class PatternBase:
|
|
|
666
709
|
# Answer wasn't streamed yet — send it as a chunk first
|
|
667
710
|
if answer_text:
|
|
668
711
|
await respond(AgentResponse(
|
|
669
|
-
|
|
712
|
+
message_type="answer",
|
|
670
713
|
content=answer_text,
|
|
671
714
|
end_of_message=False,
|
|
672
715
|
end_of_dialog=False,
|
|
@@ -675,7 +718,7 @@ class PatternBase:
|
|
|
675
718
|
if streaming:
|
|
676
719
|
# End-of-dialog marker with usage
|
|
677
720
|
await respond(AgentResponse(
|
|
678
|
-
|
|
721
|
+
message_type="answer",
|
|
679
722
|
content="",
|
|
680
723
|
end_of_message=True,
|
|
681
724
|
end_of_dialog=True,
|
|
@@ -684,7 +727,7 @@ class PatternBase:
|
|
|
684
727
|
))
|
|
685
728
|
else:
|
|
686
729
|
await respond(AgentResponse(
|
|
687
|
-
|
|
730
|
+
message_type="answer",
|
|
688
731
|
content=answer_text,
|
|
689
732
|
end_of_message=True,
|
|
690
733
|
end_of_dialog=True,
|
{trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/orchestrator/plan_pattern.py
RENAMED
|
@@ -35,7 +35,8 @@ class PlanThenExecutePattern(PatternBase):
|
|
|
35
35
|
Subsequent calls execute the next pending plan step via ReACT.
|
|
36
36
|
"""
|
|
37
37
|
|
|
38
|
-
async def iterate(self, request, respond, next, flow, usage=None
|
|
38
|
+
async def iterate(self, request, respond, next, flow, usage=None,
|
|
39
|
+
pattern_decision_uri=None):
|
|
39
40
|
|
|
40
41
|
if usage is None:
|
|
41
42
|
usage = UsageTracker()
|
|
@@ -66,16 +67,18 @@ class PlanThenExecutePattern(PatternBase):
|
|
|
66
67
|
# Determine current phase by checking history for a plan step
|
|
67
68
|
plan = self._extract_plan(request.history)
|
|
68
69
|
|
|
70
|
+
derive_from_uri = pattern_decision_uri or session_uri
|
|
71
|
+
|
|
69
72
|
if plan is None:
|
|
70
73
|
await self._planning_iteration(
|
|
71
74
|
request, respond, next, flow,
|
|
72
|
-
session_id, collection, streaming,
|
|
75
|
+
session_id, collection, streaming, derive_from_uri,
|
|
73
76
|
iteration_num, usage=usage,
|
|
74
77
|
)
|
|
75
78
|
else:
|
|
76
79
|
await self._execution_iteration(
|
|
77
80
|
request, respond, next, flow,
|
|
78
|
-
session_id, collection, streaming,
|
|
81
|
+
session_id, collection, streaming, derive_from_uri,
|
|
79
82
|
iteration_num, plan, usage=usage,
|
|
80
83
|
)
|
|
81
84
|
|
|
@@ -385,6 +388,7 @@ class PlanThenExecutePattern(PatternBase):
|
|
|
385
388
|
await self.emit_synthesis_triples(
|
|
386
389
|
flow, session_id, last_step_uri,
|
|
387
390
|
response_text, request.user, collection, respond, streaming,
|
|
391
|
+
termination_reason="plan-complete",
|
|
388
392
|
)
|
|
389
393
|
|
|
390
394
|
if self.is_subagent(request):
|
{trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/orchestrator/react_pattern.py
RENAMED
|
@@ -37,7 +37,8 @@ class ReactPattern(PatternBase):
|
|
|
37
37
|
result is appended to history and a next-request is emitted.
|
|
38
38
|
"""
|
|
39
39
|
|
|
40
|
-
async def iterate(self, request, respond, next, flow, usage=None
|
|
40
|
+
async def iterate(self, request, respond, next, flow, usage=None,
|
|
41
|
+
pattern_decision_uri=None):
|
|
41
42
|
|
|
42
43
|
if usage is None:
|
|
43
44
|
usage = UsageTracker()
|
|
@@ -108,11 +109,23 @@ class ReactPattern(PatternBase):
|
|
|
108
109
|
session_id, iteration_num,
|
|
109
110
|
)
|
|
110
111
|
|
|
112
|
+
# Tool names available to the LLM for this iteration
|
|
113
|
+
tool_candidates = [t.name for t in filtered_tools.values()]
|
|
114
|
+
|
|
115
|
+
# Use pattern decision as derivation source if available
|
|
116
|
+
derive_from_uri = pattern_decision_uri or session_uri
|
|
117
|
+
|
|
111
118
|
# Callback: emit Analysis+ToolUse triples before tool executes
|
|
112
119
|
async def on_action(act):
|
|
113
120
|
await self.emit_iteration_triples(
|
|
114
|
-
flow, session_id, iteration_num,
|
|
121
|
+
flow, session_id, iteration_num, derive_from_uri,
|
|
115
122
|
act, request, respond, streaming,
|
|
123
|
+
tool_candidates=tool_candidates,
|
|
124
|
+
step_number=iteration_num,
|
|
125
|
+
llm_duration_ms=getattr(act, 'llm_duration_ms', None),
|
|
126
|
+
in_token=getattr(act, 'in_token', None),
|
|
127
|
+
out_token=getattr(act, 'out_token', None),
|
|
128
|
+
model=getattr(act, 'llm_model', None),
|
|
116
129
|
)
|
|
117
130
|
|
|
118
131
|
act = await temp_agent.react(
|
|
@@ -138,8 +151,9 @@ class ReactPattern(PatternBase):
|
|
|
138
151
|
|
|
139
152
|
# Emit final provenance
|
|
140
153
|
await self.emit_final_triples(
|
|
141
|
-
flow, session_id, iteration_num,
|
|
154
|
+
flow, session_id, iteration_num, derive_from_uri,
|
|
142
155
|
f, request, respond, streaming,
|
|
156
|
+
termination_reason="final-answer",
|
|
143
157
|
)
|
|
144
158
|
|
|
145
159
|
if self.is_subagent(request):
|
|
@@ -157,6 +171,8 @@ class ReactPattern(PatternBase):
|
|
|
157
171
|
flow, session_id, iteration_num,
|
|
158
172
|
act.observation, request, respond,
|
|
159
173
|
context=context,
|
|
174
|
+
tool_duration_ms=getattr(act, 'tool_duration_ms', None),
|
|
175
|
+
tool_error=getattr(act, 'tool_error', None),
|
|
160
176
|
)
|
|
161
177
|
|
|
162
178
|
history.append(act)
|
|
@@ -23,7 +23,7 @@ from ... base import Consumer, Producer
|
|
|
23
23
|
from ... base import ConsumerMetrics, ProducerMetrics
|
|
24
24
|
|
|
25
25
|
from ... schema import AgentRequest, AgentResponse, AgentStep, Error
|
|
26
|
-
from ..orchestrator.pattern_base import UsageTracker
|
|
26
|
+
from ..orchestrator.pattern_base import UsageTracker, PatternBase
|
|
27
27
|
from ... schema import Triples, Metadata
|
|
28
28
|
from ... schema import LibrarianRequest, LibrarianResponse, DocumentMetadata
|
|
29
29
|
from ... schema import librarian_request_queue, librarian_response_queue
|
|
@@ -537,19 +537,31 @@ class Processor(AgentService):
|
|
|
537
537
|
)
|
|
538
538
|
|
|
539
539
|
# Dispatch to the selected pattern
|
|
540
|
+
selected = self.react_pattern
|
|
540
541
|
if pattern == "plan-then-execute":
|
|
541
|
-
|
|
542
|
-
request, respond, next, flow, usage=usage,
|
|
543
|
-
)
|
|
542
|
+
selected = self.plan_pattern
|
|
544
543
|
elif pattern == "supervisor":
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
544
|
+
selected = self.supervisor_pattern
|
|
545
|
+
|
|
546
|
+
# Emit pattern decision provenance on first iteration
|
|
547
|
+
pattern_decision_uri = None
|
|
548
|
+
if not request.history and pattern:
|
|
549
|
+
session_id = getattr(request, 'session_id', '')
|
|
550
|
+
if session_id:
|
|
551
|
+
session_uri = self.provenance_session_uri(session_id)
|
|
552
|
+
pattern_decision_uri = \
|
|
553
|
+
await selected.emit_pattern_decision_triples(
|
|
554
|
+
flow, session_id, session_uri,
|
|
555
|
+
pattern, getattr(request, 'task_type', ''),
|
|
556
|
+
request.user,
|
|
557
|
+
getattr(request, 'collection', 'default'),
|
|
558
|
+
respond,
|
|
559
|
+
)
|
|
560
|
+
|
|
561
|
+
await selected.iterate(
|
|
562
|
+
request, respond, next, flow, usage=usage,
|
|
563
|
+
pattern_decision_uri=pattern_decision_uri,
|
|
564
|
+
)
|
|
553
565
|
|
|
554
566
|
except Exception as e:
|
|
555
567
|
|
|
@@ -565,7 +577,7 @@ class Processor(AgentService):
|
|
|
565
577
|
)
|
|
566
578
|
|
|
567
579
|
r = AgentResponse(
|
|
568
|
-
|
|
580
|
+
message_type="error",
|
|
569
581
|
content=str(e),
|
|
570
582
|
end_of_message=True,
|
|
571
583
|
end_of_dialog=True,
|
{trustgraph_flow-2.3.0 → trustgraph_flow-2.3.2}/trustgraph/agent/orchestrator/supervisor_pattern.py
RENAMED
|
@@ -38,7 +38,8 @@ class SupervisorPattern(PatternBase):
|
|
|
38
38
|
- "synthesise": triggered by aggregator with results in subagent_results
|
|
39
39
|
"""
|
|
40
40
|
|
|
41
|
-
async def iterate(self, request, respond, next, flow, usage=None
|
|
41
|
+
async def iterate(self, request, respond, next, flow, usage=None,
|
|
42
|
+
pattern_decision_uri=None):
|
|
42
43
|
|
|
43
44
|
if usage is None:
|
|
44
45
|
usage = UsageTracker()
|
|
@@ -70,18 +71,20 @@ class SupervisorPattern(PatternBase):
|
|
|
70
71
|
)
|
|
71
72
|
)
|
|
72
73
|
|
|
74
|
+
derive_from_uri = pattern_decision_uri or session_uri
|
|
75
|
+
|
|
73
76
|
if has_results:
|
|
74
77
|
await self._synthesise(
|
|
75
78
|
request, respond, next, flow,
|
|
76
79
|
session_id, collection, streaming,
|
|
77
|
-
|
|
80
|
+
derive_from_uri, iteration_num,
|
|
78
81
|
usage=usage,
|
|
79
82
|
)
|
|
80
83
|
else:
|
|
81
84
|
await self._decompose_and_fanout(
|
|
82
85
|
request, respond, next, flow,
|
|
83
86
|
session_id, collection, streaming,
|
|
84
|
-
|
|
87
|
+
derive_from_uri, iteration_num,
|
|
85
88
|
usage=usage,
|
|
86
89
|
)
|
|
87
90
|
|
|
@@ -235,6 +238,7 @@ class SupervisorPattern(PatternBase):
|
|
|
235
238
|
await self.emit_synthesis_triples(
|
|
236
239
|
flow, session_id, finding_uris,
|
|
237
240
|
response_text, request.user, collection, respond, streaming,
|
|
241
|
+
termination_reason="subagents-complete",
|
|
238
242
|
)
|
|
239
243
|
|
|
240
244
|
await self.send_final_response(
|
|
@@ -3,6 +3,7 @@ import logging
|
|
|
3
3
|
import json
|
|
4
4
|
import re
|
|
5
5
|
import asyncio
|
|
6
|
+
import time
|
|
6
7
|
|
|
7
8
|
from . types import Action, Final
|
|
8
9
|
|
|
@@ -260,6 +261,7 @@ class AgentManager:
|
|
|
260
261
|
streaming=True,
|
|
261
262
|
chunk_callback=on_chunk
|
|
262
263
|
)
|
|
264
|
+
self._last_prompt_result = prompt_result
|
|
263
265
|
if usage:
|
|
264
266
|
usage.track(prompt_result)
|
|
265
267
|
|
|
@@ -269,7 +271,13 @@ class AgentManager:
|
|
|
269
271
|
# Get result
|
|
270
272
|
result = parser.get_result()
|
|
271
273
|
if result is None:
|
|
272
|
-
|
|
274
|
+
return Action(
|
|
275
|
+
thought="",
|
|
276
|
+
name="__parse_error__",
|
|
277
|
+
arguments={},
|
|
278
|
+
observation="",
|
|
279
|
+
tool_error="LLM response could not be parsed (streaming)",
|
|
280
|
+
)
|
|
273
281
|
|
|
274
282
|
return result
|
|
275
283
|
|
|
@@ -281,6 +289,7 @@ class AgentManager:
|
|
|
281
289
|
variables=variables,
|
|
282
290
|
streaming=False
|
|
283
291
|
)
|
|
292
|
+
self._last_prompt_result = prompt_result
|
|
284
293
|
if usage:
|
|
285
294
|
usage.track(prompt_result)
|
|
286
295
|
response_text = prompt_result.text
|
|
@@ -294,12 +303,19 @@ class AgentManager:
|
|
|
294
303
|
except ValueError as e:
|
|
295
304
|
logger.error(f"Failed to parse response: {e}")
|
|
296
305
|
logger.error(f"Response was: {response_text}")
|
|
297
|
-
|
|
306
|
+
return Action(
|
|
307
|
+
thought="",
|
|
308
|
+
name="__parse_error__",
|
|
309
|
+
arguments={},
|
|
310
|
+
observation="",
|
|
311
|
+
tool_error=f"LLM parse error: {e}",
|
|
312
|
+
)
|
|
298
313
|
|
|
299
314
|
async def react(self, question, history, think, observe, context,
|
|
300
315
|
streaming=False, answer=None, on_action=None,
|
|
301
316
|
usage=None):
|
|
302
317
|
|
|
318
|
+
t0 = time.monotonic()
|
|
303
319
|
act = await self.reason(
|
|
304
320
|
question = question,
|
|
305
321
|
history = history,
|
|
@@ -310,6 +326,12 @@ class AgentManager:
|
|
|
310
326
|
answer = answer,
|
|
311
327
|
usage = usage,
|
|
312
328
|
)
|
|
329
|
+
act.llm_duration_ms = int((time.monotonic() - t0) * 1000)
|
|
330
|
+
pr = getattr(self, '_last_prompt_result', None)
|
|
331
|
+
if pr:
|
|
332
|
+
act.in_token = pr.in_token
|
|
333
|
+
act.out_token = pr.out_token
|
|
334
|
+
act.llm_model = pr.model
|
|
313
335
|
|
|
314
336
|
if isinstance(act, Final):
|
|
315
337
|
|
|
@@ -328,24 +350,43 @@ class AgentManager:
|
|
|
328
350
|
|
|
329
351
|
logger.debug(f"ACTION: {act.name}")
|
|
330
352
|
|
|
353
|
+
# Notify caller before tool execution (for provenance)
|
|
354
|
+
if on_action:
|
|
355
|
+
await on_action(act)
|
|
356
|
+
|
|
357
|
+
# Handle parse errors — skip tool execution
|
|
358
|
+
if act.name == "__parse_error__":
|
|
359
|
+
resp = f"Error: {act.tool_error}"
|
|
360
|
+
act.tool_duration_ms = 0
|
|
361
|
+
await observe(resp, is_final=True)
|
|
362
|
+
act.observation = resp
|
|
363
|
+
return act
|
|
364
|
+
|
|
331
365
|
if act.name in self.tools:
|
|
332
366
|
action = self.tools[act.name]
|
|
333
367
|
else:
|
|
334
368
|
raise RuntimeError(f"No action for {act.name}!")
|
|
335
369
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
await
|
|
370
|
+
t0 = time.monotonic()
|
|
371
|
+
try:
|
|
372
|
+
resp = await action.implementation(context).invoke(
|
|
373
|
+
**act.arguments
|
|
374
|
+
)
|
|
339
375
|
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
376
|
+
if isinstance(resp, str):
|
|
377
|
+
resp = resp.strip()
|
|
378
|
+
else:
|
|
379
|
+
resp = str(resp)
|
|
380
|
+
resp = resp.strip()
|
|
343
381
|
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
resp =
|
|
382
|
+
act.tool_error = None
|
|
383
|
+
|
|
384
|
+
except Exception as e:
|
|
385
|
+
logger.error(f"Tool execution error ({act.name}): {e}")
|
|
386
|
+
resp = f"Error: {e}"
|
|
387
|
+
act.tool_error = str(e)
|
|
388
|
+
|
|
389
|
+
act.tool_duration_ms = int((time.monotonic() - t0) * 1000)
|
|
349
390
|
|
|
350
391
|
await observe(resp, is_final=True)
|
|
351
392
|
|