Spaces:
Sleeping
Sleeping
Thang6822
feat: cancel in-flight forecast tasks immediately when switching symbol/interval and fix DXY sources config
4d10530 | { | |
| "project_name": "AI Forecast", | |
| "description": "Project with 287 files, 5435 symbols. javascript, python, yaml. 31 API endpoints.", | |
| "tabs": [ | |
| { | |
| "name": "UI / Frontend β frontend/", | |
| "badge": "TAB", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">frontend/ai-session-runtime.js</div>\n<div class=\"path-block\">frontend/analysis-runtime.js</div>\n<div class=\"path-block\">frontend/app.js</div>\n<div class=\"path-block\">frontend/forecast-models.js</div>\n<div class=\"path-block\">frontend/workspace.js</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Key Components", | |
| "body": "<ul><li><b>PaneState</b> β class in <code>frontend/workspace.js</code></li>\n<li><code>apiJsonRequest</code> β function in <code>frontend/app.js</code></li>\n<li><code>apiRequest</code> β function in <code>frontend/app.js</code></li>\n<li><code>applyHeaderVisibility</code> β function in <code>frontend/app.js</code></li>\n<li><code>applySymbolToActivePane</code> β function in <code>frontend/app.js</code></li>\n<li><code>applyTheme</code> β function in <code>frontend/app.js</code></li>\n<li><code>buildGaugeSvg</code> β function in <code>frontend/app.js</code></li></ul>", | |
| "class": "folder" | |
| }, | |
| { | |
| "title": "π€ Cross-Layer Dependencies", | |
| "body": "<code>DELETE /api/cache</code>, <code>GET /</code>", | |
| "class": "warning" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ frontend/\n βββ ai-session-runtime.js\n βββ analysis-runtime.js\n βββ app.js\n βββ forecast-models.js\n βββ workspace.js</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "[chronos-forecasting] Core / Business Logic β libs/ β Overview", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">libs/chronos-forecasting/.github/ISSUE_TEMPLATE/config.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/ci.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/eval-model.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/publish-to-pypi.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/ci/evaluate/backtest_config.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/agg-relative-score.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/configs/in-domain.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/configs/zero-shot.yaml</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Key Components", | |
| "body": "<ul><li><b>MLP</b> β class in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><b>AttentionOutput</b> β class in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><b>Chronos2LayerNorm</b> β class in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><b>FeedForward</b> β class in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><code>download_model_files_from_cloudfront</code> β function in <code>libs/chronos-forecasting/src/chronos/boto_utils.py</code></li>\n<li><code>__init__</code> β method in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><code>_eager_attention</code> β method in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><code>_sdpa_attention</code> β method in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><code>apply_rotary_pos_emb</code> β method in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><code>forward</code> β method in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><code>rotate_half</code> β method in <code>libs/chronos-forecasting/src/chronos/chronos2/layers.py</code></li>\n<li><code>batchify</code> β function in <code>libs/chronos-forecasting/src/chronos/base.py</code></li></ul>", | |
| "class": "folder" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ libs/\n βββ chronos-forecasting/\n βββ .github/\n β βββ ISSUE_TEMPLATE/\n β β βββ config.yml\n β βββ workflows/\n β βββ ci.yml\n β βββ eval-model.yml\n β βββ publish-to-pypi.yml\n βββ ci/\n β βββ evaluate/\n β βββ backtest_config.yaml\n βββ scripts/\n βββ evaluation/\n β βββ configs/\n β β βββ in-domain.yaml\n β β βββ zero-shot.yaml\n β βββ agg-relative-score.py\n β βββ evaluate.py\n βββ training/\n β βββ configs/\n β βββ chronos-gpt2.yaml\n β βββ chronos-t5-base.yaml\n βββ kernel-synth.py</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": " β³ .github/", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">libs/chronos-forecasting/.github/ISSUE_TEMPLATE/config.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/ci.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/eval-model.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/publish-to-pypi.yml</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ libs/\n βββ chronos-forecasting/\n βββ .github/\n βββ ISSUE_TEMPLATE/\n β βββ config.yml\n βββ workflows/\n βββ ci.yml\n βββ eval-model.yml\n βββ publish-to-pypi.yml</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": " β³ scripts/", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/agg-relative-score.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/configs/in-domain.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/configs/zero-shot.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/evaluate.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/kernel-synth.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/training/configs/chronos-gpt2.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/training/configs/chronos-t5-base.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/training/configs/chronos-t5-large.yaml</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ libs/\n βββ chronos-forecasting/\n βββ scripts/\n βββ evaluation/\n β βββ configs/\n β β βββ in-domain.yaml\n β β βββ zero-shot.yaml\n β βββ agg-relative-score.py\n β βββ evaluate.py\n βββ training/\n β βββ configs/\n β β βββ chronos-gpt2.yaml\n β β βββ chronos-t5-base.yaml\n β β βββ chronos-t5-large.yaml\n β β βββ chronos-t5-mini.yaml\n β β βββ chronos-t5-small.yaml\n β β βββ chronos-t5-tiny.yaml\n β βββ train.py\n βββ kernel-synth.py</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": " β³ src/", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">libs/chronos-forecasting/src/chronos/__about__.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/src/chronos/__init__.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/src/chronos/base.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/src/chronos/boto_utils.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/src/chronos/chronos.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/src/chronos/chronos2/__init__.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/src/chronos/chronos2/config.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/src/chronos/chronos2/dataset.py</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ libs/\n βββ chronos-forecasting/\n βββ src/\n βββ chronos/\n βββ chronos2/\n β βββ __init__.py\n β βββ config.py\n β βββ dataset.py\n β βββ layers.py\n β βββ model.py\n β βββ pipeline.py\n β βββ trainer.py\n βββ __about__.py\n βββ __init__.py\n βββ base.py\n βββ boto_utils.py\n βββ chronos.py</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": " β³ test/", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">libs/chronos-forecasting/test/__init__.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/test/test_chronos.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/test/test_chronos2.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/test/test_chronos_bolt.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/test/test_df_utils.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/test/test_utils.py</div>\n<div class=\"path-block\">libs/chronos-forecasting/test/util.py</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ libs/\n βββ chronos-forecasting/\n βββ test/\n βββ __init__.py\n βββ test_chronos.py\n βββ test_chronos2.py\n βββ test_chronos_bolt.py\n βββ test_df_utils.py\n βββ test_utils.py\n βββ util.py</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "[timesfm] Core / Business Logic β libs/ β Overview", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">libs/timesfm/.github/workflows/main.yml</div>\n<div class=\"path-block\">libs/timesfm/.github/workflows/manual_publish.yml</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/__init__.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/configs.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/flax/__init__.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/flax/dense.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/flax/normalization.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/flax/transformer.py</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Key Components", | |
| "body": "<ul><li><b>CheckResult</b> β class in <code>libs/timesfm/timesfm-forecasting/scripts/check_system.py</code></li>\n<li><b>MEMORYSTATUSEX</b> β class in <code>libs/timesfm/timesfm-forecasting/scripts/check_system.py</code></li>\n<li><b>TestDecodeCache</b> β class in <code>libs/timesfm/tests/test_torch_utils.py</code></li>\n<li><b>TestRevIN</b> β class in <code>libs/timesfm/tests/test_torch_utils.py</code></li>\n<li><code>normalize</code> β function in <code>libs/timesfm/src/timesfm/utils/xreg_lib.py</code></li>\n<li><code>_get_total_ram_gb</code> β function in <code>libs/timesfm/timesfm-forecasting/scripts/check_system.py</code></li>\n<li><code>passed</code> β method in <code>libs/timesfm/timesfm-forecasting/scripts/check_system.py</code></li>\n<li><code>evaluate</code> β function in <code>libs/timesfm/timesfm-forecasting/examples/finetuning/finetune_lora.py</code></li>\n<li><code>load_retail_sales</code> β function in <code>libs/timesfm/timesfm-forecasting/examples/finetuning/finetune_lora.py</code></li>\n<li><code>_ar_decode</code> β function in <code>libs/timesfm/src/timesfm/timesfm_2p5/timesfm_2p5_flax.py</code></li>\n<li><code>_normalize</code> β function in <code>libs/timesfm/v1/src/timesfm/timesfm_base.py</code></li>\n<li><code>_renormalize</code> β function in <code>libs/timesfm/v1/src/timesfm/timesfm_base.py</code></li></ul>", | |
| "class": "folder" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ libs/\n βββ timesfm/\n βββ .github/\n β βββ workflows/\n β βββ main.yml\n β βββ manual_publish.yml\n βββ src/\n βββ timesfm/\n βββ flax/\n β βββ __init__.py\n β βββ dense.py\n β βββ normalization.py\n β βββ transformer.py\n β βββ util.py\n βββ timesfm_2p5/\n β βββ timesfm_2p5_base.py\n β βββ timesfm_2p5_flax.py\n β βββ timesfm_2p5_torch.py\n βββ __init__.py\n βββ configs.py</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": " β³ .github/", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">libs/timesfm/.github/workflows/main.yml</div>\n<div class=\"path-block\">libs/timesfm/.github/workflows/manual_publish.yml</div>", | |
| "class": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": " β³ src/", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">libs/timesfm/src/timesfm/__init__.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/configs.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/flax/__init__.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/flax/dense.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/flax/normalization.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/flax/transformer.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/flax/util.py</div>\n<div class=\"path-block\">libs/timesfm/src/timesfm/timesfm_2p5/timesfm_2p5_base.py</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ libs/\n βββ timesfm/\n βββ src/\n βββ timesfm/\n βββ flax/\n β βββ __init__.py\n β βββ dense.py\n β βββ normalization.py\n β βββ transformer.py\n β βββ util.py\n βββ timesfm_2p5/\n β βββ timesfm_2p5_base.py\n β βββ timesfm_2p5_flax.py\n β βββ timesfm_2p5_torch.py\n βββ torch/\n β βββ __init__.py\n β βββ dense.py\n βββ __init__.py\n βββ configs.py</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": " β³ tests/", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">libs/timesfm/tests/__init__.py</div>\n<div class=\"path-block\">libs/timesfm/tests/test_base_utils.py</div>\n<div class=\"path-block\">libs/timesfm/tests/test_configs.py</div>\n<div class=\"path-block\">libs/timesfm/tests/test_torch_layers.py</div>\n<div class=\"path-block\">libs/timesfm/tests/test_torch_utils.py</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ libs/\n βββ timesfm/\n βββ tests/\n βββ __init__.py\n βββ test_base_utils.py\n βββ test_configs.py\n βββ test_torch_layers.py\n βββ test_torch_utils.py</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": " β³ timesfm-forecasting/", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">libs/timesfm/timesfm-forecasting/examples/anomaly-detection/detect_anomalies.py</div>\n<div class=\"path-block\">libs/timesfm/timesfm-forecasting/examples/covariates-forecasting/demo_covariates.py</div>\n<div class=\"path-block\">libs/timesfm/timesfm-forecasting/examples/finetuning/finetune_lora.py</div>\n<div class=\"path-block\">libs/timesfm/timesfm-forecasting/examples/global-temperature/generate_animation_data.py</div>\n<div class=\"path-block\">libs/timesfm/timesfm-forecasting/examples/global-temperature/generate_gif.py</div>\n<div class=\"path-block\">libs/timesfm/timesfm-forecasting/examples/global-temperature/generate_html.py</div>\n<div class=\"path-block\">libs/timesfm/timesfm-forecasting/examples/global-temperature/run_forecast.py</div>\n<div class=\"path-block\">libs/timesfm/timesfm-forecasting/examples/global-temperature/visualize_forecast.py</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ libs/\n βββ timesfm/\n βββ timesfm-forecasting/\n βββ examples/\n β βββ anomaly-detection/\n β β βββ detect_anomalies.py\n β βββ covariates-forecasting/\n β β βββ demo_covariates.py\n β βββ finetuning/\n β β βββ finetune_lora.py\n β βββ global-temperature/\n β βββ generate_animation_data.py\n β βββ generate_gif.py\n β βββ generate_html.py\n β βββ run_forecast.py\n β βββ visualize_forecast.py\n βββ scripts/\n βββ check_system.py\n βββ forecast_csv.py</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": " β³ v1/", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">libs/timesfm/v1/experiments/baselines/__init__.py</div>\n<div class=\"path-block\">libs/timesfm/v1/experiments/baselines/timegpt_pipeline.py</div>\n<div class=\"path-block\">libs/timesfm/v1/experiments/extended_benchmarks/run_timegpt.py</div>\n<div class=\"path-block\">libs/timesfm/v1/experiments/extended_benchmarks/run_timesfm.py</div>\n<div class=\"path-block\">libs/timesfm/v1/experiments/extended_benchmarks/utils.py</div>\n<div class=\"path-block\">libs/timesfm/v1/experiments/long_horizon_benchmarks/run_eval.py</div>\n<div class=\"path-block\">libs/timesfm/v1/peft/finetune.py</div>\n<div class=\"path-block\">libs/timesfm/v1/src/adapter/__init__.py</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ libs/\n βββ timesfm/\n βββ v1/\n βββ experiments/\n β βββ baselines/\n β β βββ __init__.py\n β β βββ timegpt_pipeline.py\n β βββ extended_benchmarks/\n β β βββ run_timegpt.py\n β β βββ run_timesfm.py\n β β βββ utils.py\n β βββ long_horizon_benchmarks/\n β βββ run_eval.py\n βββ peft/\n β βββ finetune.py\n βββ src/\n βββ adapter/\n β βββ __init__.py\n β βββ dora_layers.py\n β βββ lora_layers.py\n β βββ utils.py\n βββ finetuning/\n βββ __init__.py</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "Infrastructure β scripts/", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">scripts/check_timesfm_env.py</div>\n<div class=\"path-block\">scripts/patch_timesfm.py</div>\n<div class=\"path-block\">scripts/playwright_smoke.js</div>\n<div class=\"path-block\">scripts/scratch_cleanup.py</div>\n<div class=\"path-block\">scripts/test_scratch_cleanup.py</div>\n<div class=\"path-block\">scripts/verify_local.py</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Key Components", | |
| "body": "<ul><li><b>Check</b> β class in <code>scripts/verify_local.py</code></li>\n<li><b>CleanupError</b> β class in <code>scripts/scratch_cleanup.py</code></li>\n<li><b>CleanupResult</b> β class in <code>scripts/scratch_cleanup.py</code></li>\n<li><code>_resolve_command</code> β function in <code>scripts/verify_local.py</code></li>\n<li><code>_run_check</code> β function in <code>scripts/verify_local.py</code></li>\n<li><code>build_checks</code> β function in <code>scripts/verify_local.py</code></li>\n<li><code>main</code> β function in <code>scripts/verify_local.py</code></li>\n<li><code>_build_argument_parser</code> β function in <code>scripts/scratch_cleanup.py</code></li>\n<li><code>_build_cleanup_target</code> β function in <code>scripts/scratch_cleanup.py</code></li></ul>", | |
| "class": "folder" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ scripts/\n βββ check_timesfm_env.py\n βββ patch_timesfm.py\n βββ playwright_smoke.js\n βββ scratch_cleanup.py\n βββ test_scratch_cleanup.py\n βββ verify_local.py</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "UI / Frontend β scratch/ 1r β Overview", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">scratch/Kronos-upstream/examples/get_akshare_date_2024-2025_x.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/get_date_new.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_akshare_2024-2025.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_batch_example.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_cn_markets_day.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_example.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_new.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_new_GUI.py</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Key Components", | |
| "body": "<ul><li><b>InvestDebateState</b> β class in <code>scratch/tradingagents-audit/tradingagents/agents/utils/agent_states.py</code></li>\n<li><b>RiskDebateState</b> β class in <code>scratch/tradingagents-audit/tradingagents/agents/utils/agent_states.py</code></li>\n<li><b>EnhancedMarketFactorAnalyzer</b> β class in <code>scratch/Kronos-upstream/examples/prediction_new.py</code></li>\n<li><b>StockPredictorGUI</b> β class in <code>scratch/Kronos-upstream/examples/prediction_new_GUI.py</code></li>\n<li><code>enhance_prediction_with_market_factors</code> β function in <code>scratch/Kronos-upstream/examples/prediction_new.py</code></li>\n<li><code>ensure_output_directory</code> β function in <code>scratch/Kronos-upstream/examples/prediction_new.py</code></li>\n<li><code>create_question_box</code> β function in <code>scratch/tradingagents-audit/cli/main.py</code></li>\n<li><code>load_models</code> β function in <code>scratch/Kronos-upstream/finetune/qlib_test.py</code></li>\n<li><code>make_log</code> β function in <code>scratch/tradingagents-audit/tests/test_memory_log.py</code></li>\n<li><code>test_decision_with_markdown_separator</code> β method in <code>scratch/tradingagents-audit/tests/test_memory_log.py</code></li>\n<li><code>test_fetch_returns_valid_ticker</code> β method in <code>scratch/tradingagents-audit/tests/test_memory_log.py</code></li>\n<li><code>test_full_cycle_store_resolve_inject</code> β method in <code>scratch/tradingagents-audit/tests/test_memory_log.py</code></li></ul>", | |
| "class": "folder" | |
| }, | |
| { | |
| "title": "π€ Cross-Layer Dependencies", | |
| "body": "<code>DELETE /api/cache</code>, <code>getModelSignatureFromPane</code>", | |
| "class": "warning" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ scratch/\n βββ Kronos-upstream/\n βββ examples/\n β βββ yuce/\n β β βββ historical_backtest.py\n β βββ get_akshare_date_2024-2025_x.py\n β βββ get_date_new.py\n β βββ prediction_akshare_2024-2025.py\n β βββ prediction_batch_example.py\n β βββ prediction_cn_markets_day.py\n β βββ prediction_example.py\n β βββ prediction_new.py\n β βββ prediction_new_GUI.py\n β βββ prediction_wo_vol_example.py\n β βββ run_backtest_kronos.py\n βββ finetune/\n βββ config.py</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": " β³ Kronos-upstream/ π 1r", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">scratch/Kronos-upstream/examples/get_akshare_date_2024-2025_x.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/get_date_new.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_akshare_2024-2025.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_batch_example.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_cn_markets_day.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_example.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_new.py</div>\n<div class=\"path-block\">scratch/Kronos-upstream/examples/prediction_new_GUI.py</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ scratch/\n βββ Kronos-upstream/\n βββ examples/\n β βββ yuce/\n β β βββ historical_backtest.py\n β βββ get_akshare_date_2024-2025_x.py\n β βββ get_date_new.py\n β βββ prediction_akshare_2024-2025.py\n β βββ prediction_batch_example.py\n β βββ prediction_cn_markets_day.py\n β βββ prediction_example.py\n β βββ prediction_new.py\n β βββ prediction_new_GUI.py\n β βββ prediction_wo_vol_example.py\n β βββ run_backtest_kronos.py\n βββ finetune/\n βββ config.py</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": " β³ tradingagents-audit/", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">scratch/tradingagents-audit/cli/__init__.py</div>\n<div class=\"path-block\">scratch/tradingagents-audit/cli/announcements.py</div>\n<div class=\"path-block\">scratch/tradingagents-audit/cli/config.py</div>\n<div class=\"path-block\">scratch/tradingagents-audit/cli/main.py</div>\n<div class=\"path-block\">scratch/tradingagents-audit/cli/models.py</div>\n<div class=\"path-block\">scratch/tradingagents-audit/cli/stats_handler.py</div>\n<div class=\"path-block\">scratch/tradingagents-audit/cli/utils.py</div>\n<div class=\"path-block\">scratch/tradingagents-audit/docker-compose.yml</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ scratch/\n βββ tradingagents-audit/\n βββ cli/\n β βββ __init__.py\n β βββ announcements.py\n β βββ config.py\n β βββ main.py\n β βββ models.py\n β βββ stats_handler.py\n β βββ utils.py\n βββ scripts/\n β βββ smoke_structured_output.py\n βββ tests/\n β βββ conftest.py\n βββ docker-compose.yml\n βββ main.py\n βββ test.py</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "backend/ β Overview", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">backend/__init__.py</div>\n<div class=\"path-block\">backend/analysis_engine.py</div>\n<div class=\"path-block\">backend/analysis_report.py</div>\n<div class=\"path-block\">backend/api_facade.py</div>\n<div class=\"path-block\">backend/api_models.py</div>\n<div class=\"path-block\">backend/cache_utils.py</div>\n<div class=\"path-block\">backend/catalog_utils.py</div>\n<div class=\"path-block\">backend/forecast_service.py</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Key Components", | |
| "body": "<ul><li><b>APIKeyPool</b> β class in <code>backend/main.py</code></li>\n<li><b>CircuitBreaker</b> β class in <code>backend/main.py</code></li>\n<li><b>ConnectionManager</b> β class in <code>backend/main.py</code></li>\n<li><b>GlobalHTTPClient</b> β class in <code>backend/main.py</code></li>\n<li><code>_ip_cleanup_loop</code> β function in <code>backend/main.py</code></li>\n<li><code>_parse_timestamp</code> β function in <code>backend/main.py</code></li>\n<li><code>_round</code> β function in <code>backend/main.py</code></li>\n<li><code>_s</code> β function in <code>backend/main.py</code></li>\n<li><code>_warmup_chronos</code> β function in <code>backend/main.py</code></li>\n<li><code>clear_symbol_cache</code> β function in <code>backend/main.py</code></li>\n<li><code>download_analysis_report</code> β function in <code>backend/main.py</code></li>\n<li><code>fetch_binance</code> β function in <code>backend/main.py</code></li></ul>", | |
| "class": "folder" | |
| }, | |
| { | |
| "title": "π€ Cross-Layer Dependencies", | |
| "body": "<code>route_to_vendor</code>", | |
| "class": "warning" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ backend/\n βββ forecasting/\n β βββ __init__.py\n βββ __init__.py\n βββ analysis_engine.py\n βββ analysis_report.py\n βββ api_facade.py\n βββ api_models.py\n βββ cache_utils.py\n βββ catalog_utils.py\n βββ forecast_service.py\n βββ forecast_worker_entry.py\n βββ forecast_worker_protocol.py\n βββ forecast_worker_supervisor.py</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": " β³ forecasting/", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">backend/forecasting/__init__.py</div>\n<div class=\"path-block\">backend/forecasting/ai_score_utils.py</div>\n<div class=\"path-block\">backend/forecasting/config.py</div>\n<div class=\"path-block\">backend/forecasting/ohlc4_utils.py</div>\n<div class=\"path-block\">backend/forecasting/providers/__init__.py</div>\n<div class=\"path-block\">backend/forecasting/providers/chronos_provider.py</div>\n<div class=\"path-block\">backend/forecasting/providers/timesfm_provider.py</div>\n<div class=\"path-block\">backend/forecasting/rules.py</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ backend/\n βββ forecasting/\n βββ providers/\n β βββ __init__.py\n β βββ chronos_provider.py\n β βββ timesfm_provider.py\n βββ __init__.py\n βββ ai_score_utils.py\n βββ config.py\n βββ ohlc4_utils.py\n βββ rules.py\n βββ runtime_availability.py</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": " β³ kronos_core/", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">backend/kronos_core/__init__.py</div>\n<div class=\"path-block\">backend/kronos_core/model/__init__.py</div>\n<div class=\"path-block\">backend/kronos_core/model/kronos.py</div>\n<div class=\"path-block\">backend/kronos_core/model/module.py</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ backend/\n βββ kronos_core/\n βββ model/\n β βββ __init__.py\n β βββ kronos.py\n β βββ module.py\n βββ __init__.py</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "π Zero-Symbol Files", | |
| "badge": "MODULE", | |
| "cards": [ | |
| { | |
| "title": "π₯ Files", | |
| "body": "<div class=\"path-block\">libs/chronos-forecasting/.github/ISSUE_TEMPLATE/config.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/ci.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/eval-model.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/publish-to-pypi.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/ci/evaluate/backtest_config.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/configs/in-domain.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/configs/zero-shot.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/training/configs/chronos-gpt2.yaml</div>", | |
| "class": "" | |
| }, | |
| { | |
| "title": "π Structure", | |
| "body": "<div class=\"path-block\">βββ libs/\n βββ chronos-forecasting/\n βββ .github/\n β βββ ISSUE_TEMPLATE/\n β β βββ config.yml\n β βββ workflows/\n β βββ ci.yml\n β βββ eval-model.yml\n β βββ publish-to-pypi.yml\n βββ ci/\n β βββ evaluate/\n β βββ backtest_config.yaml\n βββ scripts/\n βββ evaluation/\n β βββ configs/\n β βββ in-domain.yaml\n β βββ zero-shot.yaml\n βββ training/\n βββ configs/\n βββ chronos-gpt2.yaml\n βββ chronos-t5-base.yaml\n βββ chronos-t5-large.yaml\n βββ chronos-t5-mini.yaml\n βββ chronos-t5-small.yaml</div>", | |
| "class": "folder" | |
| } | |
| ] | |
| } | |
| ], | |
| "pipelines": [ | |
| { | |
| "name": "Pipeline: scratch β frontend β backend", | |
| "cards": [ | |
| { | |
| "title": "π Data Flow", | |
| "body": "<code>scratch</code> β <code>frontend</code> β <code>backend</code>", | |
| "class": "queue" | |
| }, | |
| { | |
| "title": "π Layers", | |
| "body": "Cross-layer call chain detected from CodeGraph edges", | |
| "class": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "Pipeline: frontend β backend β scratch", | |
| "cards": [ | |
| { | |
| "title": "π Data Flow", | |
| "body": "<code>frontend</code> β <code>backend</code> β <code>scratch</code>", | |
| "class": "queue" | |
| }, | |
| { | |
| "title": "π Layers", | |
| "body": "Cross-layer call chain detected from CodeGraph edges", | |
| "class": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "Pipeline: frontend β scratch β backend", | |
| "cards": [ | |
| { | |
| "title": "π Data Flow", | |
| "body": "<code>frontend</code> β <code>scratch</code> β <code>backend</code>", | |
| "class": "queue" | |
| }, | |
| { | |
| "title": "π Layers", | |
| "body": "Cross-layer call chain detected from CodeGraph edges", | |
| "class": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "Pipeline: backend β scratch β frontend", | |
| "cards": [ | |
| { | |
| "title": "π Data Flow", | |
| "body": "<code>backend</code> β <code>scratch</code> β <code>frontend</code>", | |
| "class": "queue" | |
| }, | |
| { | |
| "title": "π Layers", | |
| "body": "Cross-layer call chain detected from CodeGraph edges", | |
| "class": "" | |
| } | |
| ] | |
| } | |
| ], | |
| "queues": [], | |
| "ai_components": [ | |
| { | |
| "name": "π€ AI / LLM Integration", | |
| "cards": [ | |
| { | |
| "title": "π§ Detected AI Components", | |
| "body": "<code>ADMIN_TOKEN</code>, <code>ADMIN_TOKEN_ENV_KEY</code>, <code>AIRuleDocument</code>, <code>AIRuleRegistry</code>, <code>AI_SCORE_FIELD_DEFAULTS</code>, <code>AI_SCORING_VERSION</code>, <code>AVAILABLE_MODELS</code>, <code>AnthropicClient</code>, <code>ApiModelsTests</code>, <code>AverageAiScoreFieldsTests</code>, <code>AzureOpenAIClient</code>, <code>BaseLLMClient</code>, <code>CHRONOS2_MODEL_MARKER</code>, <code>CHRONOS_AVAILABLE</code>, <code>Chronos2Model</code>", | |
| "class": "ai" | |
| }, | |
| { | |
| "title": "π Integration Pattern", | |
| "body": "AI/LLM calls detected via import analysis and symbol naming patterns", | |
| "class": "" | |
| } | |
| ] | |
| } | |
| ], | |
| "interventions": [ | |
| { | |
| "name": "Manual Intervention Points", | |
| "cards": [ | |
| { | |
| "title": "β _retry", | |
| "body": "<code>backend/main.py</code> (line 1231) β function", | |
| "class": "warning" | |
| }, | |
| { | |
| "title": "β FX_PRIMARY_FALLBACK_SOURCES", | |
| "body": "<code>backend/main.py</code> (line 873) β variable", | |
| "class": "warning" | |
| }, | |
| { | |
| "title": "β TORCH_IMPORT_ERROR", | |
| "body": "<code>backend/main.py</code> (line 213) β variable", | |
| "class": "danger" | |
| }, | |
| { | |
| "title": "β TORCH_IMPORT_ERROR", | |
| "body": "<code>backend/main.py</code> (line 216) β variable", | |
| "class": "danger" | |
| }, | |
| { | |
| "title": "β AlphaVantageRateLimitError", | |
| "body": "<code>scratch/tradingagents-audit/tradingagents/dataflows/alpha_vantage_common.py</code> (line 38) β class", | |
| "class": "danger" | |
| }, | |
| { | |
| "title": "β test_crypto_dynamic_source_mappings_are_derived_for_hf_safe_fallbacks", | |
| "body": "<code>backend/test_api_regressions.py</code> (line 842) β method", | |
| "class": "warning" | |
| }, | |
| { | |
| "title": "β test_crypto_historical_fetch_on_hf_uses_hf_safe_fallback_first", | |
| "body": "<code>backend/test_api_regressions.py</code> (line 859) β method", | |
| "class": "warning" | |
| }, | |
| { | |
| "title": "β test_finalize_forecast_error_payload_omits_legacy_forecast_candles_field", | |
| "body": "<code>backend/test_api_regressions.py</code> (line 1684) β method", | |
| "class": "danger" | |
| } | |
| ] | |
| } | |
| ], | |
| "entry_points": [ | |
| { | |
| "name": "π Application Entry Points", | |
| "cards": [ | |
| { | |
| "title": "π Entry Files", | |
| "body": "<div class=\"path-block\">app.py</div>", | |
| "class": "entry" | |
| }, | |
| { | |
| "title": "π Count", | |
| "body": "1 entry-point files detected", | |
| "class": "success" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "π Application Entry Points", | |
| "cards": [ | |
| { | |
| "title": "π Entry Files", | |
| "body": "<div class=\"path-block\">libs/chronos-forecasting/.github/ISSUE_TEMPLATE/config.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/ci.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/eval-model.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/.github/workflows/publish-to-pypi.yml</div>\n<div class=\"path-block\">libs/chronos-forecasting/ci/evaluate/backtest_config.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/configs/in-domain.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/evaluation/configs/zero-shot.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/training/configs/chronos-gpt2.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/training/configs/chronos-t5-base.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/training/configs/chronos-t5-large.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/training/configs/chronos-t5-mini.yaml</div>\n<div class=\"path-block\">libs/chronos-forecasting/scripts/training/configs/chronos-t5-small.yaml</div>", | |
| "class": "entry" | |
| }, | |
| { | |
| "title": "π Count", | |
| "body": "17 entry-point files detected", | |
| "class": "success" | |
| } | |
| ] | |
| } | |
| ], | |
| "external_repos": [ | |
| { | |
| "name": "π Databases", | |
| "cards": [ | |
| { | |
| "title": "Database Systems", | |
| "body": "<code>typeorm</code>", | |
| "class": "" | |
| } | |
| ] | |
| }, | |
| { | |
| "name": "π€ AI/LLM Services", | |
| "cards": [ | |
| { | |
| "title": "External AI APIs", | |
| "body": "<code>anthropic</code>, <code>deepseek</code>, <code>google_ai</code>, <code>huggingface</code>, <code>langchain</code>, <code>openai</code>", | |
| "class": "ai" | |
| } | |
| ] | |
| } | |
| ], | |
| "business_rules": [ | |
| "β VALIDATION: <code>_validate_cache_target</code> β data validation in <code>backend/main.py</code>", | |
| "β VALIDATION: <code>_validate_symbol_and_interval</code> β data validation in <code>backend/main.py</code>", | |
| "π ROUTE: <code>DELETE /api/cache</code> β API endpoint in <code>backend/main.py</code>", | |
| "π ROUTE: <code>DELETE /api/cache/{symbol}/{interval}</code> β API endpoint in <code>backend/main.py</code>", | |
| "π ROUTE: <code>GET /api/ai/rules</code> β API endpoint in <code>backend/main.py</code>", | |
| "π ROUTE: <code>GET /api/analysis-report/{symbol}</code> β API endpoint in <code>backend/main.py</code>", | |
| "π ROUTE: <code>GET /api/analysis/{symbol}</code> β API endpoint in <code>backend/main.py</code>", | |
| "π ROUTE: <code>GET /api/backtest/{symbol}</code> β API endpoint in <code>backend/main.py</code>", | |
| "π ROUTE: <code>GET /api/cache/stats</code> β API endpoint in <code>backend/main.py</code>", | |
| "π ROUTE: <code>GET /api/forecast/{symbol}</code> β API endpoint in <code>backend/main.py</code>", | |
| "π ROUTE: <code>GET /api/forecasting/rules</code> β API endpoint in <code>backend/main.py</code>", | |
| "π ROUTE: <code>GET /api/health</code> β API endpoint in <code>backend/main.py</code>", | |
| "π ROUTE: <code>GET /api/historical/{symbol}</code> β API endpoint in <code>backend/main.py</code>", | |
| "π ROUTE: <code>GET /api/indicators/{symbol}</code> β API endpoint in <code>backend/main.py</code>", | |
| "π ROUTE: <code>GET /api/market-peers</code> β API endpoint in <code>backend/main.py</code>" | |
| ], | |
| "file_prefixes": { | |
| "frontend/": "UI / Frontend β frontend/", | |
| "libs/chronos-forecasting/": "[chronos-forecasting] Core / Business Logic β libs/", | |
| "libs/timesfm/": "[timesfm] Core / Business Logic β libs/", | |
| "scripts/": "Infrastructure β scripts/", | |
| "scratch/": "UI / Frontend β scratch/ 1r", | |
| "backend/": "backend/", | |
| ".codegraph/": ".codegraph/" | |
| }, | |
| "output_structure": " π Entry Points/ (1 files)\n UI / Frontend β frontend// (5 files)\n [chronos-forecasting] Core / Business Logic β libs// (39 files)\n [timesfm] Core / Business Logic β libs// (58 files)\n Infrastructure β scripts// (6 files)\n UI / Frontend β scratch/ 1r/ (107 files)", | |
| "workflows": [ | |
| { | |
| "name": "π Auto-Detected Architecture Flow", | |
| "mermaid": "graph TD\n classDef tab fill:#1e1b4b,stroke:#818cf8,stroke-width:2px,color:#e0e7ff\n classDef step fill:#111827,stroke:#374151,stroke-width:1px,color:#f3f4f6\n classDef folder fill:#1e1b0a,stroke:#f59e0b,stroke-width:2px,color:#fefce8\n classDef queue fill:#0a1e2e,stroke:#06b6d4,stroke-width:2px,color:#e0f7ff\n classDef ai fill:#1a0a2e,stroke:#a855f7,stroke-width:2px,color:#f3e8ff\n classDef ok fill:#064e3b,stroke:#34d399,stroke-width:2px,color:#ecfdf5\n\n L0[\"π Entry Points\"]:::tab\n L1[\"UI / Frontend β frontend/\"]:::tab\n L0 -->L1\n L2[\"[chronos-forecasting] Core / Business Lo\"]:::folder\n L1 -->L2\n L3[\"[timesfm] Core / Business Logic β libs/\"]:::folder\n L2 -->L3\n L4[\"Infrastructure β scripts/\"]:::queue\n L3 -->L4\n L5[\"UI / Frontend β scratch/ 1r\"]:::tab\n L4 -->L5\n L6[\"backend/\"]:::folder\n L5 -->L6\n L7[\".codegraph/\"]:::folder\n L6 -->L7\n L5 -.->L6\n L1 -.->L6\n L1 -.->L5\n L5 -.->L1\n L6 -.->L5", | |
| "tabs": [] | |
| } | |
| ], | |
| "mermaid_override": "", | |
| "has_content": true | |
| } |