mdengine 0.13.4__tar.gz → 0.14.1__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 (1128) hide show
  1. {mdengine-0.13.4 → mdengine-0.14.1}/PKG-INFO +23 -3
  2. {mdengine-0.13.4 → mdengine-0.14.1}/README.md +4 -2
  3. {mdengine-0.13.4 → mdengine-0.14.1}/pyproject.toml +25 -1
  4. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/__init__.py +1 -1
  5. mdengine-0.14.1/src/md_generator/adapters/__init__.py +1 -0
  6. mdengine-0.14.1/src/md_generator/adapters/crewai/__init__.py +20 -0
  7. mdengine-0.14.1/src/md_generator/adapters/crewai/exceptions.py +29 -0
  8. mdengine-0.14.1/src/md_generator/adapters/crewai/schema.py +37 -0
  9. mdengine-0.14.1/src/md_generator/adapters/crewai/tools.py +284 -0
  10. mdengine-0.14.1/src/md_generator/adapters/langchain/__init__.py +33 -0
  11. mdengine-0.14.1/src/md_generator/adapters/langchain/context.py +257 -0
  12. mdengine-0.14.1/src/md_generator/adapters/langchain/exceptions.py +11 -0
  13. mdengine-0.14.1/src/md_generator/adapters/langchain/loader.py +152 -0
  14. mdengine-0.14.1/src/md_generator/adapters/langchain/retriever.py +155 -0
  15. mdengine-0.14.1/src/md_generator/adapters/langgraph/__init__.py +45 -0
  16. mdengine-0.14.1/src/md_generator/adapters/langgraph/exceptions.py +35 -0
  17. mdengine-0.14.1/src/md_generator/adapters/langgraph/graph.py +80 -0
  18. mdengine-0.14.1/src/md_generator/adapters/langgraph/nodes.py +173 -0
  19. mdengine-0.14.1/src/md_generator/adapters/langgraph/state.py +194 -0
  20. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/cli/main.py +6 -6
  21. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/engine_cli.py +12 -11
  22. mdengine-0.14.1/src/md_generator/graph/__init__.py +63 -0
  23. mdengine-0.14.1/src/md_generator/graph/exceptions.py +31 -0
  24. mdengine-0.14.1/src/md_generator/graph/extractor.py +303 -0
  25. mdengine-0.14.1/src/md_generator/graph/hybrid/__init__.py +10 -0
  26. mdengine-0.14.1/src/md_generator/graph/hybrid/context.py +130 -0
  27. mdengine-0.14.1/src/md_generator/graph/hybrid/retriever.py +368 -0
  28. mdengine-0.14.1/src/md_generator/graph/model.py +342 -0
  29. mdengine-0.14.1/src/md_generator/graph/protocol.py +90 -0
  30. mdengine-0.14.1/src/md_generator/graph/serialization.py +189 -0
  31. mdengine-0.14.1/src/md_generator/graph/stores/__init__.py +10 -0
  32. mdengine-0.14.1/src/md_generator/graph/stores/in_memory.py +465 -0
  33. mdengine-0.14.1/src/md_generator/graph/stores/neo4j.py +680 -0
  34. mdengine-0.14.1/src/md_generator/lineage/__init__.py +35 -0
  35. mdengine-0.14.1/src/md_generator/lineage/ids.py +128 -0
  36. mdengine-0.14.1/src/md_generator/lineage/manifest.py +272 -0
  37. mdengine-0.14.1/src/md_generator/metadata/__init__.py +5 -0
  38. mdengine-0.14.1/src/md_generator/metadata/schema.py +76 -0
  39. mdengine-0.14.1/src/md_generator/pipeline/__init__.py +25 -0
  40. mdengine-0.14.1/src/md_generator/pipeline/base.py +612 -0
  41. mdengine-0.14.1/src/md_generator/pipeline/config.py +64 -0
  42. mdengine-0.14.1/src/md_generator/pipeline/registry.py +435 -0
  43. mdengine-0.14.1/src/md_generator/pipeline/result.py +119 -0
  44. mdengine-0.14.1/src/md_generator/pipeline/sanitizer.py +51 -0
  45. mdengine-0.14.1/src/md_generator/security/__init__.py +11 -0
  46. mdengine-0.14.1/src/md_generator/security/policy.py +57 -0
  47. mdengine-0.14.1/src/md_generator/security/redactor.py +236 -0
  48. mdengine-0.14.1/src/md_generator/semantic/__init__.py +1 -0
  49. mdengine-0.14.1/src/md_generator/semantic/chunkers/__init__.py +36 -0
  50. mdengine-0.14.1/src/md_generator/semantic/chunkers/base.py +68 -0
  51. mdengine-0.14.1/src/md_generator/semantic/chunkers/code.py +502 -0
  52. mdengine-0.14.1/src/md_generator/semantic/chunkers/db.py +152 -0
  53. mdengine-0.14.1/src/md_generator/semantic/chunkers/identity.py +132 -0
  54. mdengine-0.14.1/src/md_generator/semantic/chunkers/languages/__init__.py +26 -0
  55. mdengine-0.14.1/src/md_generator/semantic/chunkers/languages/base.py +45 -0
  56. mdengine-0.14.1/src/md_generator/semantic/chunkers/languages/cpp.py +18 -0
  57. mdengine-0.14.1/src/md_generator/semantic/chunkers/languages/csharp.py +18 -0
  58. mdengine-0.14.1/src/md_generator/semantic/chunkers/languages/go.py +18 -0
  59. mdengine-0.14.1/src/md_generator/semantic/chunkers/languages/java.py +18 -0
  60. mdengine-0.14.1/src/md_generator/semantic/chunkers/languages/python.py +18 -0
  61. mdengine-0.14.1/src/md_generator/semantic/chunkers/languages/typescript.py +18 -0
  62. mdengine-0.14.1/src/md_generator/semantic/chunkers/openapi.py +177 -0
  63. mdengine-0.14.1/src/md_generator/semantic/chunkers/registry.py +78 -0
  64. mdengine-0.14.1/src/md_generator/semantic/chunkers/sap.py +148 -0
  65. mdengine-0.14.1/src/md_generator/semantic/model/__init__.py +29 -0
  66. mdengine-0.14.1/src/md_generator/semantic/model/schema.py +507 -0
  67. mdengine-0.14.1/src/md_generator/semantic/processor.py +103 -0
  68. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/registry.json +1 -1
  69. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/global-skill.md +1 -1
  70. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-archive/SKILL.md +2 -1
  71. mdengine-0.14.1/src/md_generator/tools/assistant/data/skills/mdengine-ai-codeflow/SKILL.md +112 -0
  72. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-db/SKILL.md +1 -1
  73. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-global/SKILL.md +1 -1
  74. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-graph/SKILL.md +2 -2
  75. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-image/SKILL.md +2 -1
  76. mdengine-0.14.1/src/md_generator/tools/assistant/data/skills/mdengine-ai-log/SKILL.md +77 -0
  77. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-media/SKILL.md +4 -1
  78. mdengine-0.14.1/src/md_generator/tools/assistant/data/skills/mdengine-ai-odata/SKILL.md +76 -0
  79. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-openapi/SKILL.md +2 -2
  80. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-otel/SKILL.md +11 -13
  81. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-pdf/SKILL.md +2 -1
  82. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-playwright/SKILL.md +2 -1
  83. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-ppt/SKILL.md +2 -2
  84. mdengine-0.14.1/src/md_generator/tools/assistant/data/skills/mdengine-ai-sap/SKILL.md +161 -0
  85. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-text/SKILL.md +2 -1
  86. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-url/SKILL.md +2 -1
  87. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-word/SKILL.md +1 -1
  88. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-xlsx/SKILL.md +2 -1
  89. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/modules/archive.md +1 -0
  90. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/modules/graph.md +1 -1
  91. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/modules/image.md +1 -0
  92. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/modules/media.md +3 -0
  93. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/modules/openapi.md +1 -1
  94. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/modules/pdf.md +1 -0
  95. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/modules/playwright.md +1 -0
  96. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/modules/ppt.md +1 -1
  97. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/modules/text.md +1 -0
  98. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/modules/url.md +1 -0
  99. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/modules/xlsx.md +1 -0
  100. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/converter.py +1 -1
  101. mdengine-0.14.1/src/md_generator/vector/__init__.py +51 -0
  102. mdengine-0.14.1/src/md_generator/vector/cli.py +95 -0
  103. mdengine-0.14.1/src/md_generator/vector/exceptions.py +35 -0
  104. mdengine-0.14.1/src/md_generator/vector/model.py +203 -0
  105. mdengine-0.14.1/src/md_generator/vector/processor.py +334 -0
  106. mdengine-0.14.1/src/md_generator/vector/providers/__init__.py +10 -0
  107. mdengine-0.14.1/src/md_generator/vector/providers/base.py +52 -0
  108. mdengine-0.14.1/src/md_generator/vector/providers/mock.py +83 -0
  109. mdengine-0.14.1/src/md_generator/vector/providers/openai.py +72 -0
  110. mdengine-0.14.1/src/md_generator/vector/providers/sentence_transformers.py +69 -0
  111. mdengine-0.14.1/src/md_generator/vector/stores/__init__.py +10 -0
  112. mdengine-0.14.1/src/md_generator/vector/stores/base.py +54 -0
  113. mdengine-0.14.1/src/md_generator/vector/stores/chroma.py +58 -0
  114. mdengine-0.14.1/src/md_generator/vector/stores/in_memory.py +192 -0
  115. mdengine-0.14.1/src/md_generator/vector/stores/qdrant.py +58 -0
  116. {mdengine-0.13.4 → mdengine-0.14.1}/src/mdengine.egg-info/PKG-INFO +23 -3
  117. {mdengine-0.13.4 → mdengine-0.14.1}/src/mdengine.egg-info/SOURCES.txt +75 -0
  118. {mdengine-0.13.4 → mdengine-0.14.1}/src/mdengine.egg-info/requires.txt +22 -0
  119. mdengine-0.13.4/src/md_generator/graph/__init__.py +0 -3
  120. mdengine-0.13.4/src/md_generator/tools/assistant/data/skills/mdengine-ai-codeflow/SKILL.md +0 -58
  121. mdengine-0.13.4/src/md_generator/tools/assistant/data/skills/mdengine-ai-log/SKILL.md +0 -77
  122. mdengine-0.13.4/src/md_generator/tools/assistant/data/skills/mdengine-ai-odata/SKILL.md +0 -69
  123. mdengine-0.13.4/src/md_generator/tools/assistant/data/skills/mdengine-ai-sap/SKILL.md +0 -88
  124. {mdengine-0.13.4 → mdengine-0.14.1}/LICENSE +0 -0
  125. {mdengine-0.13.4 → mdengine-0.14.1}/setup.cfg +0 -0
  126. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/archive/__init__.py +0 -0
  127. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/archive/api/__init__.py +0 -0
  128. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/archive/api/convert_runner.py +0 -0
  129. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/archive/api/jobs.py +0 -0
  130. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/archive/api/main.py +0 -0
  131. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/archive/api/mcp_server.py +0 -0
  132. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/archive/api/mcp_setup.py +0 -0
  133. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/archive/api/query_options.py +0 -0
  134. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/archive/api/settings.py +0 -0
  135. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/archive/convert_impl.py +0 -0
  136. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/archive/converter.py +0 -0
  137. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/archive/extractors.py +0 -0
  138. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/archive/options.py +0 -0
  139. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/__init__.py +0 -0
  140. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/adapters/__init__.py +0 -0
  141. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/adapters/base.py +0 -0
  142. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/adapters/frameworks.py +0 -0
  143. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/adapters/go.py +0 -0
  144. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/adapters/java.py +0 -0
  145. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/adapters/js_ts.py +0 -0
  146. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/adapters/others.py +0 -0
  147. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/adapters/php.py +0 -0
  148. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/adapters/python.py +0 -0
  149. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/adapters/registry.py +0 -0
  150. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/analyzers/__init__.py +0 -0
  151. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/analyzers/flow_analyzer.py +0 -0
  152. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/api/__init__.py +0 -0
  153. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/api/job_manager.py +0 -0
  154. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/api/main.py +0 -0
  155. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/api/mcp_server.py +0 -0
  156. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/api/run.py +0 -0
  157. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/api/schemas.py +0 -0
  158. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/api/semantic_api.py +0 -0
  159. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/api/settings.py +0 -0
  160. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/api/sse.py +0 -0
  161. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/cli/__init__.py +0 -0
  162. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/config/__init__.py +0 -0
  163. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/config/codeflow_yaml.py +0 -0
  164. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/core/__init__.py +0 -0
  165. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/core/cache_manager.py +0 -0
  166. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/core/extractor.py +0 -0
  167. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/core/run_config.py +0 -0
  168. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/detectors/__init__.py +0 -0
  169. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/detectors/api_detector.py +0 -0
  170. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/detectors/entry_detector.py +0 -0
  171. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/detectors/entry_rank.py +0 -0
  172. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/detectors/event_detector.py +0 -0
  173. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/detectors/kafka_detector.py +0 -0
  174. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/detectors/liferay_portlet_detector.py +0 -0
  175. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/detectors/rails_detector.py +0 -0
  176. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/enterprise_ir/__init__.py +0 -0
  177. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/enterprise_ir/api.py +0 -0
  178. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/enterprise_ir/base.py +0 -0
  179. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/enterprise_ir/config.py +0 -0
  180. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/enterprise_ir/database.py +0 -0
  181. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/enterprise_ir/dependency.py +0 -0
  182. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/enterprise_ir/embedding.py +0 -0
  183. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/enterprise_ir/event.py +0 -0
  184. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/enterprise_ir/graph.py +0 -0
  185. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/enterprise_ir/query.py +0 -0
  186. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/enterprise_ir/queue.py +0 -0
  187. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/enterprise_ir/resource.py +0 -0
  188. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/enterprise_ir/runtime.py +0 -0
  189. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/enterprise_ir/semantic.py +0 -0
  190. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/enterprise_ir/storage.py +0 -0
  191. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/generators/__init__.py +0 -0
  192. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/generators/business_rules_markdown.py +0 -0
  193. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/generators/cfg_paths_markdown.py +0 -0
  194. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/generators/cfg_paths_mermaid.py +0 -0
  195. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/generators/cfg_render.py +0 -0
  196. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/generators/cytoscape_enrich.py +0 -0
  197. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/generators/enterprise_exporter.py +0 -0
  198. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/generators/entry_markdown.py +0 -0
  199. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/generators/flow_summary.py +0 -0
  200. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/generators/flow_tree.py +0 -0
  201. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/generators/html.py +0 -0
  202. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/generators/html_unified.py +0 -0
  203. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/generators/markdown.py +0 -0
  204. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/generators/mermaid.py +0 -0
  205. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/generators/sequence.py +0 -0
  206. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/__init__.py +0 -0
  207. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/analysis.py +0 -0
  208. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/anomaly.py +0 -0
  209. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/builder.py +0 -0
  210. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/call_expander.py +0 -0
  211. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/cfg_builder.py +0 -0
  212. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/cfg_copy.py +0 -0
  213. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/cfg_model.py +0 -0
  214. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/cluster_labeling.py +0 -0
  215. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/clustering.py +0 -0
  216. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/cross_repo_resolver.py +0 -0
  217. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/dependency_builder.py +0 -0
  218. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/diff_analysis.py +0 -0
  219. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/embeddings.py +0 -0
  220. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/enricher.py +0 -0
  221. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/enterprise_builder.py +0 -0
  222. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/event_graph.py +0 -0
  223. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/export_schema.py +0 -0
  224. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/hotpath.py +0 -0
  225. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/maven_hints.py +0 -0
  226. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/multi_repo.py +0 -0
  227. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/multigraph_utils.py +0 -0
  228. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/nl_query.py +0 -0
  229. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/path_enumerator.py +0 -0
  230. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/path_probability.py +0 -0
  231. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/query.py +0 -0
  232. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/query_engine.py +0 -0
  233. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/relations.py +0 -0
  234. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/runtime_integration.py +0 -0
  235. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/semantic_enricher.py +0 -0
  236. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/semantic_index.py +0 -0
  237. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/sqlite_export.py +0 -0
  238. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/traversal.py +0 -0
  239. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/graph/tsconfig_cross_repo.py +0 -0
  240. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/ingestion/__init__.py +0 -0
  241. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/ingestion/git_loader.py +0 -0
  242. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/ingestion/loader.py +0 -0
  243. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/__init__.py +0 -0
  244. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/analyzer.py +0 -0
  245. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/builder.py +0 -0
  246. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/cache.py +0 -0
  247. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/diff.py +0 -0
  248. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/filters.py +0 -0
  249. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/forest.py +0 -0
  250. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/formatter.py +0 -0
  251. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/graph_export.py +0 -0
  252. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/html.py +0 -0
  253. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/ir.py +0 -0
  254. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/json_export.py +0 -0
  255. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/markdown.py +0 -0
  256. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/mermaid.py +0 -0
  257. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/models.py +0 -0
  258. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/paths.py +0 -0
  259. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/resolver.py +0 -0
  260. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/statistics.py +0 -0
  261. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/traversal.py +0 -0
  262. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/journey/tree.py +0 -0
  263. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/lang_dispatch.py +0 -0
  264. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/mcp/__init__.py +0 -0
  265. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/mcp/server.py +0 -0
  266. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/models/__init__.py +0 -0
  267. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/models/ir.py +0 -0
  268. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/models/ir_cfg.py +0 -0
  269. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/__init__.py +0 -0
  270. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/__init__.py +0 -0
  271. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/cpp_adapter.py +0 -0
  272. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/go_adapter.py +0 -0
  273. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/ir_from_dump.py +0 -0
  274. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/java_adapter.py +0 -0
  275. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/php_adapter.py +0 -0
  276. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/python_adapter.py +0 -0
  277. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/treesitter_adapter.py +0 -0
  278. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/treesitter_csharp_adapter.py +0 -0
  279. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/treesitter_go_adapter.py +0 -0
  280. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/treesitter_java_adapter.py +0 -0
  281. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/treesitter_kotlin_adapter.py +0 -0
  282. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/treesitter_lua_adapter.py +0 -0
  283. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/treesitter_php_adapter.py +0 -0
  284. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/treesitter_python_adapter.py +0 -0
  285. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/treesitter_ruby_adapter.py +0 -0
  286. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/treesitter_rust_adapter.py +0 -0
  287. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/treesitter_scala_adapter.py +0 -0
  288. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/treesitter_swift_adapter.py +0 -0
  289. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/adapters/treesitter_zig_adapter.py +0 -0
  290. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/base.py +0 -0
  291. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/capability_registry.py +0 -0
  292. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/cpp_parser.py +0 -0
  293. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/go_parser.py +0 -0
  294. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/ir_enrich.py +0 -0
  295. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/java_parser.py +0 -0
  296. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/php_parser.py +0 -0
  297. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/python_parser.py +0 -0
  298. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/treesitter_common.py +0 -0
  299. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/treesitter_csharp_parser.py +0 -0
  300. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/treesitter_entry_helpers.py +0 -0
  301. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/treesitter_go_parser.py +0 -0
  302. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/treesitter_java_parser.py +0 -0
  303. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/treesitter_js_ts_parser.py +0 -0
  304. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/treesitter_kotlin_parser.py +0 -0
  305. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/treesitter_lua_parser.py +0 -0
  306. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/treesitter_php_parser.py +0 -0
  307. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/treesitter_python_parser.py +0 -0
  308. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/treesitter_ruby_parser.py +0 -0
  309. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/treesitter_rust_parser.py +0 -0
  310. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/treesitter_scala_parser.py +0 -0
  311. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/treesitter_swift_parser.py +0 -0
  312. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/treesitter_zig_parser.py +0 -0
  313. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/parsers/unified_parser.py +0 -0
  314. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/plugins/__init__.py +0 -0
  315. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/plugins/annotation/__init__.py +0 -0
  316. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/plugins/annotation/plugin.py +0 -0
  317. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/plugins/base.py +0 -0
  318. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/plugins/business/models.py +0 -0
  319. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/plugins/classification/__init__.py +0 -0
  320. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/plugins/classification/plugin.py +0 -0
  321. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/plugins/config/plugin.py +0 -0
  322. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/plugins/dependency/plugin.py +0 -0
  323. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/plugins/external/plugin.py +0 -0
  324. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/plugins/query/plugin.py +0 -0
  325. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/plugins/registry.py +0 -0
  326. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/plugins/semantic/__init__.py +0 -0
  327. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/plugins/semantic/plugin.py +0 -0
  328. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/repository/analyzer.py +0 -0
  329. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/repository/model.py +0 -0
  330. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/rules/__init__.py +0 -0
  331. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/rules/collector.py +0 -0
  332. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/rules/cpp_rules.py +0 -0
  333. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/rules/java_rules.py +0 -0
  334. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/runtime/__init__.py +0 -0
  335. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/runtime/correlator.py +0 -0
  336. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/runtime/python_edge_counter.py +0 -0
  337. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/runtime/trace_parser.py +0 -0
  338. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/runtime/trace_runner.py +0 -0
  339. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/runtime/tracer.py +0 -0
  340. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/utils/__init__.py +0 -0
  341. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/utils/tools_root.py +0 -0
  342. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/worker/__init__.py +0 -0
  343. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/codeflow/worker/celery_optional.py +0 -0
  344. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/core/__init__.py +0 -0
  345. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/core/artifacts/__init__.py +0 -0
  346. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/core/artifacts/mdaf_validate.py +0 -0
  347. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/core/artifacts/models.py +0 -0
  348. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/core/artifacts/serialize.py +0 -0
  349. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/core/schema/__init__.py +0 -0
  350. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/core/schema/adapters/__init__.py +0 -0
  351. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/core/schema/adapters/log_record.py +0 -0
  352. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/core/schema/adapters/otel.py +0 -0
  353. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/core/schema/telemetry_event.py +0 -0
  354. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/core/schema/validation.py +0 -0
  355. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/__init__.py +0 -0
  356. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/adapters/__init__.py +0 -0
  357. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/adapters/access_adapter.py +0 -0
  358. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/adapters/access_introspect.py +0 -0
  359. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/adapters/access_odbc.py +0 -0
  360. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/adapters/elasticsearch_adapter.py +0 -0
  361. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/adapters/elasticsearch_json_adapter.py +0 -0
  362. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/adapters/factory.py +0 -0
  363. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/adapters/mongo_adapter.py +0 -0
  364. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/adapters/mysql_adapter.py +0 -0
  365. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/adapters/oracle_adapter.py +0 -0
  366. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/adapters/postgres_adapter.py +0 -0
  367. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/adapters/sql_common.py +0 -0
  368. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/adapters/sqlite_adapter.py +0 -0
  369. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/adapters/sqlserver_adapter.py +0 -0
  370. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/api/__init__.py +0 -0
  371. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/api/access_upload.py +0 -0
  372. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/api/elasticsearch_upload.py +0 -0
  373. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/api/main.py +0 -0
  374. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/api/mcp_server.py +0 -0
  375. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/api/run.py +0 -0
  376. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/api/schemas.py +0 -0
  377. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/api/settings.py +0 -0
  378. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/api/sqlite_upload.py +0 -0
  379. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/cli/__init__.py +0 -0
  380. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/cli/main.py +0 -0
  381. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/config/__init__.py +0 -0
  382. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/config/default.yaml +0 -0
  383. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/__init__.py +0 -0
  384. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/base_adapter.py +0 -0
  385. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/cli_ops.py +0 -0
  386. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/elasticsearch_bundle.py +0 -0
  387. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/elasticsearch_dependency_graph.py +0 -0
  388. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/elasticsearch_export.py +0 -0
  389. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/elasticsearch_format.py +0 -0
  390. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/elasticsearch_json.py +0 -0
  391. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/elasticsearch_markdown.py +0 -0
  392. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/elasticsearch_normalize.py +0 -0
  393. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/elasticsearch_operational_notes.py +0 -0
  394. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/elasticsearch_output.py +0 -0
  395. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/elasticsearch_query_classify.py +0 -0
  396. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/elasticsearch_redaction.py +0 -0
  397. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/elasticsearch_synthesis.py +0 -0
  398. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/elasticsearch_warnings.py +0 -0
  399. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/erd/__init__.py +0 -0
  400. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/erd/dot_emitter.py +0 -0
  401. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/erd/filter.py +0 -0
  402. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/erd/mermaid_emitter.py +0 -0
  403. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/erd/mermaid_render.py +0 -0
  404. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/erd/model.py +0 -0
  405. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/erd/pipeline.py +0 -0
  406. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/erd/render.py +0 -0
  407. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/export_manifest.py +0 -0
  408. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/extractor.py +0 -0
  409. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/job_manager.py +0 -0
  410. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/link_graph.py +0 -0
  411. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/markdown_writer.py +0 -0
  412. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/models.py +0 -0
  413. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/run_config.py +0 -0
  414. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/util.py +0 -0
  415. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/core/zip_export.py +0 -0
  416. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/mcp/__init__.py +0 -0
  417. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/mcp/server.py +0 -0
  418. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/mcp/sse.py +0 -0
  419. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/db/mcp/stream.py +0 -0
  420. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/distributed/__init__.py +0 -0
  421. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/distributed/merge.py +0 -0
  422. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/distributed/partition.py +0 -0
  423. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/distributed/worker_pool.py +0 -0
  424. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/governance/__init__.py +0 -0
  425. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/governance/audit.py +0 -0
  426. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/governance/classification.py +0 -0
  427. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/governance/lineage.py +0 -0
  428. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/governance/retention.py +0 -0
  429. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/adapters/__init__.py +0 -0
  430. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/adapters/factory.py +0 -0
  431. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/adapters/neo4j_adapter.py +0 -0
  432. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/adapters/networkx_adapter.py +0 -0
  433. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/api/__init__.py +0 -0
  434. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/api/main.py +0 -0
  435. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/api/mcp_server.py +0 -0
  436. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/api/run.py +0 -0
  437. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/api/schemas.py +0 -0
  438. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/api/settings.py +0 -0
  439. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/cli/__init__.py +0 -0
  440. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/cli/main.py +0 -0
  441. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/config/__init__.py +0 -0
  442. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/config/default.yaml +0 -0
  443. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/core/__init__.py +0 -0
  444. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/core/base_adapter.py +0 -0
  445. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/core/extractor.py +0 -0
  446. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/core/graph_builder.py +0 -0
  447. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/core/job_manager.py +0 -0
  448. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/core/markdown_writer.py +0 -0
  449. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/core/models.py +0 -0
  450. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/core/run_config.py +0 -0
  451. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/core/viz.py +0 -0
  452. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/core/zip_export.py +0 -0
  453. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/mcp/__init__.py +0 -0
  454. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/mcp/server.py +0 -0
  455. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/mcp/sse.py +0 -0
  456. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/graph/mcp/stream.py +0 -0
  457. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/image/__init__.py +0 -0
  458. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/image/api/__init__.py +0 -0
  459. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/image/api/main.py +0 -0
  460. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/image/api/mcp_server.py +0 -0
  461. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/image/api/query_options.py +0 -0
  462. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/image/api/settings.py +0 -0
  463. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/image/api/staging.py +0 -0
  464. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/image/api/zip_bundle.py +0 -0
  465. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/image/backends/__init__.py +0 -0
  466. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/image/backends/base.py +0 -0
  467. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/image/backends/easy.py +0 -0
  468. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/image/backends/paddle.py +0 -0
  469. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/image/backends/tesseract.py +0 -0
  470. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/image/convert_impl.py +0 -0
  471. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/image/converter.py +0 -0
  472. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/image/emit.py +0 -0
  473. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/image/io_util.py +0 -0
  474. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/image/utils.py +0 -0
  475. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/__init__.py +0 -0
  476. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/aggregation/__init__.py +0 -0
  477. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/aggregation/aggregators.py +0 -0
  478. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/aggregation/dataframe_builder.py +0 -0
  479. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/aggregation/metrics.py +0 -0
  480. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/aggregation/timeline.py +0 -0
  481. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/api/__init__.py +0 -0
  482. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/api/main.py +0 -0
  483. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/api/mcp_server.py +0 -0
  484. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/api/run.py +0 -0
  485. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/api/schemas.py +0 -0
  486. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/api/settings.py +0 -0
  487. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/chunking/__init__.py +0 -0
  488. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/chunking/artifact_adapter.py +0 -0
  489. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/chunking/chunk_engine.py +0 -0
  490. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/chunking/chunk_models.py +0 -0
  491. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/chunking/chunk_registry.py +0 -0
  492. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/chunking/chunk_strategy.py +0 -0
  493. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/cli/__init__.py +0 -0
  494. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/cli/main.py +0 -0
  495. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/clustering/__init__.py +0 -0
  496. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/clustering/embeddings.py +0 -0
  497. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/clustering/kmeans_cluster.py +0 -0
  498. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/clustering/semantic_grouping.py +0 -0
  499. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/clustering/vectorizer.py +0 -0
  500. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/config/__init__.py +0 -0
  501. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/config/default.yaml +0 -0
  502. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/config/preset_loader.py +0 -0
  503. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/config/presets/__init__.py +0 -0
  504. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/config/presets/generic.yaml +0 -0
  505. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/config/presets/json.yaml +0 -0
  506. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/config/presets/logback.yaml +0 -0
  507. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/config/presets/springboot.yaml +0 -0
  508. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/config/schemas.py +0 -0
  509. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/core/__init__.py +0 -0
  510. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/core/errors.py +0 -0
  511. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/core/execution_context.py +0 -0
  512. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/core/extractor.py +0 -0
  513. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/core/job_manager.py +0 -0
  514. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/core/lifecycle.py +0 -0
  515. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/core/pipeline.py +0 -0
  516. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/core/plugins.py +0 -0
  517. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/core/run_config.py +0 -0
  518. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/core/zip_export.py +0 -0
  519. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/correlation/correlation_engine.py +0 -0
  520. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/correlation/correlation_models.py +0 -0
  521. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/correlation/correlation_scoring.py +0 -0
  522. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/correlation/cross_source.py +0 -0
  523. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/correlation/request_parser.py +0 -0
  524. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/correlation/session_parser.py +0 -0
  525. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/correlation/trace_parser.py +0 -0
  526. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/documentation/__init__.py +0 -0
  527. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/documentation/incident_summary.py +0 -0
  528. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/documentation/service_report.py +0 -0
  529. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/documentation/troubleshooting.py +0 -0
  530. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/embeddings/embedding_exporter.py +0 -0
  531. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/embeddings/exporters/chroma_exporter.py +0 -0
  532. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/embeddings/exporters/faiss_exporter.py +0 -0
  533. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/embeddings/exporters/jsonl_exporter.py +0 -0
  534. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/embeddings/exporters/parquet_exporter.py +0 -0
  535. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/enrichment/__init__.py +0 -0
  536. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/enrichment/correlation.py +0 -0
  537. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/enrichment/fingerprinting.py +0 -0
  538. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/enrichment/hash_generator.py +0 -0
  539. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/enrichment/pattern_matcher.py +0 -0
  540. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/enrichment/severity_ranker.py +0 -0
  541. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/incidents/__init__.py +0 -0
  542. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/incidents/artifact_adapter.py +0 -0
  543. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/incidents/fingerprinting.py +0 -0
  544. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/incidents/grouping.py +0 -0
  545. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/incidents/incident_engine.py +0 -0
  546. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/incidents/models.py +0 -0
  547. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/incidents/severity.py +0 -0
  548. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/incremental/__init__.py +0 -0
  549. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/incremental/checkpoint.py +0 -0
  550. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/incremental/engine.py +0 -0
  551. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/incremental/resume_reader.py +0 -0
  552. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/ingestion/__init__.py +0 -0
  553. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/ingestion/archive_bridge.py +0 -0
  554. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/ingestion/archive_loader.py +0 -0
  555. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/ingestion/batch_reader.py +0 -0
  556. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/ingestion/encoding_detector.py +0 -0
  557. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/ingestion/file_loader.py +0 -0
  558. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/ingestion/stream_reader.py +0 -0
  559. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/intelligence/anomaly_detection.py +0 -0
  560. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/intelligence/dependency_analysis.py +0 -0
  561. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/intelligence/heuristics.py +0 -0
  562. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/intelligence/root_cause_engine.py +0 -0
  563. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/knowledge_graph/graph_builder.py +0 -0
  564. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/knowledge_graph/graph_exporter.py +0 -0
  565. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/knowledge_graph/graph_models.py +0 -0
  566. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/knowledge_graph/relation_extractor.py +0 -0
  567. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/linking/__init__.py +0 -0
  568. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/linking/link_graph.py +0 -0
  569. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/markdown_intelligence/__init__.py +0 -0
  570. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/markdown_intelligence/aliases.py +0 -0
  571. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/markdown_intelligence/backlinks.py +0 -0
  572. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/markdown_intelligence/cross_refs.py +0 -0
  573. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/mcp/__init__.py +0 -0
  574. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/mcp/server.py +0 -0
  575. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/mcp/sse.py +0 -0
  576. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/noise_reduction/__init__.py +0 -0
  577. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/noise_reduction/dedupe.py +0 -0
  578. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/noise_reduction/entropy.py +0 -0
  579. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/noise_reduction/filter.py +0 -0
  580. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/normalization/__init__.py +0 -0
  581. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/normalization/number_normalizer.py +0 -0
  582. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/normalization/path_normalizer.py +0 -0
  583. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/normalization/pii_redactor.py +0 -0
  584. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/normalization/token_normalizer.py +0 -0
  585. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/normalization/uuid_normalizer.py +0 -0
  586. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/parser/__init__.py +0 -0
  587. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/parser/json_line_parser.py +0 -0
  588. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/parser/level_detector.py +0 -0
  589. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/parser/logger_detector.py +0 -0
  590. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/parser/models.py +0 -0
  591. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/parser/multiline_parser.py +0 -0
  592. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/parser/parser_registry.py +0 -0
  593. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/parser/regex_parser.py +0 -0
  594. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/parser/stacktrace_parser.py +0 -0
  595. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/parser/timestamp_parser.py +0 -0
  596. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/search/bm25_search.py +0 -0
  597. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/search/cli.py +0 -0
  598. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/search/hybrid_search.py +0 -0
  599. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/search/search_index.py +0 -0
  600. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/search/vector_search.py +0 -0
  601. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/service/__init__.py +0 -0
  602. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/service/service.py +0 -0
  603. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/streaming/__init__.py +0 -0
  604. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/streaming/kafka_reader.py +0 -0
  605. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/streaming/redis_reader.py +0 -0
  606. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/streaming/stdin_reader.py +0 -0
  607. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/streaming/stream_coordinator.py +0 -0
  608. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/streaming/tail_reader.py +0 -0
  609. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/streaming/websocket_reader.py +0 -0
  610. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/timeline/causal_chain.py +0 -0
  611. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/timeline/ordering.py +0 -0
  612. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/timeline/timeline_engine.py +0 -0
  613. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/timeline/timeline_models.py +0 -0
  614. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/topology/__init__.py +0 -0
  615. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/topology/discovery.py +0 -0
  616. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/utils/__init__.py +0 -0
  617. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/utils/concurrency.py +0 -0
  618. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/utils/io.py +0 -0
  619. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/utils/regex.py +0 -0
  620. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/utils/time.py +0 -0
  621. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/visualization/__init__.py +0 -0
  622. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/visualization/mermaid_sequence.py +0 -0
  623. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/visualization/mermaid_timeline.py +0 -0
  624. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/visualization/mermaid_topology.py +0 -0
  625. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/writers/__init__.py +0 -0
  626. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/writers/assets_writer.py +0 -0
  627. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/writers/chunk_writer.py +0 -0
  628. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/writers/cluster_markdown.py +0 -0
  629. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/writers/correlation_writer.py +0 -0
  630. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/writers/frontmatter_writer.py +0 -0
  631. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/writers/incident_writer.py +0 -0
  632. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/writers/markdown_writer.py +0 -0
  633. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/log/writers/summary_writer.py +0 -0
  634. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/__init__.py +0 -0
  635. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/audio/__init__.py +0 -0
  636. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/audio/api/__init__.py +0 -0
  637. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/audio/api/main.py +0 -0
  638. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/audio/api/mcp_server.py +0 -0
  639. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/audio/api/mcp_setup.py +0 -0
  640. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/audio/api/run.py +0 -0
  641. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/audio/api/settings.py +0 -0
  642. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/audio/converter.py +0 -0
  643. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/audio/formatter.py +0 -0
  644. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/audio/service.py +0 -0
  645. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/document_converter.py +0 -0
  646. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/job_store.py +0 -0
  647. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/video/__init__.py +0 -0
  648. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/video/api/__init__.py +0 -0
  649. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/video/api/main.py +0 -0
  650. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/video/api/mcp_server.py +0 -0
  651. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/video/api/mcp_setup.py +0 -0
  652. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/video/api/run.py +0 -0
  653. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/video/api/settings.py +0 -0
  654. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/video/converter.py +0 -0
  655. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/video/formatter.py +0 -0
  656. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/video/service.py +0 -0
  657. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/whisper_language.py +0 -0
  658. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/youtube/__init__.py +0 -0
  659. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/youtube/api/__init__.py +0 -0
  660. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/youtube/api/main.py +0 -0
  661. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/youtube/api/mcp_server.py +0 -0
  662. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/youtube/api/mcp_setup.py +0 -0
  663. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/youtube/api/run.py +0 -0
  664. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/youtube/api/settings.py +0 -0
  665. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/youtube/converter.py +0 -0
  666. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/youtube/formatter.py +0 -0
  667. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/youtube/metadata.py +0 -0
  668. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/youtube/service.py +0 -0
  669. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/media/youtube/transcript.py +0 -0
  670. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/__init__.py +0 -0
  671. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/api/__init__.py +0 -0
  672. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/api/main.py +0 -0
  673. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/api/mcp_server.py +0 -0
  674. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/api/run.py +0 -0
  675. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/api/schemas.py +0 -0
  676. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/api/settings.py +0 -0
  677. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/chunking/__init__.py +0 -0
  678. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/chunking/strategies.py +0 -0
  679. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/chunking/writer.py +0 -0
  680. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/cli/__init__.py +0 -0
  681. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/cli/main.py +0 -0
  682. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/config/__init__.py +0 -0
  683. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/config/default.yaml +0 -0
  684. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/core/__init__.py +0 -0
  685. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/core/extractor.py +0 -0
  686. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/core/run_config.py +0 -0
  687. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/core/zip_export.py +0 -0
  688. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/fetch.py +0 -0
  689. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/generators/__init__.py +0 -0
  690. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/generators/graph_builder.py +0 -0
  691. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/generators/mermaid_export.py +0 -0
  692. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/generators/relations.py +0 -0
  693. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/loaders/__init__.py +0 -0
  694. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/loaders/discovery.py +0 -0
  695. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/loaders/metadata_loader.py +0 -0
  696. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/mcp/__init__.py +0 -0
  697. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/mcp/server.py +0 -0
  698. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/models/__init__.py +0 -0
  699. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/models/domain.py +0 -0
  700. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/parser/__init__.py +0 -0
  701. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/parser/associations.py +0 -0
  702. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/parser/capabilities.py +0 -0
  703. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/parser/detector.py +0 -0
  704. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/parser/fetch.py +0 -0
  705. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/parser/json/__init__.py +0 -0
  706. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/parser/json/v4.py +0 -0
  707. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/parser/legacy.py +0 -0
  708. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/parser/namespaces.py +0 -0
  709. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/parser/registry.py +0 -0
  710. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/parser/xml/__init__.py +0 -0
  711. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/parser/xml/v1.py +0 -0
  712. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/parser/xml/v2_v3.py +0 -0
  713. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/parser/xml/v4.py +0 -0
  714. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/writers/__init__.py +0 -0
  715. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/writers/catalog_writer.py +0 -0
  716. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/odata/writers/slug.py +0 -0
  717. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/__init__.py +0 -0
  718. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/api/__init__.py +0 -0
  719. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/api/main.py +0 -0
  720. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/api/mcp_server.py +0 -0
  721. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/api/run.py +0 -0
  722. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/api/schemas.py +0 -0
  723. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/api/settings.py +0 -0
  724. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/cli/__init__.py +0 -0
  725. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/cli/main.py +0 -0
  726. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/config/__init__.py +0 -0
  727. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/config/default.yaml +0 -0
  728. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/converters/__init__.py +0 -0
  729. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/converters/swagger2_to_openapi3.py +0 -0
  730. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/core/__init__.py +0 -0
  731. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/core/extractor.py +0 -0
  732. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/core/run_config.py +0 -0
  733. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/core/zip_export.py +0 -0
  734. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/enrichers/__init__.py +0 -0
  735. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/enrichers/rules.py +0 -0
  736. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/enrichers/sample_body.py +0 -0
  737. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/generators/__init__.py +0 -0
  738. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/generators/dependency_graph.py +0 -0
  739. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/loaders/__init__.py +0 -0
  740. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/loaders/spec_loader.py +0 -0
  741. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/mcp/__init__.py +0 -0
  742. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/mcp/server.py +0 -0
  743. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/models/__init__.py +0 -0
  744. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/models/domain.py +0 -0
  745. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/normalizers/__init__.py +0 -0
  746. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/normalizers/operations.py +0 -0
  747. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/normalizers/schema_flatten.py +0 -0
  748. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/parsers/__init__.py +0 -0
  749. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/parsers/openapi_parser.py +0 -0
  750. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/resolvers/__init__.py +0 -0
  751. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/resolvers/ref_resolver.py +0 -0
  752. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/writers/__init__.py +0 -0
  753. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/openapi/writers/markdown_writer.py +0 -0
  754. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/otel/__init__.py +0 -0
  755. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/otel/cli/__init__.py +0 -0
  756. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/otel/cli/main.py +0 -0
  757. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/otel/otel_logs.py +0 -0
  758. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/otel/otel_metrics.py +0 -0
  759. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/otel/otel_models.py +0 -0
  760. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/otel/otel_parser.py +0 -0
  761. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/otel/otel_spans.py +0 -0
  762. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/pdf/__init__.py +0 -0
  763. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/pdf/api/__init__.py +0 -0
  764. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/pdf/api/main.py +0 -0
  765. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/pdf/api/mcp_server.py +0 -0
  766. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/pdf/api/settings.py +0 -0
  767. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/pdf/api/zip_bundle.py +0 -0
  768. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/pdf/converter.py +0 -0
  769. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/pdf/md_emit.py +0 -0
  770. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/pdf/pdf_extract.py +0 -0
  771. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/pdf/utils.py +0 -0
  772. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/playwright/__init__.py +0 -0
  773. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/playwright/api/__init__.py +0 -0
  774. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/playwright/api/convert_runner.py +0 -0
  775. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/playwright/api/jobs.py +0 -0
  776. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/playwright/api/main.py +0 -0
  777. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/playwright/api/mcp_server.py +0 -0
  778. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/playwright/api/mcp_setup.py +0 -0
  779. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/playwright/api/run.py +0 -0
  780. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/playwright/api/settings.py +0 -0
  781. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/playwright/assets.py +0 -0
  782. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/playwright/chunker.py +0 -0
  783. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/playwright/cli.py +0 -0
  784. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/playwright/extractor.py +0 -0
  785. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/playwright/html_to_md.py +0 -0
  786. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/playwright/options.py +0 -0
  787. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/playwright/pipeline.py +0 -0
  788. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/playwright/playwright_fetcher.py +0 -0
  789. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/__init__.py +0 -0
  790. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/api/__init__.py +0 -0
  791. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/api/convert_runner.py +0 -0
  792. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/api/jobs.py +0 -0
  793. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/api/main.py +0 -0
  794. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/api/mcp_server.py +0 -0
  795. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/api/mcp_setup.py +0 -0
  796. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/api/query_options.py +0 -0
  797. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/api/settings.py +0 -0
  798. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/convert_impl.py +0 -0
  799. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/converter.py +0 -0
  800. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/embedded_extract.py +0 -0
  801. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/ooxml_media.py +0 -0
  802. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/options.py +0 -0
  803. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/post_assets.py +0 -0
  804. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/text_formatting.py +0 -0
  805. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/vendor_pdf_md/__init__.py +0 -0
  806. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/vendor_pdf_md/convert.py +0 -0
  807. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/vendor_word_md/__init__.py +0 -0
  808. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/vendor_word_md/convert.py +0 -0
  809. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/ppt/zip_deep.py +0 -0
  810. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/runtime/__init__.py +0 -0
  811. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/runtime/execution_context.py +0 -0
  812. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/runtime/metrics.py +0 -0
  813. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/runtime/stage_engine.py +0 -0
  814. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/__init__.py +0 -0
  815. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/abap_journey/__init__.py +0 -0
  816. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/abap_journey/cache.py +0 -0
  817. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/abap_journey/engine.py +0 -0
  818. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/abap_journey/extractors.py +0 -0
  819. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/abap_journey/graph_builder.py +0 -0
  820. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/abap_journey/journey_builder.py +0 -0
  821. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/abap_journey/loaders.py +0 -0
  822. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/abap_journey/models.py +0 -0
  823. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/abap_journey/renderers/__init__.py +0 -0
  824. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/abap_journey/renderers/graphviz.py +0 -0
  825. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/abap_journey/renderers/json_renderer.py +0 -0
  826. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/abap_journey/renderers/markdown.py +0 -0
  827. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/abap_journey/renderers/mermaid.py +0 -0
  828. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/abap_journey/resolver.py +0 -0
  829. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/analyzer/authorization/extractor.py +0 -0
  830. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/analyzer/governance/classifier.py +0 -0
  831. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/analyzer/lineage/builder.py +0 -0
  832. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/analyzer/relationships/engine.py +0 -0
  833. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/analyzer/semantics/entity_mapper.py +0 -0
  834. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/analyzer/validation/extractor.py +0 -0
  835. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/api/main.py +0 -0
  836. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/api/mcp_server.py +0 -0
  837. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/api/run.py +0 -0
  838. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/api/schemas.py +0 -0
  839. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/api/settings.py +0 -0
  840. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/api/zip_export.py +0 -0
  841. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/__init__.py +0 -0
  842. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/abap/program.py +0 -0
  843. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/base.py +0 -0
  844. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/bw/adso.py +0 -0
  845. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/bw/composite_provider.py +0 -0
  846. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/bw/dtp.py +0 -0
  847. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/bw/info_object.py +0 -0
  848. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/bw/transformation.py +0 -0
  849. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/cds/view.py +0 -0
  850. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/datasphere/analytical_model.py +0 -0
  851. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/datasphere/data_flow.py +0 -0
  852. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/datasphere/view.py +0 -0
  853. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/ddic/table.py +0 -0
  854. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/hana/__init__.py +0 -0
  855. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/hana/calculation_view.py +0 -0
  856. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/identity.py +0 -0
  857. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/loader.py +0 -0
  858. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/provenance.py +0 -0
  859. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/transformation/__init__.py +0 -0
  860. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/transformation/graph.py +0 -0
  861. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/canonical/transformation/node.py +0 -0
  862. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/chunking/registry_v2.py +0 -0
  863. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/chunking/spec.py +0 -0
  864. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/cli/main.py +0 -0
  865. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/config/default.yaml +0 -0
  866. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/core/__init__.py +0 -0
  867. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/core/cache.py +0 -0
  868. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/core/errors.py +0 -0
  869. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/core/export_manifest.py +0 -0
  870. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/core/extractor.py +0 -0
  871. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/core/features.py +0 -0
  872. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/core/job_manager.py +0 -0
  873. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/core/link_graph.py +0 -0
  874. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/core/run_config.py +0 -0
  875. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/core/run_context.py +0 -0
  876. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/framework/artifact.py +0 -0
  877. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/framework/capabilities.py +0 -0
  878. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/framework/events.py +0 -0
  879. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/framework/paths.py +0 -0
  880. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/framework/plugin.py +0 -0
  881. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/generators/impact/from_graph.py +0 -0
  882. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/generators/lineage/from_graph.py +0 -0
  883. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/generators/mermaid/transformation_graph.py +0 -0
  884. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/generators/registry.py +0 -0
  885. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/graph/__init__.py +0 -0
  886. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/graph/adapters/__init__.py +0 -0
  887. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/graph/adapters/networkx.py +0 -0
  888. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/graph/adapters/openlineage.py +0 -0
  889. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/graph/backends/__init__.py +0 -0
  890. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/graph/backends/arango_stub.py +0 -0
  891. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/graph/backends/memory.py +0 -0
  892. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/graph/backends/neo4j_stub.py +0 -0
  893. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/graph/backends/protocol.py +0 -0
  894. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/graph/builder.py +0 -0
  895. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/graph/exporters/__init__.py +0 -0
  896. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/graph/exporters/json_export.py +0 -0
  897. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/graph/exporters/mermaid_export.py +0 -0
  898. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/graph/model.py +0 -0
  899. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/graph/relations.py +0 -0
  900. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/graph/store.py +0 -0
  901. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/graph/taxonomy.py +0 -0
  902. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/index/metadata_index.py +0 -0
  903. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/index/semantic_entity_registry.py +0 -0
  904. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/lineage/cross_system.py +0 -0
  905. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/lineage/semantic_match.py +0 -0
  906. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/__init__.py +0 -0
  907. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/builders/__init__.py +0 -0
  908. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/builders/abap_sections.py +0 -0
  909. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/builders/ddic_adapters.py +0 -0
  910. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/builders/ddic_sections.py +0 -0
  911. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/builders/entity_builder.py +0 -0
  912. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/builders/odata_builder.py +0 -0
  913. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/builders/renderer_context.py +0 -0
  914. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/builders/slug.py +0 -0
  915. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/builders/structure_sections.py +0 -0
  916. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/builders/writer.py +0 -0
  917. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/chunking/chunk_strategy.py +0 -0
  918. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/chunking/registry.py +0 -0
  919. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/chunking/writer.py +0 -0
  920. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/cross_link_registry.py +0 -0
  921. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/relationship_weights.py +0 -0
  922. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/resolved_link.py +0 -0
  923. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/semantic_narrative.py +0 -0
  924. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/semantic_types.py +0 -0
  925. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/markdown/unified_output_registry.py +0 -0
  926. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/models/entities/__init__.py +0 -0
  927. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/models/entities/kinds.py +0 -0
  928. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/models/entities/sap_object.py +0 -0
  929. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/models/metadata/__init__.py +0 -0
  930. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/models/metadata/abap.py +0 -0
  931. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/models/metadata/cds.py +0 -0
  932. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/models/metadata/ddic.py +0 -0
  933. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/models/metadata/ddic_canonical.py +0 -0
  934. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/models/metadata/ddic_canonical_io.py +0 -0
  935. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/models/metadata/ddic_kinds.py +0 -0
  936. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/models/metadata/odata.py +0 -0
  937. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/normalizer/registry.py +0 -0
  938. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/orchestration/__init__.py +0 -0
  939. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/orchestration/pipeline.py +0 -0
  940. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/orchestration/pipeline_v2.py +0 -0
  941. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/__init__.py +0 -0
  942. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/abap/__init__.py +0 -0
  943. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/abap/lexer.py +0 -0
  944. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/abap/native_sql.py +0 -0
  945. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/abap/parser.py +0 -0
  946. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/abap/sql_extractor.py +0 -0
  947. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/abap/sql_fingerprint.py +0 -0
  948. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/abap/view_classifier.py +0 -0
  949. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/abap/view_resolver.py +0 -0
  950. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/bapi/parser.py +0 -0
  951. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/base.py +0 -0
  952. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/bw/_common.py +0 -0
  953. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/bw/adso.py +0 -0
  954. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/bw/composite_provider.py +0 -0
  955. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/bw/dtp.py +0 -0
  956. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/bw/info_object.py +0 -0
  957. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/bw/registry.py +0 -0
  958. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/bw/transformation.py +0 -0
  959. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/cds/ddl_common.py +0 -0
  960. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/cds/parser.py +0 -0
  961. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/cds/table_ddl.py +0 -0
  962. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/cds/type_ddl.py +0 -0
  963. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/datasphere/_common.py +0 -0
  964. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/datasphere/analytical_model.py +0 -0
  965. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/datasphere/data_flow.py +0 -0
  966. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/datasphere/registry.py +0 -0
  967. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/datasphere/view.py +0 -0
  968. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/ddic/abapgit_tabl.py +0 -0
  969. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/ddic/adt_ddl_source.py +0 -0
  970. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/ddic/adt_parser.py +0 -0
  971. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/ddic/adt_xml.py +0 -0
  972. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/ddic/ddic_resolver.py +0 -0
  973. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/ddic/ddl_table_parser.py +0 -0
  974. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/ddic/normalize_helpers.py +0 -0
  975. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/ddic/parser.py +0 -0
  976. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/discovery.py +0 -0
  977. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/external/_common.py +0 -0
  978. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/external/dbt/__init__.py +0 -0
  979. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/external/dbt/manifest.py +0 -0
  980. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/external/informatica/__init__.py +0 -0
  981. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/external/informatica/mapping.py +0 -0
  982. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/external/kafka/__init__.py +0 -0
  983. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/external/kafka/schema.py +0 -0
  984. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/external/registry.py +0 -0
  985. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/external/snowflake/__init__.py +0 -0
  986. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/external/snowflake/ddl.py +0 -0
  987. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/hana/__init__.py +0 -0
  988. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/hana/_variant_common.py +0 -0
  989. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/hana/analytic_view.py +0 -0
  990. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/hana/attribute_view.py +0 -0
  991. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/hana/calculation_view.py +0 -0
  992. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/hana/dispatch.py +0 -0
  993. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/hana/hdi_calculation_view.py +0 -0
  994. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/hana/sql_view.py +0 -0
  995. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/hana/xml_stream.py +0 -0
  996. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/idoc/parser.py +0 -0
  997. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/odata/associations.py +0 -0
  998. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/odata/capabilities.py +0 -0
  999. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/odata/detector.py +0 -0
  1000. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/odata/document_to_objects.py +0 -0
  1001. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/odata/fetch.py +0 -0
  1002. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/odata/json/__init__.py +0 -0
  1003. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/odata/json/v4.py +0 -0
  1004. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/odata/legacy.py +0 -0
  1005. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/odata/namespaces.py +0 -0
  1006. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/odata/parser.py +0 -0
  1007. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/odata/registry.py +0 -0
  1008. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/odata/xml/__init__.py +0 -0
  1009. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/odata/xml/v1.py +0 -0
  1010. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/odata/xml/v2_v3.py +0 -0
  1011. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/odata/xml/v4.py +0 -0
  1012. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/registry.py +0 -0
  1013. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/rfc/__init__.py +0 -0
  1014. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/parser/transport/parser.py +0 -0
  1015. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/performance/parallel.py +0 -0
  1016. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/rules/catalog.yaml +0 -0
  1017. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sap/rules/engine.py +0 -0
  1018. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sdk/__init__.py +0 -0
  1019. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sdk/classifier_plugin.py +0 -0
  1020. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sdk/discovery.py +0 -0
  1021. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sdk/enricher_plugin.py +0 -0
  1022. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sdk/parser_plugin.py +0 -0
  1023. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sdk/plugin_protocol.py +0 -0
  1024. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sdk/stage_protocol.py +0 -0
  1025. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/sdk/writer_plugin.py +0 -0
  1026. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/text/__init__.py +0 -0
  1027. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/text/api/__init__.py +0 -0
  1028. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/text/api/convert_runner.py +0 -0
  1029. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/text/api/jobs.py +0 -0
  1030. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/text/api/main.py +0 -0
  1031. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/text/api/mcp_server.py +0 -0
  1032. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/text/api/mcp_setup.py +0 -0
  1033. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/text/api/query_options.py +0 -0
  1034. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/text/api/settings.py +0 -0
  1035. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/text/convert_impl.py +0 -0
  1036. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/text/converter.py +0 -0
  1037. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/text/format_detect.py +0 -0
  1038. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/text/md_emit_json.py +0 -0
  1039. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/text/md_emit_txt.py +0 -0
  1040. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/text/md_emit_xml.py +0 -0
  1041. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/text/md_flatten.py +0 -0
  1042. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/text/options.py +0 -0
  1043. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/text/xml_parse.py +0 -0
  1044. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/__init__.py +0 -0
  1045. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/__init__.py +0 -0
  1046. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/adapters/__init__.py +0 -0
  1047. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/adapters/claude.py +0 -0
  1048. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/adapters/cursor.py +0 -0
  1049. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/adapters/openai.py +0 -0
  1050. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/agent.py +0 -0
  1051. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/bundle.py +0 -0
  1052. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/chunks.py +0 -0
  1053. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/cli.py +0 -0
  1054. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/dependency-graph.json +0 -0
  1055. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-archive/references/example.md +0 -0
  1056. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-codeflow/references/example.md +0 -0
  1057. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-db/references/example.md +0 -0
  1058. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-global/references/example.md +0 -0
  1059. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-graph/references/example.md +0 -0
  1060. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-image/references/example.md +0 -0
  1061. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-log/references/example.md +0 -0
  1062. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-media/references/example.md +0 -0
  1063. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-odata/references/example.md +0 -0
  1064. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-openapi/references/example.md +0 -0
  1065. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-otel/references/example.md +0 -0
  1066. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-pdf/references/example.md +0 -0
  1067. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-playwright/references/example.md +0 -0
  1068. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-ppt/references/example.md +0 -0
  1069. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-sap/references/example.md +0 -0
  1070. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-text/references/example.md +0 -0
  1071. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-url/references/example.md +0 -0
  1072. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-word/references/example.md +0 -0
  1073. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-ai-xlsx/references/example.md +0 -0
  1074. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-reference/SKILL.md +0 -0
  1075. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-reference/references/entrypoints.md +0 -0
  1076. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-reference/references/example.md +0 -0
  1077. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/mdengine-reference/references/http-api-mcp.md +0 -0
  1078. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/modules/codeflow.md +0 -0
  1079. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/modules/db.md +0 -0
  1080. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/data/skills/modules/word.md +0 -0
  1081. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/rag.py +0 -0
  1082. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/assistant/registry.py +0 -0
  1083. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/skill_builder/__init__.py +0 -0
  1084. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/skill_builder/__main__.py +0 -0
  1085. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/skill_builder/dependency_graph.py +0 -0
  1086. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/skill_builder/generate.py +0 -0
  1087. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/skill_builder/pyproject_util.py +0 -0
  1088. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/tools/skill_builder/routing.py +0 -0
  1089. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/__init__.py +0 -0
  1090. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/api/__init__.py +0 -0
  1091. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/api/convert_runner.py +0 -0
  1092. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/api/jobs.py +0 -0
  1093. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/api/main.py +0 -0
  1094. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/api/mcp_server.py +0 -0
  1095. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/api/mcp_setup.py +0 -0
  1096. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/api/query_options.py +0 -0
  1097. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/api/settings.py +0 -0
  1098. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/assets.py +0 -0
  1099. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/convert_impl.py +0 -0
  1100. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/crawl.py +0 -0
  1101. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/extract.py +0 -0
  1102. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/fetch.py +0 -0
  1103. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/html_to_md.py +0 -0
  1104. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/options.py +0 -0
  1105. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/page_convert.py +0 -0
  1106. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/post_convert_assets.py +0 -0
  1107. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/url/robots_util.py +0 -0
  1108. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/word/__init__.py +0 -0
  1109. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/word/api/__init__.py +0 -0
  1110. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/word/api/convert_util.py +0 -0
  1111. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/word/api/jobs.py +0 -0
  1112. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/word/api/main.py +0 -0
  1113. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/word/api/mcp_server.py +0 -0
  1114. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/word/artifact.py +0 -0
  1115. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/word/converter.py +0 -0
  1116. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/word/settings.py +0 -0
  1117. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/xlsx/__init__.py +0 -0
  1118. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/xlsx/api/__init__.py +0 -0
  1119. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/xlsx/api/app.py +0 -0
  1120. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/xlsx/convert_config.py +0 -0
  1121. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/xlsx/converter.py +0 -0
  1122. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/xlsx/converter_core.py +0 -0
  1123. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/xlsx/excel_reader.py +0 -0
  1124. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/xlsx/markdown_emitter.py +0 -0
  1125. {mdengine-0.13.4 → mdengine-0.14.1}/src/md_generator/xlsx/mcp_server.py +0 -0
  1126. {mdengine-0.13.4 → mdengine-0.14.1}/src/mdengine.egg-info/dependency_links.txt +0 -0
  1127. {mdengine-0.13.4 → mdengine-0.14.1}/src/mdengine.egg-info/entry_points.txt +0 -0
  1128. {mdengine-0.13.4 → mdengine-0.14.1}/src/mdengine.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mdengine
3
- Version: 0.13.4
3
+ Version: 0.14.1
4
4
  Summary: Convert PDF, Office, images, audio, video, text/JSON/XML, ZIP archives, web URLs, databases, graphs, and OpenAPI specs to Markdown.
5
5
  Author: mdengine contributors
6
6
  License-Expression: MIT
@@ -107,6 +107,24 @@ Provides-Extra: graph
107
107
  Requires-Dist: networkx>=3.2.0; extra == "graph"
108
108
  Requires-Dist: neo4j>=5.14.0; extra == "graph"
109
109
  Requires-Dist: pyyaml>=6.0.0; extra == "graph"
110
+ Provides-Extra: vector
111
+ Requires-Dist: qdrant-client>=1.7.0; extra == "vector"
112
+ Requires-Dist: numpy>=1.24.0; extra == "vector"
113
+ Provides-Extra: langchain
114
+ Requires-Dist: langchain>=0.1.0; extra == "langchain"
115
+ Requires-Dist: langchain-core>=0.1.0; extra == "langchain"
116
+ Requires-Dist: langgraph>=0.0.10; extra == "langchain"
117
+ Provides-Extra: crewai
118
+ Requires-Dist: crewai>=0.28.0; extra == "crewai"
119
+ Provides-Extra: integrations
120
+ Requires-Dist: qdrant-client>=1.7.0; extra == "integrations"
121
+ Requires-Dist: numpy>=1.24.0; extra == "integrations"
122
+ Requires-Dist: langchain>=0.1.0; extra == "integrations"
123
+ Requires-Dist: langchain-core>=0.1.0; extra == "integrations"
124
+ Requires-Dist: langgraph>=0.0.10; extra == "integrations"
125
+ Requires-Dist: crewai>=0.28.0; extra == "integrations"
126
+ Requires-Dist: networkx>=3.2.0; extra == "integrations"
127
+ Requires-Dist: neo4j>=5.14.0; extra == "integrations"
110
128
  Provides-Extra: openapi
111
129
  Requires-Dist: pyyaml>=6.0.0; extra == "openapi"
112
130
  Requires-Dist: prance>=23.6.0; extra == "openapi"
@@ -243,7 +261,7 @@ Dynamic: license-file
243
261
 
244
262
  # mdengine
245
263
 
246
- Single Python distribution for converting **PDF**, **Word (.docx)**, **PowerPoint (.pptx)**, **Excel (.xlsx/.xlsm)**, **images** (OCR), **plain text / JSON / XML**, **ZIP archives**, **audio / video** (Whisper transcription → Markdown), **database metadata** (SQL + Mongo), **graphs** (Neo4j / NetworkX → Markdown), **OpenAPI** specs, **Playwright**-captured web pages (including SPAs), **application logs** (plain, JSON, CSV, ZIP bundles → Markdown with optional clustering and semantic grouping), **OpenTelemetry** traces (**OTLP** JSON or protobuf → Markdown trace summaries; optional correlation with log exports via `otel_path`), **OData CSDL metadata** (V1–V4, XML/JSON → Markdown catalogs via **`md-odata`**), **SAP artifacts** (ABAP, CDS, ADT DDIC XML, HANA views, BW, Datasphere, BAPI, IDoc, transport → AI-ready Markdown; OData catalogs via **`md-sap`**, standalone **`md-odata`**, or shared **`md_generator.odata`**), and **source code** (codeflow → architecture Markdown) into **Markdown** (and related assets). Install only the extras you need; everything imports under the **`md_generator`** package.
264
+ Single Python distribution for converting **PDF**, **Word (.docx)**, **PowerPoint (.pptx)**, **Excel (.xlsx/.xlsm)**, **images** (OCR), **plain text / JSON / XML**, **ZIP archives**, **audio / video** (Whisper transcription → Markdown), **database metadata** (SQL + Mongo), **graphs** (Neo4j / NetworkX → Markdown), **OpenAPI** specs, **Playwright**-captured web pages (including SPAs), **application logs** (plain, JSON, CSV, ZIP bundles → Markdown with optional clustering and semantic grouping), **OpenTelemetry** traces (**OTLP** JSON or protobuf → Markdown trace summaries; optional correlation with log exports via `otel_path`), **OData CSDL metadata** (V1–V4, XML/JSON → Markdown catalogs via **`md-odata`**), **SAP artifacts** (ABAP, CDS, ADT DDIC XML, HANA views, BW, Datasphere, BAPI, IDoc, transport, **ABAP execution journeys & call graphs** → AI-ready Markdown; OData catalogs via **`md-sap`**, standalone **`md-odata`**, or shared **`md_generator.odata`**), and **source code** (codeflow → architecture Markdown) into **Markdown** (and related assets). Install only the extras you need; everything imports under the **`md_generator`** package.
247
265
 
