"""PAM 部署流程中的 action、参数和敏感字段常量。""" # PAM_HOME 侧只能通过脚本执行的 action。 HOME_ACTIONS = ( "get-token", "create-version", "upload-package", "publish-version", "get-node-url", ) # PAM_NODE 侧可通过 MCP 或脚本执行的 action。 NODE_ACTIONS = ( "get-online-ips", "create-download-task", "poll-download-progress", "upgrade-ip", "poll-upgrade-progress", "start-ip", "stop-ip", "verify-ip", "download-log", "rollback-ip", ) # 全局阶段按顺序执行,完成后才能进入逐 IP 阶段。 GLOBAL_ACTION_SEQUENCE = ( "get-token", "create-version", "upload-package", "publish-version", "get-node-url", "get-online-ips", "create-download-task", "poll-download-progress", ) # 单个工作站 IP 的部署阶段顺序。 IP_ACTION_SEQUENCE = ( "upgrade-ip", "poll-upgrade-progress", "start-ip", "verify-ip", "download-log", ) # Agent 允许规划和执行的完整 action 集合。 ALLOWED_ACTIONS = HOME_ACTIONS + NODE_ACTIONS # 创建运行状态前必须具备的部署参数。 REQUIRED_PARAMS = ( "HOME_BASE_URL", "CLIENT_ID", "CLIENT_SECRET", "AIRPORT_CODE", "APP_NAME", "MODULE_NAME", "VERSION_NUMBER", "ZIP_FILE_PATH", ) # 用户未显式提供时使用的默认参数。 DEFAULT_PARAMS = { "ACTION_TYPE": "FULL", "TIMEOUT": 120, "LOG_NAME": "app.log", "POLL_INTERVAL_SEC": 2, "DOWNLOAD_POLL_MAX_ATTEMPTS": 60, "UPGRADE_POLL_MAX_ATTEMPTS": 600, "VERIFY_INTERVAL_SEC": 10, "VERIFY_MAX_ATTEMPTS": 12, } # 日志、报告和 LLM 输入中需要脱敏的字段。 SENSITIVE_KEYS = { "CLIENT_SECRET", "MCP_CLIENT_SECRET", "MCP_TOKEN", "TOKEN", "Authorization", "authorization", "access_token", "ACCESS_TOKEN", "api_key", "API_KEY", "PAM_LLM_API_KEY", "password", "PASSWORD", }