feat(config): add jobs.mcp_tokens_purge config (spec §6.6)

Default: enabled=true, interval=24h, retention=168h (7 days).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-08 12:43:40 +08:00
parent be8d5e3a1b
commit 33057e885f
2 changed files with 14 additions and 0 deletions
+4
View File
@@ -102,6 +102,10 @@ jobs:
enabled: true
interval: 24h
retention: 168h # 7 天
mcp_tokens_purge:
enabled: true
interval: 24h
retention: 168h # 7 days
# 通知通道配置
notify:
+10
View File
@@ -122,6 +122,7 @@ type JobsConfig struct {
JobReaper JobReaperCfg `mapstructure:"job_reaper"`
JobPurge JobPurgeCfg `mapstructure:"job_purge"`
AcpEventsPurge AcpEventsPurgeCfg `mapstructure:"acp_events_purge"`
MCPTokensPurge MCPTokensPurgeCfg `mapstructure:"mcp_tokens_purge"`
}
type RunnerCfg struct {
@@ -160,6 +161,12 @@ type AcpEventsPurgeCfg struct {
Retention time.Duration `mapstructure:"retention"`
}
type MCPTokensPurgeCfg struct {
Enabled bool `mapstructure:"enabled"`
Interval time.Duration `mapstructure:"interval"`
Retention time.Duration `mapstructure:"retention"`
}
// NotifyConfig 是 notify 模块的可选外发通道配置。当前仅 webhook。
type NotifyConfig struct {
Webhook WebhookCfg `mapstructure:"webhook"`
@@ -252,6 +259,9 @@ func Load(configFile string) (*Config, error) {
v.SetDefault("jobs.acp_events_purge.enabled", true)
v.SetDefault("jobs.acp_events_purge.interval", "24h")
v.SetDefault("jobs.acp_events_purge.retention", "168h")
v.SetDefault("jobs.mcp_tokens_purge.enabled", true)
v.SetDefault("jobs.mcp_tokens_purge.interval", "24h")
v.SetDefault("jobs.mcp_tokens_purge.retention", "168h")
v.SetDefault("notify.webhook.enabled", false)
v.SetDefault("notify.webhook.timeout", "10s")
v.SetDefault("acp.enabled", true)