mdengine 0.9.0__tar.gz → 0.10.0__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.
- {mdengine-0.9.0 → mdengine-0.10.0}/PKG-INFO +194 -11
- {mdengine-0.9.0 → mdengine-0.10.0}/README.md +169 -10
- {mdengine-0.9.0 → mdengine-0.10.0}/pyproject.toml +30 -1
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/__init__.py +1 -1
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/archive/api/convert_runner.py +3 -3
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/archive/api/main.py +15 -6
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/archive/api/mcp_setup.py +10 -7
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/archive/convert_impl.py +71 -118
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/archive/converter.py +14 -8
- mdengine-0.10.0/src/md_generator/archive/extractors.py +304 -0
- mdengine-0.10.0/src/md_generator/core/__init__.py +15 -0
- mdengine-0.10.0/src/md_generator/core/artifacts/__init__.py +16 -0
- mdengine-0.10.0/src/md_generator/core/artifacts/mdaf_validate.py +35 -0
- mdengine-0.10.0/src/md_generator/core/artifacts/models.py +60 -0
- mdengine-0.10.0/src/md_generator/core/artifacts/serialize.py +59 -0
- mdengine-0.10.0/src/md_generator/core/schema/__init__.py +3 -0
- mdengine-0.10.0/src/md_generator/core/schema/adapters/__init__.py +1 -0
- mdengine-0.10.0/src/md_generator/core/schema/adapters/log_record.py +24 -0
- mdengine-0.10.0/src/md_generator/core/schema/adapters/otel.py +31 -0
- mdengine-0.10.0/src/md_generator/core/schema/telemetry_event.py +15 -0
- mdengine-0.10.0/src/md_generator/core/schema/validation.py +16 -0
- mdengine-0.10.0/src/md_generator/db/adapters/access_adapter.py +143 -0
- mdengine-0.10.0/src/md_generator/db/adapters/access_introspect.py +122 -0
- mdengine-0.10.0/src/md_generator/db/adapters/access_odbc.py +108 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/adapters/factory.py +10 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/adapters/mysql_adapter.py +14 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/adapters/postgres_adapter.py +14 -0
- mdengine-0.10.0/src/md_generator/db/adapters/sqlserver_adapter.py +323 -0
- mdengine-0.10.0/src/md_generator/db/api/access_upload.py +89 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/api/main.py +82 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/api/schemas.py +5 -1
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/api/settings.py +1 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/api/sqlite_upload.py +4 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/cli/main.py +28 -1
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/core/base_adapter.py +11 -0
- mdengine-0.10.0/src/md_generator/db/core/cli_ops.py +57 -0
- mdengine-0.10.0/src/md_generator/db/core/export_manifest.py +65 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/core/extractor.py +74 -9
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/core/job_manager.py +45 -13
- mdengine-0.10.0/src/md_generator/db/core/link_graph.py +69 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/core/markdown_writer.py +55 -7
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/core/models.py +21 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/core/run_config.py +14 -0
- mdengine-0.10.0/src/md_generator/distributed/__init__.py +5 -0
- mdengine-0.10.0/src/md_generator/distributed/merge.py +21 -0
- mdengine-0.10.0/src/md_generator/distributed/partition.py +12 -0
- mdengine-0.10.0/src/md_generator/distributed/worker_pool.py +43 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/engine_cli.py +16 -0
- mdengine-0.10.0/src/md_generator/governance/__init__.py +11 -0
- mdengine-0.10.0/src/md_generator/governance/audit.py +13 -0
- mdengine-0.10.0/src/md_generator/governance/classification.py +31 -0
- mdengine-0.10.0/src/md_generator/governance/lineage.py +34 -0
- mdengine-0.10.0/src/md_generator/governance/retention.py +7 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/api/schemas.py +24 -53
- mdengine-0.10.0/src/md_generator/log/chunking/__init__.py +4 -0
- mdengine-0.10.0/src/md_generator/log/chunking/artifact_adapter.py +20 -0
- mdengine-0.10.0/src/md_generator/log/chunking/chunk_engine.py +23 -0
- mdengine-0.10.0/src/md_generator/log/chunking/chunk_models.py +14 -0
- mdengine-0.10.0/src/md_generator/log/chunking/chunk_registry.py +144 -0
- mdengine-0.10.0/src/md_generator/log/chunking/chunk_strategy.py +20 -0
- mdengine-0.10.0/src/md_generator/log/cli/main.py +147 -0
- mdengine-0.10.0/src/md_generator/log/config/default.yaml +138 -0
- mdengine-0.10.0/src/md_generator/log/config/preset_loader.py +85 -0
- mdengine-0.10.0/src/md_generator/log/config/presets/json.yaml +4 -0
- mdengine-0.10.0/src/md_generator/log/config/presets/logback.yaml +5 -0
- mdengine-0.10.0/src/md_generator/log/config/schemas.py +262 -0
- mdengine-0.10.0/src/md_generator/log/core/pipeline.py +392 -0
- mdengine-0.10.0/src/md_generator/log/core/plugins.py +80 -0
- mdengine-0.10.0/src/md_generator/log/core/run_config.py +270 -0
- mdengine-0.10.0/src/md_generator/log/correlation/correlation_engine.py +51 -0
- mdengine-0.10.0/src/md_generator/log/correlation/correlation_models.py +31 -0
- mdengine-0.10.0/src/md_generator/log/correlation/correlation_scoring.py +33 -0
- mdengine-0.10.0/src/md_generator/log/correlation/cross_source.py +69 -0
- mdengine-0.10.0/src/md_generator/log/correlation/request_parser.py +12 -0
- mdengine-0.10.0/src/md_generator/log/correlation/session_parser.py +10 -0
- mdengine-0.10.0/src/md_generator/log/correlation/trace_parser.py +12 -0
- mdengine-0.10.0/src/md_generator/log/documentation/__init__.py +9 -0
- mdengine-0.10.0/src/md_generator/log/documentation/incident_summary.py +19 -0
- mdengine-0.10.0/src/md_generator/log/documentation/service_report.py +19 -0
- mdengine-0.10.0/src/md_generator/log/documentation/troubleshooting.py +15 -0
- mdengine-0.10.0/src/md_generator/log/embeddings/embedding_exporter.py +38 -0
- mdengine-0.10.0/src/md_generator/log/embeddings/exporters/chroma_exporter.py +11 -0
- mdengine-0.10.0/src/md_generator/log/embeddings/exporters/faiss_exporter.py +10 -0
- mdengine-0.10.0/src/md_generator/log/embeddings/exporters/jsonl_exporter.py +15 -0
- mdengine-0.10.0/src/md_generator/log/embeddings/exporters/parquet_exporter.py +20 -0
- mdengine-0.10.0/src/md_generator/log/incidents/__init__.py +4 -0
- mdengine-0.10.0/src/md_generator/log/incidents/artifact_adapter.py +27 -0
- mdengine-0.10.0/src/md_generator/log/incidents/fingerprinting.py +33 -0
- mdengine-0.10.0/src/md_generator/log/incidents/grouping.py +23 -0
- mdengine-0.10.0/src/md_generator/log/incidents/incident_engine.py +82 -0
- mdengine-0.10.0/src/md_generator/log/incidents/models.py +49 -0
- mdengine-0.10.0/src/md_generator/log/incidents/severity.py +21 -0
- mdengine-0.10.0/src/md_generator/log/incremental/__init__.py +11 -0
- mdengine-0.10.0/src/md_generator/log/incremental/checkpoint.py +38 -0
- mdengine-0.10.0/src/md_generator/log/incremental/engine.py +34 -0
- mdengine-0.10.0/src/md_generator/log/incremental/resume_reader.py +41 -0
- mdengine-0.10.0/src/md_generator/log/ingestion/archive_bridge.py +52 -0
- mdengine-0.10.0/src/md_generator/log/ingestion/batch_reader.py +45 -0
- mdengine-0.10.0/src/md_generator/log/intelligence/anomaly_detection.py +8 -0
- mdengine-0.10.0/src/md_generator/log/intelligence/dependency_analysis.py +12 -0
- mdengine-0.10.0/src/md_generator/log/intelligence/heuristics.py +15 -0
- mdengine-0.10.0/src/md_generator/log/intelligence/root_cause_engine.py +47 -0
- mdengine-0.10.0/src/md_generator/log/knowledge_graph/graph_builder.py +18 -0
- mdengine-0.10.0/src/md_generator/log/knowledge_graph/graph_exporter.py +28 -0
- mdengine-0.10.0/src/md_generator/log/knowledge_graph/graph_models.py +17 -0
- mdengine-0.10.0/src/md_generator/log/knowledge_graph/relation_extractor.py +34 -0
- mdengine-0.10.0/src/md_generator/log/linking/__init__.py +3 -0
- mdengine-0.10.0/src/md_generator/log/linking/link_graph.py +62 -0
- mdengine-0.10.0/src/md_generator/log/markdown_intelligence/__init__.py +4 -0
- mdengine-0.10.0/src/md_generator/log/markdown_intelligence/aliases.py +13 -0
- mdengine-0.10.0/src/md_generator/log/markdown_intelligence/backlinks.py +26 -0
- mdengine-0.10.0/src/md_generator/log/markdown_intelligence/cross_refs.py +11 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/mcp/server.py +32 -0
- mdengine-0.10.0/src/md_generator/log/noise_reduction/__init__.py +3 -0
- mdengine-0.10.0/src/md_generator/log/noise_reduction/dedupe.py +22 -0
- mdengine-0.10.0/src/md_generator/log/noise_reduction/entropy.py +15 -0
- mdengine-0.10.0/src/md_generator/log/noise_reduction/filter.py +26 -0
- mdengine-0.10.0/src/md_generator/log/parser/json_line_parser.py +59 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/parser/multiline_parser.py +12 -1
- mdengine-0.10.0/src/md_generator/log/parser/parser_registry.py +71 -0
- mdengine-0.10.0/src/md_generator/log/search/bm25_search.py +38 -0
- mdengine-0.10.0/src/md_generator/log/search/cli.py +25 -0
- mdengine-0.10.0/src/md_generator/log/search/hybrid_search.py +13 -0
- mdengine-0.10.0/src/md_generator/log/search/search_index.py +12 -0
- mdengine-0.10.0/src/md_generator/log/search/vector_search.py +8 -0
- mdengine-0.10.0/src/md_generator/log/streaming/__init__.py +3 -0
- mdengine-0.10.0/src/md_generator/log/streaming/kafka_reader.py +39 -0
- mdengine-0.10.0/src/md_generator/log/streaming/redis_reader.py +40 -0
- mdengine-0.10.0/src/md_generator/log/streaming/stdin_reader.py +9 -0
- mdengine-0.10.0/src/md_generator/log/streaming/stream_coordinator.py +44 -0
- mdengine-0.10.0/src/md_generator/log/streaming/tail_reader.py +17 -0
- mdengine-0.10.0/src/md_generator/log/streaming/websocket_reader.py +38 -0
- mdengine-0.10.0/src/md_generator/log/timeline/causal_chain.py +15 -0
- mdengine-0.10.0/src/md_generator/log/timeline/ordering.py +12 -0
- mdengine-0.10.0/src/md_generator/log/timeline/timeline_engine.py +25 -0
- mdengine-0.10.0/src/md_generator/log/timeline/timeline_models.py +14 -0
- mdengine-0.10.0/src/md_generator/log/topology/__init__.py +3 -0
- mdengine-0.10.0/src/md_generator/log/topology/discovery.py +57 -0
- mdengine-0.10.0/src/md_generator/log/visualization/__init__.py +4 -0
- mdengine-0.10.0/src/md_generator/log/visualization/mermaid_sequence.py +21 -0
- mdengine-0.10.0/src/md_generator/log/visualization/mermaid_timeline.py +21 -0
- mdengine-0.10.0/src/md_generator/log/visualization/mermaid_topology.py +24 -0
- mdengine-0.10.0/src/md_generator/log/writers/chunk_writer.py +56 -0
- mdengine-0.10.0/src/md_generator/log/writers/correlation_writer.py +29 -0
- mdengine-0.10.0/src/md_generator/log/writers/frontmatter_writer.py +46 -0
- mdengine-0.10.0/src/md_generator/log/writers/incident_writer.py +67 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/writers/markdown_writer.py +0 -4
- mdengine-0.10.0/src/md_generator/otel/__init__.py +1 -0
- mdengine-0.10.0/src/md_generator/otel/cli/__init__.py +0 -0
- mdengine-0.10.0/src/md_generator/otel/cli/main.py +34 -0
- mdengine-0.10.0/src/md_generator/otel/otel_logs.py +22 -0
- mdengine-0.10.0/src/md_generator/otel/otel_metrics.py +12 -0
- mdengine-0.10.0/src/md_generator/otel/otel_models.py +20 -0
- mdengine-0.10.0/src/md_generator/otel/otel_parser.py +22 -0
- mdengine-0.10.0/src/md_generator/otel/otel_spans.py +26 -0
- mdengine-0.10.0/src/md_generator/runtime/__init__.py +4 -0
- mdengine-0.10.0/src/md_generator/runtime/execution_context.py +13 -0
- mdengine-0.10.0/src/md_generator/runtime/metrics.py +27 -0
- mdengine-0.10.0/src/md_generator/runtime/stage_engine.py +25 -0
- mdengine-0.10.0/src/md_generator/sdk/__init__.py +3 -0
- mdengine-0.10.0/src/md_generator/sdk/classifier_plugin.py +8 -0
- mdengine-0.10.0/src/md_generator/sdk/discovery.py +20 -0
- mdengine-0.10.0/src/md_generator/sdk/enricher_plugin.py +3 -0
- mdengine-0.10.0/src/md_generator/sdk/parser_plugin.py +11 -0
- mdengine-0.10.0/src/md_generator/sdk/plugin_protocol.py +10 -0
- mdengine-0.10.0/src/md_generator/sdk/stage_protocol.py +30 -0
- mdengine-0.10.0/src/md_generator/sdk/writer_plugin.py +8 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/dependency-graph.json +6 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/registry.json +46 -3
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/global-skill.md +3 -2
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-archive/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-codeflow/SKILL.md +4 -3
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-db/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-global/SKILL.md +2 -1
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-graph/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-image/SKILL.md +1 -1
- mdengine-0.10.0/src/md_generator/tools/assistant/data/skills/mdengine-ai-log/SKILL.md +76 -0
- mdengine-0.10.0/src/md_generator/tools/assistant/data/skills/mdengine-ai-log/references/example.md +43 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-media/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-openapi/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-pdf/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-playwright/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-ppt/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-text/SKILL.md +4 -3
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-url/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-word/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-xlsx/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-reference/SKILL.md +1 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-reference/references/http-api-mcp.md +23 -1
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/modules/codeflow.md +3 -2
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/modules/text.md +3 -2
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/skill_builder/generate.py +8 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/skill_builder/routing.py +7 -2
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/post_convert_assets.py +8 -7
- {mdengine-0.9.0 → mdengine-0.10.0}/src/mdengine.egg-info/PKG-INFO +194 -11
- {mdengine-0.9.0 → mdengine-0.10.0}/src/mdengine.egg-info/SOURCES.txt +132 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/mdengine.egg-info/entry_points.txt +1 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/mdengine.egg-info/requires.txt +30 -0
- mdengine-0.9.0/src/md_generator/log/cli/main.py +0 -69
- mdengine-0.9.0/src/md_generator/log/config/default.yaml +0 -48
- mdengine-0.9.0/src/md_generator/log/config/schemas.py +0 -117
- mdengine-0.9.0/src/md_generator/log/core/pipeline.py +0 -180
- mdengine-0.9.0/src/md_generator/log/core/plugins.py +0 -34
- mdengine-0.9.0/src/md_generator/log/core/run_config.py +0 -160
- mdengine-0.9.0/src/md_generator/log/parser/parser_registry.py +0 -27
- mdengine-0.9.0/src/md_generator/log/writers/chunk_writer.py +0 -48
- mdengine-0.9.0/src/md_generator/log/writers/incident_writer.py +0 -42
- {mdengine-0.9.0 → mdengine-0.10.0}/LICENSE +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/setup.cfg +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/archive/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/archive/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/archive/api/jobs.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/archive/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/archive/api/query_options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/archive/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/archive/options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/analyzers/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/analyzers/flow_analyzer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/api/job_manager.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/api/run.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/api/schemas.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/api/semantic_api.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/api/sse.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/cli/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/cli/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/config/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/config/codeflow_yaml.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/core/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/core/cache_manager.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/core/extractor.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/core/run_config.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/detectors/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/detectors/api_detector.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/detectors/entry_detector.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/detectors/entry_rank.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/detectors/event_detector.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/detectors/kafka_detector.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/detectors/liferay_portlet_detector.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/generators/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/generators/business_rules_markdown.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/generators/cfg_paths_markdown.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/generators/cfg_paths_mermaid.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/generators/cfg_render.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/generators/cytoscape_enrich.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/generators/entry_markdown.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/generators/flow_summary.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/generators/flow_tree.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/generators/html.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/generators/html_unified.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/generators/markdown.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/generators/mermaid.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/generators/sequence.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/analysis.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/anomaly.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/builder.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/call_expander.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/cfg_builder.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/cfg_copy.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/cfg_model.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/cluster_labeling.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/clustering.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/cross_repo_resolver.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/dependency_builder.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/diff_analysis.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/embeddings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/enricher.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/event_graph.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/export_schema.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/hotpath.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/maven_hints.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/multi_repo.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/multigraph_utils.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/nl_query.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/path_enumerator.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/path_probability.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/query_engine.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/relations.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/runtime_integration.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/semantic_enricher.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/semantic_index.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/sqlite_export.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/graph/tsconfig_cross_repo.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/ingestion/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/ingestion/git_loader.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/ingestion/loader.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/lang_dispatch.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/mcp/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/mcp/server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/models/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/models/ir.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/models/ir_cfg.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/parsers/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/parsers/adapters/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/parsers/adapters/cpp_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/parsers/adapters/go_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/parsers/adapters/ir_from_dump.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/parsers/adapters/java_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/parsers/adapters/php_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/parsers/adapters/python_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/parsers/adapters/treesitter_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/parsers/base.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/parsers/cpp_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/parsers/go_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/parsers/ir_enrich.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/parsers/java_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/parsers/php_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/parsers/python_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/parsers/treesitter_js_ts_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/parsers/unified_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/rules/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/rules/collector.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/rules/cpp_rules.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/rules/java_rules.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/runtime/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/runtime/python_edge_counter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/runtime/trace_runner.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/runtime/tracer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/utils/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/utils/tools_root.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/worker/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/codeflow/worker/celery_optional.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/adapters/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/adapters/mongo_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/adapters/oracle_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/adapters/sql_common.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/adapters/sqlite_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/api/run.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/cli/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/config/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/config/default.yaml +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/core/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/core/erd/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/core/erd/dot_emitter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/core/erd/filter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/core/erd/mermaid_emitter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/core/erd/mermaid_render.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/core/erd/model.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/core/erd/pipeline.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/core/erd/render.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/core/util.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/core/zip_export.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/mcp/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/mcp/server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/mcp/sse.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/db/mcp/stream.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/adapters/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/adapters/factory.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/adapters/neo4j_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/adapters/networkx_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/api/run.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/api/schemas.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/cli/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/cli/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/config/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/config/default.yaml +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/core/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/core/base_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/core/extractor.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/core/graph_builder.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/core/job_manager.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/core/markdown_writer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/core/models.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/core/run_config.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/core/viz.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/core/zip_export.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/mcp/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/mcp/server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/mcp/sse.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/graph/mcp/stream.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/image/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/image/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/image/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/image/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/image/api/query_options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/image/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/image/api/staging.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/image/api/zip_bundle.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/image/backends/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/image/backends/base.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/image/backends/easy.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/image/backends/paddle.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/image/backends/tesseract.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/image/convert_impl.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/image/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/image/emit.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/image/io_util.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/image/utils.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/aggregation/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/aggregation/aggregators.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/aggregation/dataframe_builder.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/aggregation/metrics.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/aggregation/timeline.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/api/run.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/cli/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/clustering/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/clustering/embeddings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/clustering/kmeans_cluster.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/clustering/semantic_grouping.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/clustering/vectorizer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/config/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/config/presets/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/config/presets/generic.yaml +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/config/presets/springboot.yaml +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/core/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/core/errors.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/core/execution_context.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/core/extractor.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/core/job_manager.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/core/lifecycle.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/core/zip_export.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/enrichment/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/enrichment/correlation.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/enrichment/fingerprinting.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/enrichment/hash_generator.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/enrichment/pattern_matcher.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/enrichment/severity_ranker.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/ingestion/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/ingestion/archive_loader.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/ingestion/encoding_detector.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/ingestion/file_loader.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/ingestion/stream_reader.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/mcp/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/mcp/sse.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/normalization/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/normalization/number_normalizer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/normalization/path_normalizer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/normalization/pii_redactor.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/normalization/token_normalizer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/normalization/uuid_normalizer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/parser/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/parser/level_detector.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/parser/logger_detector.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/parser/models.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/parser/regex_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/parser/stacktrace_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/parser/timestamp_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/service/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/service/service.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/utils/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/utils/concurrency.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/utils/io.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/utils/regex.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/utils/time.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/writers/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/writers/assets_writer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/writers/cluster_markdown.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/log/writers/summary_writer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/audio/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/audio/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/audio/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/audio/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/audio/api/mcp_setup.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/audio/api/run.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/audio/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/audio/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/audio/formatter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/audio/service.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/document_converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/job_store.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/video/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/video/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/video/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/video/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/video/api/mcp_setup.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/video/api/run.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/video/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/video/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/video/formatter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/video/service.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/whisper_language.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/youtube/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/youtube/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/youtube/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/youtube/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/youtube/api/mcp_setup.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/youtube/api/run.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/youtube/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/youtube/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/youtube/formatter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/youtube/metadata.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/youtube/service.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/media/youtube/transcript.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/api/run.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/api/schemas.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/cli/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/cli/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/config/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/config/default.yaml +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/converters/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/converters/swagger2_to_openapi3.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/core/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/core/extractor.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/core/run_config.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/core/zip_export.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/enrichers/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/enrichers/rules.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/enrichers/sample_body.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/generators/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/generators/dependency_graph.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/loaders/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/loaders/spec_loader.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/mcp/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/mcp/server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/models/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/models/domain.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/normalizers/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/normalizers/operations.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/normalizers/schema_flatten.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/parsers/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/parsers/openapi_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/resolvers/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/resolvers/ref_resolver.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/writers/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/openapi/writers/markdown_writer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/pdf/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/pdf/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/pdf/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/pdf/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/pdf/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/pdf/api/zip_bundle.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/pdf/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/pdf/md_emit.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/pdf/pdf_extract.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/pdf/utils.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/playwright/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/playwright/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/playwright/api/convert_runner.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/playwright/api/jobs.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/playwright/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/playwright/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/playwright/api/mcp_setup.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/playwright/api/run.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/playwright/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/playwright/assets.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/playwright/chunker.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/playwright/cli.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/playwright/extractor.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/playwright/html_to_md.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/playwright/options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/playwright/pipeline.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/playwright/playwright_fetcher.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/api/convert_runner.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/api/jobs.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/api/mcp_setup.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/api/query_options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/convert_impl.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/embedded_extract.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/ooxml_media.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/post_assets.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/text_formatting.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/vendor_pdf_md/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/vendor_pdf_md/convert.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/vendor_word_md/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/vendor_word_md/convert.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/ppt/zip_deep.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/text/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/text/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/text/api/convert_runner.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/text/api/jobs.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/text/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/text/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/text/api/mcp_setup.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/text/api/query_options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/text/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/text/convert_impl.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/text/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/text/format_detect.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/text/md_emit_json.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/text/md_emit_txt.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/text/md_emit_xml.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/text/md_flatten.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/text/options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/text/xml_parse.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/adapters/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/adapters/claude.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/adapters/cursor.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/adapters/openai.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/agent.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/bundle.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/chunks.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/cli.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-archive/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-codeflow/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-db/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-global/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-graph/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-image/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-media/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-openapi/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-pdf/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-playwright/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-ppt/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-text/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-url/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-word/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-xlsx/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-reference/references/entrypoints.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/mdengine-reference/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/modules/archive.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/modules/db.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/modules/graph.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/modules/image.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/modules/media.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/modules/openapi.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/modules/pdf.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/modules/playwright.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/modules/ppt.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/modules/url.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/modules/word.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/data/skills/modules/xlsx.md +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/rag.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/assistant/registry.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/skill_builder/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/skill_builder/__main__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/skill_builder/dependency_graph.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/tools/skill_builder/pyproject_util.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/api/convert_runner.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/api/jobs.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/api/mcp_setup.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/api/query_options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/assets.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/convert_impl.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/crawl.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/extract.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/fetch.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/html_to_md.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/page_convert.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/url/robots_util.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/word/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/word/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/word/api/convert_util.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/word/api/jobs.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/word/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/word/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/word/artifact.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/word/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/word/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/xlsx/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/xlsx/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/xlsx/api/app.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/xlsx/convert_config.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/xlsx/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/xlsx/converter_core.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/xlsx/excel_reader.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/xlsx/markdown_emitter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/md_generator/xlsx/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/mdengine.egg-info/dependency_links.txt +0 -0
- {mdengine-0.9.0 → mdengine-0.10.0}/src/mdengine.egg-info/top_level.txt +0 -0
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mdengine
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.10.0
|
|
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
|
|
7
7
|
Project-URL: Homepage, https://github.com/vishal7090/md-generator
|
|
8
8
|
Project-URL: Repository, https://github.com/vishal7090/md-generator
|
|
9
9
|
Project-URL: Issues, https://github.com/vishal7090/md-generator/issues
|
|
10
|
+
Project-URL: Documentation, https://vishal7090.github.io/md-generator/
|
|
10
11
|
Keywords: markdown,pdf,docx,pptx,xlsx,ocr,zip,url,html,youtube,playwright,database,openapi,codeflow
|
|
11
12
|
Classifier: Programming Language :: Python :: 3
|
|
12
13
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
@@ -48,6 +49,9 @@ Requires-Dist: lxml>=5.0.0; extra == "text"
|
|
|
48
49
|
Provides-Extra: archive
|
|
49
50
|
Requires-Dist: Pillow>=10.0.0; extra == "archive"
|
|
50
51
|
Requires-Dist: pytesseract>=0.3.10; extra == "archive"
|
|
52
|
+
Provides-Extra: archive-formats
|
|
53
|
+
Requires-Dist: py7zr>=0.21.0; extra == "archive-formats"
|
|
54
|
+
Requires-Dist: patoolib>=2.0.0; extra == "archive-formats"
|
|
51
55
|
Provides-Extra: url
|
|
52
56
|
Requires-Dist: httpx>=0.27.0; extra == "url"
|
|
53
57
|
Requires-Dist: beautifulsoup4>=4.12.0; extra == "url"
|
|
@@ -94,6 +98,7 @@ Requires-Dist: sqlalchemy>=2.0.0; extra == "db"
|
|
|
94
98
|
Requires-Dist: pyyaml>=6.0.0; extra == "db"
|
|
95
99
|
Requires-Dist: psycopg2-binary>=2.9.9; extra == "db"
|
|
96
100
|
Requires-Dist: pymysql>=1.1.0; extra == "db"
|
|
101
|
+
Requires-Dist: pyodbc>=5.0.0; extra == "db"
|
|
97
102
|
Requires-Dist: oracledb>=2.0.0; extra == "db"
|
|
98
103
|
Requires-Dist: pymongo>=4.6.0; extra == "db"
|
|
99
104
|
Requires-Dist: mermaid-py>=0.8.0; extra == "db"
|
|
@@ -134,6 +139,17 @@ Requires-Dist: scikit-learn>=1.3.0; extra == "log-semantic"
|
|
|
134
139
|
Requires-Dist: sentence-transformers>=3.0.0; extra == "log-semantic"
|
|
135
140
|
Provides-Extra: log-pretty
|
|
136
141
|
Requires-Dist: loguru>=0.7.0; extra == "log-pretty"
|
|
142
|
+
Provides-Extra: log-otel-proto
|
|
143
|
+
Requires-Dist: opentelemetry-proto>=1.27.0; extra == "log-otel-proto"
|
|
144
|
+
Requires-Dist: protobuf>=4.25.0; extra == "log-otel-proto"
|
|
145
|
+
Provides-Extra: log-export-parquet
|
|
146
|
+
Requires-Dist: pyarrow>=14.0.0; extra == "log-export-parquet"
|
|
147
|
+
Provides-Extra: log-stream-kafka
|
|
148
|
+
Requires-Dist: kafka-python>=2.0.2; extra == "log-stream-kafka"
|
|
149
|
+
Provides-Extra: log-stream-redis
|
|
150
|
+
Requires-Dist: redis>=5.0.0; extra == "log-stream-redis"
|
|
151
|
+
Provides-Extra: log-stream-ws
|
|
152
|
+
Requires-Dist: websockets>=12.0; extra == "log-stream-ws"
|
|
137
153
|
Provides-Extra: api
|
|
138
154
|
Requires-Dist: fastapi>=0.115.0; extra == "api"
|
|
139
155
|
Requires-Dist: uvicorn[standard]>=0.32.0; extra == "api"
|
|
@@ -143,6 +159,14 @@ Requires-Dist: pydantic-settings>=2.0.0; extra == "api"
|
|
|
143
159
|
Provides-Extra: mcp
|
|
144
160
|
Requires-Dist: mcp>=1.2.0; extra == "mcp"
|
|
145
161
|
Requires-Dist: fastmcp>=2.3.0; extra == "mcp"
|
|
162
|
+
Provides-Extra: docs
|
|
163
|
+
Requires-Dist: mkdocs-material; extra == "docs"
|
|
164
|
+
Requires-Dist: mkdocstrings; extra == "docs"
|
|
165
|
+
Requires-Dist: mkdocstrings-python; extra == "docs"
|
|
166
|
+
Requires-Dist: pymdown-extensions; extra == "docs"
|
|
167
|
+
Requires-Dist: mkdocs-mermaid2-plugin; extra == "docs"
|
|
168
|
+
Requires-Dist: mkdocs-git-revision-date-localized-plugin; extra == "docs"
|
|
169
|
+
Requires-Dist: mike; extra == "docs"
|
|
146
170
|
Provides-Extra: skill-openai
|
|
147
171
|
Requires-Dist: openai>=1.30.0; extra == "skill-openai"
|
|
148
172
|
Provides-Extra: skill-rag-chroma
|
|
@@ -201,7 +225,7 @@ Single Python distribution for converting **PDF**, **Word (.docx)**, **PowerPoin
|
|
|
201
225
|
- **Python:** 3.10+
|
|
202
226
|
- **License:** [MIT](LICENSE)
|
|
203
227
|
|
|
204
|
-
**Quick links:** [On a new computer](#on-a-new-computer) · [Command-line execution](#command-line-execution) · [Python library](#python-library) · [Audio and video](#audio-and-video-to-markdown) · [HTTP API](#http-api-fastapi) · [MCP](#mcp-model-context-protocol) · [AI assistant CLI](#ai-assistant-cli) · [Development](#development) · [Code of Conduct](CODE_OF_CONDUCT.md)
|
|
228
|
+
**Quick links:** [On a new computer](#on-a-new-computer) · [Command-line execution](#command-line-execution) · [Python library](#python-library) · [Audio and video](#audio-and-video-to-markdown) · [HTTP API](#http-api-fastapi) · [MCP](#mcp-model-context-protocol) · [AI assistant CLI](#ai-assistant-cli) · [Development](#development) · [Published documentation](https://vishal7090.github.io/md-generator/) · [Code of Conduct](CODE_OF_CONDUCT.md)
|
|
205
229
|
|
|
206
230
|
---
|
|
207
231
|
|
|
@@ -270,9 +294,23 @@ pip install "mdengine[all]"
|
|
|
270
294
|
| `url-full` | `url` plus PDF/Word/PPTX/XLSX/archive stack for **post-converting** downloaded linked files to Markdown |
|
|
271
295
|
| `audio` | **Audio → Markdown** via Whisper (`openai-whisper`); ships `imageio-ffmpeg` for a bundled **ffmpeg** when none is on `PATH` |
|
|
272
296
|
| `video` | **Video → Markdown** (ffmpeg extracts mono 16 kHz WAV, then same Whisper stack as `audio`) |
|
|
297
|
+
| `youtube` | **YouTube → Markdown** (captions + page metadata; `youtube-transcript-api`, httpx, BeautifulSoup, lxml) |
|
|
298
|
+
| `playwright` | **Playwright-rendered SPA → Markdown** (`playwright` + same HTML stack as `url`; run `playwright install chromium` after install) |
|
|
299
|
+
| `db` | **Database metadata → Markdown** (SQLAlchemy, drivers, `mermaid-py` for ERD helpers) |
|
|
300
|
+
| `openapi` | **OpenAPI / Swagger → Markdown** (`prance`, `openapi-spec-validator`, PyYAML) |
|
|
301
|
+
| `codeflow` | **Static codeflow / call graphs → Markdown** (`networkx`, `javalang`; core scanners) |
|
|
302
|
+
| `codeflow-worker` | Optional **Celery + Redis** workers for the codeflow API async path |
|
|
303
|
+
| `codeflow-treesitter` | **Tree-sitter** parsers (JS/TS/TSX, C++) for richer codeflow slices |
|
|
304
|
+
| `codeflow-clang` | **libclang** bindings for C/C++ parsing when used by the codeflow pipeline |
|
|
305
|
+
| `codeflow-semantic` | **Semantic clustering** (SentenceTransformers, scikit-learn, numpy; large install) |
|
|
306
|
+
| `log` | **Log files → Markdown** (`pandas`, PyYAML, date parsing) |
|
|
307
|
+
| `log-cluster` | Log pipeline **clustering** (scikit-learn) |
|
|
308
|
+
| `log-semantic` | Log pipeline **semantic** helpers (SentenceTransformers + scikit-learn; large) |
|
|
309
|
+
| `log-pretty` | Optional **loguru** for pretty console diagnostics during log conversion |
|
|
273
310
|
| `api` | FastAPI, uvicorn, httpx, pydantic-settings |
|
|
274
311
|
| `mcp` | MCP servers (`mcp`, `fastmcp` where used) |
|
|
275
312
|
| `graph` | **Graph → Markdown** (Neo4j Bolt + NetworkX GraphML/GML): `networkx`, `neo4j`, `pyyaml` |
|
|
313
|
+
| `docs` | **MkDocs** site tooling (Material, mkdocstrings, Mermaid plugin, mike) for maintainers publishing reference docs |
|
|
276
314
|
| `dev` | pytest + API/MCP test helpers |
|
|
277
315
|
| `all` | Large superset of dependencies (use only if you need everything) |
|
|
278
316
|
| `skill-openai` | Optional helpers for OpenAI-style calls with assembled skill context (`md_generator.tools.assistant`) |
|
|
@@ -333,7 +371,17 @@ If the shell reports “command not found”, ensure the Python **Scripts** dire
|
|
|
333
371
|
| `md-openapi` | `md_generator.openapi.cli.main:main` | `pip install "mdengine[openapi]"` then `md-openapi generate --file openapi.yaml --output ./docs` (or `mdengine openapi-to-md generate …`) |
|
|
334
372
|
| `md-openapi-api` | `md_generator.openapi.api.run:main` | FastAPI on port **8015** (`OPENAPI_TO_MD_PORT`): `POST /openapi-to-md/generate` (OpenAPI upload → ZIP), `/health`, MCP at **`/mcp`** |
|
|
335
373
|
| `md-openapi-mcp` | `md_generator.openapi.api.mcp_server:main` | Standalone MCP: `api_validate_openapi_yaml`, `api_generate_readme_markdown`, `api_run_sync_zip_base64` |
|
|
336
|
-
| `
|
|
374
|
+
| `md-playwright` | `md_generator.playwright.cli:main` | `pip install "mdengine[playwright]"` then `md-playwright https://spa.example/app ./spa-out` (after `playwright install chromium`) |
|
|
375
|
+
| `md-playwright-api` | `md_generator.playwright.api.run:main` | FastAPI + MCP on port **8014** (`PLAYWRIGHT_TO_MD_API_PORT` / settings); see [HTTP API](#http-api-fastapi) |
|
|
376
|
+
| `md-playwright-mcp` | `md_generator.playwright.api.mcp_server:main` | Standalone MCP for Playwright capture tools |
|
|
377
|
+
| `md-codeflow` | `md_generator.codeflow.cli.main:main` | Same as `codeflow` — `md-codeflow scan …` (alias of packaged `codeflow` script) |
|
|
378
|
+
| `codeflow` | `md_generator.codeflow.cli.main:main` | `pip install "mdengine[codeflow]"` then `codeflow scan path/to/src --output ./out --lang java` |
|
|
379
|
+
| `md-codeflow-api` | `md_generator.codeflow.api.run:main` | FastAPI on port **8016** (`CODEFLOW_TO_MD_PORT`); upload/workspace job flow + MCP at **`/mcp`** when MCP extras resolve |
|
|
380
|
+
| `md-codeflow-mcp` | `md_generator.codeflow.api.mcp_server:main` | Standalone **stdio** MCP for codeflow tools |
|
|
381
|
+
| `md-log` | `md_generator.log.cli.main:main` | `pip install "mdengine[log]"` then `md-log --config log.yaml` (or `mdengine log-to-md …`) |
|
|
382
|
+
| `md-log-api` | `md_generator.log.api.run:main` | FastAPI on port **8012** (`LOG_TO_MD_PORT`); set a different port if **`md-graph-api`** or **`md-video-api`** already uses **8012** |
|
|
383
|
+
| `md-log-mcp` | `md_generator.log.api.mcp_server:main` | Standalone MCP (`stdio` \| `sse` \| `streamable-http`) |
|
|
384
|
+
| `mdengine` | `md_generator.engine_cli:main` | `mdengine ai assist …`, `mdengine ai export …`, `mdengine skill build …`, `mdengine db-to-md …`, `mdengine log-to-md …`, `mdengine graph-to-md …`, `mdengine openapi-to-md generate …`, `mdengine codeflow-to-md scan …` |
|
|
337
385
|
|
|
338
386
|
**openapi-to-md (`md-openapi`):** OpenAPI **3.x** is parsed directly; **Swagger 2.0** (`swagger: "2.0"`) documents are **converted in-process** to OpenAPI 3.0.3 (deterministic, in-repo converter) before `$ref` resolution. Edge-heavy specs (unusual OAuth2 flows, vendor extensions) may still need fixes after conversion.
|
|
339
387
|
|
|
@@ -343,6 +391,14 @@ If the shell reports “command not found”, ensure the Python **Scripts** dire
|
|
|
343
391
|
|
|
344
392
|
**db-to-md SQLite:** set **`database.type: sqlite`** and **`database.uri`** to a SQLAlchemy URL such as **`sqlite:///my.db`** or **`sqlite:////C:/data/my.db`**. The default SQLite catalog is **`main`**; packaged YAML that still has **`schema: public`** is normalized to **`main`** when the type is SQLite. CLI: **`--type sqlite`**. Stored routines, sequences, and partitions are not used by SQLite and stay empty; tables, indexes, views, triggers, and ERD (via FK introspection) follow the same export path as other SQL engines.
|
|
345
393
|
|
|
394
|
+
**db-to-md SQL Server:** set **`database.type: mssql`** (aliases: `sqlserver`) and a **`mssql+pyodbc://`** URI with an ODBC driver query (for example `?driver=ODBC+Driver+18+for+SQL+Server`). Set **`database.schema`** to the SQL Server schema (default **`dbo`**). Optional features: **`synonyms`**, **`dependencies`** (lineage from `sys.sql_expression_dependencies`). Table/column/routine **MS_Description** extended properties are exported when present. Requires **`pyodbc`** (`mdengine[db]`).
|
|
395
|
+
|
|
396
|
+
**db-to-md Microsoft Access:** set **`database.type: access`** with a file path via **`mssql+pyodbc:///?odbc_connect=...`** (built automatically from uploads) or use **`POST /db-to-md/run/access`** / **`POST /db-to-md/job/access`** to upload **`.mdb` / `.accdb`** files (Windows + Microsoft Access ODBC driver). Saved **Query** objects are exported as views (SELECT) or query procedures (action queries). Requires **`pyodbc`** and an Access-compatible ODBC driver.
|
|
397
|
+
|
|
398
|
+
**db-to-md CLI validation:** **`md-db --test-connection`** (or **`mdengine db-to-md --test-connection`**) checks connectivity without exporting. **`--list-schemas`** prints schema/catalog names (`--output-format json` optional).
|
|
399
|
+
|
|
400
|
+
**db-to-md export manifest:** every run can write **`export_manifest.json`** at the output root (counts, file list, ERD paths). Control with **`output.write_manifest`** (default true). **`output.markdown_cross_links`** adds **Related** links between tables via foreign keys when using split files (default true).
|
|
401
|
+
|
|
346
402
|
**db-to-md API SQLite upload:** **`POST /db-to-md/run/sqlite`** — `multipart/form-data` with field **`file`** (the `.sqlite` / `.db` bytes; must start with the standard `SQLite format 3` header) and optional **`config`** (JSON string with the same shape as a normal run body minus `database`: `schema`, `output`, `features`, `execution`, `limits`, `erd`). Returns the metadata ZIP immediately. **`POST /db-to-md/job/sqlite`** — same form fields; saves the file under the job workspace and runs the existing job pipeline (`GET /db-to-md/job/{id}/download` when complete). Upload size cap: env **`DB_TO_MD_MAX_SQLITE_UPLOAD_MB`** (default **256**). Large ZIPs may still require the async job path if they exceed **`DB_TO_MD_MAX_SYNC_ZIP_MB`** on the sync upload route.
|
|
347
403
|
|
|
348
404
|
**graph-to-md (Neo4j + NetworkX):** library lives under [`md_generator/graph/`](src/md_generator/graph/). **Sources:** **`networkx`** (GraphML/GML via `graph.graph_file` or `--graph-file`) or **`neo4j`** (`graph.uri`, `graph.user`, `graph.password`, optional `graph.database` for `session(database=…)`). **Output layout:** by default **`output.combine_markdown: true`** writes **`nodes.md`**, **`relationship.md`**, and **`graph_summary.md`** (summary plus embedded nodes and relationships). Set **`combine_markdown: false`** or CLI **`--individual` / `--markdown-layout individual`** for per-entity files under **`nodes/`** and **`relationships/`**. **Diagrams:** **`viz.mermaid: true`** (default) writes **`graph/graph.mmd`** and embeds a fenced Mermaid block in the export **`README.md`** (no Graphviz required). **`viz.enabled: true`** or CLI **`--viz`** also writes **`graph/graph.dot`** and runs **`dot`** for PNG/SVG/PDF when Graphviz is on `PATH` (or **`GRAPHVIZ_DOT`**). CLI **`--no-mermaid`** disables Mermaid; **`--depth`**, **`--start-node`**, **`--max-nodes`**, **`--max-edges`** bound traversal. Packaged defaults: [`src/md_generator/graph/config/default.yaml`](src/md_generator/graph/config/default.yaml). Tests: **`graph-to-md/tests/`**; API image: [`graph-to-md/Dockerfile.api`](graph-to-md/Dockerfile.api).
|
|
@@ -366,6 +422,10 @@ md-url https://example.com/page ./page-bundle --artifact-layout
|
|
|
366
422
|
md-audio ./voice.mp3 ./voice.md --model tiny
|
|
367
423
|
md-video ./screen.mp4 ./screen.md --model base
|
|
368
424
|
pip install "mdengine[graph]" && md-graph --source neo4j --uri neo4j://localhost:7687 --user neo4j --password secret --database neo4j --output ./graph-out --viz
|
|
425
|
+
pip install "mdengine[playwright]" && playwright install chromium && md-playwright https://example.com/app ./spa-out
|
|
426
|
+
pip install "mdengine[openapi]" && md-openapi generate --file openapi.yaml --output ./openapi-md
|
|
427
|
+
pip install "mdengine[log]" && md-log --config log.yaml
|
|
428
|
+
md-codeflow scan ./src --output ./cf-out --lang python
|
|
369
429
|
```
|
|
370
430
|
|
|
371
431
|
**Windows PowerShell** (same commands; use backslashes for paths if you prefer)
|
|
@@ -378,6 +438,9 @@ md-audio .\voice.mp3 .\voice.md --model tiny
|
|
|
378
438
|
md-video .\screen.mp4 .\screen.md --model base
|
|
379
439
|
pip install "mdengine[graph]"
|
|
380
440
|
md-graph --source neo4j --uri neo4j://localhost:7687 --user neo4j --password secret --database neo4j --output .\graph-out --viz
|
|
441
|
+
pip install "mdengine[playwright]"
|
|
442
|
+
playwright install chromium
|
|
443
|
+
md-playwright https://example.com/app .\spa-out
|
|
381
444
|
```
|
|
382
445
|
|
|
383
446
|
**Windows CMD**
|
|
@@ -545,6 +608,113 @@ convert_zip(
|
|
|
545
608
|
|
|
546
609
|
`repo_root` on `ConvertOptions` is **deprecated and ignored**; converters are loaded in-process from `md_generator`.
|
|
547
610
|
|
|
611
|
+
### URL (HTML)
|
|
612
|
+
|
|
613
|
+
```python
|
|
614
|
+
from pathlib import Path
|
|
615
|
+
|
|
616
|
+
import httpx
|
|
617
|
+
from md_generator.url.convert_impl import run_single
|
|
618
|
+
from md_generator.url.options import ConvertOptions
|
|
619
|
+
|
|
620
|
+
with httpx.Client(follow_redirects=True, timeout=30.0) as client:
|
|
621
|
+
run_single(
|
|
622
|
+
"https://example.com/",
|
|
623
|
+
Path("web-out"),
|
|
624
|
+
ConvertOptions(artifact_layout=True, verbose=False),
|
|
625
|
+
client,
|
|
626
|
+
)
|
|
627
|
+
```
|
|
628
|
+
|
|
629
|
+
See [url-to-md/README.md](url-to-md/README.md) for crawl modes, post-convert assets, and API bodies.
|
|
630
|
+
|
|
631
|
+
### Playwright (SPA)
|
|
632
|
+
|
|
633
|
+
```python
|
|
634
|
+
import asyncio
|
|
635
|
+
from pathlib import Path
|
|
636
|
+
|
|
637
|
+
from md_generator.playwright.options import PlaywrightOptions
|
|
638
|
+
from md_generator.playwright.pipeline import convert_url_to_md
|
|
639
|
+
|
|
640
|
+
async def main() -> None:
|
|
641
|
+
await convert_url_to_md(
|
|
642
|
+
"https://example.com/app",
|
|
643
|
+
Path("spa-out"),
|
|
644
|
+
PlaywrightOptions(),
|
|
645
|
+
)
|
|
646
|
+
|
|
647
|
+
asyncio.run(main())
|
|
648
|
+
```
|
|
649
|
+
|
|
650
|
+
Install browsers once: `playwright install chromium`.
|
|
651
|
+
|
|
652
|
+
### Database metadata (db-to-md)
|
|
653
|
+
|
|
654
|
+
```python
|
|
655
|
+
from pathlib import Path
|
|
656
|
+
|
|
657
|
+
from md_generator.db.core.extractor import extract_to_markdown
|
|
658
|
+
from md_generator.db.core.run_config import load_run_config
|
|
659
|
+
|
|
660
|
+
cfg = load_run_config(Path("db-export.yaml"))
|
|
661
|
+
extract_to_markdown(cfg)
|
|
662
|
+
```
|
|
663
|
+
|
|
664
|
+
YAML shape and ERD options are covered above under **db-to-md** CLI notes.
|
|
665
|
+
|
|
666
|
+
### Graph (Neo4j / NetworkX)
|
|
667
|
+
|
|
668
|
+
```python
|
|
669
|
+
from pathlib import Path
|
|
670
|
+
|
|
671
|
+
from md_generator.graph.core.extractor import extract_to_markdown
|
|
672
|
+
from md_generator.graph.core.run_config import load_graph_run_config
|
|
673
|
+
|
|
674
|
+
cfg = load_graph_run_config(Path("graph-export.yaml"))
|
|
675
|
+
extract_to_markdown(cfg)
|
|
676
|
+
```
|
|
677
|
+
|
|
678
|
+
### OpenAPI → Markdown
|
|
679
|
+
|
|
680
|
+
```python
|
|
681
|
+
from pathlib import Path
|
|
682
|
+
|
|
683
|
+
from md_generator.openapi.core.extractor import extract_to_markdown
|
|
684
|
+
from md_generator.openapi.core.run_config import ApiRunConfig
|
|
685
|
+
|
|
686
|
+
cfg = ApiRunConfig(file=Path("openapi.yaml"), output_path=Path("api-md"))
|
|
687
|
+
extract_to_markdown(cfg)
|
|
688
|
+
```
|
|
689
|
+
|
|
690
|
+
Use `load_api_run_config(Path("openapi-md.yaml"))` when you prefer a single YAML file for input/output/format defaults.
|
|
691
|
+
|
|
692
|
+
### Log files (log-to-md)
|
|
693
|
+
|
|
694
|
+
```python
|
|
695
|
+
from pathlib import Path
|
|
696
|
+
|
|
697
|
+
from md_generator.log.core.extractor import extract_to_markdown
|
|
698
|
+
from md_generator.log.core.run_config import load_run_config as load_log_run_config
|
|
699
|
+
|
|
700
|
+
cfg = load_log_run_config(Path("log-export.yaml"))
|
|
701
|
+
extract_to_markdown(cfg)
|
|
702
|
+
```
|
|
703
|
+
|
|
704
|
+
### Codeflow (static call graphs)
|
|
705
|
+
|
|
706
|
+
```python
|
|
707
|
+
from pathlib import Path
|
|
708
|
+
|
|
709
|
+
from md_generator.codeflow.core.extractor import run_scan
|
|
710
|
+
from md_generator.codeflow.core.run_config import ScanConfig
|
|
711
|
+
|
|
712
|
+
cfg = ScanConfig(project_root=Path("my-service/src"), output_path=Path("codeflow-out"), languages="java")
|
|
713
|
+
run_scan(cfg)
|
|
714
|
+
```
|
|
715
|
+
|
|
716
|
+
More flags and language notes: [Development](#development) (section **Codeflow**) and [`codeflow-to-md/docs/graph-and-outputs.md`](codeflow-to-md/docs/graph-and-outputs.md).
|
|
717
|
+
|
|
548
718
|
---
|
|
549
719
|
|
|
550
720
|
## Audio and video to Markdown
|
|
@@ -661,7 +831,7 @@ Equivalent modules: `python -m md_generator.media.audio.api.mcp_server`, `python
|
|
|
661
831
|
|
|
662
832
|
### Thin shims (repo clone)
|
|
663
833
|
|
|
664
|
-
[`audio-to-md/converter.py`](audio-to-md/converter.py), [`video-to-md/converter.py`](video-to-md/converter.py), and [`youtube-to-md/converter.py`](youtube-to-md/converter.py) delegate to the same `main` as `md-audio` / `md-video` / `md-youtube`. Tests and `pytest.ini` live under `audio-to-md/tests/`, `video-to-md/tests/`, and `youtube-to-md/tests/`. [`db-to-md/converter.py`](db-to-md/converter.py) delegates to `md-db`; tests live under `db-to-md/tests/`. **graph-to-md** uses `md-graph` / `mdengine graph-to-md` directly (no thin `converter.py` shim); tests live under [`graph-to-md/tests/`](graph-to-md/tests/). [`openapi-to-md/converter.py`](openapi-to-md/converter.py) delegates to `md-openapi`; tests live under [`openapi-to-md/tests/`](openapi-to-md/tests/); example OpenAPI and output notes: [`openapi-to-md/examples/`](openapi-to-md/examples/).
|
|
834
|
+
[`audio-to-md/converter.py`](audio-to-md/converter.py), [`video-to-md/converter.py`](video-to-md/converter.py), and [`youtube-to-md/converter.py`](youtube-to-md/converter.py) delegate to the same `main` as `md-audio` / `md-video` / `md-youtube`. Tests and `pytest.ini` live under `audio-to-md/tests/`, `video-to-md/tests/`, and `youtube-to-md/tests/`. [`db-to-md/converter.py`](db-to-md/converter.py) delegates to `md-db`; tests live under `db-to-md/tests/`. **graph-to-md** uses `md-graph` / `mdengine graph-to-md` directly (no thin `converter.py` shim); tests live under [`graph-to-md/tests/`](graph-to-md/tests/). [`openapi-to-md/converter.py`](openapi-to-md/converter.py) delegates to `md-openapi`; tests live under [`openapi-to-md/tests/`](openapi-to-md/tests/); example OpenAPI and output notes: [`openapi-to-md/examples/`](openapi-to-md/examples/). [`log-to-md/converter.py`](log-to-md/converter.py) delegates to `md-log`; tests under [`log-to-md/tests/`](log-to-md/tests/). [`codeflow-to-md/converter.py`](codeflow-to-md/converter.py) invokes the same CLI entrypoint as `md-codeflow` / `codeflow`; tests under [`codeflow-to-md/tests/`](codeflow-to-md/tests/). [`url-to-md/converter.py`](url-to-md/converter.py) matches `md-url`; tests under [`url-to-md/tests/`](url-to-md/tests/). [`playwright-to-md/tests/`](playwright-to-md/tests/) cover the Playwright pipeline (no root `converter.py` shim required).
|
|
665
835
|
|
|
666
836
|
---
|
|
667
837
|
|
|
@@ -697,23 +867,28 @@ Install `mdengine[api]` plus the format extra(s), then run the **`app`** object
|
|
|
697
867
|
| Audio (Whisper) | `md_generator.media.audio.api.main:create_app` (use **`--factory`**) or `…main:app` | `audio`, `api`, `mcp` |
|
|
698
868
|
| Video (Whisper) | `md_generator.media.video.api.main:create_app` (use **`--factory`**) or `…main:app` | `video`, `api`, `mcp` |
|
|
699
869
|
| YouTube | `md_generator.media.youtube.api.main:create_app` (use **`--factory`**) or `…main:app` | `youtube`, `api`, `mcp` |
|
|
870
|
+
| Codeflow (workspace scans) | `md_generator.codeflow.api.main:app` | `codeflow`, `api`, `mcp` |
|
|
871
|
+
| Log files → Markdown | `md_generator.log.api.main:app` | `log`, `api`, `mcp` |
|
|
700
872
|
|
|
701
|
-
Examples:
|
|
873
|
+
Examples (ports are **illustrative** so several services can run together; each `md-*-api` / `run` module has its own **default** — set `*_PORT` / `*_API_PORT` env vars to match your layout):
|
|
702
874
|
|
|
703
875
|
```bash
|
|
704
876
|
uvicorn md_generator.pdf.api.main:app --host 127.0.0.1 --port 8001
|
|
705
877
|
uvicorn md_generator.word.api.main:app --host 127.0.0.1 --port 8002
|
|
706
|
-
uvicorn md_generator.archive.api.main:app --host 127.0.0.1 --port
|
|
707
|
-
uvicorn md_generator.url.api.main:app --host 127.0.0.1 --port
|
|
878
|
+
uvicorn md_generator.archive.api.main:app --host 127.0.0.1 --port 8008
|
|
879
|
+
uvicorn md_generator.url.api.main:app --host 127.0.0.1 --port 8017
|
|
880
|
+
uvicorn md_generator.db.api.main:app --host 127.0.0.1 --port 8010
|
|
708
881
|
uvicorn md_generator.playwright.api.main:app --host 127.0.0.1 --port 8014
|
|
709
|
-
uvicorn md_generator.graph.api.main:app --host 127.0.0.1 --port
|
|
882
|
+
uvicorn md_generator.graph.api.main:app --host 127.0.0.1 --port 8020
|
|
710
883
|
uvicorn md_generator.openapi.api.main:app --host 127.0.0.1 --port 8015
|
|
884
|
+
uvicorn md_generator.codeflow.api.main:app --host 127.0.0.1 --port 8016
|
|
885
|
+
uvicorn md_generator.log.api.main:app --host 127.0.0.1 --port 8018
|
|
711
886
|
uvicorn md_generator.media.audio.api.main:create_app --factory --host 127.0.0.1 --port 8011
|
|
712
887
|
uvicorn md_generator.media.video.api.main:create_app --factory --host 127.0.0.1 --port 8012
|
|
713
888
|
uvicorn md_generator.media.youtube.api.main:create_app --factory --host 127.0.0.1 --port 8013
|
|
714
889
|
```
|
|
715
890
|
|
|
716
|
-
**Port note:** **`md-graph-api
|
|
891
|
+
**Port note:** **`md-graph-api`**, **`md-video-api`**, and **`md-log-api`** all default to **8012** in their respective `run.py` modules. Run only one on that port, or set **`GRAPH_TO_MD_PORT`**, **`MD_VIDEO_API_PORT`**, and **`LOG_TO_MD_PORT`** so each process listens on a unique port. **`md-db-api`** defaults to **8010** (not shown colliding with the archive example above, which uses **8008** on purpose). **`md-openapi-api`** defaults to **8015** (`OPENAPI_TO_MD_PORT`). **`md-youtube-api`** defaults to **8013**; **`md-playwright-api`** / **`PLAYWRIGHT_TO_MD_API_PORT`** default to **8014**. **`md-codeflow-api`** defaults to **8016** (`CODEFLOW_TO_MD_PORT`).
|
|
717
892
|
|
|
718
893
|
### MCP over HTTP on the same server
|
|
719
894
|
|
|
@@ -736,6 +911,8 @@ Prefixes differ per service (often read from a `.env` file next to the process):
|
|
|
736
911
|
| Database metadata | `DB_TO_MD_` | `DB_TO_MD_JOB_SQLITE_PATH`, `DB_TO_MD_JOB_WORKSPACE_ROOT`, `DB_TO_MD_CORS_ORIGINS`, `DB_TO_MD_MAX_SYNC_ZIP_MB`, `DB_TO_MD_HOST`, `DB_TO_MD_PORT` (default **8010**) |
|
|
737
912
|
| Graph metadata | `GRAPH_TO_MD_` | `GRAPH_TO_MD_JOB_SQLITE_PATH`, `GRAPH_TO_MD_JOB_WORKSPACE_ROOT`, `GRAPH_TO_MD_CORS_ORIGINS`, `GRAPH_TO_MD_MAX_SYNC_ZIP_MB`, `GRAPH_TO_MD_HOST`, `GRAPH_TO_MD_PORT` (default **8012**) |
|
|
738
913
|
| OpenAPI → Markdown | `OPENAPI_TO_MD_` | `OPENAPI_TO_MD_CORS_ORIGINS`, `OPENAPI_TO_MD_MAX_SYNC_ZIP_MB`, `OPENAPI_TO_MD_HOST`, `OPENAPI_TO_MD_PORT` (default **8015**) |
|
|
914
|
+
| Codeflow API | `CODEFLOW_TO_MD_` / `CODEFLOW_` | `CODEFLOW_TO_MD_HOST`, `CODEFLOW_TO_MD_PORT` (default **8016**); in-app limits: `CODEFLOW_MAX_UPLOAD_ZIP_MB`, `CODEFLOW_MAX_SYNC_ZIP_MB`, `CODEFLOW_JOB_WORKSPACE_ROOT`, `CODEFLOW_SQLITE_PATH`, CORS via `CODEFLOW_CORS` |
|
|
915
|
+
| Log API | `LOG_TO_MD_` | `LOG_TO_MD_HOST`, `LOG_TO_MD_PORT` (default **8012** — change if **graph** or **video** API uses that port), `LOG_TO_MD_CORS_ORIGINS`, `LOG_TO_MD_MAX_SYNC_ZIP_MB`, `LOG_TO_MD_MAX_LOG_UPLOAD_MB`, workspace / SQLite paths |
|
|
739
916
|
| Audio API | `MD_AUDIO_` | `MD_AUDIO_MAX_UPLOAD_MB`, `MD_AUDIO_MAX_SYNC_UPLOAD_MB`, `MD_AUDIO_JOB_TTL_SECONDS`, `MD_AUDIO_TEMP_DIR`, `MD_AUDIO_CORS_ORIGINS`, `MD_AUDIO_API_HOST`, `MD_AUDIO_API_PORT` |
|
|
740
917
|
| Video API | `MD_VIDEO_` | Same pattern as audio with `MD_VIDEO_*` (defaults: larger upload/sync caps, port **8012**) |
|
|
741
918
|
| YouTube API | `MD_YOUTUBE_` | `MD_YOUTUBE_JOB_TTL_SECONDS`, `MD_YOUTUBE_TEMP_DIR`, `MD_YOUTUBE_CORS_ORIGINS`, `MD_YOUTUBE_API_HOST`, `MD_YOUTUBE_API_PORT` (default **8013**); optional `MD_YOUTUBE_YTDLP` path for audio fallback |
|
|
@@ -762,13 +939,15 @@ Two usage patterns:
|
|
|
762
939
|
| PPTX | `python -m md_generator.ppt.api.mcp_server` (see module docstring for flags) |
|
|
763
940
|
| Image | `python -m md_generator.image.api.mcp_server` (see module for CLI) |
|
|
764
941
|
| URL / HTML | `python -m md_generator.url.api.mcp_server` / `--transport sse` / `--transport streamable-http` |
|
|
765
|
-
| Playwright / SPA | `md-playwright-mcp
|
|
942
|
+
| Playwright / SPA | `md-playwright`, `md-playwright-api`, `md-playwright-mcp`, or `python -m md_generator.playwright.api.mcp_server` / `--transport sse` / `--transport streamable-http` |
|
|
766
943
|
| Audio | `md-audio-mcp` or `python -m md_generator.media.audio.api.mcp_server` — `--transport stdio` (default), `sse`, `streamable-http` |
|
|
767
944
|
| Video | `md-video-mcp` or `python -m md_generator.media.video.api.mcp_server` — same transports |
|
|
768
945
|
| YouTube | `md-youtube-mcp` or `python -m md_generator.media.youtube.api.mcp_server` — same transports |
|
|
769
946
|
| Database metadata | `md-db-mcp` or `python -m md_generator.db.api.mcp_server` — `--transport stdio` (default), `sse`, `streamable-http` |
|
|
770
947
|
| Graph (Neo4j / NetworkX) | `md-graph-mcp` or `python -m md_generator.graph.api.mcp_server` — `--transport stdio` (default), `sse`, `streamable-http` |
|
|
771
948
|
| OpenAPI → Markdown | `md-openapi-mcp` or `python -m md_generator.openapi.api.mcp_server` — `--transport stdio` (default), `sse`, `streamable-http` |
|
|
949
|
+
| Codeflow | `md-codeflow-mcp` or `python -m md_generator.codeflow.api.mcp_server` — **stdio** MCP (see module for details) |
|
|
950
|
+
| Log files | `md-log-mcp` or `python -m md_generator.log.api.mcp_server` — `--transport stdio` (default), `sse`, `streamable-http` |
|
|
772
951
|
|
|
773
952
|
**Word** and **XLSX** also ship a small runner script in the repo:
|
|
774
953
|
|
|
@@ -897,7 +1076,9 @@ pip install -e ".[dev,all]" # or a smaller subset of extras
|
|
|
897
1076
|
python -m pytest
|
|
898
1077
|
```
|
|
899
1078
|
|
|
900
|
-
Tests live under each legacy folder’s `tests/` directory (e.g. `pdf-to-md/tests/`), **`graph-to-md/tests/`**, **`openapi-to-md/tests/`**, and **[`tool-assistant/tests/`](tool-assistant/tests/)** for the skill SDK; `pyproject.toml` sets `pythonpath = ["src"]` so **`md_generator`** (including **`md_generator.tools.assistant`**) resolves without a manual `PYTHONPATH` when you use `pytest` from the config.
|
|
1079
|
+
Tests live under each legacy folder’s `tests/` directory (e.g. `pdf-to-md/tests/`), plus **`url-to-md/tests/`**, **`playwright-to-md/tests/`**, **`youtube-to-md/tests/`**, **`graph-to-md/tests/`**, **`openapi-to-md/tests/`**, **`codeflow-to-md/tests/`**, **`log-to-md/tests/`**, and **[`tool-assistant/tests/`](tool-assistant/tests/)** for the skill SDK; `pyproject.toml` sets `pythonpath = ["src"]` so **`md_generator`** (including **`md_generator.tools.assistant`**) resolves without a manual `PYTHONPATH` when you use `pytest` from the config.
|
|
1080
|
+
|
|
1081
|
+
**Docs site (maintainers):** install **`mdengine[docs]`**, then build or serve the MkDocs project from the repo root (`mkdocs.yml`). The published site URL is listed under **Documentation** in `[project.urls]` on PyPI ([GitHub Pages build](https://vishal7090.github.io/md-generator/)).
|
|
901
1082
|
|
|
902
1083
|
### Codeflow (`md_generator.codeflow`)
|
|
903
1084
|
|
|
@@ -929,6 +1110,8 @@ python -m md_generator.codeflow.cli.main scan path/to/src --output ./codeflow-ou
|
|
|
929
1110
|
| Path | Role |
|
|
930
1111
|
|------|------|
|
|
931
1112
|
| `LICENSE` | MIT license text |
|
|
1113
|
+
| `docs/` | **MkDocs** source (module guides, `index.md`); build with **`mdengine[docs]`** |
|
|
1114
|
+
| `mkdocs.yml` | MkDocs configuration |
|
|
932
1115
|
| `CODE_OF_CONDUCT.md` | [Contributor Covenant](https://www.contributor-covenant.org/) 2.1 |
|
|
933
1116
|
| `src/md_generator/` | **Library source** (all formats + `api` subpackages); **audio/video** under [`media/audio/`](src/md_generator/media/audio/) and [`media/video/`](src/md_generator/media/video/); **graph-to-md** under [`graph/`](src/md_generator/graph/) |
|
|
934
1117
|
| `pyproject.toml` | Packaging, extras, CLI entry points, pytest |
|