cursor-guard 2.1.1 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -11
- package/README.zh-CN.md +351 -293
- package/ROADMAP.md +1040 -0
- package/SKILL.md +631 -557
- package/package.json +14 -5
- package/references/config-reference.md +215 -175
- package/references/config-reference.zh-CN.md +215 -175
- package/references/cursor-guard.example.json +6 -6
- package/references/cursor-guard.schema.json +30 -0
- package/references/lib/auto-backup.js +315 -530
- package/references/lib/core/anomaly.js +217 -0
- package/references/lib/core/backups.js +357 -0
- package/references/lib/core/core.test.js +1459 -0
- package/references/lib/core/dashboard.js +208 -0
- package/references/lib/core/doctor-fix.js +237 -0
- package/references/lib/core/doctor.js +248 -0
- package/references/lib/core/restore.js +360 -0
- package/references/lib/core/snapshot.js +198 -0
- package/references/lib/core/status.js +163 -0
- package/references/lib/guard-doctor.js +46 -238
- package/references/lib/utils.js +438 -371
- package/references/mcp/mcp.test.js +374 -0
- package/references/mcp/server.js +252 -0
- package/references/quickstart.zh-CN.md +364 -0
|
@@ -1,175 +1,215 @@
|
|
|
1
|
-
# 配置参数说明
|
|
2
|
-
|
|
3
|
-
本文档说明 `.cursor-guard.json` 中的每个配置项。
|
|
4
|
-
|
|
5
|
-
> 示例文件:[cursor-guard.example.json](cursor-guard.example.json)
|
|
6
|
-
>
|
|
7
|
-
> JSON Schema:[cursor-guard.schema.json](cursor-guard.schema.json)
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## `protect`
|
|
12
|
-
|
|
13
|
-
- **类型**:`string[]`(glob 模式)
|
|
14
|
-
- **默认值**:未设置(保护所有文件)
|
|
15
|
-
|
|
16
|
-
白名单 glob 模式,相对于工作区根目录。只有匹配的文件才会被保护。留空或不设置则保护所有文件。
|
|
17
|
-
|
|
18
|
-
```json
|
|
19
|
-
"protect": ["src/**", "lib/**", "package.json"]
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## `ignore`
|
|
25
|
-
|
|
26
|
-
- **类型**:`string[]`(glob 模式)
|
|
27
|
-
- **默认值**:未设置
|
|
28
|
-
|
|
29
|
-
黑名单 glob 模式。匹配的文件即使被 `protect` 包含也会排除。在 `.gitignore` 基础上额外生效。
|
|
30
|
-
|
|
31
|
-
**解析规则**:
|
|
32
|
-
|
|
33
|
-
| 场景 | 行为 |
|
|
34
|
-
|------|------|
|
|
35
|
-
| 同时设置 `protect` 和 `ignore` | 文件须匹配 protect 且不匹配 ignore |
|
|
36
|
-
| 仅设置 `protect` | 仅匹配文件被保护 |
|
|
37
|
-
| 仅设置 `ignore` | 除匹配文件外全部保护 |
|
|
38
|
-
| 都不设置 | 保护全部文件 |
|
|
39
|
-
|
|
40
|
-
```json
|
|
41
|
-
"ignore": ["node_modules/**", "dist/**", "*.log"]
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## `backup_strategy`
|
|
47
|
-
|
|
48
|
-
- **类型**:`string`
|
|
49
|
-
- **可选值**:`"git"` | `"shadow"` | `"both"`
|
|
50
|
-
- **默认值**:`"git"`
|
|
51
|
-
|
|
52
|
-
| 值 | 说明 |
|
|
53
|
-
|----|------|
|
|
54
|
-
| `"git"` | 提交到专用引用 `refs/guard/auto-backup` |
|
|
55
|
-
| `"shadow"` | 文件拷贝到 `.cursor-guard-backup/<timestamp>/` |
|
|
56
|
-
| `"both"` | Git 分支快照 + 影子拷贝同时进行 |
|
|
57
|
-
|
|
58
|
-
```json
|
|
59
|
-
"backup_strategy": "git"
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
---
|
|
63
|
-
|
|
64
|
-
## `auto_backup_interval_seconds`
|
|
65
|
-
|
|
66
|
-
- **类型**:`integer`
|
|
67
|
-
- **最小值**:`5`
|
|
68
|
-
- **默认值**:`60`
|
|
69
|
-
|
|
70
|
-
自动备份脚本检查变更并创建快照的间隔秒数。
|
|
71
|
-
|
|
72
|
-
```json
|
|
73
|
-
"auto_backup_interval_seconds": 60
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
## `secrets_patterns`
|
|
79
|
-
|
|
80
|
-
- **类型**:`string[]`(glob 模式)
|
|
81
|
-
- **默认值**:内置列表(见下)
|
|
82
|
-
|
|
83
|
-
敏感文件 glob 模式。匹配的文件**自动排除**备份,即使在 `protect` 范围内。内置默认值:`.env`、`.env.*`、`*.key`、`*.pem`、`*.p12`、`*.pfx`、`credentials*`。
|
|
84
|
-
|
|
85
|
-
**设置此字段会完全替换内置默认值。** 如果只想追加模式,请使用 `secrets_patterns_extra`。
|
|
86
|
-
|
|
87
|
-
```json
|
|
88
|
-
"secrets_patterns": [".env", ".env.*", "*.key", "*.pem"]
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
## `secrets_patterns_extra`
|
|
94
|
-
|
|
95
|
-
- **类型**:`string[]`(glob 模式)
|
|
96
|
-
- **默认值**:未设置
|
|
97
|
-
|
|
98
|
-
追加到当前 `secrets_patterns`(含默认值)的额外 glob 模式。使用此字段可在不丢失 `.p12`、`.pfx`、`credentials*` 等内置保护的情况下添加自定义模式。
|
|
99
|
-
|
|
100
|
-
```json
|
|
101
|
-
"secrets_patterns_extra": ["*.secret", "tokens.*"]
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## `pre_restore_backup`
|
|
107
|
-
|
|
108
|
-
- **类型**:`string`
|
|
109
|
-
- **可选值**:`"always"` | `"ask"` | `"never"`
|
|
110
|
-
- **默认值**:`"always"`
|
|
111
|
-
|
|
112
|
-
| 值 | 说明 |
|
|
113
|
-
|----|------|
|
|
114
|
-
| `"always"` | 恢复前自动保留当前版本,无需确认。 |
|
|
115
|
-
| `"ask"` | 每次恢复前询问用户是否保留当前版本。 |
|
|
116
|
-
| `"never"` | 不保留当前版本(不推荐)。 |
|
|
117
|
-
|
|
118
|
-
无论此配置如何,用户在当前消息中的明确指令始终优先。说"不保留当前版本"可跳过,说"先保留当前版本"可强制保留。
|
|
119
|
-
|
|
120
|
-
```json
|
|
121
|
-
"pre_restore_backup": "always"
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
## `retention`
|
|
127
|
-
|
|
128
|
-
- **类型**:`object`
|
|
129
|
-
- **默认值**:`{ "mode": "days", "days": 30 }`
|
|
130
|
-
|
|
131
|
-
仅针对**影子拷贝**的保留策略。Git 分支快照不会自动清理,需手动管理。控制 `.cursor-guard-backup/` 旧目录的自动清理。
|
|
132
|
-
|
|
133
|
-
### 子字段
|
|
134
|
-
|
|
135
|
-
| 字段 | 类型 | 默认值 | 说明 |
|
|
136
|
-
|------|------|--------|------|
|
|
137
|
-
| `mode` | `"days"` \| `"count"` \| `"size"` | `"days"` | 清理策略 |
|
|
138
|
-
| `days` | `integer` | `30` | 保留最近 N 天的快照(mode=days 时生效) |
|
|
139
|
-
| `max_count` | `integer` | `100` | 保留最新 N 份快照(mode=count 时生效) |
|
|
140
|
-
| `max_size_mb` | `integer` | `500` | 总大小不超过 N MB(mode=size 时生效) |
|
|
141
|
-
|
|
142
|
-
```json
|
|
143
|
-
"retention": {
|
|
144
|
-
"mode": "days",
|
|
145
|
-
"days": 30,
|
|
146
|
-
"max_count": 100,
|
|
147
|
-
"max_size_mb": 500
|
|
148
|
-
}
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
## `git_retention`
|
|
154
|
-
|
|
155
|
-
- **类型**:`object`
|
|
156
|
-
- **默认值**:`{ "enabled": false, "mode": "count", "max_count": 200 }`
|
|
157
|
-
|
|
158
|
-
**`refs/guard/auto-backup` Git 引用**的保留策略。默认情况下自动备份提交会无限累积。启用此项可自动裁剪旧提交。
|
|
159
|
-
|
|
160
|
-
### 子字段
|
|
161
|
-
|
|
162
|
-
| 字段 | 类型 | 默认值 | 说明 |
|
|
163
|
-
|------|------|--------|------|
|
|
164
|
-
| `enabled` | `boolean` | `false` | 启用自动裁剪。关闭时分支无限增长。 |
|
|
165
|
-
| `mode` | `"days"` \| `"count"` | `"count"` | 裁剪策略 |
|
|
166
|
-
| `days` | `integer` | `30` | 保留最近 N 天的提交(mode=days 时生效) |
|
|
167
|
-
| `max_count` | `integer` | `200` | 保留最新 N 个提交(mode=count 时生效,最少 10) |
|
|
168
|
-
|
|
169
|
-
```json
|
|
170
|
-
"git_retention": {
|
|
171
|
-
"enabled": true,
|
|
172
|
-
"mode": "count",
|
|
173
|
-
"max_count": 200
|
|
174
|
-
}
|
|
175
|
-
```
|
|
1
|
+
# 配置参数说明
|
|
2
|
+
|
|
3
|
+
本文档说明 `.cursor-guard.json` 中的每个配置项。
|
|
4
|
+
|
|
5
|
+
> 示例文件:[cursor-guard.example.json](cursor-guard.example.json)
|
|
6
|
+
>
|
|
7
|
+
> JSON Schema:[cursor-guard.schema.json](cursor-guard.schema.json)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## `protect`
|
|
12
|
+
|
|
13
|
+
- **类型**:`string[]`(glob 模式)
|
|
14
|
+
- **默认值**:未设置(保护所有文件)
|
|
15
|
+
|
|
16
|
+
白名单 glob 模式,相对于工作区根目录。只有匹配的文件才会被保护。留空或不设置则保护所有文件。
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
"protect": ["src/**", "lib/**", "package.json"]
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## `ignore`
|
|
25
|
+
|
|
26
|
+
- **类型**:`string[]`(glob 模式)
|
|
27
|
+
- **默认值**:未设置
|
|
28
|
+
|
|
29
|
+
黑名单 glob 模式。匹配的文件即使被 `protect` 包含也会排除。在 `.gitignore` 基础上额外生效。
|
|
30
|
+
|
|
31
|
+
**解析规则**:
|
|
32
|
+
|
|
33
|
+
| 场景 | 行为 |
|
|
34
|
+
|------|------|
|
|
35
|
+
| 同时设置 `protect` 和 `ignore` | 文件须匹配 protect 且不匹配 ignore |
|
|
36
|
+
| 仅设置 `protect` | 仅匹配文件被保护 |
|
|
37
|
+
| 仅设置 `ignore` | 除匹配文件外全部保护 |
|
|
38
|
+
| 都不设置 | 保护全部文件 |
|
|
39
|
+
|
|
40
|
+
```json
|
|
41
|
+
"ignore": ["node_modules/**", "dist/**", "*.log"]
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## `backup_strategy`
|
|
47
|
+
|
|
48
|
+
- **类型**:`string`
|
|
49
|
+
- **可选值**:`"git"` | `"shadow"` | `"both"`
|
|
50
|
+
- **默认值**:`"git"`
|
|
51
|
+
|
|
52
|
+
| 值 | 说明 |
|
|
53
|
+
|----|------|
|
|
54
|
+
| `"git"` | 提交到专用引用 `refs/guard/auto-backup` |
|
|
55
|
+
| `"shadow"` | 文件拷贝到 `.cursor-guard-backup/<timestamp>/` |
|
|
56
|
+
| `"both"` | Git 分支快照 + 影子拷贝同时进行 |
|
|
57
|
+
|
|
58
|
+
```json
|
|
59
|
+
"backup_strategy": "git"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## `auto_backup_interval_seconds`
|
|
65
|
+
|
|
66
|
+
- **类型**:`integer`
|
|
67
|
+
- **最小值**:`5`
|
|
68
|
+
- **默认值**:`60`
|
|
69
|
+
|
|
70
|
+
自动备份脚本检查变更并创建快照的间隔秒数。
|
|
71
|
+
|
|
72
|
+
```json
|
|
73
|
+
"auto_backup_interval_seconds": 60
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## `secrets_patterns`
|
|
79
|
+
|
|
80
|
+
- **类型**:`string[]`(glob 模式)
|
|
81
|
+
- **默认值**:内置列表(见下)
|
|
82
|
+
|
|
83
|
+
敏感文件 glob 模式。匹配的文件**自动排除**备份,即使在 `protect` 范围内。内置默认值:`.env`、`.env.*`、`*.key`、`*.pem`、`*.p12`、`*.pfx`、`credentials*`。
|
|
84
|
+
|
|
85
|
+
**设置此字段会完全替换内置默认值。** 如果只想追加模式,请使用 `secrets_patterns_extra`。
|
|
86
|
+
|
|
87
|
+
```json
|
|
88
|
+
"secrets_patterns": [".env", ".env.*", "*.key", "*.pem"]
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## `secrets_patterns_extra`
|
|
94
|
+
|
|
95
|
+
- **类型**:`string[]`(glob 模式)
|
|
96
|
+
- **默认值**:未设置
|
|
97
|
+
|
|
98
|
+
追加到当前 `secrets_patterns`(含默认值)的额外 glob 模式。使用此字段可在不丢失 `.p12`、`.pfx`、`credentials*` 等内置保护的情况下添加自定义模式。
|
|
99
|
+
|
|
100
|
+
```json
|
|
101
|
+
"secrets_patterns_extra": ["*.secret", "tokens.*"]
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## `pre_restore_backup`
|
|
107
|
+
|
|
108
|
+
- **类型**:`string`
|
|
109
|
+
- **可选值**:`"always"` | `"ask"` | `"never"`
|
|
110
|
+
- **默认值**:`"always"`
|
|
111
|
+
|
|
112
|
+
| 值 | 说明 |
|
|
113
|
+
|----|------|
|
|
114
|
+
| `"always"` | 恢复前自动保留当前版本,无需确认。 |
|
|
115
|
+
| `"ask"` | 每次恢复前询问用户是否保留当前版本。 |
|
|
116
|
+
| `"never"` | 不保留当前版本(不推荐)。 |
|
|
117
|
+
|
|
118
|
+
无论此配置如何,用户在当前消息中的明确指令始终优先。说"不保留当前版本"可跳过,说"先保留当前版本"可强制保留。
|
|
119
|
+
|
|
120
|
+
```json
|
|
121
|
+
"pre_restore_backup": "always"
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## `retention`
|
|
127
|
+
|
|
128
|
+
- **类型**:`object`
|
|
129
|
+
- **默认值**:`{ "mode": "days", "days": 30 }`
|
|
130
|
+
|
|
131
|
+
仅针对**影子拷贝**的保留策略。Git 分支快照不会自动清理,需手动管理。控制 `.cursor-guard-backup/` 旧目录的自动清理。
|
|
132
|
+
|
|
133
|
+
### 子字段
|
|
134
|
+
|
|
135
|
+
| 字段 | 类型 | 默认值 | 说明 |
|
|
136
|
+
|------|------|--------|------|
|
|
137
|
+
| `mode` | `"days"` \| `"count"` \| `"size"` | `"days"` | 清理策略 |
|
|
138
|
+
| `days` | `integer` | `30` | 保留最近 N 天的快照(mode=days 时生效) |
|
|
139
|
+
| `max_count` | `integer` | `100` | 保留最新 N 份快照(mode=count 时生效) |
|
|
140
|
+
| `max_size_mb` | `integer` | `500` | 总大小不超过 N MB(mode=size 时生效) |
|
|
141
|
+
|
|
142
|
+
```json
|
|
143
|
+
"retention": {
|
|
144
|
+
"mode": "days",
|
|
145
|
+
"days": 30,
|
|
146
|
+
"max_count": 100,
|
|
147
|
+
"max_size_mb": 500
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## `git_retention`
|
|
154
|
+
|
|
155
|
+
- **类型**:`object`
|
|
156
|
+
- **默认值**:`{ "enabled": false, "mode": "count", "max_count": 200 }`
|
|
157
|
+
|
|
158
|
+
**`refs/guard/auto-backup` Git 引用**的保留策略。默认情况下自动备份提交会无限累积。启用此项可自动裁剪旧提交。
|
|
159
|
+
|
|
160
|
+
### 子字段
|
|
161
|
+
|
|
162
|
+
| 字段 | 类型 | 默认值 | 说明 |
|
|
163
|
+
|------|------|--------|------|
|
|
164
|
+
| `enabled` | `boolean` | `false` | 启用自动裁剪。关闭时分支无限增长。 |
|
|
165
|
+
| `mode` | `"days"` \| `"count"` | `"count"` | 裁剪策略 |
|
|
166
|
+
| `days` | `integer` | `30` | 保留最近 N 天的提交(mode=days 时生效) |
|
|
167
|
+
| `max_count` | `integer` | `200` | 保留最新 N 个提交(mode=count 时生效,最少 10) |
|
|
168
|
+
|
|
169
|
+
```json
|
|
170
|
+
"git_retention": {
|
|
171
|
+
"enabled": true,
|
|
172
|
+
"mode": "count",
|
|
173
|
+
"max_count": 200
|
|
174
|
+
}
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## `proactive_alert`
|
|
180
|
+
|
|
181
|
+
- **类型**:`boolean`
|
|
182
|
+
- **默认值**:`true`
|
|
183
|
+
|
|
184
|
+
启用 V4 主动变更频率检测。开启后,自动备份 watcher 会监控文件变更频率,当检测到异常模式(如 10 秒内 20+ 文件被修改)时发出告警。告警会持久化到文件,以便 MCP 工具在响应中附加风险提示。
|
|
185
|
+
|
|
186
|
+
设为 `false` 可完全禁用主动监控。
|
|
187
|
+
|
|
188
|
+
```json
|
|
189
|
+
"proactive_alert": true
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## `alert_thresholds`
|
|
195
|
+
|
|
196
|
+
- **类型**:`object`
|
|
197
|
+
- **默认值**:`{ "files_per_window": 20, "window_seconds": 10, "cooldown_seconds": 60 }`
|
|
198
|
+
|
|
199
|
+
主动变更频率告警的阈值配置。仅在 `proactive_alert` 为 `true` 时生效。
|
|
200
|
+
|
|
201
|
+
### 子字段
|
|
202
|
+
|
|
203
|
+
| 字段 | 类型 | 默认值 | 说明 |
|
|
204
|
+
|------|------|--------|------|
|
|
205
|
+
| `files_per_window` | `integer` | `20` | 时间窗口内触发告警的文件变更数量 |
|
|
206
|
+
| `window_seconds` | `integer` | `10` | 统计文件变更的滑动时间窗口(秒) |
|
|
207
|
+
| `cooldown_seconds` | `integer` | `60` | 连续告警之间的最小间隔(秒),避免噪声 |
|
|
208
|
+
|
|
209
|
+
```json
|
|
210
|
+
"alert_thresholds": {
|
|
211
|
+
"files_per_window": 20,
|
|
212
|
+
"window_seconds": 10,
|
|
213
|
+
"cooldown_seconds": 60
|
|
214
|
+
}
|
|
215
|
+
```
|
|
@@ -20,12 +20,6 @@
|
|
|
20
20
|
],
|
|
21
21
|
"backup_strategy": "git",
|
|
22
22
|
"auto_backup_interval_seconds": 60,
|
|
23
|
-
"secrets_patterns": [
|
|
24
|
-
".env",
|
|
25
|
-
".env.*",
|
|
26
|
-
"*.key",
|
|
27
|
-
"*.pem"
|
|
28
|
-
],
|
|
29
23
|
"secrets_patterns_extra": [],
|
|
30
24
|
"pre_restore_backup": "always",
|
|
31
25
|
"retention": {
|
|
@@ -39,5 +33,11 @@
|
|
|
39
33
|
"mode": "count",
|
|
40
34
|
"days": 30,
|
|
41
35
|
"max_count": 200
|
|
36
|
+
},
|
|
37
|
+
"proactive_alert": true,
|
|
38
|
+
"alert_thresholds": {
|
|
39
|
+
"files_per_window": 20,
|
|
40
|
+
"window_seconds": 10,
|
|
41
|
+
"cooldown_seconds": 60
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -102,6 +102,36 @@
|
|
|
102
102
|
}
|
|
103
103
|
},
|
|
104
104
|
"additionalProperties": false
|
|
105
|
+
},
|
|
106
|
+
"proactive_alert": {
|
|
107
|
+
"type": "boolean",
|
|
108
|
+
"default": true,
|
|
109
|
+
"description": "Enable V4 proactive change-velocity detection. When true, the auto-backup watcher monitors file change frequency and raises alerts when abnormal patterns are detected."
|
|
110
|
+
},
|
|
111
|
+
"alert_thresholds": {
|
|
112
|
+
"type": "object",
|
|
113
|
+
"description": "Thresholds for proactive change-velocity alerts (V4). Only effective when proactive_alert is true.",
|
|
114
|
+
"properties": {
|
|
115
|
+
"files_per_window": {
|
|
116
|
+
"type": "integer",
|
|
117
|
+
"minimum": 1,
|
|
118
|
+
"default": 20,
|
|
119
|
+
"description": "Number of file changes within the time window that triggers an alert."
|
|
120
|
+
},
|
|
121
|
+
"window_seconds": {
|
|
122
|
+
"type": "integer",
|
|
123
|
+
"minimum": 1,
|
|
124
|
+
"default": 10,
|
|
125
|
+
"description": "Sliding time window in seconds for counting file changes."
|
|
126
|
+
},
|
|
127
|
+
"cooldown_seconds": {
|
|
128
|
+
"type": "integer",
|
|
129
|
+
"minimum": 1,
|
|
130
|
+
"default": 60,
|
|
131
|
+
"description": "Minimum seconds between consecutive alerts to avoid noise."
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
"additionalProperties": false
|
|
105
135
|
}
|
|
106
136
|
},
|
|
107
137
|
"additionalProperties": false
|