deepdoc 2.3.4__tar.gz → 2.3.5__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 (149) hide show
  1. {deepdoc-2.3.4 → deepdoc-2.3.5}/PKG-INFO +1 -1
  2. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/__init__.py +1 -1
  3. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/generator/generation.py +1 -0
  4. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/generator/post_processors.py +29 -0
  5. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc.egg-info/PKG-INFO +1 -1
  6. {deepdoc-2.3.4 → deepdoc-2.3.5}/pyproject.toml +1 -1
  7. {deepdoc-2.3.4 → deepdoc-2.3.5}/LICENSE +0 -0
  8. {deepdoc-2.3.4 → deepdoc-2.3.5}/README.md +0 -0
  9. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/__main__.py +0 -0
  10. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/benchmark_v2.py +0 -0
  11. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/call_graph.py +0 -0
  12. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/changelog_writer.py +0 -0
  13. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/__init__.py +0 -0
  14. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/answer_mixin.py +0 -0
  15. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/chunker.py +0 -0
  16. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/constants.py +0 -0
  17. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/deep_research.py +0 -0
  18. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/docs_summary.py +0 -0
  19. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/embeddings.py +0 -0
  20. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/indexer.py +0 -0
  21. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/linking.py +0 -0
  22. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/live_fallback_mixin.py +0 -0
  23. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/persistence.py +0 -0
  24. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/providers.py +0 -0
  25. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/retrieval_mixin.py +0 -0
  26. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/routes.py +0 -0
  27. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/scaffold.py +0 -0
  28. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/service.py +0 -0
  29. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/settings.py +0 -0
  30. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/source_archive.py +0 -0
  31. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/symbol_index.py +0 -0
  32. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/chatbot/types.py +0 -0
  33. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/cli.py +0 -0
  34. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/config.py +0 -0
  35. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/generator/__init__.py +0 -0
  36. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/generator/evidence.py +0 -0
  37. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/generator/validation.py +0 -0
  38. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/llm/__init__.py +0 -0
  39. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/llm/client.py +0 -0
  40. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/llm/json_utils.py +0 -0
  41. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/llm/litellm_compat.py +0 -0
  42. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/manifest.py +0 -0
  43. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/openapi.py +0 -0
  44. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/__init__.py +0 -0
  45. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/api_detector.py +0 -0
  46. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/base.py +0 -0
  47. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/go_parser.py +0 -0
  48. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/js_ts_parser.py +0 -0
  49. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/php_parser.py +0 -0
  50. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/python_parser.py +0 -0
  51. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/registry.py +0 -0
  52. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/routes/__init__.py +0 -0
  53. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/routes/base.py +0 -0
  54. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/routes/common.py +0 -0
  55. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/routes/detector.py +0 -0
  56. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/routes/django.py +0 -0
  57. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/routes/express.py +0 -0
  58. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/routes/falcon.py +0 -0
  59. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/routes/fastify.py +0 -0
  60. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/routes/go.py +0 -0
  61. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/routes/js_shared.py +0 -0
  62. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/routes/laravel.py +0 -0
  63. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/routes/nestjs.py +0 -0
  64. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/routes/python_shared.py +0 -0
  65. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/routes/registry.py +0 -0
  66. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/routes/repo_resolver.py +0 -0
  67. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/parser/vue_parser.py +0 -0
  68. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/persistence_v2.py +0 -0
  69. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/pipeline_v2.py +0 -0
  70. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/planner/__init__.py +0 -0
  71. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/planner/bucket_injection.py +0 -0
  72. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/planner/bucket_refinement.py +0 -0
  73. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/planner/common.py +0 -0
  74. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/planner/endpoint_refs.py +0 -0
  75. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/planner/engine.py +0 -0
  76. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/planner/flow_candidates.py +0 -0
  77. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/planner/heuristics.py +0 -0
  78. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/planner/nav_shaping.py +0 -0
  79. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/planner/specializations.py +0 -0
  80. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/planner/topology.py +0 -0
  81. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/planner/utils.py +0 -0
  82. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/prompts/__init__.py +0 -0
  83. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/prompts/bucket_types.py +0 -0
  84. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/prompts/page_types.py +0 -0
  85. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/prompts/selectors.py +0 -0
  86. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/prompts/system.py +0 -0
  87. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/prompts/update.py +0 -0
  88. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/py.typed +0 -0
  89. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/scanner/__init__.py +0 -0
  90. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/scanner/artifacts.py +0 -0
  91. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/scanner/clustering.py +0 -0
  92. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/scanner/common.py +0 -0
  93. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/scanner/database.py +0 -0
  94. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/scanner/endpoints.py +0 -0
  95. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/scanner/integrations.py +0 -0
  96. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/scanner/runtime.py +0 -0
  97. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/scanner/utils.py +0 -0
  98. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/site/__init__.py +0 -0
  99. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/site/builder/__init__.py +0 -0
  100. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/site/builder/chatbot_components.py +0 -0
  101. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/site/builder/common.py +0 -0
  102. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/site/builder/engine.py +0 -0
  103. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/site/builder/mdx_utils.py +0 -0
  104. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/site/builder/scaffold_files.py +0 -0
  105. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/site/builder/templates.py +0 -0
  106. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/smart_update_v2.py +0 -0
  107. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/source_metadata.py +0 -0
  108. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/updater_v2.py +0 -0
  109. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc/v2_models.py +0 -0
  110. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc.egg-info/SOURCES.txt +0 -0
  111. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc.egg-info/dependency_links.txt +0 -0
  112. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc.egg-info/entry_points.txt +0 -0
  113. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc.egg-info/requires.txt +0 -0
  114. {deepdoc-2.3.4 → deepdoc-2.3.5}/deepdoc.egg-info/top_level.txt +0 -0
  115. {deepdoc-2.3.4 → deepdoc-2.3.5}/setup.cfg +0 -0
  116. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_benchmark_scorecard.py +0 -0
  117. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_call_graph.py +0 -0
  118. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_changelog.py +0 -0
  119. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_chatbot_config.py +0 -0
  120. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_chatbot_embeddings.py +0 -0
  121. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_chatbot_eval.py +0 -0
  122. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_chatbot_index.py +0 -0
  123. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_chatbot_persistence.py +0 -0
  124. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_chatbot_providers.py +0 -0
  125. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_chatbot_query.py +0 -0
  126. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_chatbot_relationship.py +0 -0
  127. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_chatbot_scaffold.py +0 -0
  128. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_chatbot_source_archive.py +0 -0
  129. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_classify.py +0 -0
  130. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_cli_generate.py +0 -0
  131. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_cli_serve.py +0 -0
  132. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_cli_update.py +0 -0
  133. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_flow_candidates.py +0 -0
  134. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_framework_fixtures.py +0 -0
  135. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_framework_support.py +0 -0
  136. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_fumadocs_builder.py +0 -0
  137. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_generation_evidence.py +0 -0
  138. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_internal_docs_metadata.py +0 -0
  139. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_litellm_compat.py +0 -0
  140. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_llm_json_utils.py +0 -0
  141. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_parallel_pipeline.py +0 -0
  142. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_parser_ranges.py +0 -0
  143. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_planner_consolidation.py +0 -0
  144. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_planner_granularity.py +0 -0
  145. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_route_registry.py +0 -0
  146. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_runtime_scan.py +0 -0
  147. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_smart_update.py +0 -0
  148. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_stale.py +0 -0
  149. {deepdoc-2.3.4 → deepdoc-2.3.5}/tests/test_state.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deepdoc
