trustgraph-flow 2.4.2__tar.gz → 2.4.4__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 (377) hide show
  1. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/PKG-INFO +1 -1
  2. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/pyproject.toml +1 -0
  3. trustgraph_flow-2.4.4/trustgraph/bootstrap/base.py +68 -0
  4. trustgraph_flow-2.4.4/trustgraph/bootstrap/bootstrapper/service.py +414 -0
  5. trustgraph_flow-2.4.4/trustgraph/bootstrap/initialisers/__init__.py +20 -0
  6. trustgraph_flow-2.4.4/trustgraph/bootstrap/initialisers/default_flow_start.py +101 -0
  7. trustgraph_flow-2.4.4/trustgraph/bootstrap/initialisers/pulsar_topology.py +131 -0
  8. trustgraph_flow-2.4.4/trustgraph/bootstrap/initialisers/template_seed.py +93 -0
  9. trustgraph_flow-2.4.4/trustgraph/bootstrap/initialisers/workspace_init.py +138 -0
  10. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/config/service/service.py +30 -0
  11. trustgraph_flow-2.4.4/trustgraph/flow_version.py +1 -0
  12. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/endpoint/metrics.py +22 -11
  13. trustgraph_flow-2.4.4/trustgraph/query/sparql/__init__.py +1 -0
  14. trustgraph_flow-2.4.4/trustgraph/query/sparql/__main__.py +6 -0
  15. trustgraph_flow-2.4.4/trustgraph/tables/__init__.py +0 -0
  16. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph_flow.egg-info/PKG-INFO +1 -1
  17. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph_flow.egg-info/SOURCES.txt +10 -0
  18. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph_flow.egg-info/entry_points.txt +1 -0
  19. trustgraph_flow-2.4.2/trustgraph/flow_version.py +0 -1
  20. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/README.md +0 -0
  21. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/setup.cfg +0 -0
  22. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/__init__.py +0 -0
  23. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/__init__.py +0 -0
  24. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/mcp_tool/__init__.py +0 -0
  25. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/mcp_tool/__main__.py +0 -0
  26. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/mcp_tool/service.py +0 -0
  27. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/orchestrator/__init__.py +0 -0
  28. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/orchestrator/__main__.py +0 -0
  29. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/orchestrator/aggregator.py +0 -0
  30. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/orchestrator/meta_router.py +0 -0
  31. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/orchestrator/pattern_base.py +0 -0
  32. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/orchestrator/plan_pattern.py +0 -0
  33. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/orchestrator/react_pattern.py +0 -0
  34. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/orchestrator/service.py +0 -0
  35. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/orchestrator/supervisor_pattern.py +0 -0
  36. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/react/__init__.py +0 -0
  37. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/react/__main__.py +0 -0
  38. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/react/agent_manager.py +0 -0
  39. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/react/service.py +0 -0
  40. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/react/streaming_parser.py +0 -0
  41. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/react/tools.py +0 -0
  42. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/react/types.py +0 -0
  43. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/agent/tool_filter.py +0 -0
  44. {trustgraph_flow-2.4.2/trustgraph/chunking → trustgraph_flow-2.4.4/trustgraph/bootstrap}/__init__.py +0 -0
  45. {trustgraph_flow-2.4.2/trustgraph/query/sparql → trustgraph_flow-2.4.4/trustgraph/bootstrap/bootstrapper}/__init__.py +0 -0
  46. {trustgraph_flow-2.4.2/trustgraph/flow/service → trustgraph_flow-2.4.4/trustgraph/bootstrap/bootstrapper}/__main__.py +0 -0
  47. {trustgraph_flow-2.4.2/trustgraph/decoding → trustgraph_flow-2.4.4/trustgraph/chunking}/__init__.py +0 -0
  48. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/chunking/recursive/__init__.py +0 -0
  49. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/chunking/recursive/__main__.py +0 -0
  50. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/chunking/recursive/chunker.py +0 -0
  51. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/chunking/token/__init__.py +0 -0
  52. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/chunking/token/__main__.py +0 -0
  53. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/chunking/token/chunker.py +0 -0
  54. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/config/service/__init__.py +0 -0
  55. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/config/service/__main__.py +0 -0
  56. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/config/service/config.py +0 -0
  57. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/cores/__init__.py +0 -0
  58. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/cores/__main__.py +0 -0
  59. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/cores/knowledge.py +0 -0
  60. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/cores/service.py +0 -0
  61. {trustgraph_flow-2.4.2/trustgraph/direct → trustgraph_flow-2.4.4/trustgraph/decoding}/__init__.py +0 -0
  62. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/decoding/mistral_ocr/__init__.py +0 -0
  63. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/decoding/mistral_ocr/__main__.py +0 -0
  64. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/decoding/mistral_ocr/processor.py +0 -0
  65. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/decoding/pdf/__init__.py +0 -0
  66. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/decoding/pdf/__main__.py +0 -0
  67. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/decoding/pdf/pdf_decoder.py +0 -0
  68. {trustgraph_flow-2.4.2/trustgraph/embeddings → trustgraph_flow-2.4.4/trustgraph/direct}/__init__.py +0 -0
  69. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/direct/cassandra_kg.py +0 -0
  70. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/direct/milvus_doc_embeddings.py +0 -0
  71. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/direct/milvus_graph_embeddings.py +0 -0
  72. {trustgraph_flow-2.4.2/trustgraph/external → trustgraph_flow-2.4.4/trustgraph/embeddings}/__init__.py +0 -0
  73. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/embeddings/document_embeddings/__init__.py +0 -0
  74. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/embeddings/document_embeddings/__main__.py +0 -0
  75. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/embeddings/document_embeddings/embeddings.py +0 -0
  76. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/embeddings/fastembed/__init__.py +0 -0
  77. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/embeddings/fastembed/__main__.py +0 -0
  78. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/embeddings/fastembed/processor.py +0 -0
  79. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/embeddings/graph_embeddings/__init__.py +0 -0
  80. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/embeddings/graph_embeddings/__main__.py +0 -0
  81. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/embeddings/graph_embeddings/embeddings.py +0 -0
  82. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/embeddings/ollama/__init__.py +0 -0
  83. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/embeddings/ollama/__main__.py +0 -0
  84. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/embeddings/ollama/processor.py +0 -0
  85. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/embeddings/row_embeddings/__init__.py +0 -0
  86. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/embeddings/row_embeddings/__main__.py +0 -0
  87. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/embeddings/row_embeddings/embeddings.py +0 -0
  88. {trustgraph_flow-2.4.2/trustgraph/extract → trustgraph_flow-2.4.4/trustgraph/external}/__init__.py +0 -0
  89. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/external/wikipedia/__init__.py +0 -0
  90. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/external/wikipedia/__main__.py +0 -0
  91. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/external/wikipedia/service.py +0 -0
  92. {trustgraph_flow-2.4.2/trustgraph/extract/kg → trustgraph_flow-2.4.4/trustgraph/extract}/__init__.py +0 -0
  93. {trustgraph_flow-2.4.2/trustgraph/model → trustgraph_flow-2.4.4/trustgraph/extract/kg}/__init__.py +0 -0
  94. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/agent/__init__.py +0 -0
  95. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/agent/__main__.py +0 -0
  96. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/agent/extract.py +0 -0
  97. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/definitions/__init__.py +0 -0
  98. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/definitions/__main__.py +0 -0
  99. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/definitions/extract.py +0 -0
  100. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/ontology/__init__.py +0 -0
  101. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/ontology/entity_normalizer.py +0 -0
  102. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/ontology/extract.py +0 -0
  103. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/ontology/ontology_embedder.py +0 -0
  104. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/ontology/ontology_loader.py +0 -0
  105. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/ontology/ontology_selector.py +0 -0
  106. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/ontology/run.py +0 -0
  107. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/ontology/simplified_parser.py +0 -0
  108. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/ontology/text_processor.py +0 -0
  109. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/ontology/triple_converter.py +0 -0
  110. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/ontology/vector_store.py +0 -0
  111. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/relationships/__init__.py +0 -0
  112. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/relationships/__main__.py +0 -0
  113. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/relationships/extract.py +0 -0
  114. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/rows/__init__.py +0 -0
  115. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/rows/__main__.py +0 -0
  116. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/rows/processor.py +0 -0
  117. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/topics/__init__.py +0 -0
  118. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/topics/__main__.py +0 -0
  119. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/extract/kg/topics/extract.py +0 -0
  120. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/flow/__init__.py +0 -0
  121. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/flow/service/__init__.py +0 -0
  122. {trustgraph_flow-2.4.2/trustgraph/query/sparql → trustgraph_flow-2.4.4/trustgraph/flow/service}/__main__.py +0 -0
  123. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/flow/service/flow.py +0 -0
  124. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/flow/service/service.py +0 -0
  125. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/__init__.py +0 -0
  126. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/__main__.py +0 -0
  127. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/auth.py +0 -0
  128. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/config/receiver.py +0 -0
  129. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/agent.py +0 -0
  130. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/collection_management.py +0 -0
  131. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/config.py +0 -0
  132. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/core_export.py +0 -0
  133. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/core_import.py +0 -0
  134. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/document_embeddings_export.py +0 -0
  135. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/document_embeddings_import.py +0 -0
  136. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/document_embeddings_query.py +0 -0
  137. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/document_load.py +0 -0
  138. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/document_rag.py +0 -0
  139. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/document_stream.py +0 -0
  140. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/embeddings.py +0 -0
  141. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/entity_contexts_export.py +0 -0
  142. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/entity_contexts_import.py +0 -0
  143. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/flow.py +0 -0
  144. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/graph_embeddings_export.py +0 -0
  145. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/graph_embeddings_import.py +0 -0
  146. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/graph_embeddings_query.py +0 -0
  147. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/graph_rag.py +0 -0
  148. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/knowledge.py +0 -0
  149. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/librarian.py +0 -0
  150. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/manager.py +0 -0
  151. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/mcp_tool.py +0 -0
  152. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/mux.py +0 -0
  153. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/nlp_query.py +0 -0
  154. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/prompt.py +0 -0
  155. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/requestor.py +0 -0
  156. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/row_embeddings_query.py +0 -0
  157. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/rows_import.py +0 -0
  158. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/rows_query.py +0 -0
  159. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/sender.py +0 -0
  160. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/serialize.py +0 -0
  161. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/sparql_query.py +0 -0
  162. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/streamer.py +0 -0
  163. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/structured_diag.py +0 -0
  164. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/structured_query.py +0 -0
  165. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/text_completion.py +0 -0
  166. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/text_load.py +0 -0
  167. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/triples_export.py +0 -0
  168. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/triples_import.py +0 -0
  169. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/dispatch/triples_query.py +0 -0
  170. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/endpoint/constant_endpoint.py +0 -0
  171. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/endpoint/i18n.py +0 -0
  172. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/endpoint/manager.py +0 -0
  173. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/endpoint/socket.py +0 -0
  174. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/endpoint/stream_endpoint.py +0 -0
  175. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/endpoint/variable_endpoint.py +0 -0
  176. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/running.py +0 -0
  177. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/service.py +0 -0
  178. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/unused/dbpedia.py +0 -0
  179. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/unused/encyclopedia.py +0 -0
  180. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/gateway/unused/internet_search.py +0 -0
  181. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/librarian/__init__.py +0 -0
  182. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/librarian/__main__.py +0 -0
  183. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/librarian/blob_store.py +0 -0
  184. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/librarian/collection_manager.py +0 -0
  185. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/librarian/librarian.py +0 -0
  186. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/librarian/service.py +0 -0
  187. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/metering/__init__.py +0 -0
  188. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/metering/__main__.py +0 -0
  189. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/metering/counter.py +0 -0
  190. {trustgraph_flow-2.4.2/trustgraph/model/text_completion → trustgraph_flow-2.4.4/trustgraph/model}/__init__.py +0 -0
  191. {trustgraph_flow-2.4.2/trustgraph/prompt → trustgraph_flow-2.4.4/trustgraph/model/text_completion}/__init__.py +0 -0
  192. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/azure/__init__.py +0 -0
  193. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/azure/__main__.py +0 -0
  194. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/azure/llm.py +0 -0
  195. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/azure_openai/__init__.py +0 -0
  196. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/azure_openai/__main__.py +0 -0
  197. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/azure_openai/llm.py +0 -0
  198. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/claude/__init__.py +0 -0
  199. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/claude/__main__.py +0 -0
  200. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/claude/llm.py +0 -0
  201. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/cohere/__init__.py +0 -0
  202. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/cohere/__main__.py +0 -0
  203. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/cohere/llm.py +0 -0
  204. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/llamafile/__init__.py +0 -0
  205. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/llamafile/__main__.py +0 -0
  206. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/llamafile/llm.py +0 -0
  207. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/lmstudio/__init__.py +0 -0
  208. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/lmstudio/__main__.py +0 -0
  209. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/lmstudio/llm.py +0 -0
  210. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/mistral/__init__.py +0 -0
  211. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/mistral/__main__.py +0 -0
  212. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/mistral/llm.py +0 -0
  213. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/ollama/__init__.py +0 -0
  214. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/ollama/__main__.py +0 -0
  215. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/ollama/llm.py +0 -0
  216. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/openai/__init__.py +0 -0
  217. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/openai/__main__.py +0 -0
  218. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/openai/llm.py +0 -0
  219. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/tgi/__init__.py +0 -0
  220. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/tgi/__main__.py +0 -0
  221. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/tgi/llm.py +0 -0
  222. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/vllm/__init__.py +0 -0
  223. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/vllm/__main__.py +0 -0
  224. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/model/text_completion/vllm/llm.py +0 -0
  225. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/processing/__init__.py +0 -0
  226. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/processing/__main__.py +0 -0
  227. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/processing/processing.py +0 -0
  228. {trustgraph_flow-2.4.2/trustgraph/query → trustgraph_flow-2.4.4/trustgraph/prompt}/__init__.py +0 -0
  229. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/prompt/template/__init__.py +0 -0
  230. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/prompt/template/__main__.py +0 -0
  231. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/prompt/template/service.py +0 -0
  232. {trustgraph_flow-2.4.2/trustgraph/query/doc_embeddings → trustgraph_flow-2.4.4/trustgraph/query}/__init__.py +0 -0
  233. {trustgraph_flow-2.4.2/trustgraph/query/graph_embeddings → trustgraph_flow-2.4.4/trustgraph/query/doc_embeddings}/__init__.py +0 -0
  234. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/doc_embeddings/milvus/__init__.py +0 -0
  235. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/doc_embeddings/milvus/__main__.py +0 -0
  236. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/doc_embeddings/milvus/service.py +0 -0
  237. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/doc_embeddings/pinecone/__init__.py +0 -0
  238. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/doc_embeddings/pinecone/__main__.py +0 -0
  239. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/doc_embeddings/pinecone/service.py +0 -0
  240. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/doc_embeddings/qdrant/__init__.py +0 -0
  241. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/doc_embeddings/qdrant/__main__.py +0 -0
  242. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/doc_embeddings/qdrant/service.py +0 -0
  243. {trustgraph_flow-2.4.2/trustgraph/query/rows → trustgraph_flow-2.4.4/trustgraph/query/graph_embeddings}/__init__.py +0 -0
  244. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/graph_embeddings/milvus/__init__.py +0 -0
  245. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/graph_embeddings/milvus/__main__.py +0 -0
  246. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/graph_embeddings/milvus/service.py +0 -0
  247. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/graph_embeddings/pinecone/__init__.py +0 -0
  248. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/graph_embeddings/pinecone/__main__.py +0 -0
  249. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/graph_embeddings/pinecone/service.py +0 -0
  250. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/graph_embeddings/qdrant/__init__.py +0 -0
  251. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/graph_embeddings/qdrant/__main__.py +0 -0
  252. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/graph_embeddings/qdrant/service.py +0 -0
  253. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/graphql/__init__.py +0 -0
  254. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/graphql/filters.py +0 -0
  255. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/graphql/schema.py +0 -0
  256. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/graphql/types.py +0 -0
  257. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/ontology/__init__.py +0 -0
  258. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/ontology/answer_generator.py +0 -0
  259. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/ontology/backend_router.py +0 -0
  260. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/ontology/cache.py +0 -0
  261. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/ontology/cypher_executor.py +0 -0
  262. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/ontology/cypher_generator.py +0 -0
  263. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/ontology/error_handling.py +0 -0
  264. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/ontology/monitoring.py +0 -0
  265. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/ontology/multi_language.py +0 -0
  266. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/ontology/ontology_matcher.py +0 -0
  267. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/ontology/query_explanation.py +0 -0
  268. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/ontology/query_optimizer.py +0 -0
  269. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/ontology/query_service.py +0 -0
  270. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/ontology/question_analyzer.py +0 -0
  271. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/ontology/sparql_cassandra.py +0 -0
  272. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/ontology/sparql_generator.py +0 -0
  273. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/row_embeddings/__init__.py +0 -0
  274. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/row_embeddings/qdrant/__init__.py +0 -0
  275. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/row_embeddings/qdrant/__main__.py +0 -0
  276. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/row_embeddings/qdrant/service.py +0 -0
  277. {trustgraph_flow-2.4.2/trustgraph/query/triples → trustgraph_flow-2.4.4/trustgraph/query/rows}/__init__.py +0 -0
  278. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/rows/cassandra/__init__.py +0 -0
  279. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/rows/cassandra/__main__.py +0 -0
  280. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/rows/cassandra/service.py +0 -0
  281. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/sparql/algebra.py +0 -0
  282. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/sparql/expressions.py +0 -0
  283. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/sparql/parser.py +0 -0
  284. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/sparql/service.py +0 -0
  285. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/sparql/solutions.py +0 -0
  286. {trustgraph_flow-2.4.2/trustgraph/retrieval → trustgraph_flow-2.4.4/trustgraph/query/triples}/__init__.py +0 -0
  287. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/triples/cassandra/__init__.py +0 -0
  288. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/triples/cassandra/__main__.py +0 -0
  289. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/triples/cassandra/service.py +0 -0
  290. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/triples/falkordb/__init__.py +0 -0
  291. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/triples/falkordb/__main__.py +0 -0
  292. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/triples/falkordb/service.py +0 -0
  293. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/triples/memgraph/__init__.py +0 -0
  294. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/triples/memgraph/__main__.py +0 -0
  295. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/triples/memgraph/service.py +0 -0
  296. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/triples/neo4j/__init__.py +0 -0
  297. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/triples/neo4j/__main__.py +0 -0
  298. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/query/triples/neo4j/service.py +0 -0
  299. {trustgraph_flow-2.4.2/trustgraph/storage → trustgraph_flow-2.4.4/trustgraph/retrieval}/__init__.py +0 -0
  300. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/retrieval/document_rag/__init__.py +0 -0
  301. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/retrieval/document_rag/__main__.py +0 -0
  302. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/retrieval/document_rag/document_rag.py +0 -0
  303. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/retrieval/document_rag/rag.py +0 -0
  304. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/retrieval/graph_rag/__init__.py +0 -0
  305. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/retrieval/graph_rag/__main__.py +0 -0
  306. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/retrieval/graph_rag/graph_rag.py +0 -0
  307. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/retrieval/graph_rag/rag.py +0 -0
  308. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/retrieval/nlp_query/__init__.py +0 -0
  309. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/retrieval/nlp_query/__main__.py +0 -0
  310. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/retrieval/nlp_query/service.py +0 -0
  311. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/retrieval/structured_diag/__init__.py +0 -0
  312. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/retrieval/structured_diag/service.py +0 -0
  313. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/retrieval/structured_diag/type_detector.py +0 -0
  314. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/retrieval/structured_query/__init__.py +0 -0
  315. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/retrieval/structured_query/__main__.py +0 -0
  316. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/retrieval/structured_query/service.py +0 -0
  317. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/rev_gateway/__init__.py +0 -0
  318. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/rev_gateway/__main__.py +0 -0
  319. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/rev_gateway/dispatcher.py +0 -0
  320. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/rev_gateway/service.py +0 -0
  321. {trustgraph_flow-2.4.2/trustgraph/storage/doc_embeddings → trustgraph_flow-2.4.4/trustgraph/storage}/__init__.py +0 -0
  322. {trustgraph_flow-2.4.2/trustgraph/storage/graph_embeddings → trustgraph_flow-2.4.4/trustgraph/storage/doc_embeddings}/__init__.py +0 -0
  323. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/doc_embeddings/milvus/__init__.py +0 -0
  324. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/doc_embeddings/milvus/__main__.py +0 -0
  325. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/doc_embeddings/milvus/write.py +0 -0
  326. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/doc_embeddings/pinecone/__init__.py +0 -0
  327. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/doc_embeddings/pinecone/__main__.py +0 -0
  328. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/doc_embeddings/pinecone/write.py +0 -0
  329. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/doc_embeddings/qdrant/__init__.py +0 -0
  330. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/doc_embeddings/qdrant/__main__.py +0 -0
  331. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/doc_embeddings/qdrant/write.py +0 -0
  332. {trustgraph_flow-2.4.2/trustgraph/storage/rows → trustgraph_flow-2.4.4/trustgraph/storage/graph_embeddings}/__init__.py +0 -0
  333. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/graph_embeddings/milvus/__init__.py +0 -0
  334. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/graph_embeddings/milvus/__main__.py +0 -0
  335. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/graph_embeddings/milvus/write.py +0 -0
  336. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/graph_embeddings/pinecone/__init__.py +0 -0
  337. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/graph_embeddings/pinecone/__main__.py +0 -0
  338. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/graph_embeddings/pinecone/write.py +0 -0
  339. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/graph_embeddings/qdrant/__init__.py +0 -0
  340. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/graph_embeddings/qdrant/__main__.py +0 -0
  341. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/graph_embeddings/qdrant/write.py +0 -0
  342. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/knowledge/__init__.py +0 -0
  343. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/knowledge/__main__.py +0 -0
  344. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/knowledge/store.py +0 -0
  345. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/row_embeddings/__init__.py +0 -0
  346. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/row_embeddings/qdrant/__init__.py +0 -0
  347. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/row_embeddings/qdrant/__main__.py +0 -0
  348. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/row_embeddings/qdrant/write.py +0 -0
  349. {trustgraph_flow-2.4.2/trustgraph/storage/triples → trustgraph_flow-2.4.4/trustgraph/storage/rows}/__init__.py +0 -0
  350. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/rows/cassandra/__init__.py +0 -0
  351. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/rows/cassandra/__main__.py +0 -0
  352. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/rows/cassandra/write.py +0 -0
  353. {trustgraph_flow-2.4.2/trustgraph/tables → trustgraph_flow-2.4.4/trustgraph/storage/triples}/__init__.py +0 -0
  354. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/triples/cassandra/__init__.py +0 -0
  355. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/triples/cassandra/__main__.py +0 -0
  356. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/triples/cassandra/write.py +0 -0
  357. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/triples/falkordb/__init__.py +0 -0
  358. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/triples/falkordb/__main__.py +0 -0
  359. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/triples/falkordb/write.py +0 -0
  360. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/triples/memgraph/__init__.py +0 -0
  361. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/triples/memgraph/__main__.py +0 -0
  362. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/triples/memgraph/write.py +0 -0
  363. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/triples/neo4j/__init__.py +0 -0
  364. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/triples/neo4j/__main__.py +0 -0
  365. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/storage/triples/neo4j/write.py +0 -0
  366. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/tables/cassandra_async.py +0 -0
  367. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/tables/config.py +0 -0
  368. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/tables/knowledge.py +0 -0
  369. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/tables/library.py +0 -0
  370. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/template/__init__.py +0 -0
  371. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/template/prompt_manager.py +0 -0
  372. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/tool_service/__init__.py +0 -0
  373. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/tool_service/joke/__init__.py +0 -0
  374. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph/tool_service/joke/service.py +0 -0
  375. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph_flow.egg-info/dependency_links.txt +0 -0
  376. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/trustgraph_flow.egg-info/requires.txt +0 -0
  377. {trustgraph_flow-2.4.2 → trustgraph_flow-2.4.4}/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.4.2
