Files
iAOP/core/cockpit/__init__.py
T
bot_dev1 8e5ae96839 feat(#52): 报警看板配置化(阈值/规则外置,PRD 5.5 告警面板配置化)
把 alarm_panel 组件的展示语义外置为模板配置资产,使「切换行业模板零改前端代码」
(PRD 5.5 验收口径)覆盖到告警面板:

- core/cockpit/alarm_config.py:AlarmPanelConfig 配置点
  - severityColors(P0/P1/P2 三级 fg/bg/icon/border,覆盖主题默认告警色;
    P0 fg 即驾驶舱红色告警 PRD 5.3 ③ 场景A)
  - rulesSource / thresholdsSource(asset 资产路径 或 inline 内联规则,
    阈值/规则外置 JSON,PRD line 152/171)
  - showSop(PRD 场景A LLM 报警解释 + 值班长确认是否展开 SOP)
  - requireAck / ackTimeoutS(高利害人工确认,PRD line 333;超时升级)
  - muteLower / groupBy / sortBy / maxItems(静默下限 + 大屏展示策略)
  - validate_alarm_config(聚合全部字段级错误,沿用 #50 风格)
  - load_alarm_config(校验失败抛 AlarmConfigError 携带错误清单)
  - render_alarm_panel_props(编译为 alarm_panel 组件 props,#51 渲染层合并即可)
  - filter_alarms_by_mute(验证 muteLower 配置点真实驱动展示策略)
- core/cockpit/__init__.py:导出 #52 告警面板配置 API(#50/#51 合入后合并导出)
- templates/ti-cl4/dashboard/alarm_panel.ti.yaml:氯化车间/海绵钛告警面板配置资产
- core/cockpit/scripts/verify_alarm_config.py:验收脚本(4 能力点,exit 0)
- core/cockpit/tests/test_alarm_config.py:28 用例(校验/加载/渲染/过滤/负例)
- core/cockpit/README.md:模块说明与用法

零运行时依赖(仅标准库);与 #50/#51 解耦,不 import 未合入分支。
测试:python -m unittest discover -s tests -p test_alarm_config.py(28 OK)
2026-08-05 02:57:10 +08:00

59 lines
1.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -*- coding: utf-8 -*-
"""配置化驾驶舱内核模块(iAOP-Core / cockpit)—— 对齐 PRD 5.5「⑤ 配置化驾驶舱」。
当前对外暴露 issue #52「报警看板配置化(阈值/规则外置)」的能力:把告警面板的
展示语义(严重度配色 / 规则源 / SOP / 确认 / 分组排序)外置为模板配置资产。
布局 JSON Schema(#50)与渲染层(#51)在其各自 feature 分支上推进;合入 main
后,本 ``__init__`` 会合并它们的导出(``CockpitLayout`` / ``validate_layout`` /
``RenderPlan`` 等)。当前只导出 #52 的告警面板配置 API,保证 #52 在 main 上
可独立运行、可独立测试。
"""
from __future__ import annotations
from .alarm_config import ( # noqa: F401
ALARM_CONFIG_SCHEMA_ID,
ALARM_CONFIG_SCHEMA_VERSION,
DEFAULT_ACK_TIMEOUT_S,
DEFAULT_MAX_ITEMS,
DEFAULT_MUTE_LOWER,
MAX_ALLOWED_ITEMS,
SEVERITY_RANK,
VALID_GROUP_BY,
VALID_SEVERITIES,
VALID_SORT_BY,
VALID_SOURCE_KINDS,
AlarmConfigError,
AlarmConfigValidationResult,
AlarmPanelConfig,
AlarmRulesSource,
SeverityColor,
filter_alarms_by_mute,
load_alarm_config,
render_alarm_panel_props,
validate_alarm_config,
)
__all__ = [
"ALARM_CONFIG_SCHEMA_ID",
"ALARM_CONFIG_SCHEMA_VERSION",
"DEFAULT_ACK_TIMEOUT_S",
"DEFAULT_MAX_ITEMS",
"DEFAULT_MUTE_LOWER",
"MAX_ALLOWED_ITEMS",
"SEVERITY_RANK",
"VALID_GROUP_BY",
"VALID_SEVERITIES",
"VALID_SORT_BY",
"VALID_SOURCE_KINDS",
"AlarmConfigError",
"AlarmConfigValidationResult",
"AlarmPanelConfig",
"AlarmRulesSource",
"SeverityColor",
"filter_alarms_by_mute",
"load_alarm_config",
"render_alarm_panel_props",
"validate_alarm_config",
]