LICENSE
README.md
pyproject.toml
src/deckforge/__init__.py
src/deckforge/config.py
src/deckforge/main.py
src/deckforge.egg-info/PKG-INFO
src/deckforge.egg-info/SOURCES.txt
src/deckforge.egg-info/dependency_links.txt
src/deckforge.egg-info/requires.txt
src/deckforge.egg-info/top_level.txt
src/deckforge/api/__init__.py
src/deckforge/api/app.py
src/deckforge/api/deps.py
src/deckforge/api/middleware/__init__.py
src/deckforge/api/middleware/auth.py
src/deckforge/api/middleware/credits.py
src/deckforge/api/middleware/rate_limit.py
src/deckforge/api/middleware/x402.py
src/deckforge/api/routes/__init__.py
src/deckforge/api/routes/analytics.py
src/deckforge/api/routes/auth_google.py
src/deckforge/api/routes/batch.py
src/deckforge/api/routes/billing.py
src/deckforge/api/routes/decks.py
src/deckforge/api/routes/discovery.py
src/deckforge/api/routes/estimate.py
src/deckforge/api/routes/generate.py
src/deckforge/api/routes/health.py
src/deckforge/api/routes/jobs.py
src/deckforge/api/routes/onboarding.py
src/deckforge/api/routes/preview.py
src/deckforge/api/routes/pricing.py
src/deckforge/api/routes/render.py
src/deckforge/api/routes/webhooks.py
src/deckforge/api/schemas/__init__.py
src/deckforge/api/schemas/analytics_schemas.py
src/deckforge/api/schemas/batch_schemas.py
src/deckforge/api/schemas/billing_schemas.py
src/deckforge/api/schemas/deck_schemas.py
src/deckforge/api/schemas/discovery_schemas.py
src/deckforge/api/schemas/errors.py
src/deckforge/api/schemas/onboarding_schemas.py
src/deckforge/api/schemas/pricing_schemas.py
src/deckforge/api/schemas/requests.py
src/deckforge/api/schemas/responses.py
src/deckforge/api/schemas/webhook_schemas.py
src/deckforge/billing/__init__.py
src/deckforge/billing/credits.py
src/deckforge/billing/stripe_client.py
src/deckforge/billing/stripe_webhooks.py
src/deckforge/billing/tiers.py
src/deckforge/billing/x402_config.py
src/deckforge/charts/__init__.py
src/deckforge/charts/recommender.py
src/deckforge/compose/__init__.py
src/deckforge/compose/board_update.py
src/deckforge/compose/exit_memo.py
src/deckforge/compose/ic_memo.py
src/deckforge/compose/lp_quarterly.py
src/deckforge/compose/pitch_deck.py
src/deckforge/compose/portfolio_review.py
src/deckforge/compose/teaser.py
src/deckforge/content/__init__.py
src/deckforge/content/chart_injector.py
src/deckforge/content/intent_parser.py
src/deckforge/content/models.py
src/deckforge/content/outliner.py
src/deckforge/content/pipeline.py
src/deckforge/content/refiner.py
src/deckforge/content/slide_writer.py
src/deckforge/content/prompts/__init__.py
src/deckforge/content/prompts/expand.py
src/deckforge/content/prompts/intent.py
src/deckforge/content/prompts/outline.py
src/deckforge/content/prompts/refine.py
src/deckforge/db/__init__.py
src/deckforge/db/base.py
src/deckforge/db/engine.py
src/deckforge/db/models/__init__.py
src/deckforge/db/models/api_key.py
src/deckforge/db/models/batch_job.py
src/deckforge/db/models/deck.py
src/deckforge/db/models/job.py
src/deckforge/db/models/payment_event.py
src/deckforge/db/models/usage.py
src/deckforge/db/models/user.py
src/deckforge/db/models/webhook_registration.py
src/deckforge/db/repositories/__init__.py
src/deckforge/db/repositories/analytics.py
src/deckforge/db/repositories/api_key.py
src/deckforge/db/repositories/batch.py
src/deckforge/db/repositories/deck.py
src/deckforge/db/repositories/job.py
src/deckforge/db/repositories/usage.py
src/deckforge/db/repositories/webhook.py
src/deckforge/finance/__init__.py
src/deckforge/finance/conditional.py
src/deckforge/finance/formatter.py
src/deckforge/finance/ingestion.py
src/deckforge/intelligence/__init__.py
src/deckforge/intelligence/client.py
src/deckforge/intelligence/content_qa.py
src/deckforge/intelligence/finance_projections.py
src/deckforge/intelligence/pipeline_hooks.py
src/deckforge/intelligence/theme_selector.py
src/deckforge/ir/__init__.py
src/deckforge/ir/brand_kit.py
src/deckforge/ir/enums.py
src/deckforge/ir/metadata.py
src/deckforge/ir/normalize.py
src/deckforge/ir/presentation.py
src/deckforge/ir/validators.py
src/deckforge/ir/charts/__init__.py
src/deckforge/ir/charts/types.py
src/deckforge/ir/elements/__init__.py
src/deckforge/ir/elements/base.py
src/deckforge/ir/elements/data.py
src/deckforge/ir/elements/layout.py
src/deckforge/ir/elements/text.py
src/deckforge/ir/elements/visual.py
src/deckforge/ir/slides/__init__.py
src/deckforge/ir/slides/base.py
src/deckforge/ir/slides/finance.py
src/deckforge/ir/slides/universal.py
src/deckforge/layout/__init__.py
src/deckforge/layout/engine.py
src/deckforge/layout/grid.py
src/deckforge/layout/overflow.py
src/deckforge/layout/solver.py
src/deckforge/layout/text_measurer.py
src/deckforge/layout/types.py
src/deckforge/layout/patterns/__init__.py
src/deckforge/layout/patterns/base.py
src/deckforge/layout/patterns/bullets.py
src/deckforge/layout/patterns/chart.py
src/deckforge/layout/patterns/generic.py
src/deckforge/layout/patterns/image.py
src/deckforge/layout/patterns/section.py
src/deckforge/layout/patterns/stats.py
src/deckforge/layout/patterns/table.py
src/deckforge/layout/patterns/title.py
src/deckforge/layout/patterns/two_column.py
src/deckforge/llm/__init__.py
src/deckforge/llm/base.py
src/deckforge/llm/batch.py
src/deckforge/llm/models.py
src/deckforge/llm/router.py
src/deckforge/llm/adapters/__init__.py
src/deckforge/llm/adapters/claude.py
src/deckforge/llm/adapters/gemini.py
src/deckforge/llm/adapters/ollama.py
src/deckforge/llm/adapters/openai.py
src/deckforge/mcp/__init__.py
src/deckforge/mcp/server.py
src/deckforge/mcp/tools.py
src/deckforge/qa/__init__.py
src/deckforge/qa/autofix.py
src/deckforge/qa/pipeline.py
src/deckforge/qa/scorer.py
src/deckforge/qa/types.py
src/deckforge/qa/checkers/__init__.py
src/deckforge/qa/checkers/brand.py
src/deckforge/qa/checkers/data.py
src/deckforge/qa/checkers/structural.py
src/deckforge/qa/checkers/text.py
src/deckforge/qa/checkers/visual.py
src/deckforge/rendering/__init__.py
src/deckforge/rendering/pptx_renderer.py
src/deckforge/rendering/thumbnail.py
src/deckforge/rendering/utils.py
src/deckforge/rendering/chart_renderers/__init__.py
src/deckforge/rendering/chart_renderers/base.py
src/deckforge/rendering/chart_renderers/category.py
src/deckforge/rendering/chart_renderers/combo.py
src/deckforge/rendering/chart_renderers/football_field.py
src/deckforge/rendering/chart_renderers/funnel.py
src/deckforge/rendering/chart_renderers/gantt.py
src/deckforge/rendering/chart_renderers/heatmap.py
src/deckforge/rendering/chart_renderers/placeholder.py
src/deckforge/rendering/chart_renderers/proportional.py
src/deckforge/rendering/chart_renderers/radar.py
src/deckforge/rendering/chart_renderers/sankey.py
src/deckforge/rendering/chart_renderers/scatter.py
src/deckforge/rendering/chart_renderers/sensitivity.py
src/deckforge/rendering/chart_renderers/static_base.py
src/deckforge/rendering/chart_renderers/sunburst.py
src/deckforge/rendering/chart_renderers/tornado.py
src/deckforge/rendering/chart_renderers/treemap.py
src/deckforge/rendering/chart_renderers/waterfall.py
src/deckforge/rendering/element_renderers/__init__.py
src/deckforge/rendering/element_renderers/base.py
src/deckforge/rendering/element_renderers/data_viz.py
src/deckforge/rendering/element_renderers/image.py
src/deckforge/rendering/element_renderers/shape.py
src/deckforge/rendering/element_renderers/table.py
src/deckforge/rendering/element_renderers/text.py
src/deckforge/rendering/gslides/__init__.py
src/deckforge/rendering/gslides/charts.py
src/deckforge/rendering/gslides/cleanup.py
src/deckforge/rendering/gslides/converter.py
src/deckforge/rendering/gslides/element_builders.py
src/deckforge/rendering/gslides/finance_builders.py
src/deckforge/rendering/gslides/oauth.py
src/deckforge/rendering/gslides/request_builder.py
src/deckforge/rendering/gslides/slides_renderer.py
src/deckforge/rendering/slide_renderers/__init__.py
src/deckforge/rendering/slide_renderers/base.py
src/deckforge/rendering/slide_renderers/capital_structure.py
src/deckforge/rendering/slide_renderers/comp_table.py
src/deckforge/rendering/slide_renderers/dcf_summary.py
src/deckforge/rendering/slide_renderers/deal_overview.py
src/deckforge/rendering/slide_renderers/investment_thesis.py
src/deckforge/rendering/slide_renderers/market_landscape.py
src/deckforge/rendering/slide_renderers/returns_analysis.py
src/deckforge/rendering/slide_renderers/risk_matrix.py
src/deckforge/rendering/slide_renderers/waterfall_slide.py
src/deckforge/security/__init__.py
src/deckforge/security/url_guard.py
src/deckforge/services/__init__.py
src/deckforge/services/cost_estimator.py
src/deckforge/services/deck_ops.py
src/deckforge/services/slide_type_registry.py
src/deckforge/themes/__init__.py
src/deckforge/themes/brand_kit_merger.py
src/deckforge/themes/contrast.py
src/deckforge/themes/registry.py
src/deckforge/themes/resolver.py
src/deckforge/themes/types.py
src/deckforge/themes/data/arctic-clean.yaml
src/deckforge/themes/data/bold-impact.yaml
src/deckforge/themes/data/classic-serif.yaml
src/deckforge/themes/data/corporate-blue.yaml
src/deckforge/themes/data/executive-dark.yaml
src/deckforge/themes/data/finance-pro.yaml
src/deckforge/themes/data/forest-green.yaml
src/deckforge/themes/data/minimal-light.yaml
src/deckforge/themes/data/modern-gradient.yaml
src/deckforge/themes/data/monochrome.yaml
src/deckforge/themes/data/ocean-depth.yaml
src/deckforge/themes/data/soft-pastel.yaml
src/deckforge/themes/data/sunset-warm.yaml
src/deckforge/themes/data/tech-neon.yaml
src/deckforge/themes/data/warm-earth.yaml
src/deckforge/workers/__init__.py
src/deckforge/workers/settings.py
src/deckforge/workers/storage.py
src/deckforge/workers/tasks.py
src/deckforge/workers/webhooks.py
tests/test_analytics.py
tests/test_auth_unkey.py
tests/test_batch_webhooks.py
tests/test_billing.py
tests/test_compose_board_update.py
tests/test_compose_exit_memo.py
tests/test_compose_ic_memo.py
tests/test_compose_lp_quarterly.py
tests/test_compose_pitch_deck.py
tests/test_compose_portfolio_review.py
tests/test_compose_teaser.py
tests/test_discovery.py
tests/test_mcp_server.py
tests/test_onboarding.py
tests/test_ppteval_harness.py
tests/test_qa_pipeline.py
tests/test_x402.py