mdengine 0.9.0__tar.gz → 0.11.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.11.0}/PKG-INFO +199 -11
- {mdengine-0.9.0 → mdengine-0.11.0}/README.md +169 -10
- {mdengine-0.9.0 → mdengine-0.11.0}/pyproject.toml +41 -1
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/__init__.py +1 -1
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/archive/api/convert_runner.py +3 -3
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/archive/api/main.py +15 -6
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/archive/api/mcp_setup.py +10 -7
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/archive/convert_impl.py +71 -118
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/archive/converter.py +14 -8
- mdengine-0.11.0/src/md_generator/archive/extractors.py +304 -0
- mdengine-0.11.0/src/md_generator/core/__init__.py +15 -0
- mdengine-0.11.0/src/md_generator/core/artifacts/__init__.py +16 -0
- mdengine-0.11.0/src/md_generator/core/artifacts/mdaf_validate.py +35 -0
- mdengine-0.11.0/src/md_generator/core/artifacts/models.py +60 -0
- mdengine-0.11.0/src/md_generator/core/artifacts/serialize.py +59 -0
- mdengine-0.11.0/src/md_generator/core/schema/__init__.py +3 -0
- mdengine-0.11.0/src/md_generator/core/schema/adapters/__init__.py +1 -0
- mdengine-0.11.0/src/md_generator/core/schema/adapters/log_record.py +24 -0
- mdengine-0.11.0/src/md_generator/core/schema/adapters/otel.py +31 -0
- mdengine-0.11.0/src/md_generator/core/schema/telemetry_event.py +15 -0
- mdengine-0.11.0/src/md_generator/core/schema/validation.py +16 -0
- mdengine-0.11.0/src/md_generator/db/adapters/access_adapter.py +143 -0
- mdengine-0.11.0/src/md_generator/db/adapters/access_introspect.py +122 -0
- mdengine-0.11.0/src/md_generator/db/adapters/access_odbc.py +108 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/adapters/factory.py +10 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/adapters/mysql_adapter.py +14 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/adapters/postgres_adapter.py +14 -0
- mdengine-0.11.0/src/md_generator/db/adapters/sqlserver_adapter.py +323 -0
- mdengine-0.11.0/src/md_generator/db/api/access_upload.py +89 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/api/main.py +82 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/api/schemas.py +5 -1
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/api/settings.py +1 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/api/sqlite_upload.py +4 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/cli/main.py +28 -1
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/core/base_adapter.py +11 -0
- mdengine-0.11.0/src/md_generator/db/core/cli_ops.py +57 -0
- mdengine-0.11.0/src/md_generator/db/core/export_manifest.py +65 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/core/extractor.py +74 -9
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/core/job_manager.py +45 -13
- mdengine-0.11.0/src/md_generator/db/core/link_graph.py +69 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/core/markdown_writer.py +55 -7
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/core/models.py +21 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/core/run_config.py +14 -0
- mdengine-0.11.0/src/md_generator/distributed/__init__.py +5 -0
- mdengine-0.11.0/src/md_generator/distributed/merge.py +21 -0
- mdengine-0.11.0/src/md_generator/distributed/partition.py +12 -0
- mdengine-0.11.0/src/md_generator/distributed/worker_pool.py +43 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/engine_cli.py +24 -2
- mdengine-0.11.0/src/md_generator/governance/__init__.py +11 -0
- mdengine-0.11.0/src/md_generator/governance/audit.py +13 -0
- mdengine-0.11.0/src/md_generator/governance/classification.py +31 -0
- mdengine-0.11.0/src/md_generator/governance/lineage.py +34 -0
- mdengine-0.11.0/src/md_generator/governance/retention.py +7 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/api/schemas.py +24 -53
- mdengine-0.11.0/src/md_generator/log/chunking/__init__.py +4 -0
- mdengine-0.11.0/src/md_generator/log/chunking/artifact_adapter.py +20 -0
- mdengine-0.11.0/src/md_generator/log/chunking/chunk_engine.py +23 -0
- mdengine-0.11.0/src/md_generator/log/chunking/chunk_models.py +14 -0
- mdengine-0.11.0/src/md_generator/log/chunking/chunk_registry.py +144 -0
- mdengine-0.11.0/src/md_generator/log/chunking/chunk_strategy.py +20 -0
- mdengine-0.11.0/src/md_generator/log/cli/main.py +147 -0
- mdengine-0.11.0/src/md_generator/log/config/default.yaml +138 -0
- mdengine-0.11.0/src/md_generator/log/config/preset_loader.py +85 -0
- mdengine-0.11.0/src/md_generator/log/config/presets/json.yaml +4 -0
- mdengine-0.11.0/src/md_generator/log/config/presets/logback.yaml +5 -0
- mdengine-0.11.0/src/md_generator/log/config/schemas.py +262 -0
- mdengine-0.11.0/src/md_generator/log/core/pipeline.py +392 -0
- mdengine-0.11.0/src/md_generator/log/core/plugins.py +80 -0
- mdengine-0.11.0/src/md_generator/log/core/run_config.py +270 -0
- mdengine-0.11.0/src/md_generator/log/correlation/correlation_engine.py +51 -0
- mdengine-0.11.0/src/md_generator/log/correlation/correlation_models.py +31 -0
- mdengine-0.11.0/src/md_generator/log/correlation/correlation_scoring.py +33 -0
- mdengine-0.11.0/src/md_generator/log/correlation/cross_source.py +69 -0
- mdengine-0.11.0/src/md_generator/log/correlation/request_parser.py +12 -0
- mdengine-0.11.0/src/md_generator/log/correlation/session_parser.py +10 -0
- mdengine-0.11.0/src/md_generator/log/correlation/trace_parser.py +12 -0
- mdengine-0.11.0/src/md_generator/log/documentation/__init__.py +9 -0
- mdengine-0.11.0/src/md_generator/log/documentation/incident_summary.py +19 -0
- mdengine-0.11.0/src/md_generator/log/documentation/service_report.py +19 -0
- mdengine-0.11.0/src/md_generator/log/documentation/troubleshooting.py +15 -0
- mdengine-0.11.0/src/md_generator/log/embeddings/embedding_exporter.py +38 -0
- mdengine-0.11.0/src/md_generator/log/embeddings/exporters/chroma_exporter.py +11 -0
- mdengine-0.11.0/src/md_generator/log/embeddings/exporters/faiss_exporter.py +10 -0
- mdengine-0.11.0/src/md_generator/log/embeddings/exporters/jsonl_exporter.py +15 -0
- mdengine-0.11.0/src/md_generator/log/embeddings/exporters/parquet_exporter.py +20 -0
- mdengine-0.11.0/src/md_generator/log/incidents/__init__.py +4 -0
- mdengine-0.11.0/src/md_generator/log/incidents/artifact_adapter.py +27 -0
- mdengine-0.11.0/src/md_generator/log/incidents/fingerprinting.py +33 -0
- mdengine-0.11.0/src/md_generator/log/incidents/grouping.py +23 -0
- mdengine-0.11.0/src/md_generator/log/incidents/incident_engine.py +82 -0
- mdengine-0.11.0/src/md_generator/log/incidents/models.py +49 -0
- mdengine-0.11.0/src/md_generator/log/incidents/severity.py +21 -0
- mdengine-0.11.0/src/md_generator/log/incremental/__init__.py +11 -0
- mdengine-0.11.0/src/md_generator/log/incremental/checkpoint.py +38 -0
- mdengine-0.11.0/src/md_generator/log/incremental/engine.py +34 -0
- mdengine-0.11.0/src/md_generator/log/incremental/resume_reader.py +41 -0
- mdengine-0.11.0/src/md_generator/log/ingestion/archive_bridge.py +52 -0
- mdengine-0.11.0/src/md_generator/log/ingestion/batch_reader.py +45 -0
- mdengine-0.11.0/src/md_generator/log/intelligence/anomaly_detection.py +8 -0
- mdengine-0.11.0/src/md_generator/log/intelligence/dependency_analysis.py +12 -0
- mdengine-0.11.0/src/md_generator/log/intelligence/heuristics.py +15 -0
- mdengine-0.11.0/src/md_generator/log/intelligence/root_cause_engine.py +47 -0
- mdengine-0.11.0/src/md_generator/log/knowledge_graph/graph_builder.py +18 -0
- mdengine-0.11.0/src/md_generator/log/knowledge_graph/graph_exporter.py +28 -0
- mdengine-0.11.0/src/md_generator/log/knowledge_graph/graph_models.py +17 -0
- mdengine-0.11.0/src/md_generator/log/knowledge_graph/relation_extractor.py +34 -0
- mdengine-0.11.0/src/md_generator/log/linking/__init__.py +3 -0
- mdengine-0.11.0/src/md_generator/log/linking/link_graph.py +62 -0
- mdengine-0.11.0/src/md_generator/log/markdown_intelligence/__init__.py +4 -0
- mdengine-0.11.0/src/md_generator/log/markdown_intelligence/aliases.py +13 -0
- mdengine-0.11.0/src/md_generator/log/markdown_intelligence/backlinks.py +26 -0
- mdengine-0.11.0/src/md_generator/log/markdown_intelligence/cross_refs.py +11 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/mcp/server.py +32 -0
- mdengine-0.11.0/src/md_generator/log/noise_reduction/__init__.py +3 -0
- mdengine-0.11.0/src/md_generator/log/noise_reduction/dedupe.py +22 -0
- mdengine-0.11.0/src/md_generator/log/noise_reduction/entropy.py +15 -0
- mdengine-0.11.0/src/md_generator/log/noise_reduction/filter.py +26 -0
- mdengine-0.11.0/src/md_generator/log/parser/json_line_parser.py +59 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/parser/multiline_parser.py +12 -1
- mdengine-0.11.0/src/md_generator/log/parser/parser_registry.py +71 -0
- mdengine-0.11.0/src/md_generator/log/search/bm25_search.py +38 -0
- mdengine-0.11.0/src/md_generator/log/search/cli.py +25 -0
- mdengine-0.11.0/src/md_generator/log/search/hybrid_search.py +13 -0
- mdengine-0.11.0/src/md_generator/log/search/search_index.py +12 -0
- mdengine-0.11.0/src/md_generator/log/search/vector_search.py +8 -0
- mdengine-0.11.0/src/md_generator/log/streaming/__init__.py +3 -0
- mdengine-0.11.0/src/md_generator/log/streaming/kafka_reader.py +39 -0
- mdengine-0.11.0/src/md_generator/log/streaming/redis_reader.py +40 -0
- mdengine-0.11.0/src/md_generator/log/streaming/stdin_reader.py +9 -0
- mdengine-0.11.0/src/md_generator/log/streaming/stream_coordinator.py +44 -0
- mdengine-0.11.0/src/md_generator/log/streaming/tail_reader.py +17 -0
- mdengine-0.11.0/src/md_generator/log/streaming/websocket_reader.py +38 -0
- mdengine-0.11.0/src/md_generator/log/timeline/causal_chain.py +15 -0
- mdengine-0.11.0/src/md_generator/log/timeline/ordering.py +12 -0
- mdengine-0.11.0/src/md_generator/log/timeline/timeline_engine.py +25 -0
- mdengine-0.11.0/src/md_generator/log/timeline/timeline_models.py +14 -0
- mdengine-0.11.0/src/md_generator/log/topology/__init__.py +3 -0
- mdengine-0.11.0/src/md_generator/log/topology/discovery.py +57 -0
- mdengine-0.11.0/src/md_generator/log/visualization/__init__.py +4 -0
- mdengine-0.11.0/src/md_generator/log/visualization/mermaid_sequence.py +21 -0
- mdengine-0.11.0/src/md_generator/log/visualization/mermaid_timeline.py +21 -0
- mdengine-0.11.0/src/md_generator/log/visualization/mermaid_topology.py +24 -0
- mdengine-0.11.0/src/md_generator/log/writers/chunk_writer.py +56 -0
- mdengine-0.11.0/src/md_generator/log/writers/correlation_writer.py +29 -0
- mdengine-0.11.0/src/md_generator/log/writers/frontmatter_writer.py +46 -0
- mdengine-0.11.0/src/md_generator/log/writers/incident_writer.py +67 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/writers/markdown_writer.py +0 -4
- mdengine-0.11.0/src/md_generator/otel/__init__.py +1 -0
- mdengine-0.11.0/src/md_generator/otel/cli/__init__.py +0 -0
- mdengine-0.11.0/src/md_generator/otel/cli/main.py +34 -0
- mdengine-0.11.0/src/md_generator/otel/otel_logs.py +22 -0
- mdengine-0.11.0/src/md_generator/otel/otel_metrics.py +12 -0
- mdengine-0.11.0/src/md_generator/otel/otel_models.py +20 -0
- mdengine-0.11.0/src/md_generator/otel/otel_parser.py +22 -0
- mdengine-0.11.0/src/md_generator/otel/otel_spans.py +26 -0
- mdengine-0.11.0/src/md_generator/runtime/__init__.py +4 -0
- mdengine-0.11.0/src/md_generator/runtime/execution_context.py +13 -0
- mdengine-0.11.0/src/md_generator/runtime/metrics.py +27 -0
- mdengine-0.11.0/src/md_generator/runtime/stage_engine.py +25 -0
- mdengine-0.11.0/src/md_generator/sap/__init__.py +17 -0
- mdengine-0.11.0/src/md_generator/sap/analyzer/authorization/extractor.py +24 -0
- mdengine-0.11.0/src/md_generator/sap/analyzer/governance/classifier.py +52 -0
- mdengine-0.11.0/src/md_generator/sap/analyzer/lineage/builder.py +39 -0
- mdengine-0.11.0/src/md_generator/sap/analyzer/relationships/engine.py +35 -0
- mdengine-0.11.0/src/md_generator/sap/analyzer/semantics/entity_mapper.py +20 -0
- mdengine-0.11.0/src/md_generator/sap/analyzer/validation/extractor.py +35 -0
- mdengine-0.11.0/src/md_generator/sap/api/main.py +85 -0
- mdengine-0.11.0/src/md_generator/sap/api/mcp_server.py +16 -0
- mdengine-0.11.0/src/md_generator/sap/api/run.py +15 -0
- mdengine-0.11.0/src/md_generator/sap/api/schemas.py +47 -0
- mdengine-0.11.0/src/md_generator/sap/api/settings.py +31 -0
- mdengine-0.11.0/src/md_generator/sap/api/zip_export.py +25 -0
- mdengine-0.11.0/src/md_generator/sap/cli/main.py +125 -0
- mdengine-0.11.0/src/md_generator/sap/config/default.yaml +62 -0
- mdengine-0.11.0/src/md_generator/sap/core/__init__.py +1 -0
- mdengine-0.11.0/src/md_generator/sap/core/cache.py +51 -0
- mdengine-0.11.0/src/md_generator/sap/core/errors.py +17 -0
- mdengine-0.11.0/src/md_generator/sap/core/export_manifest.py +48 -0
- mdengine-0.11.0/src/md_generator/sap/core/extractor.py +18 -0
- mdengine-0.11.0/src/md_generator/sap/core/features.py +17 -0
- mdengine-0.11.0/src/md_generator/sap/core/job_manager.py +176 -0
- mdengine-0.11.0/src/md_generator/sap/core/link_graph.py +49 -0
- mdengine-0.11.0/src/md_generator/sap/core/run_config.py +151 -0
- mdengine-0.11.0/src/md_generator/sap/core/run_context.py +25 -0
- mdengine-0.11.0/src/md_generator/sap/graph/__init__.py +1 -0
- mdengine-0.11.0/src/md_generator/sap/graph/builder.py +97 -0
- mdengine-0.11.0/src/md_generator/sap/graph/exporters/__init__.py +1 -0
- mdengine-0.11.0/src/md_generator/sap/graph/exporters/json_export.py +13 -0
- mdengine-0.11.0/src/md_generator/sap/graph/exporters/mermaid_export.py +49 -0
- mdengine-0.11.0/src/md_generator/sap/graph/relations.py +15 -0
- mdengine-0.11.0/src/md_generator/sap/markdown/__init__.py +1 -0
- mdengine-0.11.0/src/md_generator/sap/markdown/builders/__init__.py +1 -0
- mdengine-0.11.0/src/md_generator/sap/markdown/builders/entity_builder.py +170 -0
- mdengine-0.11.0/src/md_generator/sap/markdown/builders/slug.py +11 -0
- mdengine-0.11.0/src/md_generator/sap/markdown/builders/writer.py +164 -0
- mdengine-0.11.0/src/md_generator/sap/markdown/chunking/chunk_strategy.py +98 -0
- mdengine-0.11.0/src/md_generator/sap/markdown/chunking/registry.py +22 -0
- mdengine-0.11.0/src/md_generator/sap/markdown/chunking/writer.py +51 -0
- mdengine-0.11.0/src/md_generator/sap/models/entities/__init__.py +4 -0
- mdengine-0.11.0/src/md_generator/sap/models/entities/kinds.py +19 -0
- mdengine-0.11.0/src/md_generator/sap/models/entities/sap_object.py +30 -0
- mdengine-0.11.0/src/md_generator/sap/models/metadata/__init__.py +14 -0
- mdengine-0.11.0/src/md_generator/sap/models/metadata/abap.py +62 -0
- mdengine-0.11.0/src/md_generator/sap/models/metadata/cds.py +46 -0
- mdengine-0.11.0/src/md_generator/sap/models/metadata/ddic.py +44 -0
- mdengine-0.11.0/src/md_generator/sap/orchestration/__init__.py +1 -0
- mdengine-0.11.0/src/md_generator/sap/orchestration/pipeline.py +195 -0
- mdengine-0.11.0/src/md_generator/sap/parser/__init__.py +1 -0
- mdengine-0.11.0/src/md_generator/sap/parser/abap/__init__.py +3 -0
- mdengine-0.11.0/src/md_generator/sap/parser/abap/lexer.py +82 -0
- mdengine-0.11.0/src/md_generator/sap/parser/abap/parser.py +159 -0
- mdengine-0.11.0/src/md_generator/sap/parser/bapi/parser.py +48 -0
- mdengine-0.11.0/src/md_generator/sap/parser/base.py +29 -0
- mdengine-0.11.0/src/md_generator/sap/parser/cds/parser.py +71 -0
- mdengine-0.11.0/src/md_generator/sap/parser/ddic/parser.py +94 -0
- mdengine-0.11.0/src/md_generator/sap/parser/discovery.py +49 -0
- mdengine-0.11.0/src/md_generator/sap/parser/idoc/parser.py +45 -0
- mdengine-0.11.0/src/md_generator/sap/parser/odata/parser.py +73 -0
- mdengine-0.11.0/src/md_generator/sap/parser/registry.py +79 -0
- mdengine-0.11.0/src/md_generator/sap/parser/rfc/__init__.py +1 -0
- mdengine-0.11.0/src/md_generator/sap/parser/transport/parser.py +56 -0
- mdengine-0.11.0/src/md_generator/sdk/__init__.py +3 -0
- mdengine-0.11.0/src/md_generator/sdk/classifier_plugin.py +8 -0
- mdengine-0.11.0/src/md_generator/sdk/discovery.py +20 -0
- mdengine-0.11.0/src/md_generator/sdk/enricher_plugin.py +3 -0
- mdengine-0.11.0/src/md_generator/sdk/parser_plugin.py +11 -0
- mdengine-0.11.0/src/md_generator/sdk/plugin_protocol.py +10 -0
- mdengine-0.11.0/src/md_generator/sdk/stage_protocol.py +30 -0
- mdengine-0.11.0/src/md_generator/sdk/writer_plugin.py +8 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/dependency-graph.json +6 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/registry.json +46 -3
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/global-skill.md +3 -2
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-archive/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-codeflow/SKILL.md +4 -3
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-db/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-global/SKILL.md +2 -1
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-graph/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-image/SKILL.md +1 -1
- mdengine-0.11.0/src/md_generator/tools/assistant/data/skills/mdengine-ai-log/SKILL.md +76 -0
- mdengine-0.11.0/src/md_generator/tools/assistant/data/skills/mdengine-ai-log/references/example.md +43 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-media/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-openapi/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-pdf/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-playwright/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-ppt/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-text/SKILL.md +4 -3
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-url/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-word/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-xlsx/SKILL.md +1 -1
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-reference/SKILL.md +1 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-reference/references/http-api-mcp.md +23 -1
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/modules/codeflow.md +3 -2
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/modules/text.md +3 -2
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/skill_builder/generate.py +8 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/skill_builder/routing.py +7 -2
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/post_convert_assets.py +8 -7
- {mdengine-0.9.0 → mdengine-0.11.0}/src/mdengine.egg-info/PKG-INFO +199 -11
- {mdengine-0.9.0 → mdengine-0.11.0}/src/mdengine.egg-info/SOURCES.txt +194 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/mdengine.egg-info/entry_points.txt +4 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/mdengine.egg-info/requires.txt +36 -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.11.0}/LICENSE +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/setup.cfg +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/archive/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/archive/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/archive/api/jobs.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/archive/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/archive/api/query_options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/archive/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/archive/options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/analyzers/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/analyzers/flow_analyzer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/api/job_manager.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/api/run.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/api/schemas.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/api/semantic_api.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/api/sse.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/cli/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/cli/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/config/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/config/codeflow_yaml.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/core/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/core/cache_manager.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/core/extractor.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/core/run_config.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/detectors/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/detectors/api_detector.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/detectors/entry_detector.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/detectors/entry_rank.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/detectors/event_detector.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/detectors/kafka_detector.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/detectors/liferay_portlet_detector.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/generators/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/generators/business_rules_markdown.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/generators/cfg_paths_markdown.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/generators/cfg_paths_mermaid.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/generators/cfg_render.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/generators/cytoscape_enrich.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/generators/entry_markdown.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/generators/flow_summary.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/generators/flow_tree.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/generators/html.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/generators/html_unified.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/generators/markdown.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/generators/mermaid.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/generators/sequence.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/analysis.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/anomaly.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/builder.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/call_expander.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/cfg_builder.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/cfg_copy.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/cfg_model.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/cluster_labeling.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/clustering.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/cross_repo_resolver.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/dependency_builder.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/diff_analysis.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/embeddings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/enricher.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/event_graph.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/export_schema.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/hotpath.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/maven_hints.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/multi_repo.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/multigraph_utils.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/nl_query.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/path_enumerator.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/path_probability.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/query_engine.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/relations.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/runtime_integration.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/semantic_enricher.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/semantic_index.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/sqlite_export.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/graph/tsconfig_cross_repo.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/ingestion/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/ingestion/git_loader.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/ingestion/loader.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/lang_dispatch.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/mcp/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/mcp/server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/models/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/models/ir.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/models/ir_cfg.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/parsers/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/parsers/adapters/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/parsers/adapters/cpp_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/parsers/adapters/go_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/parsers/adapters/ir_from_dump.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/parsers/adapters/java_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/parsers/adapters/php_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/parsers/adapters/python_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/parsers/adapters/treesitter_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/parsers/base.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/parsers/cpp_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/parsers/go_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/parsers/ir_enrich.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/parsers/java_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/parsers/php_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/parsers/python_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/parsers/treesitter_js_ts_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/parsers/unified_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/rules/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/rules/collector.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/rules/cpp_rules.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/rules/java_rules.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/runtime/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/runtime/python_edge_counter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/runtime/trace_runner.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/runtime/tracer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/utils/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/utils/tools_root.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/worker/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/codeflow/worker/celery_optional.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/adapters/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/adapters/mongo_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/adapters/oracle_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/adapters/sql_common.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/adapters/sqlite_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/api/run.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/cli/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/config/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/config/default.yaml +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/core/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/core/erd/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/core/erd/dot_emitter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/core/erd/filter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/core/erd/mermaid_emitter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/core/erd/mermaid_render.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/core/erd/model.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/core/erd/pipeline.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/core/erd/render.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/core/util.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/core/zip_export.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/mcp/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/mcp/server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/mcp/sse.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/db/mcp/stream.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/adapters/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/adapters/factory.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/adapters/neo4j_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/adapters/networkx_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/api/run.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/api/schemas.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/cli/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/cli/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/config/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/config/default.yaml +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/core/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/core/base_adapter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/core/extractor.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/core/graph_builder.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/core/job_manager.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/core/markdown_writer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/core/models.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/core/run_config.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/core/viz.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/core/zip_export.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/mcp/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/mcp/server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/mcp/sse.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/graph/mcp/stream.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/image/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/image/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/image/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/image/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/image/api/query_options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/image/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/image/api/staging.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/image/api/zip_bundle.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/image/backends/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/image/backends/base.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/image/backends/easy.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/image/backends/paddle.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/image/backends/tesseract.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/image/convert_impl.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/image/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/image/emit.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/image/io_util.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/image/utils.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/aggregation/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/aggregation/aggregators.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/aggregation/dataframe_builder.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/aggregation/metrics.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/aggregation/timeline.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/api/run.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/cli/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/clustering/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/clustering/embeddings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/clustering/kmeans_cluster.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/clustering/semantic_grouping.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/clustering/vectorizer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/config/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/config/presets/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/config/presets/generic.yaml +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/config/presets/springboot.yaml +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/core/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/core/errors.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/core/execution_context.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/core/extractor.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/core/job_manager.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/core/lifecycle.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/core/zip_export.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/enrichment/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/enrichment/correlation.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/enrichment/fingerprinting.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/enrichment/hash_generator.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/enrichment/pattern_matcher.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/enrichment/severity_ranker.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/ingestion/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/ingestion/archive_loader.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/ingestion/encoding_detector.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/ingestion/file_loader.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/ingestion/stream_reader.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/mcp/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/mcp/sse.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/normalization/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/normalization/number_normalizer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/normalization/path_normalizer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/normalization/pii_redactor.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/normalization/token_normalizer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/normalization/uuid_normalizer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/parser/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/parser/level_detector.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/parser/logger_detector.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/parser/models.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/parser/regex_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/parser/stacktrace_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/parser/timestamp_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/service/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/service/service.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/utils/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/utils/concurrency.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/utils/io.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/utils/regex.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/utils/time.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/writers/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/writers/assets_writer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/writers/cluster_markdown.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/log/writers/summary_writer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/audio/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/audio/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/audio/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/audio/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/audio/api/mcp_setup.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/audio/api/run.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/audio/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/audio/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/audio/formatter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/audio/service.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/document_converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/job_store.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/video/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/video/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/video/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/video/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/video/api/mcp_setup.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/video/api/run.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/video/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/video/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/video/formatter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/video/service.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/whisper_language.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/youtube/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/youtube/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/youtube/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/youtube/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/youtube/api/mcp_setup.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/youtube/api/run.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/youtube/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/youtube/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/youtube/formatter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/youtube/metadata.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/youtube/service.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/media/youtube/transcript.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/api/run.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/api/schemas.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/cli/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/cli/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/config/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/config/default.yaml +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/converters/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/converters/swagger2_to_openapi3.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/core/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/core/extractor.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/core/run_config.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/core/zip_export.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/enrichers/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/enrichers/rules.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/enrichers/sample_body.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/generators/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/generators/dependency_graph.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/loaders/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/loaders/spec_loader.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/mcp/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/mcp/server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/models/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/models/domain.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/normalizers/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/normalizers/operations.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/normalizers/schema_flatten.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/parsers/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/parsers/openapi_parser.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/resolvers/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/resolvers/ref_resolver.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/writers/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/openapi/writers/markdown_writer.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/pdf/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/pdf/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/pdf/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/pdf/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/pdf/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/pdf/api/zip_bundle.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/pdf/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/pdf/md_emit.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/pdf/pdf_extract.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/pdf/utils.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/playwright/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/playwright/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/playwright/api/convert_runner.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/playwright/api/jobs.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/playwright/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/playwright/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/playwright/api/mcp_setup.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/playwright/api/run.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/playwright/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/playwright/assets.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/playwright/chunker.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/playwright/cli.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/playwright/extractor.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/playwright/html_to_md.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/playwright/options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/playwright/pipeline.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/playwright/playwright_fetcher.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/api/convert_runner.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/api/jobs.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/api/mcp_setup.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/api/query_options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/convert_impl.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/embedded_extract.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/ooxml_media.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/post_assets.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/text_formatting.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/vendor_pdf_md/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/vendor_pdf_md/convert.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/vendor_word_md/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/vendor_word_md/convert.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/ppt/zip_deep.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/text/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/text/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/text/api/convert_runner.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/text/api/jobs.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/text/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/text/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/text/api/mcp_setup.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/text/api/query_options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/text/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/text/convert_impl.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/text/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/text/format_detect.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/text/md_emit_json.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/text/md_emit_txt.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/text/md_emit_xml.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/text/md_flatten.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/text/options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/text/xml_parse.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/adapters/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/adapters/claude.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/adapters/cursor.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/adapters/openai.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/agent.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/bundle.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/chunks.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/cli.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-archive/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-codeflow/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-db/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-global/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-graph/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-image/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-media/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-openapi/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-pdf/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-playwright/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-ppt/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-text/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-url/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-word/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-ai-xlsx/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-reference/references/entrypoints.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/mdengine-reference/references/example.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/modules/archive.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/modules/db.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/modules/graph.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/modules/image.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/modules/media.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/modules/openapi.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/modules/pdf.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/modules/playwright.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/modules/ppt.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/modules/url.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/modules/word.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/data/skills/modules/xlsx.md +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/rag.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/assistant/registry.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/skill_builder/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/skill_builder/__main__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/skill_builder/dependency_graph.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/tools/skill_builder/pyproject_util.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/api/convert_runner.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/api/jobs.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/api/mcp_setup.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/api/query_options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/api/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/assets.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/convert_impl.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/crawl.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/extract.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/fetch.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/html_to_md.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/options.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/page_convert.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/url/robots_util.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/word/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/word/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/word/api/convert_util.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/word/api/jobs.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/word/api/main.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/word/api/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/word/artifact.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/word/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/word/settings.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/xlsx/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/xlsx/api/__init__.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/xlsx/api/app.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/xlsx/convert_config.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/xlsx/converter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/xlsx/converter_core.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/xlsx/excel_reader.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/xlsx/markdown_emitter.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/md_generator/xlsx/mcp_server.py +0 -0
- {mdengine-0.9.0 → mdengine-0.11.0}/src/mdengine.egg-info/dependency_links.txt +0 -0
- {mdengine-0.9.0 → mdengine-0.11.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.11.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"
|
|
@@ -108,6 +113,11 @@ Requires-Dist: openapi-spec-validator>=0.7.0; extra == "openapi"
|
|
|
108
113
|
Provides-Extra: codeflow
|
|
109
114
|
Requires-Dist: networkx>=3.2.0; extra == "codeflow"
|
|
110
115
|
Requires-Dist: javalang>=0.13.0; extra == "codeflow"
|
|
116
|
+
Provides-Extra: sap
|
|
117
|
+
Requires-Dist: pyyaml>=6.0.0; extra == "sap"
|
|
118
|
+
Requires-Dist: networkx>=3.2.0; extra == "sap"
|
|
119
|
+
Requires-Dist: pydantic>=2.0.0; extra == "sap"
|
|
120
|
+
Requires-Dist: pydantic-settings>=2.0.0; extra == "sap"
|
|
111
121
|
Provides-Extra: codeflow-worker
|
|
112
122
|
Requires-Dist: celery>=5.3.0; extra == "codeflow-worker"
|
|
113
123
|
Requires-Dist: redis>=5.0.0; extra == "codeflow-worker"
|
|
@@ -134,6 +144,17 @@ Requires-Dist: scikit-learn>=1.3.0; extra == "log-semantic"
|
|
|
134
144
|
Requires-Dist: sentence-transformers>=3.0.0; extra == "log-semantic"
|
|
135
145
|
Provides-Extra: log-pretty
|
|
136
146
|
Requires-Dist: loguru>=0.7.0; extra == "log-pretty"
|
|
147
|
+
Provides-Extra: log-otel-proto
|
|
148
|
+
Requires-Dist: opentelemetry-proto>=1.27.0; extra == "log-otel-proto"
|
|
149
|
+
Requires-Dist: protobuf>=4.25.0; extra == "log-otel-proto"
|
|
150
|
+
Provides-Extra: log-export-parquet
|
|
151
|
+
Requires-Dist: pyarrow>=14.0.0; extra == "log-export-parquet"
|
|
152
|
+
Provides-Extra: log-stream-kafka
|
|
153
|
+
Requires-Dist: kafka-python>=2.0.2; extra == "log-stream-kafka"
|
|
154
|
+
Provides-Extra: log-stream-redis
|
|
155
|
+
Requires-Dist: redis>=5.0.0; extra == "log-stream-redis"
|
|
156
|
+
Provides-Extra: log-stream-ws
|
|
157
|
+
Requires-Dist: websockets>=12.0; extra == "log-stream-ws"
|
|
137
158
|
Provides-Extra: api
|
|
138
159
|
Requires-Dist: fastapi>=0.115.0; extra == "api"
|
|
139
160
|
Requires-Dist: uvicorn[standard]>=0.32.0; extra == "api"
|
|
@@ -143,6 +164,14 @@ Requires-Dist: pydantic-settings>=2.0.0; extra == "api"
|
|
|
143
164
|
Provides-Extra: mcp
|
|
144
165
|
Requires-Dist: mcp>=1.2.0; extra == "mcp"
|
|
145
166
|
Requires-Dist: fastmcp>=2.3.0; extra == "mcp"
|
|
167
|
+
Provides-Extra: docs
|
|
168
|
+
Requires-Dist: mkdocs-material; extra == "docs"
|
|
169
|
+
Requires-Dist: mkdocstrings; extra == "docs"
|
|
170
|
+
Requires-Dist: mkdocstrings-python; extra == "docs"
|
|
171
|
+
Requires-Dist: pymdown-extensions; extra == "docs"
|
|
172
|
+
Requires-Dist: mkdocs-mermaid2-plugin; extra == "docs"
|
|
173
|
+
Requires-Dist: mkdocs-git-revision-date-localized-plugin; extra == "docs"
|
|
174
|
+
Requires-Dist: mike; extra == "docs"
|
|
146
175
|
Provides-Extra: skill-openai
|
|
147
176
|
Requires-Dist: openai>=1.30.0; extra == "skill-openai"
|
|
148
177
|
Provides-Extra: skill-rag-chroma
|
|
@@ -201,7 +230,7 @@ Single Python distribution for converting **PDF**, **Word (.docx)**, **PowerPoin
|
|
|
201
230
|
- **Python:** 3.10+
|
|
202
231
|
- **License:** [MIT](LICENSE)
|
|
203
232
|
|
|
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)
|
|
233
|
+
**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
234
|
|
|
206
235
|
---
|
|
207
236
|
|
|
@@ -270,9 +299,23 @@ pip install "mdengine[all]"
|
|
|
270
299
|
| `url-full` | `url` plus PDF/Word/PPTX/XLSX/archive stack for **post-converting** downloaded linked files to Markdown |
|
|
271
300
|
| `audio` | **Audio → Markdown** via Whisper (`openai-whisper`); ships `imageio-ffmpeg` for a bundled **ffmpeg** when none is on `PATH` |
|
|
272
301
|
| `video` | **Video → Markdown** (ffmpeg extracts mono 16 kHz WAV, then same Whisper stack as `audio`) |
|
|
302
|
+
| `youtube` | **YouTube → Markdown** (captions + page metadata; `youtube-transcript-api`, httpx, BeautifulSoup, lxml) |
|
|
303
|
+
| `playwright` | **Playwright-rendered SPA → Markdown** (`playwright` + same HTML stack as `url`; run `playwright install chromium` after install) |
|
|
304
|
+
| `db` | **Database metadata → Markdown** (SQLAlchemy, drivers, `mermaid-py` for ERD helpers) |
|
|
305
|
+
| `openapi` | **OpenAPI / Swagger → Markdown** (`prance`, `openapi-spec-validator`, PyYAML) |
|
|
306
|
+
| `codeflow` | **Static codeflow / call graphs → Markdown** (`networkx`, `javalang`; core scanners) |
|
|
307
|
+
| `codeflow-worker` | Optional **Celery + Redis** workers for the codeflow API async path |
|
|
308
|
+
| `codeflow-treesitter` | **Tree-sitter** parsers (JS/TS/TSX, C++) for richer codeflow slices |
|
|
309
|
+
| `codeflow-clang` | **libclang** bindings for C/C++ parsing when used by the codeflow pipeline |
|
|
310
|
+
| `codeflow-semantic` | **Semantic clustering** (SentenceTransformers, scikit-learn, numpy; large install) |
|
|
311
|
+
| `log` | **Log files → Markdown** (`pandas`, PyYAML, date parsing) |
|
|
312
|
+
| `log-cluster` | Log pipeline **clustering** (scikit-learn) |
|
|
313
|
+
| `log-semantic` | Log pipeline **semantic** helpers (SentenceTransformers + scikit-learn; large) |
|
|
314
|
+
| `log-pretty` | Optional **loguru** for pretty console diagnostics during log conversion |
|
|
273
315
|
| `api` | FastAPI, uvicorn, httpx, pydantic-settings |
|
|
274
316
|
| `mcp` | MCP servers (`mcp`, `fastmcp` where used) |
|
|
275
317
|
| `graph` | **Graph → Markdown** (Neo4j Bolt + NetworkX GraphML/GML): `networkx`, `neo4j`, `pyyaml` |
|
|
318
|
+
| `docs` | **MkDocs** site tooling (Material, mkdocstrings, Mermaid plugin, mike) for maintainers publishing reference docs |
|
|
276
319
|
| `dev` | pytest + API/MCP test helpers |
|
|
277
320
|
| `all` | Large superset of dependencies (use only if you need everything) |
|
|
278
321
|
| `skill-openai` | Optional helpers for OpenAI-style calls with assembled skill context (`md_generator.tools.assistant`) |
|
|
@@ -333,7 +376,17 @@ If the shell reports “command not found”, ensure the Python **Scripts** dire
|
|
|
333
376
|
| `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
377
|
| `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
378
|
| `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
|
-
| `
|
|
379
|
+
| `md-playwright` | `md_generator.playwright.cli:main` | `pip install "mdengine[playwright]"` then `md-playwright https://spa.example/app ./spa-out` (after `playwright install chromium`) |
|
|
380
|
+
| `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) |
|
|
381
|
+
| `md-playwright-mcp` | `md_generator.playwright.api.mcp_server:main` | Standalone MCP for Playwright capture tools |
|
|
382
|
+
| `md-codeflow` | `md_generator.codeflow.cli.main:main` | Same as `codeflow` — `md-codeflow scan …` (alias of packaged `codeflow` script) |
|
|
383
|
+
| `codeflow` | `md_generator.codeflow.cli.main:main` | `pip install "mdengine[codeflow]"` then `codeflow scan path/to/src --output ./out --lang java` |
|
|
384
|
+
| `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 |
|
|
385
|
+
| `md-codeflow-mcp` | `md_generator.codeflow.api.mcp_server:main` | Standalone **stdio** MCP for codeflow tools |
|
|
386
|
+
| `md-log` | `md_generator.log.cli.main:main` | `pip install "mdengine[log]"` then `md-log --config log.yaml` (or `mdengine log-to-md …`) |
|
|
387
|
+
| `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** |
|
|
388
|
+
| `md-log-mcp` | `md_generator.log.api.mcp_server:main` | Standalone MCP (`stdio` \| `sse` \| `streamable-http`) |
|
|
389
|
+
| `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
390
|
|
|
338
391
|
**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
392
|
|
|
@@ -343,6 +396,14 @@ If the shell reports “command not found”, ensure the Python **Scripts** dire
|
|
|
343
396
|
|
|
344
397
|
**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
398
|
|
|
399
|
+
**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]`).
|
|
400
|
+
|
|
401
|
+
**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.
|
|
402
|
+
|
|
403
|
+
**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).
|
|
404
|
+
|
|
405
|
+
**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).
|
|
406
|
+
|
|
346
407
|
**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
408
|
|
|
348
409
|
**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 +427,10 @@ md-url https://example.com/page ./page-bundle --artifact-layout
|
|
|
366
427
|
md-audio ./voice.mp3 ./voice.md --model tiny
|
|
367
428
|
md-video ./screen.mp4 ./screen.md --model base
|
|
368
429
|
pip install "mdengine[graph]" && md-graph --source neo4j --uri neo4j://localhost:7687 --user neo4j --password secret --database neo4j --output ./graph-out --viz
|
|
430
|
+
pip install "mdengine[playwright]" && playwright install chromium && md-playwright https://example.com/app ./spa-out
|
|
431
|
+
pip install "mdengine[openapi]" && md-openapi generate --file openapi.yaml --output ./openapi-md
|
|
432
|
+
pip install "mdengine[log]" && md-log --config log.yaml
|
|
433
|
+
md-codeflow scan ./src --output ./cf-out --lang python
|
|
369
434
|
```
|
|
370
435
|
|
|
371
436
|
**Windows PowerShell** (same commands; use backslashes for paths if you prefer)
|
|
@@ -378,6 +443,9 @@ md-audio .\voice.mp3 .\voice.md --model tiny
|
|
|
378
443
|
md-video .\screen.mp4 .\screen.md --model base
|
|
379
444
|
pip install "mdengine[graph]"
|
|
380
445
|
md-graph --source neo4j --uri neo4j://localhost:7687 --user neo4j --password secret --database neo4j --output .\graph-out --viz
|
|
446
|
+
pip install "mdengine[playwright]"
|
|
447
|
+
playwright install chromium
|
|
448
|
+
md-playwright https://example.com/app .\spa-out
|
|
381
449
|
```
|
|
382
450
|
|
|
383
451
|
**Windows CMD**
|
|
@@ -545,6 +613,113 @@ convert_zip(
|
|
|
545
613
|
|
|
546
614
|
`repo_root` on `ConvertOptions` is **deprecated and ignored**; converters are loaded in-process from `md_generator`.
|
|
547
615
|
|
|
616
|
+
### URL (HTML)
|
|
617
|
+
|
|
618
|
+
```python
|
|
619
|
+
from pathlib import Path
|
|
620
|
+
|
|
621
|
+
import httpx
|
|
622
|
+
from md_generator.url.convert_impl import run_single
|
|
623
|
+
from md_generator.url.options import ConvertOptions
|
|
624
|
+
|
|
625
|
+
with httpx.Client(follow_redirects=True, timeout=30.0) as client:
|
|
626
|
+
run_single(
|
|
627
|
+
"https://example.com/",
|
|
628
|
+
Path("web-out"),
|
|
629
|
+
ConvertOptions(artifact_layout=True, verbose=False),
|
|
630
|
+
client,
|
|
631
|
+
)
|
|
632
|
+
```
|
|
633
|
+
|
|
634
|
+
See [url-to-md/README.md](url-to-md/README.md) for crawl modes, post-convert assets, and API bodies.
|
|
635
|
+
|
|
636
|
+
### Playwright (SPA)
|
|
637
|
+
|
|
638
|
+
```python
|
|
639
|
+
import asyncio
|
|
640
|
+
from pathlib import Path
|
|
641
|
+
|
|
642
|
+
from md_generator.playwright.options import PlaywrightOptions
|
|
643
|
+
from md_generator.playwright.pipeline import convert_url_to_md
|
|
644
|
+
|
|
645
|
+
async def main() -> None:
|
|
646
|
+
await convert_url_to_md(
|
|
647
|
+
"https://example.com/app",
|
|
648
|
+
Path("spa-out"),
|
|
649
|
+
PlaywrightOptions(),
|
|
650
|
+
)
|
|
651
|
+
|
|
652
|
+
asyncio.run(main())
|
|
653
|
+
```
|
|
654
|
+
|
|
655
|
+
Install browsers once: `playwright install chromium`.
|
|
656
|
+
|
|
657
|
+
### Database metadata (db-to-md)
|
|
658
|
+
|
|
659
|
+
```python
|
|
660
|
+
from pathlib import Path
|
|
661
|
+
|
|
662
|
+
from md_generator.db.core.extractor import extract_to_markdown
|
|
663
|
+
from md_generator.db.core.run_config import load_run_config
|
|
664
|
+
|
|
665
|
+
cfg = load_run_config(Path("db-export.yaml"))
|
|
666
|
+
extract_to_markdown(cfg)
|
|
667
|
+
```
|
|
668
|
+
|
|
669
|
+
YAML shape and ERD options are covered above under **db-to-md** CLI notes.
|
|
670
|
+
|
|
671
|
+
### Graph (Neo4j / NetworkX)
|
|
672
|
+
|
|
673
|
+
```python
|
|
674
|
+
from pathlib import Path
|
|
675
|
+
|
|
676
|
+
from md_generator.graph.core.extractor import extract_to_markdown
|
|
677
|
+
from md_generator.graph.core.run_config import load_graph_run_config
|
|
678
|
+
|
|
679
|
+
cfg = load_graph_run_config(Path("graph-export.yaml"))
|
|
680
|
+
extract_to_markdown(cfg)
|
|
681
|
+
```
|
|
682
|
+
|
|
683
|
+
### OpenAPI → Markdown
|
|
684
|
+
|
|
685
|
+
```python
|
|
686
|
+
from pathlib import Path
|
|
687
|
+
|
|
688
|
+
from md_generator.openapi.core.extractor import extract_to_markdown
|
|
689
|
+
from md_generator.openapi.core.run_config import ApiRunConfig
|
|
690
|
+
|
|
691
|
+
cfg = ApiRunConfig(file=Path("openapi.yaml"), output_path=Path("api-md"))
|
|
692
|
+
extract_to_markdown(cfg)
|
|
693
|
+
```
|
|
694
|
+
|
|
695
|
+
Use `load_api_run_config(Path("openapi-md.yaml"))` when you prefer a single YAML file for input/output/format defaults.
|
|
696
|
+
|
|
697
|
+
### Log files (log-to-md)
|
|
698
|
+
|
|
699
|
+
```python
|
|
700
|
+
from pathlib import Path
|
|
701
|
+
|
|
702
|
+
from md_generator.log.core.extractor import extract_to_markdown
|
|
703
|
+
from md_generator.log.core.run_config import load_run_config as load_log_run_config
|
|
704
|
+
|
|
705
|
+
cfg = load_log_run_config(Path("log-export.yaml"))
|
|
706
|
+
extract_to_markdown(cfg)
|
|
707
|
+
```
|
|
708
|
+
|
|
709
|
+
### Codeflow (static call graphs)
|
|
710
|
+
|
|
711
|
+
```python
|
|
712
|
+
from pathlib import Path
|
|
713
|
+
|
|
714
|
+
from md_generator.codeflow.core.extractor import run_scan
|
|
715
|
+
from md_generator.codeflow.core.run_config import ScanConfig
|
|
716
|
+
|
|
717
|
+
cfg = ScanConfig(project_root=Path("my-service/src"), output_path=Path("codeflow-out"), languages="java")
|
|
718
|
+
run_scan(cfg)
|
|
719
|
+
```
|
|
720
|
+
|
|
721
|
+
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).
|
|
722
|
+
|
|
548
723
|
---
|
|
549
724
|
|
|
550
725
|
## Audio and video to Markdown
|
|
@@ -661,7 +836,7 @@ Equivalent modules: `python -m md_generator.media.audio.api.mcp_server`, `python
|
|
|
661
836
|
|
|
662
837
|
### Thin shims (repo clone)
|
|
663
838
|
|
|
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/).
|
|
839
|
+
[`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
840
|
|
|
666
841
|
---
|
|
667
842
|
|
|
@@ -697,23 +872,28 @@ Install `mdengine[api]` plus the format extra(s), then run the **`app`** object
|
|
|
697
872
|
| Audio (Whisper) | `md_generator.media.audio.api.main:create_app` (use **`--factory`**) or `…main:app` | `audio`, `api`, `mcp` |
|
|
698
873
|
| Video (Whisper) | `md_generator.media.video.api.main:create_app` (use **`--factory`**) or `…main:app` | `video`, `api`, `mcp` |
|
|
699
874
|
| YouTube | `md_generator.media.youtube.api.main:create_app` (use **`--factory`**) or `…main:app` | `youtube`, `api`, `mcp` |
|
|
875
|
+
| Codeflow (workspace scans) | `md_generator.codeflow.api.main:app` | `codeflow`, `api`, `mcp` |
|
|
876
|
+
| Log files → Markdown | `md_generator.log.api.main:app` | `log`, `api`, `mcp` |
|
|
700
877
|
|
|
701
|
-
Examples:
|
|
878
|
+
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
879
|
|
|
703
880
|
```bash
|
|
704
881
|
uvicorn md_generator.pdf.api.main:app --host 127.0.0.1 --port 8001
|
|
705
882
|
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
|
|
883
|
+
uvicorn md_generator.archive.api.main:app --host 127.0.0.1 --port 8008
|
|
884
|
+
uvicorn md_generator.url.api.main:app --host 127.0.0.1 --port 8017
|
|
885
|
+
uvicorn md_generator.db.api.main:app --host 127.0.0.1 --port 8010
|
|
708
886
|
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
|
|
887
|
+
uvicorn md_generator.graph.api.main:app --host 127.0.0.1 --port 8020
|
|
710
888
|
uvicorn md_generator.openapi.api.main:app --host 127.0.0.1 --port 8015
|
|
889
|
+
uvicorn md_generator.codeflow.api.main:app --host 127.0.0.1 --port 8016
|
|
890
|
+
uvicorn md_generator.log.api.main:app --host 127.0.0.1 --port 8018
|
|
711
891
|
uvicorn md_generator.media.audio.api.main:create_app --factory --host 127.0.0.1 --port 8011
|
|
712
892
|
uvicorn md_generator.media.video.api.main:create_app --factory --host 127.0.0.1 --port 8012
|
|
713
893
|
uvicorn md_generator.media.youtube.api.main:create_app --factory --host 127.0.0.1 --port 8013
|
|
714
894
|
```
|
|
715
895
|
|
|
716
|
-
**Port note:** **`md-graph-api
|
|
896
|
+
**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
897
|
|
|
718
898
|
### MCP over HTTP on the same server
|
|
719
899
|
|
|
@@ -736,6 +916,8 @@ Prefixes differ per service (often read from a `.env` file next to the process):
|
|
|
736
916
|
| 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
917
|
| 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
918
|
| 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**) |
|
|
919
|
+
| 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` |
|
|
920
|
+
| 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
921
|
| 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
922
|
| Video API | `MD_VIDEO_` | Same pattern as audio with `MD_VIDEO_*` (defaults: larger upload/sync caps, port **8012**) |
|
|
741
923
|
| 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 +944,15 @@ Two usage patterns:
|
|
|
762
944
|
| PPTX | `python -m md_generator.ppt.api.mcp_server` (see module docstring for flags) |
|
|
763
945
|
| Image | `python -m md_generator.image.api.mcp_server` (see module for CLI) |
|
|
764
946
|
| URL / HTML | `python -m md_generator.url.api.mcp_server` / `--transport sse` / `--transport streamable-http` |
|
|
765
|
-
| Playwright / SPA | `md-playwright-mcp
|
|
947
|
+
| 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
948
|
| Audio | `md-audio-mcp` or `python -m md_generator.media.audio.api.mcp_server` — `--transport stdio` (default), `sse`, `streamable-http` |
|
|
767
949
|
| Video | `md-video-mcp` or `python -m md_generator.media.video.api.mcp_server` — same transports |
|
|
768
950
|
| YouTube | `md-youtube-mcp` or `python -m md_generator.media.youtube.api.mcp_server` — same transports |
|
|
769
951
|
| Database metadata | `md-db-mcp` or `python -m md_generator.db.api.mcp_server` — `--transport stdio` (default), `sse`, `streamable-http` |
|
|
770
952
|
| Graph (Neo4j / NetworkX) | `md-graph-mcp` or `python -m md_generator.graph.api.mcp_server` — `--transport stdio` (default), `sse`, `streamable-http` |
|
|
771
953
|
| OpenAPI → Markdown | `md-openapi-mcp` or `python -m md_generator.openapi.api.mcp_server` — `--transport stdio` (default), `sse`, `streamable-http` |
|
|
954
|
+
| Codeflow | `md-codeflow-mcp` or `python -m md_generator.codeflow.api.mcp_server` — **stdio** MCP (see module for details) |
|
|
955
|
+
| Log files | `md-log-mcp` or `python -m md_generator.log.api.mcp_server` — `--transport stdio` (default), `sse`, `streamable-http` |
|
|
772
956
|
|
|
773
957
|
**Word** and **XLSX** also ship a small runner script in the repo:
|
|
774
958
|
|
|
@@ -897,7 +1081,9 @@ pip install -e ".[dev,all]" # or a smaller subset of extras
|
|
|
897
1081
|
python -m pytest
|
|
898
1082
|
```
|
|
899
1083
|
|
|
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.
|
|
1084
|
+
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.
|
|
1085
|
+
|
|
1086
|
+
**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
1087
|
|
|
902
1088
|
### Codeflow (`md_generator.codeflow`)
|
|
903
1089
|
|
|
@@ -929,6 +1115,8 @@ python -m md_generator.codeflow.cli.main scan path/to/src --output ./codeflow-ou
|
|
|
929
1115
|
| Path | Role |
|
|
930
1116
|
|------|------|
|
|
931
1117
|
| `LICENSE` | MIT license text |
|
|
1118
|
+
| `docs/` | **MkDocs** source (module guides, `index.md`); build with **`mdengine[docs]`** |
|
|
1119
|
+
| `mkdocs.yml` | MkDocs configuration |
|
|
932
1120
|
| `CODE_OF_CONDUCT.md` | [Contributor Covenant](https://www.contributor-covenant.org/) 2.1 |
|
|
933
1121
|
| `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
1122
|
| `pyproject.toml` | Packaging, extras, CLI entry points, pytest |
|