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.
Files changed (415) hide show
  1. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/PKG-INFO +1 -1
  2. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/pyproject.toml +0 -1
  3. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/bootstrapper/service.py +1 -0
  4. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/cores/knowledge.py +15 -32
  5. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/flow/service/service.py +1 -0
  6. trustgraph_flow-2.8.2/trustgraph/flow_version.py +1 -0
  7. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/auth.py +8 -16
  8. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/config/receiver.py +39 -69
  9. trustgraph_flow-2.8.2/trustgraph/gateway/dispatch/document_embeddings_export.py +63 -0
  10. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/document_embeddings_import.py +12 -27
  11. trustgraph_flow-2.8.2/trustgraph/gateway/dispatch/entity_contexts_export.py +63 -0
  12. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/entity_contexts_import.py +11 -25
  13. trustgraph_flow-2.8.2/trustgraph/gateway/dispatch/graph_embeddings_export.py +63 -0
  14. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/graph_embeddings_import.py +11 -25
  15. trustgraph_flow-2.8.2/trustgraph/gateway/dispatch/requestor.py +101 -0
  16. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/rows_import.py +11 -28
  17. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/sender.py +12 -14
  18. trustgraph_flow-2.8.2/trustgraph/gateway/dispatch/triples_export.py +63 -0
  19. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/triples_import.py +11 -25
  20. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/service.py +6 -5
  21. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/iam/service/service.py +0 -1
  22. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/rev_gateway/service.py +3 -3
  23. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/milvus/write.py +1 -1
  24. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/pinecone/write.py +1 -1
  25. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/qdrant/write.py +1 -1
  26. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/milvus/write.py +1 -1
  27. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/pinecone/write.py +1 -1
  28. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/qdrant/write.py +1 -1
  29. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/cassandra/write.py +1 -1
  30. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/falkordb/write.py +1 -1
  31. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/memgraph/write.py +1 -1
  32. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/neo4j/write.py +1 -1
  33. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph_flow.egg-info/PKG-INFO +1 -1
  34. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph_flow.egg-info/SOURCES.txt +0 -1
  35. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph_flow.egg-info/entry_points.txt +0 -1
  36. trustgraph_flow-2.8.0/trustgraph/flow_version.py +0 -1
  37. trustgraph_flow-2.8.0/trustgraph/gateway/dispatch/document_embeddings_export.py +0 -91
  38. trustgraph_flow-2.8.0/trustgraph/gateway/dispatch/entity_contexts_export.py +0 -91
  39. trustgraph_flow-2.8.0/trustgraph/gateway/dispatch/graph_embeddings_export.py +0 -91
  40. trustgraph_flow-2.8.0/trustgraph/gateway/dispatch/requestor.py +0 -105
  41. trustgraph_flow-2.8.0/trustgraph/gateway/dispatch/streamer.py +0 -97
  42. trustgraph_flow-2.8.0/trustgraph/gateway/dispatch/triples_export.py +0 -91
  43. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/README.md +0 -0
  44. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/setup.cfg +0 -0
  45. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/__init__.py +0 -0
  46. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/__init__.py +0 -0
  47. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/mcp_tool/__init__.py +0 -0
  48. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/mcp_tool/__main__.py +0 -0
  49. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/mcp_tool/service.py +0 -0
  50. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/orchestrator/__init__.py +0 -0
  51. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/orchestrator/__main__.py +0 -0
  52. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/orchestrator/aggregator.py +0 -0
  53. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/orchestrator/meta_router.py +0 -0
  54. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/orchestrator/pattern_base.py +0 -0
  55. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/orchestrator/plan_pattern.py +0 -0
  56. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/orchestrator/react_pattern.py +0 -0
  57. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/orchestrator/service.py +0 -0
  58. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/orchestrator/supervisor_pattern.py +0 -0
  59. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/react/__init__.py +0 -0
  60. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/react/__main__.py +0 -0
  61. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/react/agent_manager.py +0 -0
  62. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/react/service.py +0 -0
  63. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/react/streaming_parser.py +0 -0
  64. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/react/tools.py +0 -0
  65. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/react/types.py +0 -0
  66. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/agent/tool_filter.py +0 -0
  67. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/__init__.py +0 -0
  68. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/base.py +0 -0
  69. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/bootstrapper/__init__.py +0 -0
  70. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/bootstrapper/__main__.py +0 -0
  71. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/initialisers/__init__.py +0 -0
  72. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/initialisers/default_flow_start.py +0 -0
  73. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/initialisers/pulsar_topology.py +0 -0
  74. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/initialisers/template_seed.py +0 -0
  75. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/bootstrap/initialisers/workspace_init.py +0 -0
  76. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/chunking/__init__.py +0 -0
  77. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/chunking/recursive/__init__.py +0 -0
  78. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/chunking/recursive/__main__.py +0 -0
  79. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/chunking/recursive/chunker.py +0 -0
  80. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/chunking/token/__init__.py +0 -0
  81. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/chunking/token/__main__.py +0 -0
  82. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/chunking/token/chunker.py +0 -0
  83. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/config/service/__init__.py +0 -0
  84. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/config/service/__main__.py +0 -0
  85. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/config/service/config.py +0 -0
  86. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/config/service/service.py +0 -0
  87. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/cores/__init__.py +0 -0
  88. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/cores/__main__.py +0 -0
  89. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/cores/service.py +0 -0
  90. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/decoding/__init__.py +0 -0
  91. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/decoding/mistral_ocr/__init__.py +0 -0
  92. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/decoding/mistral_ocr/__main__.py +0 -0
  93. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/decoding/mistral_ocr/processor.py +0 -0
  94. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/decoding/pdf/__init__.py +0 -0
  95. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/decoding/pdf/__main__.py +0 -0
  96. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/decoding/pdf/pdf_decoder.py +0 -0
  97. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/direct/__init__.py +0 -0
  98. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/direct/cassandra_kg.py +0 -0
  99. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/direct/milvus_doc_embeddings.py +0 -0
  100. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/direct/milvus_graph_embeddings.py +0 -0
  101. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/__init__.py +0 -0
  102. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/document_embeddings/__init__.py +0 -0
  103. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/document_embeddings/__main__.py +0 -0
  104. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/document_embeddings/embeddings.py +0 -0
  105. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/fastembed/__init__.py +0 -0
  106. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/fastembed/__main__.py +0 -0
  107. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/fastembed/processor.py +0 -0
  108. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/graph_embeddings/__init__.py +0 -0
  109. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/graph_embeddings/__main__.py +0 -0
  110. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/graph_embeddings/embeddings.py +0 -0
  111. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/ollama/__init__.py +0 -0
  112. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/ollama/__main__.py +0 -0
  113. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/ollama/processor.py +0 -0
  114. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/row_embeddings/__init__.py +0 -0
  115. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/row_embeddings/__main__.py +0 -0
  116. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/embeddings/row_embeddings/embeddings.py +0 -0
  117. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/external/__init__.py +0 -0
  118. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/external/wikipedia/__init__.py +0 -0
  119. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/external/wikipedia/__main__.py +0 -0
  120. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/external/wikipedia/service.py +0 -0
  121. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/__init__.py +0 -0
  122. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/__init__.py +0 -0
  123. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/agent/__init__.py +0 -0
  124. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/agent/__main__.py +0 -0
  125. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/agent/extract.py +0 -0
  126. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/definitions/__init__.py +0 -0
  127. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/definitions/__main__.py +0 -0
  128. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/definitions/extract.py +0 -0
  129. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/__init__.py +0 -0
  130. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/entity_normalizer.py +0 -0
  131. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/extract.py +0 -0
  132. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/ontology_embedder.py +0 -0
  133. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/ontology_loader.py +0 -0
  134. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/ontology_selector.py +0 -0
  135. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/run.py +0 -0
  136. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/simplified_parser.py +0 -0
  137. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/text_processor.py +0 -0
  138. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/triple_converter.py +0 -0
  139. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/ontology/vector_store.py +0 -0
  140. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/relationships/__init__.py +0 -0
  141. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/relationships/__main__.py +0 -0
  142. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/relationships/extract.py +0 -0
  143. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/rows/__init__.py +0 -0
  144. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/rows/__main__.py +0 -0
  145. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/rows/processor.py +0 -0
  146. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/topics/__init__.py +0 -0
  147. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/topics/__main__.py +0 -0
  148. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/extract/kg/topics/extract.py +0 -0
  149. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/flow/__init__.py +0 -0
  150. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/flow/service/__init__.py +0 -0
  151. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/flow/service/__main__.py +0 -0
  152. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/flow/service/flow.py +0 -0
  153. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/__init__.py +0 -0
  154. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/__main__.py +0 -0
  155. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/audit.py +0 -0
  156. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/capabilities.py +0 -0
  157. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/agent.py +0 -0
  158. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/collection_management.py +0 -0
  159. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/config.py +0 -0
  160. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/core_export.py +0 -0
  161. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/core_import.py +0 -0
  162. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/document_embeddings_query.py +0 -0
  163. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/document_load.py +0 -0
  164. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/document_rag.py +0 -0
  165. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/document_stream.py +0 -0
  166. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/embeddings.py +0 -0
  167. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/flow.py +0 -0
  168. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/graph_embeddings_query.py +0 -0
  169. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/graph_rag.py +0 -0
  170. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/iam.py +0 -0
  171. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/image_to_text.py +0 -0
  172. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/knowledge.py +0 -0
  173. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/librarian.py +0 -0
  174. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/manager.py +0 -0
  175. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/mcp_tool.py +0 -0
  176. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/mux.py +0 -0
  177. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/nlp_query.py +0 -0
  178. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/prompt.py +0 -0
  179. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/reranker.py +0 -0
  180. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/row_embeddings_query.py +0 -0
  181. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/rows_query.py +0 -0
  182. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/serialize.py +0 -0
  183. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/sparql_query.py +0 -0
  184. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/structured_diag.py +0 -0
  185. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/structured_query.py +0 -0
  186. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/text_completion.py +0 -0
  187. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/text_load.py +0 -0
  188. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/dispatch/triples_query.py +0 -0
  189. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/auth_endpoints.py +0 -0
  190. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/constant_endpoint.py +0 -0
  191. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/i18n.py +0 -0
  192. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/iam_endpoint.py +0 -0
  193. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/manager.py +0 -0
  194. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/metrics.py +0 -0
  195. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/registry_endpoint.py +0 -0
  196. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/socket.py +0 -0
  197. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/stream_endpoint.py +0 -0
  198. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/endpoint/variable_endpoint.py +0 -0
  199. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/registry.py +0 -0
  200. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/running.py +0 -0
  201. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/unused/dbpedia.py +0 -0
  202. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/unused/encyclopedia.py +0 -0
  203. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/gateway/unused/internet_search.py +0 -0
  204. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/iam/__init__.py +0 -0
  205. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/iam/noauth/__init__.py +0 -0
  206. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/iam/noauth/__main__.py +0 -0
  207. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/iam/noauth/handler.py +0 -0
  208. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/iam/noauth/service.py +0 -0
  209. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/iam/service/__init__.py +0 -0
  210. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/iam/service/__main__.py +0 -0
  211. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/iam/service/iam.py +0 -0
  212. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/librarian/__init__.py +0 -0
  213. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/librarian/__main__.py +0 -0
  214. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/librarian/blob_store.py +0 -0
  215. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/librarian/collection_manager.py +0 -0
  216. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/librarian/librarian.py +0 -0
  217. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/librarian/service.py +0 -0
  218. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/metering/__init__.py +0 -0
  219. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/metering/__main__.py +0 -0
  220. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/metering/counter.py +0 -0
  221. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/__init__.py +0 -0
  222. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/image_to_text/__init__.py +0 -0
  223. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/image_to_text/openai/__init__.py +0 -0
  224. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/image_to_text/openai/__main__.py +0 -0
  225. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/image_to_text/openai/service.py +0 -0
  226. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/__init__.py +0 -0
  227. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/azure/__init__.py +0 -0
  228. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/azure/__main__.py +0 -0
  229. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/azure/llm.py +0 -0
  230. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/azure_openai/__init__.py +0 -0
  231. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/azure_openai/__main__.py +0 -0
  232. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/azure_openai/llm.py +0 -0
  233. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/claude/__init__.py +0 -0
  234. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/claude/__main__.py +0 -0
  235. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/claude/llm.py +0 -0
  236. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/cohere/__init__.py +0 -0
  237. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/cohere/__main__.py +0 -0
  238. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/cohere/llm.py +0 -0
  239. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/llamafile/__init__.py +0 -0
  240. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/llamafile/__main__.py +0 -0
  241. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/llamafile/llm.py +0 -0
  242. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/lmstudio/__init__.py +0 -0
  243. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/lmstudio/__main__.py +0 -0
  244. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/lmstudio/llm.py +0 -0
  245. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/mistral/__init__.py +0 -0
  246. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/mistral/__main__.py +0 -0
  247. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/mistral/llm.py +0 -0
  248. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/ollama/__init__.py +0 -0
  249. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/ollama/__main__.py +0 -0
  250. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/ollama/llm.py +0 -0
  251. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/openai/__init__.py +0 -0
  252. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/openai/__main__.py +0 -0
  253. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/openai/llm.py +0 -0
  254. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/openai/variants.py +0 -0
  255. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/tgi/__init__.py +0 -0
  256. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/tgi/__main__.py +0 -0
  257. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/tgi/llm.py +0 -0
  258. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/vllm/__init__.py +0 -0
  259. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/vllm/__main__.py +0 -0
  260. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/model/text_completion/vllm/llm.py +0 -0
  261. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/processing/__init__.py +0 -0
  262. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/processing/__main__.py +0 -0
  263. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/processing/processing.py +0 -0
  264. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/prompt/__init__.py +0 -0
  265. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/prompt/template/__init__.py +0 -0
  266. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/prompt/template/__main__.py +0 -0
  267. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/prompt/template/service.py +0 -0
  268. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/__init__.py +0 -0
  269. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/__init__.py +0 -0
  270. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/milvus/__init__.py +0 -0
  271. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/milvus/__main__.py +0 -0
  272. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/milvus/service.py +0 -0
  273. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/pinecone/__init__.py +0 -0
  274. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/pinecone/__main__.py +0 -0
  275. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/pinecone/service.py +0 -0
  276. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/qdrant/__init__.py +0 -0
  277. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/qdrant/__main__.py +0 -0
  278. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/doc_embeddings/qdrant/service.py +0 -0
  279. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/__init__.py +0 -0
  280. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/milvus/__init__.py +0 -0
  281. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/milvus/__main__.py +0 -0
  282. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/milvus/service.py +0 -0
  283. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/pinecone/__init__.py +0 -0
  284. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/pinecone/__main__.py +0 -0
  285. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/pinecone/service.py +0 -0
  286. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/qdrant/__init__.py +0 -0
  287. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/qdrant/__main__.py +0 -0
  288. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graph_embeddings/qdrant/service.py +0 -0
  289. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graphql/__init__.py +0 -0
  290. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graphql/filters.py +0 -0
  291. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graphql/schema.py +0 -0
  292. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/graphql/types.py +0 -0
  293. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/__init__.py +0 -0
  294. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/answer_generator.py +0 -0
  295. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/backend_router.py +0 -0
  296. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/cache.py +0 -0
  297. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/cypher_executor.py +0 -0
  298. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/cypher_generator.py +0 -0
  299. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/error_handling.py +0 -0
  300. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/monitoring.py +0 -0
  301. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/multi_language.py +0 -0
  302. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/ontology_matcher.py +0 -0
  303. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/query_explanation.py +0 -0
  304. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/query_optimizer.py +0 -0
  305. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/query_service.py +0 -0
  306. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/question_analyzer.py +0 -0
  307. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/sparql_cassandra.py +0 -0
  308. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/ontology/sparql_generator.py +0 -0
  309. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/row_embeddings/__init__.py +0 -0
  310. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/row_embeddings/qdrant/__init__.py +0 -0
  311. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/row_embeddings/qdrant/__main__.py +0 -0
  312. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/row_embeddings/qdrant/service.py +0 -0
  313. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/rows/__init__.py +0 -0
  314. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/rows/cassandra/__init__.py +0 -0
  315. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/rows/cassandra/__main__.py +0 -0
  316. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/rows/cassandra/service.py +0 -0
  317. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/sparql/__init__.py +0 -0
  318. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/sparql/__main__.py +0 -0
  319. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/sparql/algebra.py +0 -0
  320. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/sparql/expressions.py +0 -0
  321. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/sparql/parser.py +0 -0
  322. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/sparql/service.py +0 -0
  323. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/sparql/solutions.py +0 -0
  324. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/__init__.py +0 -0
  325. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/cassandra/__init__.py +0 -0
  326. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/cassandra/__main__.py +0 -0
  327. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/cassandra/service.py +0 -0
  328. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/falkordb/__init__.py +0 -0
  329. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/falkordb/__main__.py +0 -0
  330. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/falkordb/service.py +0 -0
  331. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/memgraph/__init__.py +0 -0
  332. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/memgraph/__main__.py +0 -0
  333. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/memgraph/service.py +0 -0
  334. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/neo4j/__init__.py +0 -0
  335. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/neo4j/__main__.py +0 -0
  336. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/query/triples/neo4j/service.py +0 -0
  337. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/reranker/__init__.py +0 -0
  338. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/reranker/flashrank/__init__.py +0 -0
  339. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/reranker/flashrank/__main__.py +0 -0
  340. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/reranker/flashrank/processor.py +0 -0
  341. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/__init__.py +0 -0
  342. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/document_rag/__init__.py +0 -0
  343. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/document_rag/__main__.py +0 -0
  344. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/document_rag/document_rag.py +0 -0
  345. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/document_rag/rag.py +0 -0
  346. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/document_rag/rerank.py +0 -0
  347. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/graph_rag/__init__.py +0 -0
  348. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/graph_rag/__main__.py +0 -0
  349. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/graph_rag/graph_rag.py +0 -0
  350. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/graph_rag/rag.py +0 -0
  351. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/nlp_query/__init__.py +0 -0
  352. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/nlp_query/__main__.py +0 -0
  353. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/nlp_query/service.py +0 -0
  354. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/structured_diag/__init__.py +0 -0
  355. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/structured_diag/service.py +0 -0
  356. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/structured_diag/type_detector.py +0 -0
  357. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/structured_query/__init__.py +0 -0
  358. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/structured_query/__main__.py +0 -0
  359. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/retrieval/structured_query/service.py +0 -0
  360. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/rev_gateway/__init__.py +0 -0
  361. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/rev_gateway/__main__.py +0 -0
  362. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/rev_gateway/dispatcher.py +0 -0
  363. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/__init__.py +0 -0
  364. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/__init__.py +0 -0
  365. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/milvus/__init__.py +0 -0
  366. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/milvus/__main__.py +0 -0
  367. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/pinecone/__init__.py +0 -0
  368. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/pinecone/__main__.py +0 -0
  369. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/qdrant/__init__.py +0 -0
  370. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/doc_embeddings/qdrant/__main__.py +0 -0
  371. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/__init__.py +0 -0
  372. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/milvus/__init__.py +0 -0
  373. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/milvus/__main__.py +0 -0
  374. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/pinecone/__init__.py +0 -0
  375. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/pinecone/__main__.py +0 -0
  376. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/qdrant/__init__.py +0 -0
  377. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/graph_embeddings/qdrant/__main__.py +0 -0
  378. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/knowledge/__init__.py +0 -0
  379. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/knowledge/__main__.py +0 -0
  380. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/knowledge/store.py +0 -0
  381. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/kw_index/__init__.py +0 -0
  382. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/kw_index/fts5/__init__.py +0 -0
  383. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/kw_index/fts5/__main__.py +0 -0
  384. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/kw_index/fts5/service.py +0 -0
  385. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/row_embeddings/__init__.py +0 -0
  386. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/row_embeddings/qdrant/__init__.py +0 -0
  387. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/row_embeddings/qdrant/__main__.py +0 -0
  388. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/row_embeddings/qdrant/write.py +0 -0
  389. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/rows/__init__.py +0 -0
  390. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/rows/cassandra/__init__.py +0 -0
  391. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/rows/cassandra/__main__.py +0 -0
  392. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/rows/cassandra/write.py +0 -0
  393. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/__init__.py +0 -0
  394. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/cassandra/__init__.py +0 -0
  395. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/cassandra/__main__.py +0 -0
  396. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/falkordb/__init__.py +0 -0
  397. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/falkordb/__main__.py +0 -0
  398. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/memgraph/__init__.py +0 -0
  399. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/memgraph/__main__.py +0 -0
  400. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/neo4j/__init__.py +0 -0
  401. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/storage/triples/neo4j/__main__.py +0 -0
  402. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/tables/__init__.py +0 -0
  403. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/tables/cassandra_async.py +0 -0
  404. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/tables/config.py +0 -0
  405. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/tables/iam.py +0 -0
  406. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/tables/knowledge.py +0 -0
  407. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/tables/library.py +0 -0
  408. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/template/__init__.py +0 -0
  409. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/template/prompt_manager.py +0 -0
  410. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/tool_service/__init__.py +0 -0
  411. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/tool_service/joke/__init__.py +0 -0
  412. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph/tool_service/joke/service.py +0 -0
  413. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph_flow.egg-info/dependency_links.txt +0 -0
  414. {trustgraph_flow-2.8.0 → trustgraph_flow-2.8.2}/trustgraph_flow.egg-info/requires.txt +0 -0
  415. {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.0
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"
@@ -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
- t_pub = None
495
- ge_pub = None
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
- t_pub = Publisher(
503
- self.flow_config.pubsub, t_q,
504
- schema=Triples,
501
+ t_prod = await self.flow_config.pubsub.create_producer(
502
+ topic=t_q, schema=Triples,
505
503
  )
506
- ge_pub = Publisher(
507
- self.flow_config.pubsub, ge_q,
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 t_pub.send(None, t)
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 ge_pub.send(None, g)
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
- logger.debug("Stopping publishers...")
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
- de_pub = None
562
+ de_prod = None
573
563
 
574
564
  try:
575
565
 
576
566
  logger.debug(f"Document embeddings queue: {de_q}")
577
567
 
578
- de_pub = Publisher(
579
- self.flow_config.pubsub, de_q,
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 de_pub.send(None, de)
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
- logger.debug("Stopping publisher...")
609
-
610
- if de_pub: await de_pub.stop()
593
+ if de_prod: await de_prod.close()
@@ -164,6 +164,7 @@ class Processor(WorkspaceProcessor):
164
164
  response_topic=config_response_queue,
165
165
  request_schema=ConfigRequest,
166
166
  response_schema=ConfigResponse,
167
+ default_timeout=self.config_timeout,
167
168
  )
168
169
 
169
170
  self.config_client = AsyncConfigClient(rr_client)
@@ -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.metrics import ProducerMetrics, SubscriberMetrics
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
- rr_id = str(uuid.uuid4())
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.stop()
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 Consumer, Producer
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, proc, flow):
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
- """Create a short-lived config request/response client."""
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.stop()
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.stop()
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
- try:
314
-
315
- async with asyncio.TaskGroup() as tg:
278
+ consumer = None
316
279
 
317
- id = str(uuid.uuid4())
280
+ try:
318
281
 
319
- # Subscribe to notify queue
320
- self.config_cons = Consumer(
321
- taskgroup=tg,
322
- flow=None,
323
- backend=self.backend,
324
- subscriber=f"gateway-{id}",
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
- logger.info("Starting config notify consumer...")
332
- await self.config_cons.start()
333
- logger.info("Config notify consumer started")
289
+ logger.info("Config notify consumer started")
334
290
 
335
- # Fetch current config (subscribe-then-fetch pattern)
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
- logger.info(
340
- "Config loader initialised, waiting for notifys..."
341
- )
293
+ logger.info(
294
+ "Config loader initialised, waiting for notifys..."
295
+ )
342
296
 
343
- logger.warning("Config consumer exited, restarting...")
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 Metadata
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.publisher.start()
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
- # Step 2: Wait for publisher to drain its queue
37
- logger.info("Draining publisher queue...")
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.publisher.send(None, elt)
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)