trustgraph-flow 1.2.7__tar.gz → 1.2.9__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 (290) hide show
  1. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/PKG-INFO +1 -1
  2. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/pyproject.toml +2 -1
  3. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/decoding/mistral_ocr/processor.py +1 -1
  4. trustgraph_flow-1.2.9/trustgraph/extract/kg/objects/__init__.py +3 -0
  5. trustgraph_flow-1.2.9/trustgraph/extract/kg/objects/__main__.py +7 -0
  6. trustgraph_flow-1.2.9/trustgraph/extract/kg/objects/processor.py +241 -0
  7. trustgraph_flow-1.2.9/trustgraph/flow_version.py +1 -0
  8. trustgraph_flow-1.2.9/trustgraph/storage/objects/__init__.py +1 -0
  9. trustgraph_flow-1.2.9/trustgraph/storage/objects/cassandra/__init__.py +1 -0
  10. trustgraph_flow-1.2.9/trustgraph/storage/objects/cassandra/__main__.py +3 -0
  11. trustgraph_flow-1.2.9/trustgraph/storage/objects/cassandra/write.py +411 -0
  12. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph_flow.egg-info/PKG-INFO +1 -1
  13. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph_flow.egg-info/SOURCES.txt +7 -4
  14. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph_flow.egg-info/entry_points.txt +2 -1
  15. trustgraph_flow-1.2.7/trustgraph/extract/object/row/__init__.py +0 -3
  16. trustgraph_flow-1.2.7/trustgraph/extract/object/row/__main__.py +0 -7
  17. trustgraph_flow-1.2.7/trustgraph/extract/object/row/extract.py +0 -225
  18. trustgraph_flow-1.2.7/trustgraph/flow_version.py +0 -1
  19. trustgraph_flow-1.2.7/trustgraph/tables/__init__.py +0 -0
  20. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/README.md +0 -0
  21. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/setup.cfg +0 -0
  22. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/__init__.py +0 -0
  23. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/agent/__init__.py +0 -0
  24. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/agent/mcp_tool/__init__.py +0 -0
  25. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/agent/mcp_tool/__main__.py +0 -0
  26. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/agent/mcp_tool/service.py +0 -0
  27. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/agent/react/__init__.py +0 -0
  28. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/agent/react/__main__.py +0 -0
  29. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/agent/react/agent_manager.py +0 -0
  30. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/agent/react/service.py +0 -0
  31. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/agent/react/tools.py +0 -0
  32. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/agent/react/types.py +0 -0
  33. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/chunking/__init__.py +0 -0
  34. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/chunking/recursive/__init__.py +0 -0
  35. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/chunking/recursive/__main__.py +0 -0
  36. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/chunking/recursive/chunker.py +0 -0
  37. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/chunking/token/__init__.py +0 -0
  38. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/chunking/token/__main__.py +0 -0
  39. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/chunking/token/chunker.py +0 -0
  40. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/config/service/__init__.py +0 -0
  41. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/config/service/__main__.py +0 -0
  42. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/config/service/config.py +0 -0
  43. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/config/service/flow.py +0 -0
  44. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/config/service/service.py +0 -0
  45. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/cores/__init__.py +0 -0
  46. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/cores/__main__.py +0 -0
  47. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/cores/knowledge.py +0 -0
  48. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/cores/service.py +0 -0
  49. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/decoding/__init__.py +0 -0
  50. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/decoding/mistral_ocr/__init__.py +0 -0
  51. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/decoding/mistral_ocr/__main__.py +0 -0
  52. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/decoding/pdf/__init__.py +0 -0
  53. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/decoding/pdf/__main__.py +0 -0
  54. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/decoding/pdf/pdf_decoder.py +0 -0
  55. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/direct/__init__.py +0 -0
  56. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/direct/cassandra.py +0 -0
  57. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/direct/milvus_doc_embeddings.py +0 -0
  58. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/direct/milvus_graph_embeddings.py +0 -0
  59. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/direct/milvus_object_embeddings.py +0 -0
  60. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/embeddings/__init__.py +0 -0
  61. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/embeddings/document_embeddings/__init__.py +0 -0
  62. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/embeddings/document_embeddings/__main__.py +0 -0
  63. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/embeddings/document_embeddings/embeddings.py +0 -0
  64. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/embeddings/fastembed/__init__.py +0 -0
  65. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/embeddings/fastembed/__main__.py +0 -0
  66. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/embeddings/fastembed/processor.py +0 -0
  67. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/embeddings/graph_embeddings/__init__.py +0 -0
  68. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/embeddings/graph_embeddings/__main__.py +0 -0
  69. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/embeddings/graph_embeddings/embeddings.py +0 -0
  70. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/embeddings/ollama/__init__.py +0 -0
  71. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/embeddings/ollama/__main__.py +0 -0
  72. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/embeddings/ollama/processor.py +0 -0
  73. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/external/__init__.py +0 -0
  74. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/external/wikipedia/__init__.py +0 -0
  75. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/external/wikipedia/__main__.py +0 -0
  76. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/external/wikipedia/service.py +0 -0
  77. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/extract/__init__.py +0 -0
  78. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/extract/kg/__init__.py +0 -0
  79. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/extract/kg/agent/__init__.py +0 -0
  80. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/extract/kg/agent/__main__.py +0 -0
  81. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/extract/kg/agent/extract.py +0 -0
  82. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/extract/kg/definitions/__init__.py +0 -0
  83. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/extract/kg/definitions/__main__.py +0 -0
  84. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/extract/kg/definitions/extract.py +0 -0
  85. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/extract/kg/relationships/__init__.py +0 -0
  86. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/extract/kg/relationships/__main__.py +0 -0
  87. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/extract/kg/relationships/extract.py +0 -0
  88. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/extract/kg/topics/__init__.py +0 -0
  89. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/extract/kg/topics/__main__.py +0 -0
  90. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/extract/kg/topics/extract.py +0 -0
  91. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/__init__.py +0 -0
  92. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/__main__.py +0 -0
  93. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/auth.py +0 -0
  94. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/config/receiver.py +0 -0
  95. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/agent.py +0 -0
  96. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/config.py +0 -0
  97. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/core_export.py +0 -0
  98. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/core_import.py +0 -0
  99. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/document_embeddings_export.py +0 -0
  100. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/document_embeddings_import.py +0 -0
  101. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/document_load.py +0 -0
  102. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/document_rag.py +0 -0
  103. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/embeddings.py +0 -0
  104. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/entity_contexts_export.py +0 -0
  105. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/entity_contexts_import.py +0 -0
  106. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/flow.py +0 -0
  107. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/graph_embeddings_export.py +0 -0
  108. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/graph_embeddings_import.py +0 -0
  109. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/graph_embeddings_query.py +0 -0
  110. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/graph_rag.py +0 -0
  111. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/knowledge.py +0 -0
  112. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/librarian.py +0 -0
  113. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/manager.py +0 -0
  114. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/mcp_tool.py +0 -0
  115. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/mux.py +0 -0
  116. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/prompt.py +0 -0
  117. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/requestor.py +0 -0
  118. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/sender.py +0 -0
  119. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/serialize.py +0 -0
  120. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/streamer.py +0 -0
  121. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/text_completion.py +0 -0
  122. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/text_load.py +0 -0
  123. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/triples_export.py +0 -0
  124. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/triples_import.py +0 -0
  125. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/dispatch/triples_query.py +0 -0
  126. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/endpoint/constant_endpoint.py +0 -0
  127. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/endpoint/manager.py +0 -0
  128. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/endpoint/metrics.py +0 -0
  129. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/endpoint/socket.py +0 -0
  130. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/endpoint/stream_endpoint.py +0 -0
  131. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/endpoint/variable_endpoint.py +0 -0
  132. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/running.py +0 -0
  133. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/service.py +0 -0
  134. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/unused/dbpedia.py +0 -0
  135. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/unused/encyclopedia.py +0 -0
  136. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/gateway/unused/internet_search.py +0 -0
  137. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/librarian/__init__.py +0 -0
  138. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/librarian/__main__.py +0 -0
  139. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/librarian/blob_store.py +0 -0
  140. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/librarian/librarian.py +0 -0
  141. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/librarian/service.py +0 -0
  142. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/metering/__init__.py +0 -0
  143. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/metering/__main__.py +0 -0
  144. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/metering/counter.py +0 -0
  145. {trustgraph_flow-1.2.7/trustgraph/extract/object → trustgraph_flow-1.2.9/trustgraph/model}/__init__.py +0 -0
  146. {trustgraph_flow-1.2.7/trustgraph/model → trustgraph_flow-1.2.9/trustgraph/model/text_completion}/__init__.py +0 -0
  147. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/azure/__init__.py +0 -0
  148. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/azure/__main__.py +0 -0
  149. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/azure/llm.py +0 -0
  150. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/azure_openai/__init__.py +0 -0
  151. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/azure_openai/__main__.py +0 -0
  152. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/azure_openai/llm.py +0 -0
  153. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/claude/__init__.py +0 -0
  154. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/claude/__main__.py +0 -0
  155. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/claude/llm.py +0 -0
  156. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/cohere/__init__.py +0 -0
  157. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/cohere/__main__.py +0 -0
  158. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/cohere/llm.py +0 -0
  159. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/googleaistudio/__init__.py +0 -0
  160. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/googleaistudio/__main__.py +0 -0
  161. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/googleaistudio/llm.py +0 -0
  162. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/llamafile/__init__.py +0 -0
  163. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/llamafile/__main__.py +0 -0
  164. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/llamafile/llm.py +0 -0
  165. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/lmstudio/__init__.py +0 -0
  166. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/lmstudio/__main__.py +0 -0
  167. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/lmstudio/llm.py +0 -0
  168. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/mistral/__init__.py +0 -0
  169. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/mistral/__main__.py +0 -0
  170. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/mistral/llm.py +0 -0
  171. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/ollama/__init__.py +0 -0
  172. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/ollama/__main__.py +0 -0
  173. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/ollama/llm.py +0 -0
  174. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/openai/__init__.py +0 -0
  175. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/openai/__main__.py +0 -0
  176. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/openai/llm.py +0 -0
  177. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/tgi/__init__.py +0 -0
  178. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/tgi/__main__.py +0 -0
  179. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/tgi/llm.py +0 -0
  180. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/vllm/__init__.py +0 -0
  181. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/vllm/__main__.py +0 -0
  182. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/model/text_completion/vllm/llm.py +0 -0
  183. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/processing/__init__.py +0 -0
  184. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/processing/__main__.py +0 -0
  185. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/processing/processing.py +0 -0
  186. {trustgraph_flow-1.2.7/trustgraph/model/text_completion → trustgraph_flow-1.2.9/trustgraph/prompt}/__init__.py +0 -0
  187. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/prompt/template/__init__.py +0 -0
  188. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/prompt/template/__main__.py +0 -0
  189. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/prompt/template/service.py +0 -0
  190. {trustgraph_flow-1.2.7/trustgraph/prompt → trustgraph_flow-1.2.9/trustgraph/query}/__init__.py +0 -0
  191. {trustgraph_flow-1.2.7/trustgraph/query → trustgraph_flow-1.2.9/trustgraph/query/doc_embeddings}/__init__.py +0 -0
  192. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/doc_embeddings/milvus/__init__.py +0 -0
  193. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/doc_embeddings/milvus/__main__.py +0 -0
  194. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/doc_embeddings/milvus/service.py +0 -0
  195. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/doc_embeddings/pinecone/__init__.py +0 -0
  196. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/doc_embeddings/pinecone/__main__.py +0 -0
  197. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/doc_embeddings/pinecone/service.py +0 -0
  198. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/doc_embeddings/qdrant/__init__.py +0 -0
  199. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/doc_embeddings/qdrant/__main__.py +0 -0
  200. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/doc_embeddings/qdrant/service.py +0 -0
  201. {trustgraph_flow-1.2.7/trustgraph/query/doc_embeddings → trustgraph_flow-1.2.9/trustgraph/query/graph_embeddings}/__init__.py +0 -0
  202. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/graph_embeddings/milvus/__init__.py +0 -0
  203. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/graph_embeddings/milvus/__main__.py +0 -0
  204. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/graph_embeddings/milvus/service.py +0 -0
  205. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/graph_embeddings/pinecone/__init__.py +0 -0
  206. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/graph_embeddings/pinecone/__main__.py +0 -0
  207. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/graph_embeddings/pinecone/service.py +0 -0
  208. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/graph_embeddings/qdrant/__init__.py +0 -0
  209. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/graph_embeddings/qdrant/__main__.py +0 -0
  210. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/graph_embeddings/qdrant/service.py +0 -0
  211. {trustgraph_flow-1.2.7/trustgraph/query/graph_embeddings → trustgraph_flow-1.2.9/trustgraph/query/triples}/__init__.py +0 -0
  212. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/triples/cassandra/__init__.py +0 -0
  213. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/triples/cassandra/__main__.py +0 -0
  214. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/triples/cassandra/service.py +0 -0
  215. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/triples/falkordb/__init__.py +0 -0
  216. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/triples/falkordb/__main__.py +0 -0
  217. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/triples/falkordb/service.py +0 -0
  218. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/triples/memgraph/__init__.py +0 -0
  219. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/triples/memgraph/__main__.py +0 -0
  220. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/triples/memgraph/service.py +0 -0
  221. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/triples/neo4j/__init__.py +0 -0
  222. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/triples/neo4j/__main__.py +0 -0
  223. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/query/triples/neo4j/service.py +0 -0
  224. {trustgraph_flow-1.2.7/trustgraph/query/triples → trustgraph_flow-1.2.9/trustgraph/retrieval}/__init__.py +0 -0
  225. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/retrieval/document_rag/__init__.py +0 -0
  226. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/retrieval/document_rag/__main__.py +0 -0
  227. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/retrieval/document_rag/document_rag.py +0 -0
  228. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/retrieval/document_rag/rag.py +0 -0
  229. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/retrieval/graph_rag/__init__.py +0 -0
  230. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/retrieval/graph_rag/__main__.py +0 -0
  231. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/retrieval/graph_rag/graph_rag.py +0 -0
  232. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/retrieval/graph_rag/rag.py +0 -0
  233. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/rev_gateway/__init__.py +0 -0
  234. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/rev_gateway/__main__.py +0 -0
  235. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/rev_gateway/dispatcher.py +0 -0
  236. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/rev_gateway/service.py +0 -0
  237. {trustgraph_flow-1.2.7/trustgraph/retrieval → trustgraph_flow-1.2.9/trustgraph/storage}/__init__.py +0 -0
  238. {trustgraph_flow-1.2.7/trustgraph/storage → trustgraph_flow-1.2.9/trustgraph/storage/doc_embeddings}/__init__.py +0 -0
  239. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/doc_embeddings/milvus/__init__.py +0 -0
  240. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/doc_embeddings/milvus/__main__.py +0 -0
  241. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/doc_embeddings/milvus/write.py +0 -0
  242. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/doc_embeddings/pinecone/__init__.py +0 -0
  243. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/doc_embeddings/pinecone/__main__.py +0 -0
  244. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/doc_embeddings/pinecone/write.py +0 -0
  245. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/doc_embeddings/qdrant/__init__.py +0 -0
  246. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/doc_embeddings/qdrant/__main__.py +0 -0
  247. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/doc_embeddings/qdrant/write.py +0 -0
  248. {trustgraph_flow-1.2.7/trustgraph/storage/doc_embeddings → trustgraph_flow-1.2.9/trustgraph/storage/graph_embeddings}/__init__.py +0 -0
  249. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/graph_embeddings/milvus/__init__.py +0 -0
  250. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/graph_embeddings/milvus/__main__.py +0 -0
  251. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/graph_embeddings/milvus/write.py +0 -0
  252. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/graph_embeddings/pinecone/__init__.py +0 -0
  253. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/graph_embeddings/pinecone/__main__.py +0 -0
  254. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/graph_embeddings/pinecone/write.py +0 -0
  255. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/graph_embeddings/qdrant/__init__.py +0 -0
  256. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/graph_embeddings/qdrant/__main__.py +0 -0
  257. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/graph_embeddings/qdrant/write.py +0 -0
  258. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/knowledge/__init__.py +0 -0
  259. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/knowledge/__main__.py +0 -0
  260. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/knowledge/store.py +0 -0
  261. {trustgraph_flow-1.2.7/trustgraph/storage/graph_embeddings → trustgraph_flow-1.2.9/trustgraph/storage/object_embeddings}/__init__.py +0 -0
  262. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/object_embeddings/milvus/__init__.py +0 -0
  263. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/object_embeddings/milvus/__main__.py +0 -0
  264. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/object_embeddings/milvus/write.py +0 -0
  265. {trustgraph_flow-1.2.7/trustgraph/storage/object_embeddings → trustgraph_flow-1.2.9/trustgraph/storage/rows}/__init__.py +0 -0
  266. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/rows/cassandra/__init__.py +0 -0
  267. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/rows/cassandra/__main__.py +0 -0
  268. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/rows/cassandra/write.py +0 -0
  269. {trustgraph_flow-1.2.7/trustgraph/storage/rows → trustgraph_flow-1.2.9/trustgraph/storage/triples}/__init__.py +0 -0
  270. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/triples/cassandra/__init__.py +0 -0
  271. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/triples/cassandra/__main__.py +0 -0
  272. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/triples/cassandra/write.py +0 -0
  273. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/triples/falkordb/__init__.py +0 -0
  274. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/triples/falkordb/__main__.py +0 -0
  275. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/triples/falkordb/write.py +0 -0
  276. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/triples/memgraph/__init__.py +0 -0
  277. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/triples/memgraph/__main__.py +0 -0
  278. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/triples/memgraph/write.py +0 -0
  279. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/triples/neo4j/__init__.py +0 -0
  280. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/triples/neo4j/__main__.py +0 -0
  281. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/storage/triples/neo4j/write.py +0 -0
  282. {trustgraph_flow-1.2.7/trustgraph/storage/triples → trustgraph_flow-1.2.9/trustgraph/tables}/__init__.py +0 -0
  283. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/tables/config.py +0 -0
  284. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/tables/knowledge.py +0 -0
  285. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/tables/library.py +0 -0
  286. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/template/__init__.py +0 -0
  287. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph/template/prompt_manager.py +0 -0
  288. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph_flow.egg-info/dependency_links.txt +0 -0
  289. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/trustgraph_flow.egg-info/requires.txt +0 -0
  290. {trustgraph_flow-1.2.7 → trustgraph_flow-1.2.9}/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: 1.2.7