3
- Version: 2.3.4
3
+ Version: 2.3.5
4
4
  Summary: Auto-generate beautiful docs from any codebase
5
5
  Author: Pranav Kumar
6
6
  License: MIT
@@ -1,3 +1,3 @@
1
1
  """DeepDoc — Auto-generate beautiful docs from any codebase."""
2
2
 
3
- __version__ = "2.3.4"
3
+ __version__ = "2.3.5"
@@ -613,6 +613,7 @@ class BucketGenerationEngine:
613
613
  content = repair_dangling_plain_fences(content)
614
614
  content = normalize_fumadocs_directives(content)
615
615
  content = fix_frontmatter_description(content)
616
+ content = fix_bare_language_markers(content)
616
617
  content = fix_bare_mermaid_fences(content)
617
618
  content = fix_leaf_card_directives(content)
618
619
  content = escape_mdx_angle_hazards(content)
@@ -874,6 +874,35 @@ def fix_bare_mermaid_fences(content: str) -> str:
874
874
  )
875
875
 
876
876
 
877
+ def fix_bare_language_markers(content: str) -> str:
878
+ """Repair lines where the LLM appended ':language' instead of opening a fence.
879
+
880
+ The LLM sometimes writes:
881
+ Some description text:typescript
882
+ interface Foo { ... }
883
+ ```
884
+
885
+ instead of:
886
+ Some description text
887
+ ```typescript
888
+ interface Foo { ... }
889
+ ```
890
+
891
+ The bare ':language' suffix leaves the code content in free MDX body,
892
+ causing acorn parse errors on any {expression} inside.
893
+ """
894
+ _LANGS = (
895
+ r"typescript|javascript|python|bash|json|yaml|tsx|jsx"
896
+ r"|go|rust|java|css|html|sql|sh|text|plaintext|ruby|php|c|cpp|swift"
897
+ )
898
+ return re.sub(
899
+ rf"^(.*\S):({_LANGS})\s*$",
900
+ lambda m: f"{m.group(1)}\n```{m.group(2)}",
901
+ content,
902
+ flags=re.MULTILINE,
903
+ )
904
+
905
+
877
906
  def fix_leaf_card_directives(content: str) -> str:
878
907
  """Convert LLM-invented ::card{...}\\nCONTENT\\n:: to :::card{...}\\nCONTENT\\n:::.
879
908
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deepdoc
3
- Version: 2.3.4
3
+ Version: 2.3.5
4
4
  Summary: Auto-generate beautiful docs from any codebase
5
5
  Author: Pranav Kumar
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "deepdoc"
7
- version = "2.3.4"
7
+ version = "2.3.5"
8
8
  description = "Auto-generate beautiful docs from any codebase"
9
9
  readme = "README.md"
10
10
  authors = [
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes