trustgraph-base 2.3.8__tar.gz → 2.3.10__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 (178) hide show
  1. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/PKG-INFO +1 -1
  2. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/pyproject.toml +6 -0
  3. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/parameter_spec.py +2 -2
  4. trustgraph_base-2.3.10/trustgraph/base/processor_group.py +197 -0
  5. trustgraph_base-2.3.10/trustgraph/base_version.py +1 -0
  6. trustgraph_base-2.3.10/trustgraph/i18n/__init__.py +156 -0
  7. trustgraph_base-2.3.10/trustgraph/i18n/packs/__init__.py +1 -0
  8. trustgraph_base-2.3.10/trustgraph/i18n/packs/ar.json +54 -0
  9. trustgraph_base-2.3.10/trustgraph/i18n/packs/en.json +54 -0
  10. trustgraph_base-2.3.10/trustgraph/i18n/packs/es.json +54 -0
  11. trustgraph_base-2.3.10/trustgraph/i18n/packs/he.json +54 -0
  12. trustgraph_base-2.3.10/trustgraph/i18n/packs/hi.json +54 -0
  13. trustgraph_base-2.3.10/trustgraph/i18n/packs/pt.json +54 -0
  14. trustgraph_base-2.3.10/trustgraph/i18n/packs/ru.json +54 -0
  15. trustgraph_base-2.3.10/trustgraph/i18n/packs/sw.json +54 -0
  16. trustgraph_base-2.3.10/trustgraph/i18n/packs/tr.json +54 -0
  17. trustgraph_base-2.3.10/trustgraph/i18n/packs/zh-cn.json +54 -0
  18. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph_base.egg-info/PKG-INFO +1 -1
  19. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph_base.egg-info/SOURCES.txt +14 -0
  20. trustgraph_base-2.3.10/trustgraph_base.egg-info/entry_points.txt +2 -0
  21. trustgraph_base-2.3.8/trustgraph/base_version.py +0 -1
  22. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/README.md +0 -0
  23. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/setup.cfg +0 -0
  24. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/api/__init__.py +0 -0
  25. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/api/api.py +0 -0
  26. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/api/async_bulk_client.py +0 -0
  27. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/api/async_flow.py +0 -0
  28. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/api/async_metrics.py +0 -0
  29. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/api/async_socket_client.py +0 -0
  30. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/api/bulk_client.py +0 -0
  31. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/api/collection.py +0 -0
  32. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/api/config.py +0 -0
  33. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/api/exceptions.py +0 -0
  34. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/api/explainability.py +0 -0
  35. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/api/flow.py +0 -0
  36. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/api/knowledge.py +0 -0
  37. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/api/library.py +0 -0
  38. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/api/metrics.py +0 -0
  39. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/api/socket_client.py +0 -0
  40. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/api/types.py +0 -0
  41. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/__init__.py +0 -0
  42. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/agent_client.py +0 -0
  43. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/agent_service.py +0 -0
  44. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/async_processor.py +0 -0
  45. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/backend.py +0 -0
  46. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/cassandra_config.py +0 -0
  47. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/chunking_service.py +0 -0
  48. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/collection_config_handler.py +0 -0
  49. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/consumer.py +0 -0
  50. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/consumer_spec.py +0 -0
  51. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/document_embeddings_client.py +0 -0
  52. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/document_embeddings_query_service.py +0 -0
  53. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/document_embeddings_store_service.py +0 -0
  54. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/dynamic_tool_service.py +0 -0
  55. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/embeddings_client.py +0 -0
  56. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/embeddings_service.py +0 -0
  57. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/flow.py +0 -0
  58. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/flow_processor.py +0 -0
  59. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/graph_embeddings_client.py +0 -0
  60. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/graph_embeddings_query_service.py +0 -0
  61. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/graph_embeddings_store_service.py +0 -0
  62. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/graph_rag_client.py +0 -0
  63. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/librarian_client.py +0 -0
  64. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/llm_service.py +0 -0
  65. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/logging.py +0 -0
  66. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/metrics.py +0 -0
  67. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/producer.py +0 -0
  68. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/producer_spec.py +0 -0
  69. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/prompt_client.py +0 -0
  70. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/publisher.py +0 -0
  71. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/pubsub.py +0 -0
  72. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/pulsar_backend.py +0 -0
  73. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/rabbitmq_backend.py +0 -0
  74. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/request_response_spec.py +0 -0
  75. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/row_embeddings_query_client.py +0 -0
  76. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/serialization.py +0 -0
  77. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/spec.py +0 -0
  78. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/structured_query_client.py +0 -0
  79. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/subscriber.py +0 -0
  80. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/subscriber_spec.py +0 -0
  81. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/text_completion_client.py +0 -0
  82. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/tool_client.py +0 -0
  83. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/tool_service.py +0 -0
  84. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/tool_service_client.py +0 -0
  85. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/triples_client.py +0 -0
  86. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/triples_query_service.py +0 -0
  87. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/base/triples_store_service.py +0 -0
  88. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/clients/__init__.py +0 -0
  89. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/clients/agent_client.py +0 -0
  90. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/clients/base.py +0 -0
  91. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/clients/config_client.py +0 -0
  92. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/clients/document_embeddings_client.py +0 -0
  93. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/clients/document_rag_client.py +0 -0
  94. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/clients/embeddings_client.py +0 -0
  95. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/clients/graph_embeddings_client.py +0 -0
  96. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/clients/graph_rag_client.py +0 -0
  97. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/clients/llm_client.py +0 -0
  98. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/clients/prompt_client.py +0 -0
  99. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/clients/row_embeddings_client.py +0 -0
  100. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/clients/triples_query_client.py +0 -0
  101. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/exceptions.py +0 -0
  102. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/knowledge/__init__.py +0 -0
  103. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/knowledge/defs.py +0 -0
  104. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/knowledge/document.py +0 -0
  105. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/knowledge/identifier.py +0 -0
  106. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/knowledge/organization.py +0 -0
  107. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/knowledge/publication.py +0 -0
  108. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/log_level.py +0 -0
  109. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/__init__.py +0 -0
  110. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/registry.py +0 -0
  111. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/__init__.py +0 -0
  112. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/agent.py +0 -0
  113. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/base.py +0 -0
  114. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/collection.py +0 -0
  115. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/config.py +0 -0
  116. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/diagnosis.py +0 -0
  117. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/document_loading.py +0 -0
  118. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/embeddings.py +0 -0
  119. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/embeddings_query.py +0 -0
  120. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/flow.py +0 -0
  121. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/knowledge.py +0 -0
  122. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/library.py +0 -0
  123. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/metadata.py +0 -0
  124. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/nlp_query.py +0 -0
  125. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/primitives.py +0 -0
  126. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/prompt.py +0 -0
  127. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/retrieval.py +0 -0
  128. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/rows_query.py +0 -0
  129. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/sparql_query.py +0 -0
  130. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/structured_query.py +0 -0
  131. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/text_completion.py +0 -0
  132. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/tool.py +0 -0
  133. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/messaging/translators/triples.py +0 -0
  134. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/objects/__init__.py +0 -0
  135. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/objects/field.py +0 -0
  136. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/objects/object.py +0 -0
  137. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/provenance/__init__.py +0 -0
  138. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/provenance/agent.py +0 -0
  139. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/provenance/namespaces.py +0 -0
  140. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/provenance/triples.py +0 -0
  141. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/provenance/uris.py +0 -0
  142. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/provenance/vocabulary.py +0 -0
  143. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/rdf.py +0 -0
  144. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/__init__.py +0 -0
  145. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/core/__init__.py +0 -0
  146. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/core/metadata.py +0 -0
  147. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/core/primitives.py +0 -0
  148. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/core/topic.py +0 -0
  149. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/knowledge/__init__.py +0 -0
  150. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/knowledge/document.py +0 -0
  151. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/knowledge/embeddings.py +0 -0
  152. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/knowledge/graph.py +0 -0
  153. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/knowledge/knowledge.py +0 -0
  154. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/knowledge/nlp.py +0 -0
  155. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/knowledge/object.py +0 -0
  156. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/knowledge/rows.py +0 -0
  157. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/knowledge/structured.py +0 -0
  158. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/services/__init__.py +0 -0
  159. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/services/agent.py +0 -0
  160. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/services/collection.py +0 -0
  161. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/services/config.py +0 -0
  162. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/services/diagnosis.py +0 -0
  163. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/services/flow.py +0 -0
  164. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/services/library.py +0 -0
  165. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/services/llm.py +0 -0
  166. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/services/lookup.py +0 -0
  167. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/services/nlp_query.py +0 -0
  168. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/services/prompt.py +0 -0
  169. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/services/query.py +0 -0
  170. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/services/retrieval.py +0 -0
  171. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/services/rows_query.py +0 -0
  172. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/services/sparql_query.py +0 -0
  173. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/services/storage.py +0 -0
  174. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/services/structured_query.py +0 -0
  175. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph/schema/services/tool_service.py +0 -0
  176. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph_base.egg-info/dependency_links.txt +0 -0
  177. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/trustgraph_base.egg-info/requires.txt +0 -0
  178. {trustgraph_base-2.3.8 → trustgraph_base-2.3.10}/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.3.8
