trustgraph-base 2.2.13__tar.gz → 2.2.14__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 (159) hide show
  1. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/PKG-INFO +1 -1
  2. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/api/explainability.py +9 -0
  3. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/api/socket_client.py +2 -1
  4. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/api/types.py +1 -0
  5. trustgraph_base-2.2.14/trustgraph/base_version.py +1 -0
  6. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/provenance/agent.py +25 -4
  7. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph_base.egg-info/PKG-INFO +1 -1
  8. trustgraph_base-2.2.13/trustgraph/base_version.py +0 -1
  9. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/README.md +0 -0
  10. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/pyproject.toml +0 -0
  11. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/setup.cfg +0 -0
  12. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/api/__init__.py +0 -0
  13. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/api/api.py +0 -0
  14. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/api/async_bulk_client.py +0 -0
  15. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/api/async_flow.py +0 -0
  16. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/api/async_metrics.py +0 -0
  17. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/api/async_socket_client.py +0 -0
  18. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/api/bulk_client.py +0 -0
  19. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/api/collection.py +0 -0
  20. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/api/config.py +0 -0
  21. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/api/exceptions.py +0 -0
  22. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/api/flow.py +0 -0
  23. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/api/knowledge.py +0 -0
  24. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/api/library.py +0 -0
  25. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/api/metrics.py +0 -0
  26. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/__init__.py +0 -0
  27. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/agent_client.py +0 -0
  28. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/agent_service.py +0 -0
  29. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/async_processor.py +0 -0
  30. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/backend.py +0 -0
  31. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/cassandra_config.py +0 -0
  32. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/chunking_service.py +0 -0
  33. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/collection_config_handler.py +0 -0
  34. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/consumer.py +0 -0
  35. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/consumer_spec.py +0 -0
  36. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/document_embeddings_client.py +0 -0
  37. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/document_embeddings_query_service.py +0 -0
  38. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/document_embeddings_store_service.py +0 -0
  39. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/dynamic_tool_service.py +0 -0
  40. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/embeddings_client.py +0 -0
  41. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/embeddings_service.py +0 -0
  42. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/flow.py +0 -0
  43. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/flow_processor.py +0 -0
  44. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/graph_embeddings_client.py +0 -0
  45. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/graph_embeddings_query_service.py +0 -0
  46. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/graph_embeddings_store_service.py +0 -0
  47. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/graph_rag_client.py +0 -0
  48. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/llm_service.py +0 -0
  49. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/logging.py +0 -0
  50. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/metrics.py +0 -0
  51. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/parameter_spec.py +0 -0
  52. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/producer.py +0 -0
  53. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/producer_spec.py +0 -0
  54. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/prompt_client.py +0 -0
  55. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/publisher.py +0 -0
  56. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/pubsub.py +0 -0
  57. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/pulsar_backend.py +0 -0
  58. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/request_response_spec.py +0 -0
  59. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/row_embeddings_query_client.py +0 -0
  60. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/spec.py +0 -0
  61. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/structured_query_client.py +0 -0
  62. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/subscriber.py +0 -0
  63. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/subscriber_spec.py +0 -0
  64. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/text_completion_client.py +0 -0
  65. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/tool_client.py +0 -0
  66. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/tool_service.py +0 -0
  67. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/tool_service_client.py +0 -0
  68. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/triples_client.py +0 -0
  69. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/triples_query_service.py +0 -0
  70. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/base/triples_store_service.py +0 -0
  71. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/clients/__init__.py +0 -0
  72. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/clients/agent_client.py +0 -0
  73. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/clients/base.py +0 -0
  74. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/clients/config_client.py +0 -0
  75. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/clients/document_embeddings_client.py +0 -0
  76. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/clients/document_rag_client.py +0 -0
  77. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/clients/embeddings_client.py +0 -0
  78. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/clients/graph_embeddings_client.py +0 -0
  79. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/clients/graph_rag_client.py +0 -0
  80. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/clients/llm_client.py +0 -0
  81. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/clients/prompt_client.py +0 -0
  82. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/clients/row_embeddings_client.py +0 -0
  83. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/clients/triples_query_client.py +0 -0
  84. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/exceptions.py +0 -0
  85. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/knowledge/__init__.py +0 -0
  86. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/knowledge/defs.py +0 -0
  87. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/knowledge/document.py +0 -0
  88. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/knowledge/identifier.py +0 -0
  89. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/knowledge/organization.py +0 -0
  90. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/knowledge/publication.py +0 -0
  91. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/log_level.py +0 -0
  92. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/__init__.py +0 -0
  93. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/registry.py +0 -0
  94. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/__init__.py +0 -0
  95. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/agent.py +0 -0
  96. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/base.py +0 -0
  97. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/collection.py +0 -0
  98. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/config.py +0 -0
  99. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/diagnosis.py +0 -0
  100. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/document_loading.py +0 -0
  101. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/embeddings.py +0 -0
  102. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/embeddings_query.py +0 -0
  103. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/flow.py +0 -0
  104. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/knowledge.py +0 -0
  105. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/library.py +0 -0
  106. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/metadata.py +0 -0
  107. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/nlp_query.py +0 -0
  108. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/primitives.py +0 -0
  109. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/prompt.py +0 -0
  110. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/retrieval.py +0 -0
  111. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/rows_query.py +0 -0
  112. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/structured_query.py +0 -0
  113. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/text_completion.py +0 -0
  114. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/tool.py +0 -0
  115. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/messaging/translators/triples.py +0 -0
  116. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/objects/__init__.py +0 -0
  117. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/objects/field.py +0 -0
  118. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/objects/object.py +0 -0
  119. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/provenance/__init__.py +0 -0
  120. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/provenance/namespaces.py +0 -0
  121. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/provenance/triples.py +0 -0
  122. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/provenance/uris.py +0 -0
  123. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/provenance/vocabulary.py +0 -0
  124. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/rdf.py +0 -0
  125. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/__init__.py +0 -0
  126. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/core/__init__.py +0 -0
  127. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/core/metadata.py +0 -0
  128. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/core/primitives.py +0 -0
  129. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/core/topic.py +0 -0
  130. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/knowledge/__init__.py +0 -0
  131. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/knowledge/document.py +0 -0
  132. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/knowledge/embeddings.py +0 -0
  133. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/knowledge/graph.py +0 -0
  134. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/knowledge/knowledge.py +0 -0
  135. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/knowledge/nlp.py +0 -0
  136. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/knowledge/object.py +0 -0
  137. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/knowledge/rows.py +0 -0
  138. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/knowledge/structured.py +0 -0
  139. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/services/__init__.py +0 -0
  140. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/services/agent.py +0 -0
  141. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/services/collection.py +0 -0
  142. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/services/config.py +0 -0
  143. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/services/diagnosis.py +0 -0
  144. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/services/flow.py +0 -0
  145. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/services/library.py +0 -0
  146. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/services/llm.py +0 -0
  147. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/services/lookup.py +0 -0
  148. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/services/nlp_query.py +0 -0
  149. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/services/prompt.py +0 -0
  150. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/services/query.py +0 -0
  151. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/services/retrieval.py +0 -0
  152. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/services/rows_query.py +0 -0
  153. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/services/storage.py +0 -0
  154. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/services/structured_query.py +0 -0
  155. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph/schema/services/tool_service.py +0 -0
  156. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph_base.egg-info/SOURCES.txt +0 -0
  157. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph_base.egg-info/dependency_links.txt +0 -0
  158. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph_base.egg-info/requires.txt +0 -0
  159. {trustgraph_base-2.2.13 → trustgraph_base-2.2.14}/trustgraph_base.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: trustgraph-base
3
- Version: 2.2.13
3
+ Version: 2.2.14
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
@@ -1095,6 +1095,15 @@ class ExplainabilityClient:
1095
1095
  "trace": sub_trace,
1096
1096
  })
1097
1097
 
1098
+ # Continue from the sub-trace's terminal entity
1099
+ # (Observation may derive from Synthesis)
1100
+ terminal = sub_trace.get("synthesis")
1101
+ if terminal:
1102
+ self._follow_provenance_chain(
1103
+ terminal.uri, trace, graph, user, collection,
1104
+ max_depth=max_depth - 1,
1105
+ )
1106
+
1098
1107
  elif isinstance(entity, (Conclusion, Synthesis)):
1099
1108
  trace["steps"].append(entity)
1100
1109
 
@@ -397,7 +397,8 @@ class SocketClient:
397
397
  return AgentAnswer(
398
398
  content=resp.get("content", ""),
399
399
  end_of_message=resp.get("end_of_message", False),
400
- end_of_dialog=resp.get("end_of_dialog", False)
400
+ end_of_dialog=resp.get("end_of_dialog", False),
401
+ message_id=resp.get("message_id", ""),
401
402
  )
402
403
  elif chunk_type == "action":
403
404
  return AgentThought(
@@ -188,6 +188,7 @@ class AgentAnswer(StreamingChunk):
188
188
  """
189
189
  chunk_type: str = "final-answer"
190
190
  end_of_dialog: bool = False
191
+ message_id: str = ""
191
192
 
192
193
  @dataclasses.dataclass
193
194
  class RAGChunk(StreamingChunk):
@@ -0,0 +1 @@
1
+ __version__ = "2.2.14"
@@ -51,6 +51,7 @@ def agent_session_triples(
51
51
  session_uri: str,
52
52
  query: str,
53
53
  timestamp: Optional[str] = None,
54
+ parent_uri: Optional[str] = None,
54
55
  ) -> List[Triple]:
55
56
  """
56
57
  Build triples for an agent session start (Question).
@@ -58,11 +59,13 @@ def agent_session_triples(
58
59
  Creates:
59
60
  - Activity declaration with tg:Question type
60
61
  - Query text and timestamp
62
+ - wasDerivedFrom link to parent (for subagent sessions)
61
63
 
62
64
  Args:
63
65
  session_uri: URI of the session (from agent_session_uri)
64
66
  query: The user's query text
65
67
  timestamp: ISO timestamp (defaults to now)
68
+ parent_uri: URI of the parent entity (e.g. Decomposition) for subagents
66
69
 
67
70
  Returns:
68
71
  List of Triple objects
@@ -70,7 +73,7 @@ def agent_session_triples(
70
73
  if timestamp is None:
71
74
  timestamp = datetime.utcnow().isoformat() + "Z"
72
75
 
73
- return [
76
+ triples = [
74
77
  _triple(session_uri, RDF_TYPE, _iri(PROV_ENTITY)),
75
78
  _triple(session_uri, RDF_TYPE, _iri(TG_QUESTION)),
76
79
  _triple(session_uri, RDF_TYPE, _iri(TG_AGENT_QUESTION)),
@@ -79,6 +82,13 @@ def agent_session_triples(
79
82
  _triple(session_uri, TG_QUERY, _literal(query)),
80
83
  ]
81
84
 
85
+ if parent_uri:
86
+ triples.append(
87
+ _triple(session_uri, PROV_WAS_DERIVED_FROM, _iri(parent_uri))
88
+ )
89
+
90
+ return triples
91
+
82
92
 
83
93
  def agent_iteration_triples(
84
94
  iteration_uri: str,
@@ -308,17 +318,28 @@ def agent_step_result_triples(
308
318
 
309
319
  def agent_synthesis_triples(
310
320
  uri: str,
311
- previous_uri: str,
321
+ previous_uris,
312
322
  document_id: Optional[str] = None,
313
323
  ) -> List[Triple]:
314
- """Build triples for a synthesis answer."""
324
+ """Build triples for a synthesis answer.
325
+
326
+ Args:
327
+ uri: URI of the synthesis entity
328
+ previous_uris: Single URI string or list of URIs to derive from
329
+ document_id: Librarian document ID for the answer content
330
+ """
315
331
  triples = [
316
332
  _triple(uri, RDF_TYPE, _iri(PROV_ENTITY)),
317
333
  _triple(uri, RDF_TYPE, _iri(TG_SYNTHESIS)),
318
334
  _triple(uri, RDF_TYPE, _iri(TG_ANSWER_TYPE)),
319
335
  _triple(uri, RDFS_LABEL, _literal("Synthesis")),
320
- _triple(uri, PROV_WAS_DERIVED_FROM, _iri(previous_uri)),
321
336
  ]
337
+
338
+ if isinstance(previous_uris, str):
339
+ previous_uris = [previous_uris]
340
+ for prev in previous_uris:
341
+ triples.append(_triple(uri, PROV_WAS_DERIVED_FROM, _iri(prev)))
342
+
322
343
  if document_id:
323
344
  triples.append(_triple(uri, TG_DOCUMENT, _iri(document_id)))
324
345
  return triples
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: trustgraph-base
3
- Version: 2.2.13
3
+ Version: 2.2.14
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
@@ -1 +0,0 @@
1
- __version__ = "2.2.13"