3
+ Version: 1.2.9
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
@@ -78,6 +78,7 @@ graph-embeddings = "trustgraph.embeddings.graph_embeddings:run"
78
78
  graph-rag = "trustgraph.retrieval.graph_rag:run"
79
79
  kg-extract-agent = "trustgraph.extract.kg.agent:run"
80
80
  kg-extract-definitions = "trustgraph.extract.kg.definitions:run"
81
+ kg-extract-objects = "trustgraph.extract.kg.objects:run"
81
82
  kg-extract-relationships = "trustgraph.extract.kg.relationships:run"
82
83
  kg-extract-topics = "trustgraph.extract.kg.topics:run"
83
84
  kg-manager = "trustgraph.cores:run"
@@ -85,7 +86,7 @@ kg-store = "trustgraph.storage.knowledge:run"
85
86
  librarian = "trustgraph.librarian:run"
86
87
  mcp-tool = "trustgraph.agent.mcp_tool:run"
87
88
  metering = "trustgraph.metering:run"
88
- object-extract-row = "trustgraph.extract.object.row:run"
89
+ objects-write-cassandra = "trustgraph.storage.objects.cassandra:run"
89
90
  oe-write-milvus = "trustgraph.storage.object_embeddings.milvus:run"
90
91
  pdf-decoder = "trustgraph.decoding.pdf:run"
