trustgraph-flow 2.8.0__tar.gz → 2.8.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.8.0 → trustgraph_flow-2.8.2}/PKG-INFO +1 -1
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/pyproject.toml +0 -1
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/bootstrapper/service.py +1 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/cores/knowledge.py +15 -32
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/flow/service/service.py +1 -0
- trustgraph_flow-2.8.2/trustgraph/flow_version.py +1 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/auth.py +8 -16
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/config/receiver.py +39 -69
- trustgraph_flow-2.8.2/trustgraph/gateway/dispatch/document_embeddings_export.py +63 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/document_embeddings_import.py +12 -27
- trustgraph_flow-2.8.2/trustgraph/gateway/dispatch/entity_contexts_export.py +63 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/entity_contexts_import.py +11 -25
- trustgraph_flow-2.8.2/trustgraph/gateway/dispatch/graph_embeddings_export.py +63 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/graph_embeddings_import.py +11 -25
- trustgraph_flow-2.8.2/trustgraph/gateway/dispatch/requestor.py +101 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/rows_import.py +11 -28
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/sender.py +12 -14
- trustgraph_flow-2.8.2/trustgraph/gateway/dispatch/triples_export.py +63 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/triples_import.py +11 -25
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/service.py +6 -5
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/iam/service/service.py +0 -1
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/rev_gateway/service.py +3 -3
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/milvus/write.py +1 -1
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/pinecone/write.py +1 -1
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/qdrant/write.py +1 -1
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/milvus/write.py +1 -1
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/pinecone/write.py +1 -1
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/qdrant/write.py +1 -1
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/cassandra/write.py +1 -1
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/falkordb/write.py +1 -1
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/memgraph/write.py +1 -1
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/neo4j/write.py +1 -1
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph_flow.egg-info/PKG-INFO +1 -1
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph_flow.egg-info/SOURCES.txt +0 -1
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph_flow.egg-info/entry_points.txt +0 -1
- trustgraph_flow-2.8.0/trustgraph/flow_version.py +0 -1
- trustgraph_flow-2.8.0/trustgraph/gateway/dispatch/document_embeddings_export.py +0 -91
- trustgraph_flow-2.8.0/trustgraph/gateway/dispatch/entity_contexts_export.py +0 -91
- trustgraph_flow-2.8.0/trustgraph/gateway/dispatch/graph_embeddings_export.py +0 -91
- trustgraph_flow-2.8.0/trustgraph/gateway/dispatch/requestor.py +0 -105
- trustgraph_flow-2.8.0/trustgraph/gateway/dispatch/streamer.py +0 -97
- trustgraph_flow-2.8.0/trustgraph/gateway/dispatch/triples_export.py +0 -91
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/README.md +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/setup.cfg +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/mcp_tool/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/mcp_tool/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/mcp_tool/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/orchestrator/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/orchestrator/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/orchestrator/aggregator.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/orchestrator/meta_router.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/orchestrator/pattern_base.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/orchestrator/plan_pattern.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/orchestrator/react_pattern.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/orchestrator/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/orchestrator/supervisor_pattern.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/react/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/react/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/react/agent_manager.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/react/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/react/streaming_parser.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/react/tools.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/react/types.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/tool_filter.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/base.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/bootstrapper/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/bootstrapper/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/initialisers/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/initialisers/default_flow_start.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/initialisers/pulsar_topology.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/initialisers/template_seed.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/initialisers/workspace_init.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/chunking/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/chunking/recursive/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/chunking/recursive/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/chunking/recursive/chunker.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/chunking/token/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/chunking/token/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/chunking/token/chunker.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/config/service/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/config/service/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/config/service/config.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/config/service/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/cores/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/cores/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/cores/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/decoding/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/decoding/mistral_ocr/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/decoding/mistral_ocr/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/decoding/mistral_ocr/processor.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/decoding/pdf/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/decoding/pdf/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/decoding/pdf/pdf_decoder.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/direct/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/direct/cassandra_kg.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/direct/milvus_doc_embeddings.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/direct/milvus_graph_embeddings.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/document_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/document_embeddings/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/document_embeddings/embeddings.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/fastembed/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/fastembed/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/fastembed/processor.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/graph_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/graph_embeddings/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/graph_embeddings/embeddings.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/ollama/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/ollama/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/ollama/processor.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/row_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/row_embeddings/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/row_embeddings/embeddings.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/external/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/external/wikipedia/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/external/wikipedia/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/external/wikipedia/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/agent/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/agent/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/agent/extract.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/definitions/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/definitions/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/definitions/extract.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/entity_normalizer.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/extract.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/ontology_embedder.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/ontology_loader.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/ontology_selector.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/run.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/simplified_parser.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/text_processor.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/triple_converter.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/vector_store.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/relationships/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/relationships/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/relationships/extract.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/rows/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/rows/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/rows/processor.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/topics/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/topics/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/topics/extract.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/flow/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/flow/service/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/flow/service/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/flow/service/flow.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/audit.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/capabilities.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/agent.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/collection_management.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/config.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/core_export.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/core_import.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/document_embeddings_query.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/document_load.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/document_rag.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/document_stream.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/embeddings.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/flow.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/graph_embeddings_query.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/graph_rag.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/iam.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/image_to_text.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/knowledge.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/librarian.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/manager.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/mcp_tool.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/mux.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/nlp_query.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/prompt.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/reranker.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/row_embeddings_query.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/rows_query.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/serialize.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/sparql_query.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/structured_diag.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/structured_query.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/text_completion.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/text_load.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/triples_query.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/auth_endpoints.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/constant_endpoint.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/i18n.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/iam_endpoint.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/manager.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/metrics.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/registry_endpoint.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/socket.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/stream_endpoint.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/variable_endpoint.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/registry.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/running.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/unused/dbpedia.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/unused/encyclopedia.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/unused/internet_search.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/iam/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/iam/noauth/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/iam/noauth/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/iam/noauth/handler.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/iam/noauth/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/iam/service/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/iam/service/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/iam/service/iam.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/librarian/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/librarian/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/librarian/blob_store.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/librarian/collection_manager.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/librarian/librarian.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/librarian/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/metering/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/metering/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/metering/counter.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/image_to_text/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/image_to_text/openai/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/image_to_text/openai/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/image_to_text/openai/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/azure/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/azure/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/azure/llm.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/azure_openai/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/azure_openai/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/azure_openai/llm.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/claude/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/claude/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/claude/llm.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/cohere/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/cohere/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/cohere/llm.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/llamafile/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/llamafile/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/llamafile/llm.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/lmstudio/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/lmstudio/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/lmstudio/llm.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/mistral/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/mistral/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/mistral/llm.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/ollama/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/ollama/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/ollama/llm.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/openai/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/openai/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/openai/llm.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/openai/variants.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/tgi/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/tgi/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/tgi/llm.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/vllm/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/vllm/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/vllm/llm.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/processing/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/processing/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/processing/processing.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/prompt/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/prompt/template/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/prompt/template/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/prompt/template/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/milvus/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/milvus/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/milvus/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/pinecone/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/pinecone/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/pinecone/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/qdrant/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/qdrant/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/qdrant/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/milvus/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/milvus/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/milvus/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/pinecone/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/pinecone/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/pinecone/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/qdrant/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/qdrant/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/qdrant/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graphql/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graphql/filters.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graphql/schema.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graphql/types.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/answer_generator.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/backend_router.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/cache.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/cypher_executor.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/cypher_generator.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/error_handling.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/monitoring.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/multi_language.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/ontology_matcher.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/query_explanation.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/query_optimizer.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/query_service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/question_analyzer.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/sparql_cassandra.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/sparql_generator.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/row_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/row_embeddings/qdrant/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/row_embeddings/qdrant/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/row_embeddings/qdrant/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/rows/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/rows/cassandra/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/rows/cassandra/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/rows/cassandra/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/sparql/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/sparql/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/sparql/algebra.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/sparql/expressions.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/sparql/parser.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/sparql/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/sparql/solutions.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/cassandra/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/cassandra/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/cassandra/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/falkordb/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/falkordb/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/falkordb/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/memgraph/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/memgraph/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/memgraph/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/neo4j/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/neo4j/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/neo4j/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/reranker/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/reranker/flashrank/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/reranker/flashrank/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/reranker/flashrank/processor.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/document_rag/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/document_rag/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/document_rag/document_rag.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/document_rag/rag.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/document_rag/rerank.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/graph_rag/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/graph_rag/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/graph_rag/graph_rag.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/graph_rag/rag.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/nlp_query/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/nlp_query/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/nlp_query/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/structured_diag/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/structured_diag/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/structured_diag/type_detector.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/structured_query/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/structured_query/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/structured_query/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/rev_gateway/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/rev_gateway/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/rev_gateway/dispatcher.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/milvus/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/milvus/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/pinecone/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/pinecone/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/qdrant/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/qdrant/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/milvus/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/milvus/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/pinecone/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/pinecone/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/qdrant/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/qdrant/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/knowledge/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/knowledge/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/knowledge/store.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/kw_index/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/kw_index/fts5/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/kw_index/fts5/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/kw_index/fts5/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/row_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/row_embeddings/qdrant/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/row_embeddings/qdrant/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/row_embeddings/qdrant/write.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/rows/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/rows/cassandra/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/rows/cassandra/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/rows/cassandra/write.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/cassandra/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/cassandra/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/falkordb/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/falkordb/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/memgraph/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/memgraph/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/neo4j/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/neo4j/__main__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/tables/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/tables/cassandra_async.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/tables/config.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/tables/iam.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/tables/knowledge.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/tables/library.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/template/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/template/prompt_manager.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/tool_service/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/tool_service/joke/__init__.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/tool_service/joke/service.py +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph_flow.egg-info/dependency_links.txt +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph_flow.egg-info/requires.txt +0 -0
- {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.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.8.
|
|
3
|
+
Version: 2.8.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
|
|
@@ -91,7 +91,6 @@ kg-extract-agent = "trustgraph.extract.kg.agent:run"
|
|
|
91
91
|
kg-extract-definitions = "trustgraph.extract.kg.definitions:run"
|
|
92
92
|
kg-extract-rows = "trustgraph.extract.kg.rows:run"
|
|
93
93
|
kg-extract-relationships = "trustgraph.extract.kg.relationships:run"
|
|
94
|
-
kg-extract-topics = "trustgraph.extract.kg.topics:run"
|
|
95
94
|
kg-extract-ontology = "trustgraph.extract.kg.ontology:run"
|
|
96
95
|
kg-manager = "trustgraph.cores:run"
|
|
97
96
|
kg-store = "trustgraph.storage.knowledge:run"
|
{trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/bootstrapper/service.py
RENAMED
|
@@ -169,6 +169,7 @@ class Processor(AsyncProcessor):
|
|
|
169
169
|
request_topic=config_request_queue,
|
|
170
170
|
response_topic=config_response_queue,
|
|
171
171
|
subscription=f"{self.id}--config--{uuid.uuid4()}",
|
|
172
|
+
timeout=self.config_timeout,
|
|
172
173
|
)
|
|
173
174
|
|
|
174
175
|
def _make_flow_client(self, workspace):
|
|
@@ -5,7 +5,6 @@ from .. schema import LibrarianRequest, DocumentMetadata
|
|
|
5
5
|
from .. knowledge import hash
|
|
6
6
|
from .. exceptions import RequestError
|
|
7
7
|
from .. tables.knowledge import KnowledgeTableStore
|
|
8
|
-
from .. base import Publisher
|
|
9
8
|
|
|
10
9
|
import base64
|
|
11
10
|
import asyncio
|
|
@@ -491,32 +490,25 @@ class KnowledgeManager:
|
|
|
491
490
|
)
|
|
492
491
|
)
|
|
493
492
|
|
|
494
|
-
|
|
495
|
-
|
|
493
|
+
t_prod = None
|
|
494
|
+
ge_prod = None
|
|
496
495
|
|
|
497
496
|
try:
|
|
498
497
|
|
|
499
498
|
logger.debug(f"Triples queue: {t_q}")
|
|
500
499
|
logger.debug(f"Graph embeddings queue: {ge_q}")
|
|
501
500
|
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
schema=Triples,
|
|
501
|
+
t_prod = await self.flow_config.pubsub.create_producer(
|
|
502
|
+
topic=t_q, schema=Triples,
|
|
505
503
|
)
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
schema=GraphEmbeddings
|
|
504
|
+
ge_prod = await self.flow_config.pubsub.create_producer(
|
|
505
|
+
topic=ge_q, schema=GraphEmbeddings,
|
|
509
506
|
)
|
|
510
507
|
|
|
511
|
-
logger.debug("Starting publishers...")
|
|
512
|
-
|
|
513
|
-
await t_pub.start()
|
|
514
|
-
await ge_pub.start()
|
|
515
|
-
|
|
516
508
|
async def publish_triples(t):
|
|
517
509
|
if hasattr(t, 'metadata') and hasattr(t.metadata, 'collection'):
|
|
518
510
|
t.metadata.collection = request.collection or "default"
|
|
519
|
-
await
|
|
511
|
+
await t_prod.send(t)
|
|
520
512
|
|
|
521
513
|
logger.debug("Publishing triples...")
|
|
522
514
|
|
|
@@ -529,7 +521,7 @@ class KnowledgeManager:
|
|
|
529
521
|
async def publish_ge(g):
|
|
530
522
|
if hasattr(g, 'metadata') and hasattr(g.metadata, 'collection'):
|
|
531
523
|
g.metadata.collection = request.collection or "default"
|
|
532
|
-
await
|
|
524
|
+
await ge_prod.send(g)
|
|
533
525
|
|
|
534
526
|
logger.debug("Publishing graph embeddings...")
|
|
535
527
|
|
|
@@ -547,10 +539,8 @@ class KnowledgeManager:
|
|
|
547
539
|
|
|
548
540
|
finally:
|
|
549
541
|
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
if t_pub: await t_pub.stop()
|
|
553
|
-
if ge_pub: await ge_pub.stop()
|
|
542
|
+
if t_prod: await t_prod.close()
|
|
543
|
+
if ge_prod: await ge_prod.close()
|
|
554
544
|
|
|
555
545
|
async def _load_de_core(self, request, respond, workspace, flow):
|
|
556
546
|
|
|
@@ -569,25 +559,20 @@ class KnowledgeManager:
|
|
|
569
559
|
)
|
|
570
560
|
)
|
|
571
561
|
|
|
572
|
-
|
|
562
|
+
de_prod = None
|
|
573
563
|
|
|
574
564
|
try:
|
|
575
565
|
|
|
576
566
|
logger.debug(f"Document embeddings queue: {de_q}")
|
|
577
567
|
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
schema=DocumentEmbeddings,
|
|
568
|
+
de_prod = await self.flow_config.pubsub.create_producer(
|
|
569
|
+
topic=de_q, schema=DocumentEmbeddings,
|
|
581
570
|
)
|
|
582
571
|
|
|
583
|
-
logger.debug("Starting publisher...")
|
|
584
|
-
|
|
585
|
-
await de_pub.start()
|
|
586
|
-
|
|
587
572
|
async def publish_de(de):
|
|
588
573
|
if hasattr(de, 'metadata') and hasattr(de.metadata, 'collection'):
|
|
589
574
|
de.metadata.collection = request.collection or "default"
|
|
590
|
-
await
|
|
575
|
+
await de_prod.send(de)
|
|
591
576
|
|
|
592
577
|
logger.debug("Publishing document embeddings...")
|
|
593
578
|
|
|
@@ -605,6 +590,4 @@ class KnowledgeManager:
|
|
|
605
590
|
|
|
606
591
|
finally:
|
|
607
592
|
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
if de_pub: await de_pub.stop()
|
|
593
|
+
if de_prod: await de_prod.close()
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.8.2"
|
|
@@ -28,7 +28,8 @@ from cryptography.hazmat.primitives import serialization
|
|
|
28
28
|
from cryptography.hazmat.primitives.asymmetric import ed25519
|
|
29
29
|
|
|
30
30
|
from ..base.iam_client import IamClient
|
|
31
|
-
from ..base.
|
|
31
|
+
from ..base.request_response_client import RequestResponseClient
|
|
32
|
+
from ..base.request_response_spec import _make_impl_wrapper
|
|
32
33
|
from ..schema import (
|
|
33
34
|
IamRequest, IamResponse,
|
|
34
35
|
iam_request_queue, iam_response_queue,
|
|
@@ -155,33 +156,24 @@ class IamAuth:
|
|
|
155
156
|
# ghosts from prior calls.
|
|
156
157
|
# ------------------------------------------------------------------
|
|
157
158
|
|
|
158
|
-
def _make_client(self):
|
|
159
|
-
|
|
160
|
-
return IamClient(
|
|
159
|
+
async def _make_client(self):
|
|
160
|
+
rr_client = await RequestResponseClient.create(
|
|
161
161
|
backend=self.backend,
|
|
162
|
-
subscription=f"{self.id}--iam--{rr_id}",
|
|
163
|
-
consumer_name=self.id,
|
|
164
162
|
request_topic=iam_request_queue,
|
|
165
|
-
request_schema=IamRequest,
|
|
166
|
-
request_metrics=ProducerMetrics(
|
|
167
|
-
processor=self.id, producer="iam-request",
|
|
168
|
-
),
|
|
169
163
|
response_topic=iam_response_queue,
|
|
164
|
+
request_schema=IamRequest,
|
|
170
165
|
response_schema=IamResponse,
|
|
171
|
-
response_metrics=SubscriberMetrics(
|
|
172
|
-
processor=self.id, subscriber="iam-response",
|
|
173
|
-
),
|
|
174
166
|
)
|
|
167
|
+
return _make_impl_wrapper(rr_client, IamClient)
|
|
175
168
|
|
|
176
169
|
async def _with_client(self, op):
|
|
177
170
|
"""Open a short-lived IamClient, run ``op(client)``, close."""
|
|
178
|
-
client = self._make_client()
|
|
179
|
-
await client.start()
|
|
171
|
+
client = await self._make_client()
|
|
180
172
|
try:
|
|
181
173
|
return await op(client)
|
|
182
174
|
finally:
|
|
183
175
|
try:
|
|
184
|
-
await client.
|
|
176
|
+
await client.close()
|
|
185
177
|
except Exception:
|
|
186
178
|
pass
|
|
187
179
|
|
|
@@ -13,10 +13,7 @@ import json
|
|
|
13
13
|
from ... schema import ConfigPush, ConfigRequest, ConfigResponse
|
|
14
14
|
from ... schema import config_push_queue, config_request_queue
|
|
15
15
|
from ... schema import config_response_queue
|
|
16
|
-
from ... base import
|
|
17
|
-
from ... base.subscriber import Subscriber
|
|
18
|
-
from ... base.request_response_spec import RequestResponse
|
|
19
|
-
from ... base.metrics import ProducerMetrics, SubscriberMetrics
|
|
16
|
+
from ... base.request_response_client import RequestResponseClient
|
|
20
17
|
|
|
21
18
|
logger = logging.getLogger("config.receiver")
|
|
22
19
|
logger.setLevel(logging.INFO)
|
|
@@ -39,7 +36,7 @@ class ConfigReceiver:
|
|
|
39
36
|
def add_handler(self, h):
|
|
40
37
|
self.flow_handlers.append(h)
|
|
41
38
|
|
|
42
|
-
async def on_config_notify(self, msg
|
|
39
|
+
async def on_config_notify(self, msg):
|
|
43
40
|
|
|
44
41
|
try:
|
|
45
42
|
|
|
@@ -47,7 +44,6 @@ class ConfigReceiver:
|
|
|
47
44
|
notify_version = v.version
|
|
48
45
|
changes = v.changes
|
|
49
46
|
|
|
50
|
-
# Skip if we already have this version or newer
|
|
51
47
|
if notify_version <= self.config_version:
|
|
52
48
|
logger.debug(
|
|
53
49
|
f"Ignoring config notify v{notify_version}, "
|
|
@@ -55,7 +51,6 @@ class ConfigReceiver:
|
|
|
55
51
|
)
|
|
56
52
|
return
|
|
57
53
|
|
|
58
|
-
# Track workspace lifecycle
|
|
59
54
|
if v.workspace_changes and self.auth:
|
|
60
55
|
for ws in (v.workspace_changes.created or []):
|
|
61
56
|
self.auth.known_workspaces.add(ws)
|
|
@@ -64,8 +59,6 @@ class ConfigReceiver:
|
|
|
64
59
|
self.auth.known_workspaces.discard(ws)
|
|
65
60
|
logger.info(f"Workspace deregistered: {ws}")
|
|
66
61
|
|
|
67
|
-
# Gateway cares about flow config — check if any flow
|
|
68
|
-
# types changed in any workspace
|
|
69
62
|
flow_workspaces = changes.get("flow", [])
|
|
70
63
|
if changes and not flow_workspaces:
|
|
71
64
|
logger.debug(
|
|
@@ -80,7 +73,6 @@ class ConfigReceiver:
|
|
|
80
73
|
f"types={list(changes.keys())}, fetching config..."
|
|
81
74
|
)
|
|
82
75
|
|
|
83
|
-
# Refresh config for each affected workspace
|
|
84
76
|
for workspace in flow_workspaces:
|
|
85
77
|
await self.fetch_and_apply_workspace(workspace)
|
|
86
78
|
|
|
@@ -91,32 +83,16 @@ class ConfigReceiver:
|
|
|
91
83
|
f"Config notify processing exception: {e}", exc_info=True
|
|
92
84
|
)
|
|
93
85
|
|
|
94
|
-
def _create_config_client(self):
|
|
95
|
-
|
|
96
|
-
id = str(uuid.uuid4())
|
|
97
|
-
|
|
98
|
-
config_req_metrics = ProducerMetrics(
|
|
99
|
-
processor="api-gateway", producer="config-request",
|
|
100
|
-
)
|
|
101
|
-
config_resp_metrics = SubscriberMetrics(
|
|
102
|
-
processor="api-gateway", subscriber="config-response",
|
|
103
|
-
)
|
|
104
|
-
|
|
105
|
-
return RequestResponse(
|
|
86
|
+
async def _create_config_client(self):
|
|
87
|
+
return await RequestResponseClient.create(
|
|
106
88
|
backend=self.backend,
|
|
107
|
-
subscription=f"api-gateway--config--{id}",
|
|
108
|
-
consumer_name="api-gateway",
|
|
109
89
|
request_topic=config_request_queue,
|
|
110
|
-
request_schema=ConfigRequest,
|
|
111
|
-
request_metrics=config_req_metrics,
|
|
112
90
|
response_topic=config_response_queue,
|
|
91
|
+
request_schema=ConfigRequest,
|
|
113
92
|
response_schema=ConfigResponse,
|
|
114
|
-
response_metrics=config_resp_metrics,
|
|
115
93
|
)
|
|
116
94
|
|
|
117
95
|
async def fetch_and_apply_workspace(self, workspace, retry=False):
|
|
118
|
-
"""Fetch config for a single workspace and apply flow changes.
|
|
119
|
-
If retry=True, keeps retrying until successful."""
|
|
120
96
|
|
|
121
97
|
while True:
|
|
122
98
|
|
|
@@ -125,9 +101,8 @@ class ConfigReceiver:
|
|
|
125
101
|
f"Fetching config for workspace {workspace}..."
|
|
126
102
|
)
|
|
127
103
|
|
|
128
|
-
client = self._create_config_client()
|
|
104
|
+
client = await self._create_config_client()
|
|
129
105
|
try:
|
|
130
|
-
await client.start()
|
|
131
106
|
resp = await client.request(
|
|
132
107
|
ConfigRequest(
|
|
133
108
|
operation="config",
|
|
@@ -136,7 +111,7 @@ class ConfigReceiver:
|
|
|
136
111
|
timeout=10,
|
|
137
112
|
)
|
|
138
113
|
finally:
|
|
139
|
-
await client.
|
|
114
|
+
await client.close()
|
|
140
115
|
|
|
141
116
|
logger.info(f"Config response received")
|
|
142
117
|
|
|
@@ -190,20 +165,15 @@ class ConfigReceiver:
|
|
|
190
165
|
return
|
|
191
166
|
|
|
192
167
|
async def fetch_all_workspaces(self, retry=False):
|
|
193
|
-
"""Fetch config for all workspaces at startup.
|
|
194
|
-
Discovers workspaces via the config service getvalues-all-ws
|
|
195
|
-
operation on the flow type."""
|
|
196
168
|
|
|
197
169
|
while True:
|
|
198
170
|
|
|
199
171
|
try:
|
|
200
172
|
logger.info("Discovering workspaces with flows...")
|
|
201
173
|
|
|
202
|
-
client = self._create_config_client()
|
|
174
|
+
client = await self._create_config_client()
|
|
203
175
|
try:
|
|
204
|
-
await client.start()
|
|
205
176
|
|
|
206
|
-
# Discover all known workspaces
|
|
207
177
|
ws_resp = await client.request(
|
|
208
178
|
ConfigRequest(
|
|
209
179
|
operation="getvalues",
|
|
@@ -230,7 +200,6 @@ class ConfigReceiver:
|
|
|
230
200
|
f"Known workspaces: {discovered}"
|
|
231
201
|
)
|
|
232
202
|
|
|
233
|
-
# Discover workspaces that have any flow config
|
|
234
203
|
resp = await client.request(
|
|
235
204
|
ConfigRequest(
|
|
236
205
|
operation="getvalues-all-ws",
|
|
@@ -248,9 +217,6 @@ class ConfigReceiver:
|
|
|
248
217
|
v.workspace for v in resp.values if v.workspace
|
|
249
218
|
}
|
|
250
219
|
|
|
251
|
-
# Always include the default workspace, even if
|
|
252
|
-
# empty, so that newly-created flows in it can be
|
|
253
|
-
# picked up by subsequent notifications.
|
|
254
220
|
workspaces.add("default")
|
|
255
221
|
|
|
256
222
|
logger.info(
|
|
@@ -258,9 +224,8 @@ class ConfigReceiver:
|
|
|
258
224
|
)
|
|
259
225
|
|
|
260
226
|
finally:
|
|
261
|
-
await client.
|
|
227
|
+
await client.close()
|
|
262
228
|
|
|
263
|
-
# Fetch and apply config for each workspace
|
|
264
229
|
for workspace in workspaces:
|
|
265
230
|
await self.fetch_and_apply_workspace(
|
|
266
231
|
workspace, retry=retry
|
|
@@ -310,37 +275,35 @@ class ConfigReceiver:
|
|
|
310
275
|
|
|
311
276
|
while True:
|
|
312
277
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
async with asyncio.TaskGroup() as tg:
|
|
278
|
+
consumer = None
|
|
316
279
|
|
|
317
|
-
|
|
280
|
+
try:
|
|
318
281
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
topic=config_push_queue,
|
|
326
|
-
schema=ConfigPush,
|
|
327
|
-
handler=self.on_config_notify,
|
|
328
|
-
start_of_messages=False,
|
|
329
|
-
)
|
|
282
|
+
consumer = await self.backend.create_consumer(
|
|
283
|
+
topic=config_push_queue,
|
|
284
|
+
subscription=f"gateway-{uuid.uuid4()}",
|
|
285
|
+
schema=ConfigPush,
|
|
286
|
+
initial_position='latest',
|
|
287
|
+
)
|
|
330
288
|
|
|
331
|
-
|
|
332
|
-
await self.config_cons.start()
|
|
333
|
-
logger.info("Config notify consumer started")
|
|
289
|
+
logger.info("Config notify consumer started")
|
|
334
290
|
|
|
335
|
-
|
|
336
|
-
# Retry until config service is available
|
|
337
|
-
await self.fetch_all_workspaces(retry=True)
|
|
291
|
+
await self.fetch_all_workspaces(retry=True)
|
|
338
292
|
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
293
|
+
logger.info(
|
|
294
|
+
"Config loader initialised, waiting for notifys..."
|
|
295
|
+
)
|
|
342
296
|
|
|
343
|
-
|
|
297
|
+
while True:
|
|
298
|
+
msg = await consumer.receive()
|
|
299
|
+
try:
|
|
300
|
+
await self.on_config_notify(msg)
|
|
301
|
+
await consumer.acknowledge(msg)
|
|
302
|
+
except Exception as e:
|
|
303
|
+
logger.error(
|
|
304
|
+
f"Config notify error: {e}", exc_info=True
|
|
305
|
+
)
|
|
306
|
+
await consumer.negative_acknowledge(msg)
|
|
344
307
|
|
|
345
308
|
except Exception as e:
|
|
346
309
|
logger.error(
|
|
@@ -348,6 +311,13 @@ class ConfigReceiver:
|
|
|
348
311
|
exc_info=True
|
|
349
312
|
)
|
|
350
313
|
|
|
314
|
+
finally:
|
|
315
|
+
if consumer:
|
|
316
|
+
try:
|
|
317
|
+
await consumer.close()
|
|
318
|
+
except BaseException:
|
|
319
|
+
pass
|
|
320
|
+
|
|
351
321
|
await asyncio.sleep(4)
|
|
352
322
|
|
|
353
323
|
async def start(self):
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
|
|
2
|
+
import asyncio
|
|
3
|
+
import logging
|
|
4
|
+
|
|
5
|
+
from ... schema import DocumentEmbeddings
|
|
6
|
+
|
|
7
|
+
from . serialize import serialize_document_embeddings
|
|
8
|
+
|
|
9
|
+
logger = logging.getLogger(__name__)
|
|
10
|
+
|
|
11
|
+
class DocumentEmbeddingsExport:
|
|
12
|
+
|
|
13
|
+
def __init__(self, ws, running, backend, queue, consumer, subscriber):
|
|
14
|
+
self.ws = ws
|
|
15
|
+
self.running = running
|
|
16
|
+
self.backend = backend
|
|
17
|
+
self.queue = queue
|
|
18
|
+
self.subscription = subscriber
|
|
19
|
+
self._consumer = None
|
|
20
|
+
|
|
21
|
+
async def destroy(self):
|
|
22
|
+
self.running.stop()
|
|
23
|
+
if self._consumer:
|
|
24
|
+
try:
|
|
25
|
+
await self._consumer.close()
|
|
26
|
+
except BaseException:
|
|
27
|
+
pass
|
|
28
|
+
self._consumer = None
|
|
29
|
+
if self.ws and not self.ws.closed:
|
|
30
|
+
await self.ws.close()
|
|
31
|
+
|
|
32
|
+
async def receive(self, msg):
|
|
33
|
+
pass
|
|
34
|
+
|
|
35
|
+
async def run(self):
|
|
36
|
+
self._consumer = await self.backend.create_consumer(
|
|
37
|
+
topic=self.queue,
|
|
38
|
+
subscription=self.subscription,
|
|
39
|
+
schema=DocumentEmbeddings,
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
consecutive_errors = 0
|
|
43
|
+
max_consecutive_errors = 5
|
|
44
|
+
|
|
45
|
+
while self.running.get():
|
|
46
|
+
try:
|
|
47
|
+
msg = await asyncio.wait_for(
|
|
48
|
+
self._consumer.receive(), timeout=0.5,
|
|
49
|
+
)
|
|
50
|
+
await self.ws.send_json(serialize_document_embeddings(msg.value()))
|
|
51
|
+
await self._consumer.acknowledge(msg)
|
|
52
|
+
consecutive_errors = 0
|
|
53
|
+
|
|
54
|
+
except asyncio.TimeoutError:
|
|
55
|
+
continue
|
|
56
|
+
|
|
57
|
+
except Exception as e:
|
|
58
|
+
logger.error(f"Exception sending to websocket: {e}")
|
|
59
|
+
consecutive_errors += 1
|
|
60
|
+
if consecutive_errors >= max_consecutive_errors:
|
|
61
|
+
logger.error("Too many consecutive errors, shutting down")
|
|
62
|
+
break
|
|
63
|
+
await asyncio.sleep(0.1)
|
|
@@ -1,59 +1,44 @@
|
|
|
1
1
|
|
|
2
2
|
import asyncio
|
|
3
|
-
import uuid
|
|
4
3
|
import logging
|
|
5
|
-
from aiohttp import WSMsgType
|
|
6
4
|
|
|
7
|
-
from ... schema import
|
|
8
|
-
from ... schema import DocumentEmbeddings, ChunkEmbeddings
|
|
9
|
-
from ... base import Publisher
|
|
5
|
+
from ... schema import DocumentEmbeddings
|
|
10
6
|
from ... messaging.translators.document_loading import DocumentEmbeddingsTranslator
|
|
11
7
|
|
|
12
|
-
# Module logger
|
|
13
8
|
logger = logging.getLogger(__name__)
|
|
14
9
|
|
|
15
10
|
class DocumentEmbeddingsImport:
|
|
16
11
|
|
|
17
|
-
def __init__(
|
|
18
|
-
self, ws, running, backend, queue
|
|
19
|
-
):
|
|
20
|
-
|
|
12
|
+
def __init__(self, ws, running, backend, queue):
|
|
21
13
|
self.ws = ws
|
|
22
14
|
self.running = running
|
|
15
|
+
self.backend = backend
|
|
16
|
+
self.queue = queue
|
|
23
17
|
self.translator = DocumentEmbeddingsTranslator()
|
|
24
|
-
|
|
25
|
-
self.publisher = Publisher(
|
|
26
|
-
backend, topic = queue, schema = DocumentEmbeddings
|
|
27
|
-
)
|
|
18
|
+
self.producer = None
|
|
28
19
|
|
|
29
20
|
async def start(self):
|
|
30
|
-
await self.
|
|
21
|
+
self.producer = await self.backend.create_producer(
|
|
22
|
+
topic=self.queue, schema=DocumentEmbeddings,
|
|
23
|
+
)
|
|
31
24
|
|
|
32
25
|
async def destroy(self):
|
|
33
|
-
# Step 1: Stop accepting new messages
|
|
34
26
|
self.running.stop()
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
await self.publisher.stop()
|
|
39
|
-
|
|
40
|
-
# Step 3: Close websocket only after queue is drained
|
|
27
|
+
if self.producer:
|
|
28
|
+
await self.producer.close()
|
|
29
|
+
self.producer = None
|
|
41
30
|
if self.ws:
|
|
42
31
|
await self.ws.close()
|
|
43
32
|
|
|
44
33
|
async def receive(self, msg):
|
|
45
|
-
|
|
46
34
|
data = msg.json()
|
|
47
35
|
elt = self.translator.decode(data)
|
|
48
|
-
await self.
|
|
36
|
+
await self.producer.send(elt)
|
|
49
37
|
|
|
50
38
|
async def run(self):
|
|
51
|
-
|
|
52
39
|
while self.running.get():
|
|
53
40
|
await asyncio.sleep(0.5)
|
|
54
41
|
|
|
55
42
|
if self.ws:
|
|
56
43
|
await self.ws.close()
|
|
57
|
-
|
|
58
44
|
self.ws = None
|
|
59
|
-
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
|
|
2
|
+
import asyncio
|
|
3
|
+
import logging
|
|
4
|
+
|
|
5
|
+
from ... schema import EntityContexts
|
|
6
|
+
|
|
7
|
+
from . serialize import serialize_entity_contexts
|
|
8
|
+
|
|
9
|
+
logger = logging.getLogger(__name__)
|
|
10
|
+
|
|
11
|
+
class EntityContextsExport:
|
|
12
|
+
|
|
13
|
+
def __init__(self, ws, running, backend, queue, consumer, subscriber):
|
|
14
|
+
self.ws = ws
|
|
15
|
+
self.running = running
|
|
16
|
+
self.backend = backend
|
|
17
|
+
self.queue = queue
|
|
18
|
+
self.subscription = subscriber
|
|
19
|
+
self._consumer = None
|
|
20
|
+
|
|
21
|
+
async def destroy(self):
|
|
22
|
+
self.running.stop()
|
|
23
|
+
if self._consumer:
|
|
24
|
+
try:
|
|
25
|
+
await self._consumer.close()
|
|
26
|
+
except BaseException:
|
|
27
|
+
pass
|
|
28
|
+
self._consumer = None
|
|
29
|
+
if self.ws and not self.ws.closed:
|
|
30
|
+
await self.ws.close()
|
|
31
|
+
|
|
32
|
+
async def receive(self, msg):
|
|
33
|
+
pass
|
|
34
|
+
|
|
35
|
+
async def run(self):
|
|
36
|
+
self._consumer = await self.backend.create_consumer(
|
|
37
|
+
topic=self.queue,
|
|
38
|
+
subscription=self.subscription,
|
|
39
|
+
schema=EntityContexts,
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
consecutive_errors = 0
|
|
43
|
+
max_consecutive_errors = 5
|
|
44
|
+
|
|
45
|
+
while self.running.get():
|
|
46
|
+
try:
|
|
47
|
+
msg = await asyncio.wait_for(
|
|
48
|
+
self._consumer.receive(), timeout=0.5,
|
|
49
|
+
)
|
|
50
|
+
await self.ws.send_json(serialize_entity_contexts(msg.value()))
|
|
51
|
+
await self._consumer.acknowledge(msg)
|
|
52
|
+
consecutive_errors = 0
|
|
53
|
+
|
|
54
|
+
except asyncio.TimeoutError:
|
|
55
|
+
continue
|
|
56
|
+
|
|
57
|
+
except Exception as e:
|
|
58
|
+
logger.error(f"Exception sending to websocket: {e}")
|
|
59
|
+
consecutive_errors += 1
|
|
60
|
+
if consecutive_errors >= max_consecutive_errors:
|
|
61
|
+
logger.error("Too many consecutive errors, shutting down")
|
|
62
|
+
break
|
|
63
|
+
await asyncio.sleep(0.1)
|