248
266
  - **PyPI name:** `mdengine` (import package: `md_generator`)
249
267
  - **Source:** [github.com/mdengine/md-generator](https://github.com/mdengine/md-generator)
@@ -442,7 +460,7 @@ If the shell reports “command not found”, ensure the Python **Scripts** dire
442
460
 
443
461
  **odata-to-md (`md-odata`):** parses **OData CSDL** metadata (**V1–V4**, XML or JSON) from **`--file`**, **`--folder`**, **`--zip`**, or **`--url`** (`$metadata`) into catalog Markdown under **`odata/`** (services, entity sets, types, actions, functions). Optional **`--graph`** (relationship JSON/Mermaid) and **`--chunk`** (semantic chunks for RAG). Works **standalone** with **`md-odata`**; when OData files sit beside ABAP/CDS in a SAP tree, use **`md-sap`** instead — see [odata-to-md/docs/dual-mode.md](odata-to-md/docs/dual-mode.md). Library: [`md_generator/odata/`](src/md_generator/odata/). Module README: [`odata-to-md/README.md`](odata-to-md/README.md); catalog layout: [odata-to-md/docs/output-layout.md](odata-to-md/docs/output-layout.md); SAP-integrated catalog notes: [sap-to-md/docs/odata-catalog.md](sap-to-md/docs/odata-catalog.md).
444
462
 
445
- **sap-to-md (`md-sap`):** parses **ABAP**, **CDS** (views, **`define table`**, **`define type`** structures), **DDIC** (ADT dictionary XML, abapGit **`TABL`**, DD02/DD03 CSV), **OData** metadata (via shared **`md_generator.odata`** when **`odata_catalog`** is enabled), **BAPI**, **IDoc**, and transport artifacts into chunked Markdown knowledge packs. Also supports **SAP HANA** (calculation, analytic, attribute, SQL, and HDI views), **SAP BW/4HANA** (ADSO, composite providers, DTP, InfoObjects, transformations), **SAP Datasphere** (`.dsview`, `.dataflow`, analytical model JSON exports), and optional **external lineage** parsers (dbt `manifest.json`, Snowflake DDL, Kafka `.avsc`, Informatica mapping XML) when **`parser.include_external: true`** in YAML.
463
+ **sap-to-md (`md-sap`):** parses **ABAP**, **CDS** (views, **`define table`**, **`define type`** structures), **DDIC** (ADT dictionary XML, abapGit **`TABL`**, DD02/DD03 CSV), **OData** metadata (via shared **`md_generator.odata`** when **`odata_catalog`** is enabled), **BAPI**, **IDoc**, and transport artifacts into chunked Markdown knowledge packs. Also supports **ABAP execution journeys & call graphs** (`abap_journey` static caller-callee resolution, traversal limits, statement extractors, fallback journey roots, `.journey-cache`, Mermaid/Graphviz/Markdown renderers), **SAP HANA** (calculation, analytic, attribute, SQL, and HDI views), **SAP BW/4HANA** (ADSO, composite providers, DTP, InfoObjects, transformations), **SAP Datasphere** (`.dsview`, `.dataflow`, analytical model JSON exports), and optional **external lineage** parsers (dbt `manifest.json`, Snowflake DDL, Kafka `.avsc`, Informatica mapping XML) when **`parser.include_external: true`** in YAML.
446
464
 
447
465
  **DDIC / ADT:** Eclipse ADT exports under `wbobj/dictionary/` (data elements, domains, tables, structures, table types, range types, reference types) are parsed by **`ddic.adt`**. Modern **`TABL/DT`** objects with DDL references accept sidecar DDL source when present. Normalized **`ddic_canonical`** metadata powers v2 generators; legacy entity keys remain for v1 **`entities/`** output. Output layout: **`ddic/data-elements/`**, **`ddic/domains/`**, **`ddic/tables/`**, … and shared **`structures/{name}.md`** for ADT structures and CDS **`define type`**. See [sap-to-md/docs/ddic-adt.md](sap-to-md/docs/ddic-adt.md).
448
466
 
@@ -885,6 +903,7 @@ Library code lives under [`src/md_generator/sap/`](src/md_generator/sap/). The p
885
903
  | Package area | Role |
886
904
  |--------------|------|
887
905
  | `parser/` | Plugin registry — ABAP, CDS (view / **`define table`** / **`define type`**), DDIC (ADT XML, abapGit TABL, CSV), OData, BAPI, IDoc, transport, HANA, BW, Datasphere, external lineage |
906
+ | `abap_journey/` | ABAP execution journeys & call graphs — static call resolution, traversal limits, statement extractors, fallback journey roots, incremental caching, Mermaid/Graphviz/Markdown renderers |
888
907
  | `normalizer/` + `canonical/` | **`SapObject` → `CanonicalArtifact`**, typed **`ddic_canonical`** metadata, transformation graphs |
889
908
  | `analyzer/` | Relationships, governance, validation, authorization, lineage, semantics |
890
909
  | `generators/` + `markdown/` | v1 entity docs (12 sections) and v2 typed Markdown (DDIC, HANA, CDS, BW, Datasphere); optional **semantic narrative** blocks |
@@ -1284,6 +1303,7 @@ Static call graphs and per-entry Markdown/Mermaid/JSON for **Python**, **Java**
1284
1303
  More detail: **[`codeflow-to-md/docs/graph-and-outputs.md`](codeflow-to-md/docs/graph-and-outputs.md)** (node/edge model, `graph-schema.json`, `methods/` layout).
1285
1304
 
1286
1305
  - **Formats:** pass **`--formats md,mermaid,json,html`** (comma-separated). **`--output`** is the **output directory**, not the format list.
1306
+ - **Journey analysis & export formats:** pass **`--journey-format md,json,mermaid,html,dot,graphml,gexf`** to generate cross-file execution journey representations and export graph visualizations (DOT, GraphML, GEXF) alongside Markdown/Mermaid outputs.
1287
1307
  - **Graph schema export:** optional **`--emit-graph-schema`** (with `json` in formats) writes **`graph-schema.json`** — stable Node/Edge view with derived File/Class nodes and `CONTAINS` edges. **`graph-full.json`** stays unchanged for existing consumers.
1288
1308
  - **Markdown intelligence:** flow and entry Markdown include **Called By** and **Impact** lists (capped with **`--intelligence-list-cap`**, default 80).
1289
1309
  - **IR / CFG (optional):** **`--emit-cfg`** builds a language-agnostic IR and writes **`cfg.json`**, **`cfg.mmd`**, and appends a CFG Mermaid block to **`flow.md`** (when `md` is in formats). Cap with **`--cfg-max-nodes`** (default 500).
@@ -1,6 +1,6 @@
1
1
  # mdengine
2
2
 
3
- Single Python distribution for converting **PDF**, **Word (.docx)**, **PowerPoint (.pptx)**, **Excel (.xlsx/.xlsm)**, **images** (OCR), **plain text / JSON / XML**, **ZIP archives**, **audio / video** (Whisper transcription → Markdown), **database metadata** (SQL + Mongo), **graphs** (Neo4j / NetworkX → Markdown), **OpenAPI** specs, **Playwright**-captured web pages (including SPAs), **application logs** (plain, JSON, CSV, ZIP bundles → Markdown with optional clustering and semantic grouping), **OpenTelemetry** traces (**OTLP** JSON or protobuf → Markdown trace summaries; optional correlation with log exports via `otel_path`), **OData CSDL metadata** (V1–V4, XML/JSON → Markdown catalogs via **`md-odata`**), **SAP artifacts** (ABAP, CDS, ADT DDIC XML, HANA views, BW, Datasphere, BAPI, IDoc, transport → AI-ready Markdown; OData catalogs via **`md-sap`**, standalone **`md-odata`**, or shared **`md_generator.odata`**), and **source code** (codeflow → architecture Markdown) into **Markdown** (and related assets). Install only the extras you need; everything imports under the **`md_generator`** package.
3
+ Single Python distribution for converting **PDF**, **Word (.docx)**, **PowerPoint (.pptx)**, **Excel (.xlsx/.xlsm)**, **images** (OCR), **plain text / JSON / XML**, **ZIP archives**, **audio / video** (Whisper transcription → Markdown), **database metadata** (SQL + Mongo), **graphs** (Neo4j / NetworkX → Markdown), **OpenAPI** specs, **Playwright**-captured web pages (including SPAs), **application logs** (plain, JSON, CSV, ZIP bundles → Markdown with optional clustering and semantic grouping), **OpenTelemetry** traces (**OTLP** JSON or protobuf → Markdown trace summaries; optional correlation with log exports via `otel_path`), **OData CSDL metadata** (V1–V4, XML/JSON → Markdown catalogs via **`md-odata`**), **SAP artifacts** (ABAP, CDS, ADT DDIC XML, HANA views, BW, Datasphere, BAPI, IDoc, transport, **ABAP execution journeys & call graphs** → AI-ready Markdown; OData catalogs via **`md-sap`**, standalone **`md-odata`**, or shared **`md_generator.odata`**), and **source code** (codeflow → architecture Markdown) into **Markdown** (and related assets). Install only the extras you need; everything imports under the **`md_generator`** package.
4
4
 
5
5
  - **PyPI name:** `mdengine` (import package: `md_generator`)
6
6
  - **Source:** [github.com/mdengine/md-generator](https://github.com/mdengine/md-generator)
@@ -199,7 +199,7 @@ If the shell reports “command not found”, ensure the Python **Scripts** dire
199
199
 
200
200
  **odata-to-md (`md-odata`):** parses **OData CSDL** metadata (**V1–V4**, XML or JSON) from **`--file`**, **`--folder`**, **`--zip`**, or **`--url`** (`$metadata`) into catalog Markdown under **`odata/`** (services, entity sets, types, actions, functions). Optional **`--graph`** (relationship JSON/Mermaid) and **`--chunk`** (semantic chunks for RAG). Works **standalone** with **`md-odata`**; when OData files sit beside ABAP/CDS in a SAP tree, use **`md-sap`** instead — see [odata-to-md/docs/dual-mode.md](odata-to-md/docs/dual-mode.md). Library: [`md_generator/odata/`](src/md_generator/odata/). Module README: [`odata-to-md/README.md`](odata-to-md/README.md); catalog layout: [odata-to-md/docs/output-layout.md](odata-to-md/docs/output-layout.md); SAP-integrated catalog notes: [sap-to-md/docs/odata-catalog.md](sap-to-md/docs/odata-catalog.md).
201
201
 
202
- **sap-to-md (`md-sap`):** parses **ABAP**, **CDS** (views, **`define table`**, **`define type`** structures), **DDIC** (ADT dictionary XML, abapGit **`TABL`**, DD02/DD03 CSV), **OData** metadata (via shared **`md_generator.odata`** when **`odata_catalog`** is enabled), **BAPI**, **IDoc**, and transport artifacts into chunked Markdown knowledge packs. Also supports **SAP HANA** (calculation, analytic, attribute, SQL, and HDI views), **SAP BW/4HANA** (ADSO, composite providers, DTP, InfoObjects, transformations), **SAP Datasphere** (`.dsview`, `.dataflow`, analytical model JSON exports), and optional **external lineage** parsers (dbt `manifest.json`, Snowflake DDL, Kafka `.avsc`, Informatica mapping XML) when **`parser.include_external: true`** in YAML.
202
+ **sap-to-md (`md-sap`):** parses **ABAP**, **CDS** (views, **`define table`**, **`define type`** structures), **DDIC** (ADT dictionary XML, abapGit **`TABL`**, DD02/DD03 CSV), **OData** metadata (via shared **`md_generator.odata`** when **`odata_catalog`** is enabled), **BAPI**, **IDoc**, and transport artifacts into chunked Markdown knowledge packs. Also supports **ABAP execution journeys & call graphs** (`abap_journey` static caller-callee resolution, traversal limits, statement extractors, fallback journey roots, `.journey-cache`, Mermaid/Graphviz/Markdown renderers), **SAP HANA** (calculation, analytic, attribute, SQL, and HDI views), **SAP BW/4HANA** (ADSO, composite providers, DTP, InfoObjects, transformations), **SAP Datasphere** (`.dsview`, `.dataflow`, analytical model JSON exports), and optional **external lineage** parsers (dbt `manifest.json`, Snowflake DDL, Kafka `.avsc`, Informatica mapping XML) when **`parser.include_external: true`** in YAML.
203
203
 
204
204
  **DDIC / ADT:** Eclipse ADT exports under `wbobj/dictionary/` (data elements, domains, tables, structures, table types, range types, reference types) are parsed by **`ddic.adt`**. Modern **`TABL/DT`** objects with DDL references accept sidecar DDL source when present. Normalized **`ddic_canonical`** metadata powers v2 generators; legacy entity keys remain for v1 **`entities/`** output. Output layout: **`ddic/data-elements/`**, **`ddic/domains/`**, **`ddic/tables/`**, … and shared **`structures/{name}.md`** for ADT structures and CDS **`define type`**. See [sap-to-md/docs/ddic-adt.md](sap-to-md/docs/ddic-adt.md).
205
205
 
@@ -642,6 +642,7 @@ Library code lives under [`src/md_generator/sap/`](src/md_generator/sap/). The p
642
642
  | Package area | Role |
643
643
  |--------------|------|
644
644
  | `parser/` | Plugin registry — ABAP, CDS (view / **`define table`** / **`define type`**), DDIC (ADT XML, abapGit TABL, CSV), OData, BAPI, IDoc, transport, HANA, BW, Datasphere, external lineage |
645
+ | `abap_journey/` | ABAP execution journeys & call graphs — static call resolution, traversal limits, statement extractors, fallback journey roots, incremental caching, Mermaid/Graphviz/Markdown renderers |
645
646
  | `normalizer/` + `canonical/` | **`SapObject` → `CanonicalArtifact`**, typed **`ddic_canonical`** metadata, transformation graphs |
646
647
  | `analyzer/` | Relationships, governance, validation, authorization, lineage, semantics |
647
648
  | `generators/` + `markdown/` | v1 entity docs (12 sections) and v2 typed Markdown (DDIC, HANA, CDS, BW, Datasphere); optional **semantic narrative** blocks |
@@ -1041,6 +1042,7 @@ Static call graphs and per-entry Markdown/Mermaid/JSON for **Python**, **Java**
1041
1042
  More detail: **[`codeflow-to-md/docs/graph-and-outputs.md`](codeflow-to-md/docs/graph-and-outputs.md)** (node/edge model, `graph-schema.json`, `methods/` layout).
1042
1043
 
1043
1044
  - **Formats:** pass **`--formats md,mermaid,json,html`** (comma-separated). **`--output`** is the **output directory**, not the format list.
1045
+ - **Journey analysis & export formats:** pass **`--journey-format md,json,mermaid,html,dot,graphml,gexf`** to generate cross-file execution journey representations and export graph visualizations (DOT, GraphML, GEXF) alongside Markdown/Mermaid outputs.
1044
1046
  - **Graph schema export:** optional **`--emit-graph-schema`** (with `json` in formats) writes **`graph-schema.json`** — stable Node/Edge view with derived File/Class nodes and `CONTAINS` edges. **`graph-full.json`** stays unchanged for existing consumers.
1045
1047
  - **Markdown intelligence:** flow and entry Markdown include **Called By** and **Impact** lists (capped with **`--intelligence-list-cap`**, default 80).
1046
1048
  - **IR / CFG (optional):** **`--emit-cfg`** builds a language-agnostic IR and writes **`cfg.json`**, **`cfg.mmd`**, and appends a CFG Mermaid block to **`flow.md`** (when `md` is in formats). Cap with **`--cfg-max-nodes`** (default 500).
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mdengine"
7
- version = "0.13.4"
7
+ version = "0.14.1"
8
8
  description = "Convert PDF, Office, images, audio, video, text/JSON/XML, ZIP archives, web URLs, databases, graphs, and OpenAPI specs to Markdown."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -109,6 +109,28 @@ graph = [
109
109
  "neo4j>=5.14.0",
110
110
  "pyyaml>=6.0.0",
111
111
  ]
112
+ vector = [
113
+ "qdrant-client>=1.7.0",
114
+ "numpy>=1.24.0",
115
+ ]
116
+ langchain = [
117
+ "langchain>=0.1.0",
118
+ "langchain-core>=0.1.0",
119
+ "langgraph>=0.0.10",
120
+ ]
121
+ crewai = [
122
+ "crewai>=0.28.0",
123
+ ]
124
+ integrations = [
125
+ "qdrant-client>=1.7.0",
126
+ "numpy>=1.24.0",
127
+ "langchain>=0.1.0",
128
+ "langchain-core>=0.1.0",
129
+ "langgraph>=0.0.10",
130
+ "crewai>=0.28.0",
131
+ "networkx>=3.2.0",
132
+ "neo4j>=5.14.0",
133
+ ]
112
134
  openapi = [
113
135
  "pyyaml>=6.0.0",
114
136
  "prance>=23.6.0",
@@ -329,8 +351,10 @@ include = ["md_generator*"]
329
351
  "md_generator.tools.assistant" = ["data/**/*"]
330
352
 
331
353
  [tool.pytest.ini_options]
354
+ addopts = "--import-mode=importlib"
332
355
  pythonpath = ["src"]
333
356
  testpaths = [
357
+ "tests",
334
358
  "tool-assistant/tests",
335
359
  "pdf-to-md/tests",
336
360
  "word-to-md/tests",
@@ -1,5 +1,5 @@
1
1
  """md_generator: PDF, Office, image, text, and ZIP to Markdown conversion."""
2
2
 
3
- __version__ = "0.13.4"
3
+ __version__ = "0.14.1"
4
4
 
5
5
  __all__ = ["__version__"]
@@ -0,0 +1 @@
1
+ """Adapters bridging md_generator to external AI ecosystems."""
@@ -0,0 +1,20 @@
1
+ """Public facade for mdengine CrewAI tool adapters."""
2
+
3
+ from md_generator.adapters.crewai.exceptions import (
4
+ CrewAIAdapterError,
5
+ CrewAIDependencyError,
6
+ CrewAIToolExecutionError,
7
+ TenantBoundaryError,
8
+ )
9
+ from md_generator.adapters.crewai.schema import MDSearchInput
10
+ from md_generator.adapters.crewai.tools import MDSearchTool, detect_crewai_base_tool
11
+
12
+ __all__ = [
13
+ "MDSearchTool",
14
+ "detect_crewai_base_tool",
15
+ "MDSearchInput",
16
+ "CrewAIAdapterError",
17
+ "CrewAIDependencyError",
18
+ "CrewAIToolExecutionError",
19
+ "TenantBoundaryError",
20
+ ]
@@ -0,0 +1,29 @@
1
+ """Standalone exception hierarchy for mdengine CrewAI tool adapters.
2
+
3
+ Uncoupled from vector store errors and LangGraph errors, while preserving
4
+ direct propagation of the shared TenantBoundaryError for security violations.
5
+ """
6
+
7
+ from md_generator.vector.exceptions import TenantBoundaryError
8
+
9
+ __all__ = [
10
+ "CrewAIAdapterError",
11
+ "CrewAIDependencyError",
12
+ "CrewAIToolExecutionError",
13
+ "TenantBoundaryError",
14
+ ]
15
+
16
+
17
+ class CrewAIAdapterError(Exception):
18
+ """Base exception for all CrewAI adapter operations."""
19
+ pass
20
+
21
+
22
+ class CrewAIDependencyError(ImportError, CrewAIAdapterError):
23
+ """Raised when CrewAI is installed but cannot be imported due to syntax or dependency errors."""
24
+ pass
25
+
26
+
27
+ class CrewAIToolExecutionError(CrewAIAdapterError):
28
+ """Raised on invalid document scores, execution failures, or tool operational faults."""
29
+ pass
@@ -0,0 +1,37 @@
1
+ """Strict Pydantic v2 input argument schemas for CrewAI tools."""
2
+
3
+ from pydantic import BaseModel, ConfigDict, Field, field_validator
4
+
5
+ __all__ = ["MDSearchInput"]
6
+
7
+
8
+ class MDSearchInput(BaseModel):
9
+ """Strict input argument schema for mdengine CrewAI search tool.
10
+
11
+ Invariants:
12
+ 1. extra="forbid": Unknown fields (including agent-supplied tenant_id) are strictly rejected.
13
+ 2. strict=True: Rejects loose type coercions (e.g., int/float to string).
14
+ 3. frozen=True: Input instance is immutable.
15
+ 4. Option A: Retrieval uses the retriever's configured top_k setting without a conflicting per-call limit.
16
+ """
17
+ model_config = ConfigDict(
18
+ extra="forbid",
19
+ strict=True,
20
+ frozen=True,
21
+ )
22
+
23
+ query: str = Field(
24
+ ...,
25
+ description="Search query to locate relevant enterprise documentation, code, and architecture specifications.",
26
+ min_length=1,
27
+ )
28
+
29
+ @field_validator("query")
30
+ @classmethod
31
+ def validate_non_whitespace_query(cls, v: str) -> str:
32
+ if not isinstance(v, str):
33
+ raise ValueError("Query must be a string.")
34
+ stripped = v.strip()
35
+ if not stripped:
36
+ raise ValueError("Query string cannot be empty or whitespace-only.")
37
+ return stripped
@@ -0,0 +1,284 @@
1
+ """MDSearchTool adapter for CrewAI agents with bound tenant isolation and score filtering."""
2
+
3
+ import importlib.util
4
+ import math
5
+ from typing import Any, Optional, Type
6
+ from pydantic import BaseModel, ConfigDict, PrivateAttr
7
+
8
+ from md_generator.adapters.crewai.exceptions import (
9
+ CrewAIDependencyError,
10
+ CrewAIToolExecutionError,
11
+ TenantBoundaryError,
12
+ )
13
+ from md_generator.adapters.crewai.schema import MDSearchInput
14
+ from md_generator.adapters.langchain.context import PromptContextBuilder
15
+ from md_generator.adapters.langchain.retriever import MDVectorStoreRetriever
16
+
17
+ __all__ = ["MDSearchTool", "detect_crewai_base_tool"]
18
+
19
+
20
+ def detect_crewai_base_tool() -> Optional[Type[Any]]:
21
+ """Detects BaseTool from crewai or crewai_tools without masking broken installations.
22
+
23
+ Supported Version Range:
24
+ - CrewAI >= 0.11.0 to current: imports from `crewai.tools.BaseTool`
25
+ - CrewAI tool packages: imports from `crewai_tools.BaseTool`
26
+
27
+ Resolution Logic (P2B-R03):
28
+ 1. Genuine Absence: If neither `crewai` nor `crewai_tools` can be located by
29
+ importlib.util.find_spec, returns None to activate `_FallbackBaseTool`.
30
+ 2. Installed Package: If either package is located on disk, attempts to import BaseTool.
31
+ A failure indicates a broken installation (missing internal dependencies, syntax
32
+ errors, or version incompatibilities) and raises CrewAIDependencyError.
33
+ """
34
+ has_crewai = False
35
+ has_crewai_tools = False
36
+
37
+ try:
38
+ has_crewai = importlib.util.find_spec("crewai") is not None
39
+ except (ImportError, AttributeError, ValueError) as err:
40
+ raise CrewAIDependencyError(f"Corrupted crewai package metadata: {err}") from err
41
+
42
+ try:
43
+ has_crewai_tools = importlib.util.find_spec("crewai_tools") is not None
44
+ except (ImportError, AttributeError, ValueError) as err:
45
+ raise CrewAIDependencyError(f"Corrupted crewai_tools package metadata: {err}") from err
46
+
47
+ # Case 1: Genuinely absent
48
+ if not has_crewai and not has_crewai_tools:
49
+ return None
50
+
51
+ # Case 2: crewai package located
52
+ if has_crewai:
53
+ try:
54
+ from crewai.tools import BaseTool as DetectedBaseTool
55
+ return DetectedBaseTool
56
+ except ImportError as err:
57
+ if has_crewai_tools:
58
+ try:
59
+ from crewai_tools import BaseTool as DetectedToolsBaseTool
60
+ return DetectedToolsBaseTool
61
+ except ImportError as err_tools:
62
+ raise CrewAIDependencyError(
63
+ f"CrewAI packages installed but BaseTool could not be imported: "
64
+ f"crewai: {err}; crewai_tools: {err_tools}"
65
+ ) from err_tools
66
+ raise CrewAIDependencyError(
67
+ f"crewai is installed but BaseTool cannot be imported: {err}"
68
+ ) from err
69
+
70
+ # Case 3: only crewai_tools package located
71
+ if has_crewai_tools:
72
+ try:
73
+ from crewai_tools import BaseTool as DetectedToolsBaseTool
74
+ return DetectedToolsBaseTool
75
+ except ImportError as err:
76
+ raise CrewAIDependencyError(
77
+ f"crewai_tools is installed but BaseTool cannot be imported: {err}"
78
+ ) from err
79
+
80
+ return None
81
+
82
+
83
+ CrewAIBaseTool: Optional[Type[Any]] = detect_crewai_base_tool()
84
+
85
+
86
+ class _FallbackBaseTool(BaseModel):
87
+ """Pydantic v2 fallback providing the identical public compatibility surface when CrewAI is absent."""
88
+ model_config = ConfigDict(arbitrary_types_allowed=True)
89
+
90
+ name: str = "enterprise_knowledge_search"
91
+ description: str = (
92
+ "Search enterprise markdown and code documentation with token-budgeted prompt context and source citations."
93
+ )
94
+ args_schema: Type[BaseModel] = MDSearchInput
95
+
96
+ def run(self, *args: Any, **kwargs: Any) -> str:
97
+ return self._run(*args, **kwargs)
98
+
99
+ def _run(self, *args: Any, **kwargs: Any) -> str:
100
+ raise NotImplementedError
101
+
102
+
103
+ _ToolBase = CrewAIBaseTool if CrewAIBaseTool is not None else _FallbackBaseTool
104
+
105
+
106
+ class MDSearchTool(_ToolBase):
107
+ """CrewAI search tool adapter bridging mdengine retrieval to multi-agent ecosystems.
108
+
109
+ Invariants:
110
+ 1. Mandatory Bound Tenant Isolation (C1): Bound to a single immutable tenant_id at construction.
111
+ 2. Input Schema Contract (C2): Pydantic v2 strict input schema with extra='forbid'.
112
+ 3. Document Score Contract (C3): Scores validated in [0.0, 1.0] and filtered by min_score.
113
+ 4. Deterministic Output (C4): Structured PromptContextBuilder output; informative string on 0 results.
114
+ 5. Zero In-Place Mutation: Never alters retriever, vector store, or document states.
115
+ """
116
+ name: str = "enterprise_knowledge_search"
117
+ description: str = (
118
+ "Search enterprise markdown and code documentation with token-budgeted prompt context and source citations."
119
+ )
120
+ args_schema: Type[BaseModel] = MDSearchInput
121
+
122
+ _retriever: Any = PrivateAttr()
123
+ _tenant_id: str = PrivateAttr()
124
+ _min_score: float = PrivateAttr()
125
+ _builder: PromptContextBuilder = PrivateAttr()
126
+ _is_frozen: bool = PrivateAttr(default=False)
127
+
128
+ def __init__(
129
+ self,
130
+ retriever: MDVectorStoreRetriever,
131
+ tenant_id: str,
132
+ min_score: float = 0.0,
133
+ builder: Optional[PromptContextBuilder] = None,
134
+ **kwargs: Any,
135
+ ) -> None:
136
+ # 1. Mandatory construction-time tenant validation (P2B-V04)
137
+ if tenant_id is None or not isinstance(tenant_id, str) or not tenant_id.strip():
138
+ raise TenantBoundaryError("MDSearchTool requires a mandatory non-empty string 'tenant_id'.")
139
+ clean_tenant = tenant_id.strip()
140
+
141
+ if not hasattr(retriever, "tenant_id"):
142
+ raise TenantBoundaryError("retriever must provide a valid 'tenant_id' attribute.")
143
+ retriever_tenant = getattr(retriever, "tenant_id")
144
+ if not retriever_tenant or clean_tenant != retriever_tenant.strip():
145
+ raise TenantBoundaryError(
146
+ f"Tool tenant_id '{clean_tenant}' conflicts with retriever tenant_id '{retriever_tenant}'."
147
+ )
148
+
149
+ # 2. Strict threshold validation (P2B-V05)
150
+ if isinstance(min_score, bool):
151
+ raise ValueError("min_score cannot be a boolean.")
152
+ if not isinstance(min_score, (int, float)):
153
+ raise ValueError(f"min_score must be a numeric float or int, got {type(min_score).__name__}.")
154
+ min_score_val = float(min_score)
155
+ if math.isnan(min_score_val) or math.isinf(min_score_val):
156
+ raise ValueError("min_score cannot be NaN or Infinite.")
157
+ if not (0.0 <= min_score_val <= 1.0):
158
+ raise ValueError(f"min_score must be between 0.0 and 1.0, got {min_score_val}.")
159
+
160
+ # 3. Builder initialization
161
+ if builder is None:
162
+ builder = PromptContextBuilder()
163
+
164
+ super().__init__(**kwargs)
165
+ self._retriever = retriever
166
+ self._tenant_id = clean_tenant
167
+ self._min_score = min_score_val
168
+ self._builder = builder
169
+ self._is_frozen = True
170
+
171
+ @property
172
+ def tenant_id(self) -> str:
173
+ """Immutable trusted tenant identifier bound at construction."""
174
+ return self._tenant_id
175
+
176
+ @property
177
+ def min_score(self) -> float:
178
+ """Minimum relevance threshold for document inclusion."""
179
+ return self._min_score
180
+
181
+ @property
182
+ def retriever(self) -> Any:
183
+ """Bound vector store retriever."""
184
+ return self._retriever
185
+
186
+ @property
187
+ def builder(self) -> PromptContextBuilder:
188
+ """Bound context builder."""
189
+ return self._builder
190
+
191
+ def __setattr__(self, name: str, value: Any) -> None:
192
+ if getattr(self, "_is_frozen", False) and name in ("tenant_id", "_tenant_id"):
193
+ raise AttributeError("tenant_id is immutable and cannot be reassigned.")
194
+ super().__setattr__(name, value)
195
+
196
+ def _run(self, *args: Any, **kwargs: Any) -> str:
197
+ """Executes tenant-isolated retrieval, document validation, score filtering, and context synthesis.
198
+
199
+ Invocation Signatures (P2B-R01):
200
+ - Keyword: run(query="...") or _run(query="...")
201
+ - Positional: run("...") or _run("...")
202
+
203
+ Schema Enforcement:
204
+ All inputs (positional or keyword) are validated through MDSearchInput:
205
+ - Missing arguments -> pydantic.ValidationError
206
+ - Non-string or whitespace queries -> pydantic.ValidationError
207
+ - Extra fields (e.g. tenant_id) -> pydantic.ValidationError
208
+ - Multiple or ambiguous positional arguments -> pydantic.ValidationError
209
+ """
210
+ # 1. Parse arguments and normalize into kwargs for MDSearchInput validation
211
+ call_kwargs = dict(kwargs)
212
+ if args:
213
+ if len(args) == 1:
214
+ if "query" in call_kwargs:
215
+ call_kwargs["__duplicate_positional_query__"] = args[0]
216
+ else:
217
+ call_kwargs["query"] = args[0]
218
+ else:
219
+ for idx, arg in enumerate(args):
220
+ call_kwargs[f"__positional_{idx}__"] = arg
221
+
222
+ validated = MDSearchInput.model_validate(call_kwargs)
223
+ query_str = validated.query
224
+
225
+ # 2. Invoke retriever
226
+ try:
227
+ raw_docs = self._retriever.invoke(query_str) or []
228
+ except TenantBoundaryError:
229
+ raise
230
+ except Exception as err:
231
+ raise CrewAIToolExecutionError(f"Retriever invocation failed for query '{query_str}': {err}") from err
232
+
233
+ # 3. Deep document tenant ownership validation (P2B-V04)
234
+ for i, doc in enumerate(raw_docs):
235
+ meta = doc.metadata if hasattr(doc, "metadata") else (doc.get("metadata", {}) if isinstance(doc, dict) else {})
236
+ doc_tenant = meta.get("tenant_id")
237
+ if doc_tenant is None or not isinstance(doc_tenant, str) or not doc_tenant.strip():
238
+ raise TenantBoundaryError(
239
+ f"Retrieved document at index {i} missing mandatory non-empty 'tenant_id' in metadata."
240
+ )
241
+ if doc_tenant.strip() != self._tenant_id:
242
+ raise TenantBoundaryError(
243
+ f"Retrieved document at index {i} belongs to tenant '{doc_tenant.strip()}', "
244
+ f"conflicting with bound tool tenant '{self._tenant_id}'."
245
+ )
246
+
247
+ # 4. Document score validation & threshold filtering (P2B-V05, P2B-R04)
248
+ qualifying_docs = []
249
+ for i, doc in enumerate(raw_docs):
250
+ meta = doc.metadata if hasattr(doc, "metadata") else (doc.get("metadata", {}) if isinstance(doc, dict) else {})
251
+ if "score" not in meta:
252
+ raise CrewAIToolExecutionError(f"Retrieved document at index {i} missing mandatory 'score' in metadata.")
253
+ raw_score = meta["score"]
254
+ if raw_score is None:
255
+ raise CrewAIToolExecutionError(f"Retrieved document at index {i} has None 'score'.")
256
+ if isinstance(raw_score, bool):
257
+ raise CrewAIToolExecutionError(f"Retrieved document at index {i} has boolean 'score'.")
258
+ if not isinstance(raw_score, (int, float)):
259
+ raise CrewAIToolExecutionError(
260
+ f"Retrieved document at index {i} has non-numeric score of type '{type(raw_score).__name__}'."
261
+ )
262
+ if math.isnan(raw_score) or math.isinf(raw_score):
263
+ raise CrewAIToolExecutionError(f"Retrieved document at index {i} has non-finite score: {raw_score}.")
264
+ if not (0.0 <= raw_score <= 1.0):
265
+ raise CrewAIToolExecutionError(f"Retrieved document at index {i} score {raw_score} is outside [0.0, 1.0].")
266
+
267
+ if float(raw_score) >= self._min_score:
268
+ qualifying_docs.append(doc)
269
+
270
+ # 5. Empty results contract (P2B-V06, P2B-V07)
271
+ if not qualifying_docs:
272
+ return f"No relevant documents found for query: '{query_str}'."
273
+
274
+ # 6. Context synthesis via PromptContextBuilder
275
+ try:
276
+ return self._builder.build_context(qualifying_docs)
277
+ except TenantBoundaryError:
278
+ raise
279
+ except Exception as err:
280
+ raise CrewAIToolExecutionError(f"Context synthesis failed: {err}") from err
281
+
282
+ def run(self, *args: Any, **kwargs: Any) -> str:
283
+ """Public execution entry point conforming to CrewAI tool invocation protocol."""
284
+ return self._run(*args, **kwargs)
@@ -0,0 +1,33 @@
1
+ """LangChain adapters for md_generator."""
2
+
3
+ from md_generator.adapters.langchain.exceptions import (
4
+ LangChainAdapterError,
5
+ LangChainDependencyError,
6
+ )
7
+ from md_generator.adapters.langchain.loader import (
8
+ MDDocumentLoader,
9
+ extract_semantic_key,
10
+ resolve_tenant_id,
11
+ )
12
+ from md_generator.adapters.langchain.retriever import (
13
+ MDVectorStoreRetriever,
14
+ )
15
+ from md_generator.adapters.langchain.context import (
16
+ PromptContextBuilder,
17
+ canonical_document_fingerprint,
18
+ extract_and_validate_score,
19
+ estimate_token_count,
20
+ )
21
+
22
+ __all__ = [
23
+ "LangChainAdapterError",
24
+ "LangChainDependencyError",
25
+ "MDDocumentLoader",
26
+ "extract_semantic_key",
27
+ "resolve_tenant_id",
28
+ "MDVectorStoreRetriever",
29
+ "PromptContextBuilder",
30
+ "canonical_document_fingerprint",
31
+ "extract_and_validate_score",
32
+ "estimate_token_count",
33
+ ]