3
+ Version: 2.4.4
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
@@ -60,6 +60,7 @@ agent-orchestrator = "trustgraph.agent.orchestrator:run"
60
60
  api-gateway = "trustgraph.gateway:run"
61
61
  chunker-recursive = "trustgraph.chunking.recursive:run"
62
62
  chunker-token = "trustgraph.chunking.token:run"
63
+ bootstrap = "trustgraph.bootstrap.bootstrapper:run"
63
64
  config-svc = "trustgraph.config.service:run"
64
65
  flow-svc = "trustgraph.flow.service:run"
65
66
  doc-embeddings-query-milvus = "trustgraph.query.doc_embeddings.milvus:run"
@@ -0,0 +1,68 @@
1
+ """
2
+ Bootstrap framework: Initialiser base class and per-wake context.
3
+
4
+ See docs/tech-specs/bootstrap.md for the full design.
5
+ """
6
+
7
+ import logging
8
+ from dataclasses import dataclass
9
+ from typing import Any
10
+
11
+
12
+ @dataclass
13
+ class InitContext:
14
+ """Shared per-wake context passed to each initialiser.
15
+
16
+ The bootstrapper constructs one of these on every wake cycle,
17
+ tears it down at cycle end, and passes it into each initialiser's
18
+ ``run()`` method. Fields are short-lived and safe to use during
19
+ a single cycle only.
20
+ """
21
+
22
+ logger: logging.Logger
23
+ config: Any # ConfigClient
24
+ flow: Any # RequestResponse client for flow-svc
25
+
26
+
27
+ class Initialiser:
28
+ """Base class for bootstrap initialisers.
29
+
30
+ Subclasses implement :meth:`run`. The bootstrapper manages
31
+ completion state, flag comparison, retry and error handling —
32
+ subclasses describe only the work to perform.
33
+
34
+ Class attributes:
35
+
36
+ * ``wait_for_services`` (bool, default ``True``): when ``True`` the
37
+ initialiser only runs after the bootstrapper's service gate has
38
+ passed (config-svc and flow-svc reachable). Set ``False`` for
39
+ initialisers that bring up infrastructure the gate itself
40
+ depends on — principally Pulsar topology, without which
41
+ config-svc cannot come online.
42
+ """
43
+
44
+ wait_for_services: bool = True
45
+
46
+ def __init__(self, **params):
47
+ # Subclasses should consume their own params via keyword
48
+ # arguments in their own __init__ signatures. This catch-all
49
+ # is here so any kwargs that filter through unnoticed don't
50
+ # raise TypeError on construction.
51
+ pass
52
+
53
+ async def run(self, ctx, old_flag, new_flag):
54
+ """Perform initialisation work.
55
+
56
+ :param ctx: :class:`InitContext` with logger, config client,
57
+ flow-svc client.
58
+ :param old_flag: Previously-stored flag string, or ``None`` if
59
+ this initialiser has never successfully completed in this
60
+ deployment.
61
+ :param new_flag: Currently-configured flag. A string chosen
62
+ by the operator; typically something like ``"v1"``.
63
+
64
+ :raises: Any exception on failure. The bootstrapper catches,
65
+ logs, and re-runs on the next cycle; completion state is
66
+ only written on clean return.
67
+ """
68
+ raise NotImplementedError
@@ -0,0 +1,414 @@
1
+ """
2
+ Bootstrapper processor.
3
+
4
+ Runs a pluggable list of initialisers in a reconciliation loop.
5
+ Each initialiser's completion state is recorded in the reserved
6
+ ``__system__`` workspace under the ``init-state`` config type.
7
+
8
+ See docs/tech-specs/bootstrap.md for the full design.
9
+ """
10
+
11
+ import asyncio
12
+ import importlib
13
+ import json
14
+ import logging
15
+ import uuid
16
+ from argparse import ArgumentParser
17
+ from dataclasses import dataclass
18
+
19
+ from trustgraph.base import AsyncProcessor
20
+ from trustgraph.base import ProducerMetrics, SubscriberMetrics
21
+ from trustgraph.base.config_client import ConfigClient
22
+ from trustgraph.base.request_response_spec import RequestResponse
23
+ from trustgraph.schema import (
24
+ ConfigRequest, ConfigResponse,
25
+ config_request_queue, config_response_queue,
26
+ )
27
+ from trustgraph.schema import (
28
+ FlowRequest, FlowResponse,
29
+ flow_request_queue, flow_response_queue,
30
+ )
31
+
32
+ from .. base import Initialiser, InitContext
33
+
34
+ logger = logging.getLogger(__name__)
35
+
36
+ default_ident = "bootstrap"
37
+
38
+ # Reserved workspace + config type under which completion state is
39
+ # stored. Reserved (`_`-prefix) workspaces are excluded from the
40
+ # config push broadcast — live processors never see these keys.
41
+ SYSTEM_WORKSPACE = "__system__"
42
+ INIT_STATE_TYPE = "init-state"
43
+
44
+ # Cadence tiers.
45
+ GATE_BACKOFF = 5 # Services not responding; retry soon.
46
+ INIT_RETRY = 15 # Gate passed but something ran/failed;
47
+ # converge quickly.
48
+ STEADY_INTERVAL = 300 # Everything at target flag; idle cheaply.
49
+
50
+
51
+ @dataclass
52
+ class InitialiserSpec:
53
+ """One entry in the bootstrapper's configured list of initialisers."""
54
+ name: str
55
+ flag: str
56
+ instance: Initialiser
57
+
58
+
59
+ def _resolve_class(dotted):
60
+ """Import and return a class by its dotted path."""
61
+ module_path, _, class_name = dotted.rpartition(".")
62
+ if not module_path:
63
+ raise ValueError(
64
+ f"Initialiser class must be a dotted path, got {dotted!r}"
65
+ )
66
+ module = importlib.import_module(module_path)
67
+ return getattr(module, class_name)
68
+
69
+
70
+ def _load_initialisers_file(path):
71
+ """Load the initialisers spec list from a YAML or JSON file.
72
+
73
+ File shape:
74
+
75
+ .. code-block:: yaml
76
+
77
+ initialisers:
78
+ - class: trustgraph.bootstrap.initialisers.PulsarTopology
79
+ name: pulsar-topology
80
+ flag: v1
81
+ params:
82
+ admin_url: http://pulsar:8080
83
+ tenant: tg
84
+ - ...
85
+ """
86
+ with open(path) as f:
87
+ content = f.read()
88
+ if path.endswith((".yaml", ".yml")):
89
+ import yaml
90
+ doc = yaml.safe_load(content)
91
+ else:
92
+ doc = json.loads(content)
93
+ if not isinstance(doc, dict) or "initialisers" not in doc:
94
+ raise RuntimeError(
95
+ f"{path}: expected a mapping with an 'initialisers' key"
96
+ )
97
+ return doc["initialisers"]
98
+
99
+
100
+ class Processor(AsyncProcessor):
101
+
102
+ def __init__(self, **params):
103
+
104
+ super().__init__(**params)
105
+
106
+ # Source the initialisers list either from a direct parameter
107
+ # (processor-group embedding) or from a file (CLI launch).
108
+ inits = params.get("initialisers")
109
+ if inits is None:
110
+ inits_file = params.get("initialisers_file")
111
+ if inits_file is None:
112
+ raise RuntimeError(
113
+ "Bootstrapper requires either the 'initialisers' "
114
+ "parameter or --initialisers-file"
115
+ )
116
+ inits = _load_initialisers_file(inits_file)
117
+
118
+ self.specs = []
119
+ names = set()
120
+
121
+ for entry in inits:
122
+ if not isinstance(entry, dict):
123
+ raise RuntimeError(
124
+ f"Initialiser entry must be a mapping, got: {entry!r}"
125
+ )
126
+ for required in ("class", "name", "flag"):
127
+ if required not in entry:
128
+ raise RuntimeError(
129
+ f"Initialiser entry missing required field "
130
+ f"{required!r}: {entry!r}"
131
+ )
132
+
133
+ name = entry["name"]
134
+ if name in names:
135
+ raise RuntimeError(f"Duplicate initialiser name {name!r}")
136
+ names.add(name)
137
+
138
+ cls = _resolve_class(entry["class"])
139
+
140
+ try:
141
+ instance = cls(**entry.get("params", {}))
142
+ except Exception as e:
143
+ raise RuntimeError(
144
+ f"Failed to instantiate initialiser "
145
+ f"{entry['class']!r} as {name!r}: "
146
+ f"{type(e).__name__}: {e}"
147
+ )
148
+
149
+ self.specs.append(InitialiserSpec(
150
+ name=name,
151
+ flag=entry["flag"],
152
+ instance=instance,
153
+ ))
154
+
155
+ logger.info(
156
+ f"Bootstrapper: loaded {len(self.specs)} initialisers"
157
+ )
158
+
159
+ # ------------------------------------------------------------------
160
+ # Client construction (short-lived per wake cycle).
161
+ # ------------------------------------------------------------------
162
+
163
+ def _make_config_client(self):
164
+ rr_id = str(uuid.uuid4())
165
+ return ConfigClient(
166
+ backend=self.pubsub_backend,
167
+ subscription=f"{self.id}--config--{rr_id}",
168
+ consumer_name=self.id,
169
+ request_topic=config_request_queue,
170
+ request_schema=ConfigRequest,
171
+ request_metrics=ProducerMetrics(
172
+ processor=self.id, flow=None, name="config-request",
173
+ ),
174
+ response_topic=config_response_queue,
175
+ response_schema=ConfigResponse,
176
+ response_metrics=SubscriberMetrics(
177
+ processor=self.id, flow=None, name="config-response",
178
+ ),
179
+ )
180
+
181
+ def _make_flow_client(self):
182
+ rr_id = str(uuid.uuid4())
183
+ return RequestResponse(
184
+ backend=self.pubsub_backend,
185
+ subscription=f"{self.id}--flow--{rr_id}",
186
+ consumer_name=self.id,
187
+ request_topic=flow_request_queue,
188
+ request_schema=FlowRequest,
189
+ request_metrics=ProducerMetrics(
190
+ processor=self.id, flow=None, name="flow-request",
191
+ ),
192
+ response_topic=flow_response_queue,
193
+ response_schema=FlowResponse,
194
+ response_metrics=SubscriberMetrics(
195
+ processor=self.id, flow=None, name="flow-response",
196
+ ),
197
+ )
198
+
199
+ async def _open_clients(self):
200
+ config = self._make_config_client()
201
+ flow = self._make_flow_client()
202
+ await config.start()
203
+ try:
204
+ await flow.start()
205
+ except Exception:
206
+ await self._safe_stop(config)
207
+ raise
208
+ return config, flow
209
+
210
+ async def _safe_stop(self, client):
211
+ try:
212
+ await client.stop()
213
+ except Exception:
214
+ pass
215
+
216
+ # ------------------------------------------------------------------
217
+ # Service gate.
218
+ # ------------------------------------------------------------------
219
+
220
+ async def _gate_ready(self, config, flow):
221
+ try:
222
+ await config.keys(SYSTEM_WORKSPACE, INIT_STATE_TYPE)
223
+ except Exception as e:
224
+ logger.info(
225
+ f"Gate: config-svc not ready ({type(e).__name__}: {e})"
226
+ )
227
+ return False
228
+
229
+ try:
230
+ resp = await flow.request(
231
+ FlowRequest(
232
+ operation="list-blueprints",
233
+ workspace=SYSTEM_WORKSPACE,
234
+ ),
235
+ timeout=5,
236
+ )
237
+ if resp.error:
238
+ logger.info(
239
+ f"Gate: flow-svc error: "
240
+ f"{resp.error.type}: {resp.error.message}"
241
+ )
242
+ return False
243
+ except Exception as e:
244
+ logger.info(
245
+ f"Gate: flow-svc not ready ({type(e).__name__}: {e})"
246
+ )
247
+ return False
248
+
249
+ return True
250
+
251
+ # ------------------------------------------------------------------
252
+ # Completion state.
253
+ # ------------------------------------------------------------------
254
+
255
+ async def _stored_flag(self, config, name):
256
+ raw = await config.get(SYSTEM_WORKSPACE, INIT_STATE_TYPE, name)
257
+ if raw is None:
258
+ return None
259
+ try:
260
+ return json.loads(raw)
261
+ except Exception:
262
+ return raw
263
+
264
+ async def _store_flag(self, config, name, flag):
265
+ await config.put(
266
+ SYSTEM_WORKSPACE, INIT_STATE_TYPE, name,
267
+ json.dumps(flag),
268
+ )
269
+
270
+ # ------------------------------------------------------------------
271
+ # Per-spec execution.
272
+ # ------------------------------------------------------------------
273
+
274
+ async def _run_spec(self, spec, config, flow):
275
+ """Run a single initialiser spec.
276
+
277
+ Returns one of:
278
+ - ``"skip"``: stored flag already matches target, nothing to do.
279
+ - ``"ran"``: initialiser ran and completion state was updated.
280
+ - ``"failed"``: initialiser raised.
281
+ - ``"failed-state-write"``: initialiser succeeded but we could
282
+ not persist the new flag (transient — will re-run next cycle).
283
+ """
284
+
285
+ try:
286
+ old_flag = await self._stored_flag(config, spec.name)
287
+ except Exception as e:
288
+ logger.warning(
289
+ f"{spec.name}: could not read stored flag "
290
+ f"({type(e).__name__}: {e})"
291
+ )
292
+ return "failed"
293
+
294
+ if old_flag == spec.flag:
295
+ return "skip"
296
+
297
+ child_logger = logger.getChild(spec.name)
298
+ child_ctx = InitContext(
299
+ logger=child_logger,
300
+ config=config,
301
+ flow=flow,
302
+ )
303
+
304
+ child_logger.info(
305
+ f"Running (old_flag={old_flag!r} -> new_flag={spec.flag!r})"
306
+ )
307
+
308
+ try:
309
+ await spec.instance.run(child_ctx, old_flag, spec.flag)
310
+ except Exception as e:
311
+ child_logger.error(
312
+ f"Failed: {type(e).__name__}: {e}", exc_info=True,
313
+ )
314
+ return "failed"
315
+
316
+ try:
317
+ await self._store_flag(config, spec.name, spec.flag)
318
+ except Exception as e:
319
+ child_logger.warning(
320
+ f"Completed but could not persist state flag "
321
+ f"({type(e).__name__}: {e}); will re-run next cycle"
322
+ )
323
+ return "failed-state-write"
324
+
325
+ child_logger.info(f"Completed (flag={spec.flag!r})")
326
+ return "ran"
327
+
328
+ # ------------------------------------------------------------------
329
+ # Main loop.
330
+ # ------------------------------------------------------------------
331
+
332
+ async def run(self):
333
+
334
+ logger.info(
335
+ f"Bootstrapper starting with {len(self.specs)} initialisers"
336
+ )
337
+
338
+ while self.running:
339
+
340
+ sleep_for = STEADY_INTERVAL
341
+
342
+ try:
343
+ config, flow = await self._open_clients()
344
+ except Exception as e:
345
+ logger.info(
346
+ f"Failed to open clients "
347
+ f"({type(e).__name__}: {e}); retry in {GATE_BACKOFF}s"
348
+ )
349
+ await asyncio.sleep(GATE_BACKOFF)
350
+ continue
351
+
352
+ try:
353
+ # Phase 1: pre-service initialisers run unconditionally.
354
+ pre_specs = [
355
+ s for s in self.specs
356
+ if not s.instance.wait_for_services
357
+ ]
358
+ pre_results = {}
359
+ for spec in pre_specs:
360
+ pre_results[spec.name] = await self._run_spec(
361
+ spec, config, flow,
362
+ )
363
+
364
+ # Phase 2: gate.
365
+ gate_ok = await self._gate_ready(config, flow)
366
+
367
+ # Phase 3: post-service initialisers, if gate passed.
368
+ post_results = {}
369
+ if gate_ok:
370
+ post_specs = [
371
+ s for s in self.specs
372
+ if s.instance.wait_for_services
373
+ ]
374
+ for spec in post_specs:
375
+ post_results[spec.name] = await self._run_spec(
376
+ spec, config, flow,
377
+ )
378
+
379
+ # Cadence selection.
380
+ if not gate_ok:
381
+ sleep_for = GATE_BACKOFF
382
+ else:
383
+ all_results = {**pre_results, **post_results}
384
+ if any(r != "skip" for r in all_results.values()):
385
+ sleep_for = INIT_RETRY
386
+ else:
387
+ sleep_for = STEADY_INTERVAL
388
+
389
+ finally:
390
+ await self._safe_stop(config)
391
+ await self._safe_stop(flow)
392
+
393
+ await asyncio.sleep(sleep_for)
394
+
395
+ # ------------------------------------------------------------------
396
+ # CLI arg plumbing.
397
+ # ------------------------------------------------------------------
398
+
399
+ @staticmethod
400
+ def add_args(parser: ArgumentParser) -> None:
401
+
402
+ AsyncProcessor.add_args(parser)
403
+
404
+ parser.add_argument(
405
+ '-c', '--initialisers-file',
406
+ help='Path to YAML or JSON file describing the '
407
+ 'initialisers to run. Ignored when the '
408
+ "'initialisers' parameter is provided directly "
409
+ '(e.g. when running inside a processor group).',
410
+ )
411
+
412
+
413
+ def run():
414
+ Processor.launch(default_ident, __doc__)
@@ -0,0 +1,20 @@
1
+ """
2
+ Core bootstrap initialisers.
3
+
4
+ These cover the base TrustGraph deployment case. Enterprise or
5
+ third-party initialisers live in their own packages and are
6
+ referenced in the bootstrapper's config by fully-qualified dotted
7
+ path.
8
+ """
9
+
10
+ from . pulsar_topology import PulsarTopology
11
+ from . template_seed import TemplateSeed
12
+ from . workspace_init import WorkspaceInit
13
+ from . default_flow_start import DefaultFlowStart
14
+
15
+ __all__ = [
16
+ "PulsarTopology",
17
+ "TemplateSeed",
18
+ "WorkspaceInit",
19
+ "DefaultFlowStart",
20
+ ]
@@ -0,0 +1,101 @@
1
+ """
2
+ DefaultFlowStart initialiser — starts a named flow in a workspace
3
+ using a specified blueprint.
4
+
5
+ Separated from WorkspaceInit so deployments that want a workspace
6
+ without an auto-started flow can simply omit this initialiser.
7
+
8
+ Parameters
9
+ ----------
10
+ workspace : str (default "default")
11
+ Workspace in which to start the flow.
12
+ flow_id : str (default "default")
13
+ Identifier for the started flow.
14
+ blueprint : str (required)
15
+ Blueprint name (must already exist in the workspace's config,
16
+ typically via TemplateSeed -> WorkspaceInit).
17
+ description : str (default "Default")
18
+ Human-readable description passed to flow-svc.
19
+ parameters : dict (optional)
20
+ Optional parameter overrides passed to start-flow.
21
+ """
22
+
23
+ from trustgraph.schema import FlowRequest
24
+
25
+ from .. base import Initialiser
26
+
27
+
28
+ class DefaultFlowStart(Initialiser):
29
+
30
+ def __init__(
31
+ self,
32
+ workspace="default",
33
+ flow_id="default",
34
+ blueprint=None,
35
+ description="Default",
36
+ parameters=None,
37
+ **kwargs,
38
+ ):
39
+ super().__init__(**kwargs)
40
+ if not blueprint:
41
+ raise ValueError(
42
+ "DefaultFlowStart requires 'blueprint'"
43
+ )
44
+ self.workspace = workspace
45
+ self.flow_id = flow_id
46
+ self.blueprint = blueprint
47
+ self.description = description
48
+ self.parameters = dict(parameters) if parameters else {}
49
+
50
+ async def run(self, ctx, old_flag, new_flag):
51
+
52
+ # Check whether the flow already exists. Belt-and-braces
53
+ # beyond the flag gate: if an operator stops and restarts the
54
+ # bootstrapper after the flow is already running, we don't
55
+ # want to blindly try to start it again.
56
+ list_resp = await ctx.flow.request(
57
+ FlowRequest(
58
+ operation="list-flows",
59
+ workspace=self.workspace,
60
+ ),
61
+ timeout=10,
62
+ )
63
+ if list_resp.error:
64
+ raise RuntimeError(
65
+ f"list-flows failed: "
66
+ f"{list_resp.error.type}: {list_resp.error.message}"
67
+ )
68
+
69
+ if self.flow_id in (list_resp.flow_ids or []):
70
+ ctx.logger.info(
71
+ f"Flow {self.flow_id!r} already running in workspace "
72
+ f"{self.workspace!r}; nothing to do"
73
+ )
74
+ return
75
+
76
+ ctx.logger.info(
77
+ f"Starting flow {self.flow_id!r} "
78
+ f"(blueprint={self.blueprint!r}) "
79
+ f"in workspace {self.workspace!r}"
80
+ )
81
+
82
+ resp = await ctx.flow.request(
83
+ FlowRequest(
84
+ operation="start-flow",
85
+ workspace=self.workspace,
86
+ flow_id=self.flow_id,
87
+ blueprint_name=self.blueprint,
88
+ description=self.description,
89
+ parameters=self.parameters,
90
+ ),
91
+ timeout=30,
92
+ )
93
+ if resp.error:
94
+ raise RuntimeError(
95
+ f"start-flow failed: "
96
+ f"{resp.error.type}: {resp.error.message}"
97
+ )
98
+
99
+ ctx.logger.info(
100
+ f"Flow {self.flow_id!r} started"
101
+ )