3
+ Version: 2.3.10
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
@@ -24,8 +24,14 @@ classifiers = [
24
24
  [project.urls]
25
25
  Homepage = "https://github.com/trustgraph-ai/trustgraph"
26
26
 
27
+ [project.scripts]
28
+ processor-group = "trustgraph.base.processor_group:run"
29
+
27
30
  [tool.setuptools.packages.find]
28
31
  include = ["trustgraph*"]
29
32
 
33
+ [tool.setuptools.package-data]
34
+ "trustgraph.i18n.packs" = ["*.json"]
35
+
30
36
  [tool.setuptools.dynamic]
31
37
  version = {attr = "trustgraph.base_version.__version__"}
@@ -4,9 +4,9 @@ from . spec import Spec
4
4
  class Parameter:
5
5
  def __init__(self, value):
6
6
  self.value = value
7
- async def start():
7
+ async def start(self):
8
8
  pass
9
- async def stop():
9
+ async def stop(self):
10
10
  pass
11
11
 
12
12
  class ParameterSpec(Spec):
@@ -0,0 +1,197 @@
1
+
2
+ # Multi-processor group runner. Runs multiple AsyncProcessor descendants
3
+ # as concurrent tasks inside a single process, sharing one event loop,
4
+ # one Prometheus HTTP server, and one pub/sub backend pool.
5
+ #
6
+ # Intended for dev and resource-constrained deployments. Scale deployments
7
+ # should continue to use per-processor endpoints.
8
+ #
9
+ # Group config is a YAML or JSON file with shape:
10
+ #
11
+ # processors:
12
+ # - class: trustgraph.extract.kg.definitions.extract.Processor
13
+ # params:
14
+ # id: kg-extract-definitions
15
+ # triples_batch_size: 1000
16
+ # - class: trustgraph.chunking.recursive.Processor
17
+ # params:
18
+ # id: chunker-recursive
19
+ #
20
+ # Each entry's params are passed directly to the class constructor alongside
21
+ # the shared taskgroup. Defaults live inside each processor class.
22
+
23
+ import argparse
24
+ import asyncio
25
+ import importlib
26
+ import json
27
+ import logging
28
+ import time
29
+
30
+ from prometheus_client import start_http_server
31
+
32
+ from . logging import add_logging_args, setup_logging
33
+
34
+ logger = logging.getLogger(__name__)
35
+
36
+
37
+ def _load_config(path):
38
+ with open(path) as f:
39
+ text = f.read()
40
+ if path.endswith((".yaml", ".yml")):
41
+ import yaml
42
+ return yaml.safe_load(text)
43
+ return json.loads(text)
44
+
45
+
46
+ def _resolve_class(dotted):
47
+ module_path, _, class_name = dotted.rpartition(".")
48
+ if not module_path:
49
+ raise ValueError(
50
+ f"Processor class must be a dotted path, got {dotted!r}"
51
+ )
52
+ module = importlib.import_module(module_path)
53
+ return getattr(module, class_name)
54
+
55
+
56
+ RESTART_DELAY_SECONDS = 4
57
+
58
+
59
+ async def _supervise(entry):
60
+ """Run one processor with its own nested TaskGroup, restarting on any
61
+ failure. Each processor is isolated from its siblings — a crash here
62
+ does not propagate to the outer group."""
63
+
64
+ pid = entry["params"]["id"]
65
+ class_path = entry["class"]
66
+
67
+ while True:
68
+
69
+ try:
70
+
71
+ async with asyncio.TaskGroup() as inner_tg:
72
+
73
+ cls = _resolve_class(class_path)
74
+ params = dict(entry.get("params", {}))
75
+ params["taskgroup"] = inner_tg
76
+
77
+ logger.info(f"Starting {class_path} as {pid}")
78
+
79
+ p = cls(**params)
80
+ await p.start()
81
+ inner_tg.create_task(p.run())
82
+
83
+ # Clean exit — processor's run() returned without raising.
84
+ # Treat as a transient shutdown and restart, matching the
85
+ # behaviour of per-container `restart: on-failure`.
86
+ logger.warning(
87
+ f"Processor {pid} exited cleanly, will restart"
88
+ )
89
+
90
+ except asyncio.CancelledError:
91
+ logger.info(f"Processor {pid} cancelled")
92
+ raise
93
+
94
+ except BaseExceptionGroup as eg:
95
+ for e in eg.exceptions:
96
+ logger.error(
97
+ f"Processor {pid} failure: {type(e).__name__}: {e}",
98
+ exc_info=e,
99
+ )
100
+
101
+ except Exception as e:
102
+ logger.error(
103
+ f"Processor {pid} failure: {type(e).__name__}: {e}",
104
+ exc_info=True,
105
+ )
106
+
107
+ logger.info(
108
+ f"Restarting {pid} in {RESTART_DELAY_SECONDS}s..."
109
+ )
110
+ await asyncio.sleep(RESTART_DELAY_SECONDS)
111
+
112
+
113
+ async def run_group(config):
114
+
115
+ entries = config.get("processors", [])
116
+ if not entries:
117
+ raise RuntimeError("Group config has no processors")
118
+
119
+ seen_ids = set()
120
+ for entry in entries:
121
+ pid = entry.get("params", {}).get("id")
122
+ if pid is None:
123
+ raise RuntimeError(
124
+ f"Entry {entry.get('class')!r} missing params.id — "
125
+ f"required for metrics labelling"
126
+ )
127
+ if pid in seen_ids:
128
+ raise RuntimeError(f"Duplicate processor id {pid!r} in group")
129
+ seen_ids.add(pid)
130
+
131
+ async with asyncio.TaskGroup() as outer_tg:
132
+ for entry in entries:
133
+ outer_tg.create_task(_supervise(entry))
134
+
135
+
136
+ def run():
137
+
138
+ parser = argparse.ArgumentParser(
139
+ prog="processor-group",
140
+ description="Run multiple processors as tasks in one process",
141
+ )
142
+
143
+ parser.add_argument(
144
+ "-c", "--config",
145
+ required=True,
146
+ help="Path to group config file (JSON or YAML)",
147
+ )
148
+
149
+ parser.add_argument(
150
+ "--metrics",
151
+ action=argparse.BooleanOptionalAction,
152
+ default=True,
153
+ help="Metrics enabled (default: true)",
154
+ )
155
+
156
+ parser.add_argument(
157
+ "-P", "--metrics-port",
158
+ type=int,
159
+ default=8000,
160
+ help="Prometheus metrics port (default: 8000)",
161
+ )
162
+
163
+ add_logging_args(parser)
164
+
165
+ args = vars(parser.parse_args())
166
+
167
+ setup_logging(args)
168
+
169
+ config = _load_config(args["config"])
170
+
171
+ if args["metrics"]:
172
+ start_http_server(args["metrics_port"])
173
+
174
+ while True:
175
+
176
+ logger.info("Starting group...")
177
+
178
+ try:
179
+ asyncio.run(run_group(config))
180
+
181
+ except KeyboardInterrupt:
182
+ logger.info("Keyboard interrupt.")
183
+ return
184
+
185
+ except ExceptionGroup as e:
186
+ logger.error("Exception group:")
187
+ for se in e.exceptions:
188
+ logger.error(f" Type: {type(se)}")
189
+ logger.error(f" Exception: {se}", exc_info=se)
190
+
191
+ except Exception as e:
192
+ logger.error(f"Type: {type(e)}")
193
+ logger.error(f"Exception: {e}", exc_info=True)
194
+
195
+ logger.warning("Will retry...")
196
+ time.sleep(4)
197
+ logger.info("Retrying...")
@@ -0,0 +1 @@
1
+ __version__ = "2.3.10"
@@ -0,0 +1,156 @@
1
+ """Minimal i18n support for TrustGraph.
2
+
3
+ This module intentionally stays lightweight:
4
+ - No runtime translation calls
5
+ - Translations are pre-generated and shipped as language packs
6
+
7
+ Consumers (CLI/API/Workbench) select a language code (e.g. "es") and
8
+ use `Translator.t(key, **kwargs)` to format localized strings.
9
+ """
10
+
11
+ from __future__ import annotations
12
+
13
+ import json
14
+ from dataclasses import dataclass
15
+ from functools import lru_cache
16
+ from typing import Any, Dict, Mapping, Optional
17
+
18
+ import importlib.resources as importlib_resources
19
+
20
+
21
+ SUPPORTED_LANGUAGES: Mapping[str, str] = {
22
+ "en": "English",
23
+ "es": "Spanish",
24
+ "sw": "Swahili",
25
+ "pt": "Portuguese",
26
+ "tr": "Turkish",
27
+ "hi": "Hindi",
28
+ "he": "Hebrew",
29
+ "ar": "Arabic",
30
+ "zh-cn": "Chinese (simplified)",
31
+ "ru": "Russian",
32
+ }
33
+
34
+ _LANGUAGE_ALIASES: Mapping[str, str] = {
35
+ "zh": "zh-cn",
36
+ "zh-hans": "zh-cn",
37
+ "zh-hans-cn": "zh-cn",
38
+ "zh-cn": "zh-cn",
39
+ "zh_cn": "zh-cn",
40
+ }
41
+
42
+
43
+ def normalize_language(value: Optional[str]) -> str:
44
+ """Normalize language inputs to our supported codes.
45
+
46
+ Accepts:
47
+ - Simple codes: "es"
48
+ - Region tags: "es-ES", "en-US"
49
+ - Accept-Language style: "es-ES,es;q=0.9,en;q=0.8"
50
+
51
+ Falls back to "en" when unknown.
52
+ """
53
+
54
+ if not value:
55
+ return "en"
56
+
57
+ # Accept-Language: take first entry
58
+ token = value.split(",", 1)[0].strip()
59
+ if not token:
60
+ return "en"
61
+
62
+ token = token.replace("_", "-").lower()
63
+
64
+ # Exact alias mapping
65
+ if token in _LANGUAGE_ALIASES:
66
+ token = _LANGUAGE_ALIASES[token]
67
+
68
+ # Collapse common regional tags
69
+ if token.startswith("en-"):
70
+ token = "en"
71
+ elif token.startswith("es-"):
72
+ token = "es"
73
+ elif token.startswith("pt-"):
74
+ token = "pt"
75
+ elif token.startswith("tr-"):
76
+ token = "tr"
77
+ elif token.startswith("hi-"):
78
+ token = "hi"
79
+ elif token.startswith("he-"):
80
+ token = "he"
81
+ elif token.startswith("ar-"):
82
+ token = "ar"
83
+ elif token.startswith("sw-"):
84
+ token = "sw"
85
+ elif token.startswith("ru-"):
86
+ token = "ru"
87
+ elif token.startswith("zh-"):
88
+ token = "zh-cn"
89
+
90
+ # Otherwise use primary subtag
91
+ primary = token.split("-", 1)[0]
92
+ if primary in SUPPORTED_LANGUAGES:
93
+ return primary
94
+
95
+ if token in SUPPORTED_LANGUAGES:
96
+ return token
97
+
98
+ return "en"
99
+
100
+
101
+ # Returns a mutable object - caller must not mutate!
102
+ @lru_cache(maxsize=32)
103
+ def get_language_pack(language: str) -> Dict[str, str]:
104
+ """Load the language pack for `language` from package resources."""
105
+
106
+ lang = normalize_language(language)
107
+ if lang not in SUPPORTED_LANGUAGES:
108
+ lang = "en"
109
+
110
+ try:
111
+ with importlib_resources.open_text(
112
+ "trustgraph.i18n.packs", f"{lang}.json", encoding="utf-8"
113
+ ) as f:
114
+ data = json.load(f)
115
+ except FileNotFoundError:
116
+ data = {}
117
+
118
+ if not isinstance(data, dict):
119
+ return {}
120
+
121
+ # Ensure values are strings
122
+ out: Dict[str, str] = {}
123
+ for k, v in data.items():
124
+ if isinstance(k, str) and isinstance(v, str):
125
+ out[k] = v
126
+ return out
127
+
128
+
129
+ @dataclass(frozen=True)
130
+ class Translator:
131
+ language: str
132
+
133
+ def t(self, key: str, **kwargs: Any) -> str:
134
+ """Translate `key` using the current language pack.
135
+
136
+ Falls back to English pack, then the key itself.
137
+ Supports `.format(**kwargs)` placeholder substitution.
138
+ """
139
+
140
+ lang = normalize_language(self.language)
141
+ pack = get_language_pack(lang)
142
+ fallback = get_language_pack("en")
143
+
144
+ template = pack.get(key) or fallback.get(key) or key
145
+ if not kwargs:
146
+ return template
147
+
148
+ try:
149
+ return template.format(**kwargs)
150
+ except Exception:
151
+ # If formatting fails, return the untranslated template
152
+ return template
153
+
154
+
155
+ def get_translator(language: Optional[str]) -> Translator:
156
+ return Translator(language=normalize_language(language))
@@ -0,0 +1 @@
1
+ # Language packs live next to this module as JSON files.
@@ -0,0 +1,54 @@
1
+ {
2
+ "cli.verify_system_status.title": "التحقق من حالة نظام TrustGraph.",
3
+ "cli.verify_system_status.phase_1": "المرحلة الأولى: البنية التحتية.",
4
+ "cli.verify_system_status.phase_2": "المرحلة الثانية: الخدمات الأساسية.",
5
+ "cli.verify_system_status.phase_3": "المرحلة الثالثة: خدمات البيانات.",
6
+ "cli.verify_system_status.phase_4": "المرحلة الرابعة: واجهة المستخدم.",
7
+ "cli.verify_system_status.summary": "ملخص.",
8
+ "cli.verify_system_status.checking": "التحقق من {name}...",
9
+ "cli.verify_system_status.checking_attempt": "التحقق من {name}... (المحاولة {attempt}).",
10
+ "cli.verify_system_status.failed_timeout": "{name}: فشل (انتهت المهلة بعد {attempt} محاولة).",
11
+ "cli.verify_system_status.pulsar_not_responding": "Pulsar لا تستجيب - قد تفشل عمليات التحقق الأخرى.",
12
+ "cli.verify_system_status.checks_passed": "عمليات التحقق التي نجحت: {passed}/{total}.",
13
+ "cli.verify_system_status.checks_failed": "عمليات التحقق التي فشلت: {failed}/{total}.",
14
+ "cli.verify_system_status.total_time": "إجمالي الوقت: {elapsed}.",
15
+ "cli.verify_system_status.system_healthy": "النظام يعمل بشكل صحيح!",
16
+ "cli.verify_system_status.system_failing": "النظام لديه {failed} عملية تحقق فاشلة.",
17
+ "cli.verify_system_status.check_name.pulsar": "Pulsar.",
18
+ "cli.verify_system_status.check_name.api_gateway": "بوابة واجهة برمجة التطبيقات (API Gateway).",
19
+ "cli.verify_system_status.check_name.processors": "المعالجات (Processors).",
20
+ "cli.verify_system_status.check_name.flow_blueprints": "مخططات التدفق (Flow Blueprints).",
21
+ "cli.verify_system_status.check_name.flows": "التدفقات (Flows).",
22
+ "cli.verify_system_status.check_name.prompts": "المطالبات (Prompts).",
23
+ "cli.verify_system_status.check_name.library": "المكتبة (Library).",
24
+ "cli.verify_system_status.check_name.workbench_ui": "واجهة المستخدم الخاصة بـ Workbench.",
25
+ "cli.verify_system_status.pulsar.healthy": "Pulsar تعمل بشكل صحيح ({clusters} مجموعة).",
26
+ "cli.verify_system_status.pulsar.status": "Pulsar أرجعت الحالة {status_code}.",
27
+ "cli.verify_system_status.pulsar.timeout": "Pulsar: انتهاء المهلة.",
28
+ "cli.verify_system_status.pulsar.cannot_connect": "لا يمكن الاتصال بـ Pulsar.",
29
+ "cli.verify_system_status.pulsar.error": "Pulsar: خطأ: {error}.",
30
+ "cli.verify_system_status.api_gateway.responding": "بوابة واجهة برمجة التطبيقات (API Gateway) تستجيب.",
31
+ "cli.verify_system_status.api_gateway.status": "بوابة واجهة برمجة التطبيقات (API Gateway) أرجعت الحالة {status_code}.",
32
+ "cli.verify_system_status.api_gateway.timeout": "بوابة واجهة برمجة التطبيقات (API Gateway): انتهاء المهلة.",
33
+ "cli.verify_system_status.api_gateway.cannot_connect": "لا يمكن الاتصال بـ بوابة واجهة برمجة التطبيقات (API Gateway).",
34
+ "cli.verify_system_status.api_gateway.error": "بوابة واجهة برمجة التطبيقات (API Gateway): خطأ: {error}.",
35
+ "cli.verify_system_status.processors.found": "تم العثور على {count} معالج (≥ {min}).",
36
+ "cli.verify_system_status.processors.only": "فقط {count} معالج قيد التشغيل (مطلوب {min}).",
37
+ "cli.verify_system_status.processors.metrics_status": "المقاييس أرجعت الحالة {status_code}.",
38
+ "cli.verify_system_status.processors.error": "خطأ في فحص المعالج: {error}.",
39
+ "cli.verify_system_status.flow_blueprints.found": "تم العثور على {count} مخطط تدفق.",
40
+ "cli.verify_system_status.flow_blueprints.none": "لم يتم العثور على أي مخططات تدفق.",
41
+ "cli.verify_system_status.flow_blueprints.error": "خطأ في فحص مخططات التدفق: {error}.",
42
+ "cli.verify_system_status.flows.responding": "مدير التدفق يستجيب ({count} تدفق).",
43
+ "cli.verify_system_status.flows.error": "خطأ في فحص مدير التدفق: {error}.",
44
+ "cli.verify_system_status.prompts.found": "تم العثور على {count} مطالبة.",
45
+ "cli.verify_system_status.prompts.none": "لم يتم العثور على أي مطالبات.",
46
+ "cli.verify_system_status.prompts.error": "خطأ في فحص المطالبات: {error}.",
47
+ "cli.verify_system_status.library.responding": "المكتبة تستجيب ({count} مستند).",
48
+ "cli.verify_system_status.library.error": "خطأ في فحص المكتبة: {error}.",
49
+ "cli.verify_system_status.ui.responding": "واجهة المستخدم الخاصة بـ Workbench تستجيب.",
50
+ "cli.verify_system_status.ui.status": "واجهة المستخدم أرجعت الحالة {status_code}.",
51
+ "cli.verify_system_status.ui.timeout": "واجهة المستخدم: انتهاء المهلة.",
52
+ "cli.verify_system_status.ui.cannot_connect": "لا يمكن الاتصال بواجهة المستخدم.",
53
+ "cli.verify_system_status.ui.error": "واجهة المستخدم: خطأ: {error}."
54
+ }
@@ -0,0 +1,54 @@
1
+ {
2
+ "cli.verify_system_status.title": "TrustGraph System Status Verification",
3
+ "cli.verify_system_status.phase_1": "Phase 1: Infrastructure",
4
+ "cli.verify_system_status.phase_2": "Phase 2: Core Services",
5
+ "cli.verify_system_status.phase_3": "Phase 3: Data Services",
6
+ "cli.verify_system_status.phase_4": "Phase 4: User Interface",
7
+ "cli.verify_system_status.summary": "Summary",
8
+ "cli.verify_system_status.checking": "Checking {name}...",
9
+ "cli.verify_system_status.checking_attempt": "Checking {name}... (attempt {attempt})",
10
+ "cli.verify_system_status.failed_timeout": "{name}: Failed (timeout after {attempt} attempts)",
11
+ "cli.verify_system_status.pulsar_not_responding": "Pulsar is not responding - other checks may fail",
12
+ "cli.verify_system_status.checks_passed": "Checks passed: {passed}/{total}",
13
+ "cli.verify_system_status.checks_failed": "Checks failed: {failed}/{total}",
14
+ "cli.verify_system_status.total_time": "Total time: {elapsed}",
15
+ "cli.verify_system_status.system_healthy": "System is healthy!",
16
+ "cli.verify_system_status.system_failing": "System has {failed} failing check(s)",
17
+ "cli.verify_system_status.check_name.pulsar": "Pulsar",
18
+ "cli.verify_system_status.check_name.api_gateway": "API Gateway",
19
+ "cli.verify_system_status.check_name.processors": "Processors",
20
+ "cli.verify_system_status.check_name.flow_blueprints": "Flow Blueprints",
21
+ "cli.verify_system_status.check_name.flows": "Flows",
22
+ "cli.verify_system_status.check_name.prompts": "Prompts",
23
+ "cli.verify_system_status.check_name.library": "Library",
24
+ "cli.verify_system_status.check_name.workbench_ui": "Workbench UI",
25
+ "cli.verify_system_status.pulsar.healthy": "Pulsar healthy ({clusters} cluster(s))",
26
+ "cli.verify_system_status.pulsar.status": "Pulsar returned status {status_code}",
27
+ "cli.verify_system_status.pulsar.timeout": "Pulsar connection timeout",
28
+ "cli.verify_system_status.pulsar.cannot_connect": "Cannot connect to Pulsar",
29
+ "cli.verify_system_status.pulsar.error": "Pulsar error: {error}",
30
+ "cli.verify_system_status.api_gateway.responding": "API Gateway is responding",
31
+ "cli.verify_system_status.api_gateway.status": "API Gateway returned status {status_code}",
32
+ "cli.verify_system_status.api_gateway.timeout": "API Gateway connection timeout",
33
+ "cli.verify_system_status.api_gateway.cannot_connect": "Cannot connect to API Gateway",
34
+ "cli.verify_system_status.api_gateway.error": "API Gateway error: {error}",
35
+ "cli.verify_system_status.processors.found": "Found {count} processors (≥ {min})",
36
+ "cli.verify_system_status.processors.only": "Only {count} processors running (need {min})",
37
+ "cli.verify_system_status.processors.metrics_status": "Metrics returned status {status_code}",
38
+ "cli.verify_system_status.processors.error": "Processor check error: {error}",
39
+ "cli.verify_system_status.flow_blueprints.found": "Found {count} flow blueprint(s)",
40
+ "cli.verify_system_status.flow_blueprints.none": "No flow blueprints found",
41
+ "cli.verify_system_status.flow_blueprints.error": "Flow blueprints check error: {error}",
42
+ "cli.verify_system_status.flows.responding": "Flow manager responding ({count} flow(s))",
43
+ "cli.verify_system_status.flows.error": "Flow manager check error: {error}",
44
+ "cli.verify_system_status.prompts.found": "Found {count} prompt(s)",
45
+ "cli.verify_system_status.prompts.none": "No prompts found",
46
+ "cli.verify_system_status.prompts.error": "Prompts check error: {error}",
47
+ "cli.verify_system_status.library.responding": "Library responding ({count} document(s))",
48
+ "cli.verify_system_status.library.error": "Library check error: {error}",
49
+ "cli.verify_system_status.ui.responding": "Workbench UI is responding",
50
+ "cli.verify_system_status.ui.status": "UI returned status {status_code}",
51
+ "cli.verify_system_status.ui.timeout": "UI connection timeout",
52
+ "cli.verify_system_status.ui.cannot_connect": "Cannot connect to UI",
53
+ "cli.verify_system_status.ui.error": "UI error: {error}"
54
+ }
@@ -0,0 +1,54 @@
1
+ {
2
+ "cli.verify_system_status.title": "Verificación del estado del sistema TrustGraph",
3
+ "cli.verify_system_status.phase_1": "Fase 1: Infraestructura",
4
+ "cli.verify_system_status.phase_2": "Fase 2: Servicios principales",
5
+ "cli.verify_system_status.phase_3": "Fase 3: Servicios de datos",
6
+ "cli.verify_system_status.phase_4": "Fase 4: Interfaz de usuario",
7
+ "cli.verify_system_status.summary": "Resumen",
8
+ "cli.verify_system_status.checking": "Verificando {name}...",
9
+ "cli.verify_system_status.checking_attempt": "Verificando {name}... (intento {attempt})",
10
+ "cli.verify_system_status.failed_timeout": "{name}: Fallido (tiempo de espera después de {attempt} intentos)",
11
+ "cli.verify_system_status.pulsar_not_responding": "Pulsar no está respondiendo; otras verificaciones pueden fallar",
12
+ "cli.verify_system_status.checks_passed": "Verificaciones superadas: {passed}/{total}",
13
+ "cli.verify_system_status.checks_failed": "Verificaciones fallidas: {failed}/{total}",
14
+ "cli.verify_system_status.total_time": "Tiempo total: {elapsed}",
15
+ "cli.verify_system_status.system_healthy": "¡El sistema es saludable!",
16
+ "cli.verify_system_status.system_failing": "El sistema tiene {failed} verificación(es) fallida(s)",
17
+ "cli.verify_system_status.check_name.pulsar": "Pulsar",
18
+ "cli.verify_system_status.check_name.api_gateway": "API Gateway",
19
+ "cli.verify_system_status.check_name.processors": "Procesadores",
20
+ "cli.verify_system_status.check_name.flow_blueprints": "Plantillas de flujo",
21
+ "cli.verify_system_status.check_name.flows": "Flujos",
22
+ "cli.verify_system_status.check_name.prompts": "Indicaciones",
23
+ "cli.verify_system_status.check_name.library": "Biblioteca",
24
+ "cli.verify_system_status.check_name.workbench_ui": "Interfaz de usuario del entorno de trabajo",
25
+ "cli.verify_system_status.pulsar.healthy": "Pulsar saludable ({clusters} clúster(es))",
26
+ "cli.verify_system_status.pulsar.status": "Pulsar devolvió el estado {status_code}",
27
+ "cli.verify_system_status.pulsar.timeout": "Tiempo de espera de la conexión a Pulsar",
28
+ "cli.verify_system_status.pulsar.cannot_connect": "No se puede conectar a Pulsar",
29
+ "cli.verify_system_status.pulsar.error": "Error de Pulsar: {error}",
30
+ "cli.verify_system_status.api_gateway.responding": "API Gateway está respondiendo",
31
+ "cli.verify_system_status.api_gateway.status": "API Gateway devolvió el estado {status_code}",
32
+ "cli.verify_system_status.api_gateway.timeout": "Tiempo de espera de la conexión a API Gateway",
33
+ "cli.verify_system_status.api_gateway.cannot_connect": "No se puede conectar a API Gateway",
34
+ "cli.verify_system_status.api_gateway.error": "Error de API Gateway: {error}",
35
+ "cli.verify_system_status.processors.found": "Se encontraron {count} procesadores (≥ {min})",
36
+ "cli.verify_system_status.processors.only": "Solo {count} procesadores en ejecución (se necesitan {min})",
37
+ "cli.verify_system_status.processors.metrics_status": "Métricas devolvieron el estado {status_code}",
38
+ "cli.verify_system_status.processors.error": "Error de verificación del procesador: {error}",
39
+ "cli.verify_system_status.flow_blueprints.found": "Se encontraron {count} plantilla(s) de flujo",
40
+ "cli.verify_system_status.flow_blueprints.none": "No se encontraron plantillas de flujo",
41
+ "cli.verify_system_status.flow_blueprints.error": "Error de verificación de la plantilla de flujo: {error}",
42
+ "cli.verify_system_status.flows.responding": "El administrador de flujos está respondiendo ({count} flujo(s))",
43
+ "cli.verify_system_status.flows.error": "Error de verificación del administrador de flujos: {error}",
44
+ "cli.verify_system_status.prompts.found": "Se encontraron {count} indicación(es)",
45
+ "cli.verify_system_status.prompts.none": "No se encontraron indicaciones",
46
+ "cli.verify_system_status.prompts.error": "Error de verificación de la indicación: {error}",
47
+ "cli.verify_system_status.library.responding": "La biblioteca está respondiendo ({count} documento(s))",
48
+ "cli.verify_system_status.library.error": "Error de verificación de la biblioteca: {error}",
49
+ "cli.verify_system_status.ui.responding": "La interfaz de usuario del entorno de trabajo está respondiendo",
50
+ "cli.verify_system_status.ui.status": "La interfaz de usuario devolvió el estado {status_code}",
51
+ "cli.verify_system_status.ui.timeout": "Tiempo de espera de la conexión a la interfaz de usuario",
52
+ "cli.verify_system_status.ui.cannot_connect": "No se puede conectar a la interfaz de usuario",
53
+ "cli.verify_system_status.ui.error": "Error de la interfaz de usuario: {error}"
54
+ }
@@ -0,0 +1,54 @@
1
+ {
2
+ "cli.verify_system_status.title": "אימות סטטוס מערכת TrustGraph",
3
+ "cli.verify_system_status.phase_1": "שלב 1: תשתית",
4
+ "cli.verify_system_status.phase_2": "שלב 2: שירותים מרכזיים",
5
+ "cli.verify_system_status.phase_3": "שלב 3: שירותי נתונים",
6
+ "cli.verify_system_status.phase_4": "שלב 4: ממשק משתמש",
7
+ "cli.verify_system_status.summary": "סיכום",
8
+ "cli.verify_system_status.checking": "בדיקת {name}...",
9
+ "cli.verify_system_status.checking_attempt": "בדיקת {name}... (ניסיון {attempt})",
10
+ "cli.verify_system_status.failed_timeout": "{name}: נכשל (תפוגה לאחר {attempt} ניסיונות)",
11
+ "cli.verify_system_status.pulsar_not_responding": "Pulsar אינו מגיב - בדיקות אחרות עשויות להיכשל",
12
+ "cli.verify_system_status.checks_passed": "בדיקות שעברו: {passed}/{total}",
13
+ "cli.verify_system_status.checks_failed": "בדיקות שנכשלו: {failed}/{total}",
14
+ "cli.verify_system_status.total_time": "זמן כולל: {elapsed}",
15
+ "cli.verify_system_status.system_healthy": "המערכת תקינה!",
16
+ "cli.verify_system_status.system_failing": "למערכת יש {failed} בדיקה/ות שנכשלו",
17
+ "cli.verify_system_status.check_name.pulsar": "Pulsar",
18
+ "cli.verify_system_status.check_name.api_gateway": "API Gateway",
19
+ "cli.verify_system_status.check_name.processors": "מעבדים",
20
+ "cli.verify_system_status.check_name.flow_blueprints": "תבניות זרימה",
21
+ "cli.verify_system_status.check_name.flows": "זרימות",
22
+ "cli.verify_system_status.check_name.prompts": "הנחיות",
23
+ "cli.verify_system_status.check_name.library": "ספרייה",
24
+ "cli.verify_system_status.check_name.workbench_ui": "ממשק משתמש (Workbench UI)",
25
+ "cli.verify_system_status.pulsar.healthy": "Pulsar תקין ({clusters} אשכולות)",
26
+ "cli.verify_system_status.pulsar.status": "Pulsar החזיר סטטוס {status_code}",
27
+ "cli.verify_system_status.pulsar.timeout": "תפוגת זמן חיבור ל-Pulsar",
28
+ "cli.verify_system_status.pulsar.cannot_connect": "לא ניתן להתחבר ל-Pulsar",
29
+ "cli.verify_system_status.pulsar.error": "שגיאה ב-Pulsar: {error}",
30
+ "cli.verify_system_status.api_gateway.responding": "API Gateway מגיב",
31
+ "cli.verify_system_status.api_gateway.status": "API Gateway החזיר סטטוס {status_code}",
32
+ "cli.verify_system_status.api_gateway.timeout": "תפוגת זמן חיבור ל-API Gateway",
33
+ "cli.verify_system_status.api_gateway.cannot_connect": "לא ניתן להתחבר ל-API Gateway",
34
+ "cli.verify_system_status.api_gateway.error": "שגיאה ב-API Gateway: {error}",
35
+ "cli.verify_system_status.processors.found": "נמצאו {count} מעבדים (≥ {min})",
36
+ "cli.verify_system_status.processors.only": "פועלים רק {count} מעבדים (נדרשים {min})",
37
+ "cli.verify_system_status.processors.metrics_status": "Metrics החזירו סטטוס {status_code}",
38
+ "cli.verify_system_status.processors.error": "שגיאת בדיקת מעבד: {error}",
39
+ "cli.verify_system_status.flow_blueprints.found": "נמצאו {count} תבניות זרימה",
40
+ "cli.verify_system_status.flow_blueprints.none": "לא נמצאו תבניות זרימה",
41
+ "cli.verify_system_status.flow_blueprints.error": "שגיאת בדיקת תבניות זרימה: {error}",
42
+ "cli.verify_system_status.flows.responding": "מנהל הזרימה מגיב ({count} זרימות)",
43
+ "cli.verify_system_status.flows.error": "שגיאת בדיקת מנהל הזרימה: {error}",
44
+ "cli.verify_system_status.prompts.found": "נמצאו {count} הנחיות",
45
+ "cli.verify_system_status.prompts.none": "לא נמצאו הנחיות",
46
+ "cli.verify_system_status.prompts.error": "שגיאת בדיקת הנחיות: {error}",
47
+ "cli.verify_system_status.library.responding": "הספרייה מגיבה ({count} מסמכים)",
48
+ "cli.verify_system_status.library.error": "שגיאת בדיקת ספרייה: {error}",
49
+ "cli.verify_system_status.ui.responding": "ממשק המשתמש (Workbench UI) מגיב",
50
+ "cli.verify_system_status.ui.status": "ממשק המשתמש החזיר סטטוס {status_code}",
51
+ "cli.verify_system_status.ui.timeout": "תפוגת זמן חיבור לממשק המשתמש",
52
+ "cli.verify_system_status.ui.cannot_connect": "לא ניתן להתחבר לממשק המשתמש",
53
+ "cli.verify_system_status.ui.error": "שגיאה בממשק המשתמש: {error}"
54
+ }