91
92
  pdf-ocr-mistral = "trustgraph.decoding.mistral_ocr:run"
@@ -21,7 +21,7 @@ import logging
21
21
 
22
22
  logger = logging.getLogger(__name__)
23
23
 
24
- default_ident = "mistral-ocr"
24
+ default_ident = "pdf-decoder"
25
25
  default_api_key = os.getenv("MISTRAL_TOKEN")
26
26
 
27
27
  pages_per_chunk = 5
@@ -0,0 +1,3 @@
1
+
2
+ from . processor import *
3
+
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env python3
2
+
3
+ from . processor import run
4
+
5
+ if __name__ == '__main__':
6
+ run()
7
+
@@ -0,0 +1,241 @@
1
+ """
2
+ Object extraction service - extracts structured objects from text chunks
3
+ based on configured schemas.
4
+ """
5
+
6
+ import json
7
+ import logging
8
+ from typing import Dict, List, Any
9
+
10
+ # Module logger
11
+ logger = logging.getLogger(__name__)
12
+
13
+ from .... schema import Chunk, ExtractedObject, Metadata
14
+ from .... schema import PromptRequest, PromptResponse
15
+ from .... schema import RowSchema, Field
16
+
17
+ from .... base import FlowProcessor, ConsumerSpec, ProducerSpec
18
+ from .... base import PromptClientSpec
19
+ from .... messaging.translators import row_schema_translator
20
+
21
+ default_ident = "kg-extract-objects"
22
+
23
+
24
+ def convert_values_to_strings(obj: Dict[str, Any]) -> Dict[str, str]:
25
+ """Convert all values in a dictionary to strings for Pulsar Map(String()) compatibility"""
26
+ result = {}
27
+ for key, value in obj.items():
28
+ if value is None:
29
+ result[key] = ""
30
+ elif isinstance(value, str):
31
+ result[key] = value
32
+ elif isinstance(value, (int, float, bool)):
33
+ result[key] = str(value)
34
+ elif isinstance(value, (list, dict)):
35
+ # For complex types, serialize as JSON
36
+ result[key] = json.dumps(value)
37
+ else:
38
+ # For any other type, convert to string
39
+ result[key] = str(value)
40
+ return result
41
+ default_concurrency = 1
42
+
43
+ class Processor(FlowProcessor):
44
+
45
+ def __init__(self, **params):
46
+
47
+ id = params.get("id")
48
+ concurrency = params.get("concurrency", 1)
49
+
50
+ # Config key for schemas
51
+ self.config_key = params.get("config_type", "schema")
52
+
53
+ super(Processor, self).__init__(
54
+ **params | {
55
+ "id": id,
56
+ "config-type": self.config_key,
57
+ "concurrency": concurrency,
58
+ }
59
+ )
60
+
61
+ self.register_specification(
62
+ ConsumerSpec(
63
+ name = "input",
64
+ schema = Chunk,
65
+ handler = self.on_chunk,
66
+ concurrency = concurrency,
67
+ )
68
+ )
69
+
70
+ self.register_specification(
71
+ PromptClientSpec(
72
+ request_name = "prompt-request",
73
+ response_name = "prompt-response",
74
+ )
75
+ )
76
+
77
+ self.register_specification(
78
+ ProducerSpec(
79
+ name = "output",
80
+ schema = ExtractedObject
81
+ )
82
+ )
83
+
84
+ # Register config handler for schema updates
85
+ self.register_config_handler(self.on_schema_config)
86
+
87
+ # Schema storage: name -> RowSchema
88
+ self.schemas: Dict[str, RowSchema] = {}
89
+
90
+ async def on_schema_config(self, config, version):
91
+ """Handle schema configuration updates"""
92
+
93
+ logger.info(f"Loading schema configuration version {version}")
94
+
95
+ # Clear existing schemas
96
+ self.schemas = {}
97
+
98
+ # Check if our config type exists
99
+ if self.config_key not in config:
100
+ logger.warning(f"No '{self.config_key}' type in configuration")
101
+ return
102
+
103
+ # Get the schemas dictionary for our type
104
+ schemas_config = config[self.config_key]
105
+
106
+ # Process each schema in the schemas config
107
+ for schema_name, schema_json in schemas_config.items():
108
+
109
+ try:
110
+ # Parse the JSON schema definition
111
+ schema_def = json.loads(schema_json)
112
+
113
+ # Create Field objects
114
+ fields = []
115
+ for field_def in schema_def.get("fields", []):
116
+ field = Field(
117
+ name=field_def["name"],
118
+ type=field_def["type"],
119
+ size=field_def.get("size", 0),
120
+ primary=field_def.get("primary_key", False),
121
+ description=field_def.get("description", ""),
122
+ required=field_def.get("required", False),
123
+ enum_values=field_def.get("enum", []),
124
+ indexed=field_def.get("indexed", False)
125
+ )
126
+ fields.append(field)
127
+
128
+ # Create RowSchema
129
+ row_schema = RowSchema(
130
+ name=schema_def.get("name", schema_name),
131
+ description=schema_def.get("description", ""),
132
+ fields=fields
133
+ )
134
+
135
+ self.schemas[schema_name] = row_schema
136
+ logger.info(f"Loaded schema: {schema_name} with {len(fields)} fields")
137
+
138
+ except Exception as e:
139
+ logger.error(f"Failed to parse schema {schema_name}: {e}", exc_info=True)
140
+
141
+ logger.info(f"Schema configuration loaded: {len(self.schemas)} schemas")
142
+
143
+ async def extract_objects_for_schema(self, text: str, schema_name: str, schema: RowSchema, flow) -> List[Dict[str, Any]]:
144
+ """Extract objects from text for a specific schema"""
145
+
146
+ try:
147
+ # Convert Pulsar RowSchema to JSON-serializable dict
148
+ schema_dict = row_schema_translator.from_pulsar(schema)
149
+
150
+ # Use prompt client to extract rows based on schema
151
+ objects = await flow("prompt-request").extract_objects(
152
+ schema=schema_dict,
153
+ text=text
154
+ )
155
+
156
+ return objects if isinstance(objects, list) else []
157
+
158
+ except Exception as e:
159
+ logger.error(f"Failed to extract objects for schema {schema_name}: {e}", exc_info=True)
160
+ return []
161
+
162
+ async def on_chunk(self, msg, consumer, flow):
163
+ """Process incoming chunk and extract objects"""
164
+
165
+ v = msg.value()
166
+ logger.info(f"Extracting objects from chunk {v.metadata.id}...")
167
+
168
+ chunk_text = v.chunk.decode("utf-8")
169
+
170
+ # If no schemas configured, log warning and return
171
+ if not self.schemas:
172
+ logger.warning("No schemas configured - skipping extraction")
173
+ return
174
+
175
+ try:
176
+ # Extract objects for each configured schema
177
+ for schema_name, schema in self.schemas.items():
178
+
179
+ logger.debug(f"Extracting {schema_name} objects from chunk")
180
+
181
+ # Extract objects using prompt
182
+ objects = await self.extract_objects_for_schema(
183
+ chunk_text,
184
+ schema_name,
185
+ schema,
186
+ flow
187
+ )
188
+
189
+ # Emit each extracted object
190
+ for obj in objects:
191
+
192
+ # Calculate confidence (could be enhanced with actual confidence from prompt)
193
+ confidence = 0.8 # Default confidence
194
+
195
+ # Convert all values to strings for Pulsar compatibility
196
+ string_values = convert_values_to_strings(obj)
197
+
198
+ # Create ExtractedObject
199
+ extracted = ExtractedObject(
200
+ metadata=Metadata(
201
+ id=f"{v.metadata.id}:{schema_name}:{hash(str(obj))}",
202
+ metadata=[],
203
+ user=v.metadata.user,
204
+ collection=v.metadata.collection,
205
+ ),
206
+ schema_name=schema_name,
207
+ values=string_values,
208
+ confidence=confidence,
209
+ source_span=chunk_text[:100] # First 100 chars as source reference
210
+ )
211
+
212
+ await flow("output").send(extracted)
213
+ logger.debug(f"Emitted extracted object for schema {schema_name}")
214
+
215
+ except Exception as e:
216
+ logger.error(f"Object extraction exception: {e}", exc_info=True)
217
+
218
+ logger.debug("Object extraction complete")
219
+
220
+ @staticmethod
221
+ def add_args(parser):
222
+ """Add command-line arguments"""
223
+
224
+ parser.add_argument(
225
+ '-c', '--concurrency',
226
+ type=int,
227
+ default=default_concurrency,
228
+ help=f'Concurrent processing threads (default: {default_concurrency})'
229
+ )
230
+
231
+ parser.add_argument(
232
+ '--config-type',
233
+ default='schema',
234
+ help='Configuration type prefix for schemas (default: schema)'
235
+ )
236
+
237
+ FlowProcessor.add_args(parser)
238
+
239
+ def run():
240
+ """Entry point for kg-extract-objects command"""
241
+ Processor.launch(default_ident, __doc__)
@@ -0,0 +1 @@
1
+ __version__ = "1.2.9"
@@ -0,0 +1 @@
1
+ # Objects storage module
@@ -0,0 +1 @@
1
+ from . write import *
@@ -0,0 +1,3 @@
1
+ from . write import run
2
+
3
+ run()