@probelabs/visor 0.1.76 → 0.1.78
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/dist/config.d.ts.map +1 -1
- package/dist/generated/config-schema.d.ts +49 -28
- package/dist/generated/config-schema.d.ts.map +1 -1
- package/dist/generated/config-schema.json +26 -0
- package/dist/index.js +856 -802
- package/dist/sdk/sdk.d.mts +14 -0
- package/dist/sdk/sdk.d.ts +14 -0
- package/dist/sdk/sdk.js +674 -685
- package/dist/sdk/sdk.js.map +1 -1
- package/dist/sdk/sdk.mjs +736 -747
- package/dist/sdk/sdk.mjs.map +1 -1
- package/dist/types/config.d.ts +14 -0
- package/dist/types/config.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/licenses.txt +0 -2300
- package/dist/tiktoken_bg.wasm +0 -0
package/dist/sdk/sdk.js
CHANGED
|
@@ -9117,292 +9117,300 @@ var init_config_schema = __esm({
|
|
|
9117
9117
|
"src/generated/config-schema.ts"() {
|
|
9118
9118
|
"use strict";
|
|
9119
9119
|
configSchema = {
|
|
9120
|
-
|
|
9121
|
-
|
|
9122
|
-
|
|
9123
|
-
|
|
9124
|
-
|
|
9125
|
-
|
|
9126
|
-
|
|
9127
|
-
|
|
9128
|
-
|
|
9120
|
+
$schema: "http://json-schema.org/draft-07/schema#",
|
|
9121
|
+
$ref: "#/definitions/VisorConfig",
|
|
9122
|
+
definitions: {
|
|
9123
|
+
VisorConfig: {
|
|
9124
|
+
type: "object",
|
|
9125
|
+
properties: {
|
|
9126
|
+
version: {
|
|
9127
|
+
type: "string",
|
|
9128
|
+
description: "Configuration version"
|
|
9129
9129
|
},
|
|
9130
|
-
|
|
9131
|
-
|
|
9130
|
+
extends: {
|
|
9131
|
+
anyOf: [
|
|
9132
9132
|
{
|
|
9133
|
-
|
|
9133
|
+
type: "string"
|
|
9134
9134
|
},
|
|
9135
9135
|
{
|
|
9136
|
-
|
|
9137
|
-
|
|
9138
|
-
|
|
9136
|
+
type: "array",
|
|
9137
|
+
items: {
|
|
9138
|
+
type: "string"
|
|
9139
9139
|
}
|
|
9140
9140
|
}
|
|
9141
9141
|
],
|
|
9142
|
-
|
|
9142
|
+
description: 'Extends from other configurations - can be file path, HTTP(S) URL, or "default"'
|
|
9143
9143
|
},
|
|
9144
|
-
|
|
9145
|
-
|
|
9146
|
-
|
|
9144
|
+
checks: {
|
|
9145
|
+
$ref: "#/definitions/Record%3Cstring%2CCheckConfig%3E",
|
|
9146
|
+
description: "Check configurations"
|
|
9147
9147
|
},
|
|
9148
|
-
|
|
9149
|
-
|
|
9150
|
-
|
|
9148
|
+
output: {
|
|
9149
|
+
$ref: "#/definitions/OutputConfig",
|
|
9150
|
+
description: "Output configuration"
|
|
9151
9151
|
},
|
|
9152
|
-
|
|
9153
|
-
|
|
9154
|
-
|
|
9152
|
+
http_server: {
|
|
9153
|
+
$ref: "#/definitions/HttpServerConfig",
|
|
9154
|
+
description: "HTTP server configuration for receiving webhooks"
|
|
9155
9155
|
},
|
|
9156
|
-
|
|
9157
|
-
|
|
9158
|
-
|
|
9156
|
+
env: {
|
|
9157
|
+
$ref: "#/definitions/EnvConfig",
|
|
9158
|
+
description: "Global environment variables"
|
|
9159
9159
|
},
|
|
9160
|
-
|
|
9161
|
-
|
|
9162
|
-
|
|
9160
|
+
ai_model: {
|
|
9161
|
+
type: "string",
|
|
9162
|
+
description: "Global AI model setting"
|
|
9163
9163
|
},
|
|
9164
|
-
|
|
9165
|
-
|
|
9166
|
-
|
|
9164
|
+
ai_provider: {
|
|
9165
|
+
type: "string",
|
|
9166
|
+
description: "Global AI provider setting"
|
|
9167
9167
|
},
|
|
9168
|
-
|
|
9169
|
-
|
|
9170
|
-
|
|
9168
|
+
ai_mcp_servers: {
|
|
9169
|
+
$ref: "#/definitions/Record%3Cstring%2CMcpServerConfig%3E",
|
|
9170
|
+
description: "Global MCP servers configuration for AI checks"
|
|
9171
9171
|
},
|
|
9172
|
-
|
|
9173
|
-
|
|
9174
|
-
|
|
9172
|
+
max_parallelism: {
|
|
9173
|
+
type: "number",
|
|
9174
|
+
description: "Maximum number of checks to run in parallel (default: 3)"
|
|
9175
9175
|
},
|
|
9176
|
-
|
|
9177
|
-
|
|
9178
|
-
|
|
9176
|
+
fail_fast: {
|
|
9177
|
+
type: "boolean",
|
|
9178
|
+
description: "Stop execution when any check fails (default: false)"
|
|
9179
9179
|
},
|
|
9180
|
-
|
|
9181
|
-
|
|
9182
|
-
|
|
9180
|
+
fail_if: {
|
|
9181
|
+
type: "string",
|
|
9182
|
+
description: "Simple global fail condition - fails if expression evaluates to true"
|
|
9183
9183
|
},
|
|
9184
|
-
|
|
9185
|
-
|
|
9186
|
-
|
|
9184
|
+
failure_conditions: {
|
|
9185
|
+
$ref: "#/definitions/FailureConditions",
|
|
9186
|
+
description: "Global failure conditions - optional (deprecated, use fail_if)"
|
|
9187
9187
|
},
|
|
9188
|
-
|
|
9189
|
-
|
|
9190
|
-
|
|
9188
|
+
tag_filter: {
|
|
9189
|
+
$ref: "#/definitions/TagFilter",
|
|
9190
|
+
description: "Tag filter for selective check execution"
|
|
9191
9191
|
},
|
|
9192
|
-
|
|
9193
|
-
|
|
9194
|
-
|
|
9192
|
+
routing: {
|
|
9193
|
+
$ref: "#/definitions/RoutingDefaults",
|
|
9194
|
+
description: "Optional routing defaults for retry/goto/run policies"
|
|
9195
9195
|
}
|
|
9196
9196
|
},
|
|
9197
|
-
|
|
9198
|
-
|
|
9199
|
-
|
|
9200
|
-
|
|
9201
|
-
],
|
|
9202
|
-
"additionalProperties": false,
|
|
9203
|
-
"description": "Main Visor configuration",
|
|
9204
|
-
"patternProperties": {
|
|
9197
|
+
required: ["version", "checks", "output"],
|
|
9198
|
+
additionalProperties: false,
|
|
9199
|
+
description: "Main Visor configuration",
|
|
9200
|
+
patternProperties: {
|
|
9205
9201
|
"^x-": {}
|
|
9206
9202
|
}
|
|
9207
9203
|
},
|
|
9208
9204
|
"Record<string,CheckConfig>": {
|
|
9209
|
-
|
|
9210
|
-
|
|
9211
|
-
|
|
9205
|
+
type: "object",
|
|
9206
|
+
additionalProperties: {
|
|
9207
|
+
$ref: "#/definitions/CheckConfig"
|
|
9212
9208
|
}
|
|
9213
9209
|
},
|
|
9214
|
-
|
|
9215
|
-
|
|
9216
|
-
|
|
9217
|
-
|
|
9218
|
-
|
|
9219
|
-
|
|
9210
|
+
CheckConfig: {
|
|
9211
|
+
type: "object",
|
|
9212
|
+
properties: {
|
|
9213
|
+
type: {
|
|
9214
|
+
$ref: "#/definitions/ConfigCheckType",
|
|
9215
|
+
description: "Type of check to perform (defaults to 'ai' if not specified)"
|
|
9220
9216
|
},
|
|
9221
|
-
|
|
9222
|
-
|
|
9223
|
-
|
|
9217
|
+
prompt: {
|
|
9218
|
+
type: "string",
|
|
9219
|
+
description: "AI prompt for the check - can be inline string or file path (auto-detected) - required for AI checks"
|
|
9224
9220
|
},
|
|
9225
|
-
|
|
9226
|
-
|
|
9227
|
-
|
|
9221
|
+
appendPrompt: {
|
|
9222
|
+
type: "string",
|
|
9223
|
+
description: "Additional prompt to append when extending configurations - merged with parent prompt"
|
|
9228
9224
|
},
|
|
9229
|
-
|
|
9230
|
-
|
|
9231
|
-
|
|
9225
|
+
exec: {
|
|
9226
|
+
type: "string",
|
|
9227
|
+
description: "Command execution with Liquid template support - required for command checks"
|
|
9232
9228
|
},
|
|
9233
|
-
|
|
9234
|
-
|
|
9235
|
-
|
|
9229
|
+
stdin: {
|
|
9230
|
+
type: "string",
|
|
9231
|
+
description: "Stdin input for tools with Liquid template support - optional for tool checks"
|
|
9236
9232
|
},
|
|
9237
|
-
|
|
9238
|
-
|
|
9239
|
-
|
|
9233
|
+
url: {
|
|
9234
|
+
type: "string",
|
|
9235
|
+
description: "HTTP URL - required for http output checks"
|
|
9240
9236
|
},
|
|
9241
|
-
|
|
9242
|
-
|
|
9243
|
-
|
|
9237
|
+
body: {
|
|
9238
|
+
type: "string",
|
|
9239
|
+
description: "HTTP body template (Liquid) - required for http output checks"
|
|
9244
9240
|
},
|
|
9245
|
-
|
|
9246
|
-
|
|
9247
|
-
|
|
9241
|
+
method: {
|
|
9242
|
+
type: "string",
|
|
9243
|
+
description: "HTTP method (defaults to POST)"
|
|
9248
9244
|
},
|
|
9249
|
-
|
|
9250
|
-
|
|
9251
|
-
|
|
9245
|
+
headers: {
|
|
9246
|
+
$ref: "#/definitions/Record%3Cstring%2Cstring%3E",
|
|
9247
|
+
description: "HTTP headers"
|
|
9252
9248
|
},
|
|
9253
|
-
|
|
9254
|
-
|
|
9255
|
-
|
|
9249
|
+
endpoint: {
|
|
9250
|
+
type: "string",
|
|
9251
|
+
description: "HTTP endpoint path - required for http_input checks"
|
|
9256
9252
|
},
|
|
9257
|
-
|
|
9258
|
-
|
|
9259
|
-
|
|
9253
|
+
transform: {
|
|
9254
|
+
type: "string",
|
|
9255
|
+
description: "Transform template for http_input data (Liquid) - optional"
|
|
9260
9256
|
},
|
|
9261
|
-
|
|
9262
|
-
|
|
9263
|
-
|
|
9257
|
+
transform_js: {
|
|
9258
|
+
type: "string",
|
|
9259
|
+
description: "Transform using JavaScript expressions (evaluated in secure sandbox) - optional"
|
|
9264
9260
|
},
|
|
9265
|
-
|
|
9266
|
-
|
|
9267
|
-
|
|
9261
|
+
schedule: {
|
|
9262
|
+
type: "string",
|
|
9263
|
+
description: 'Cron schedule expression (e.g., "0 2 * * *") - optional for any check type'
|
|
9268
9264
|
},
|
|
9269
|
-
|
|
9270
|
-
|
|
9271
|
-
|
|
9265
|
+
focus: {
|
|
9266
|
+
type: "string",
|
|
9267
|
+
description: "Focus area for the check (security/performance/style/architecture/all) - optional"
|
|
9272
9268
|
},
|
|
9273
|
-
|
|
9274
|
-
|
|
9275
|
-
|
|
9269
|
+
command: {
|
|
9270
|
+
type: "string",
|
|
9271
|
+
description: 'Command that triggers this check (e.g., "review", "security-scan") - optional'
|
|
9276
9272
|
},
|
|
9277
|
-
|
|
9278
|
-
|
|
9279
|
-
|
|
9280
|
-
|
|
9273
|
+
on: {
|
|
9274
|
+
type: "array",
|
|
9275
|
+
items: {
|
|
9276
|
+
$ref: "#/definitions/EventTrigger"
|
|
9281
9277
|
},
|
|
9282
|
-
|
|
9278
|
+
description: "Events that trigger this check (defaults to ['manual'] if not specified)"
|
|
9283
9279
|
},
|
|
9284
|
-
|
|
9285
|
-
|
|
9286
|
-
|
|
9287
|
-
|
|
9280
|
+
triggers: {
|
|
9281
|
+
type: "array",
|
|
9282
|
+
items: {
|
|
9283
|
+
type: "string"
|
|
9288
9284
|
},
|
|
9289
|
-
|
|
9285
|
+
description: "File patterns that trigger this check (optional)"
|
|
9290
9286
|
},
|
|
9291
|
-
|
|
9292
|
-
|
|
9293
|
-
|
|
9287
|
+
ai: {
|
|
9288
|
+
$ref: "#/definitions/AIProviderConfig",
|
|
9289
|
+
description: "AI provider configuration (optional)"
|
|
9294
9290
|
},
|
|
9295
|
-
|
|
9296
|
-
|
|
9297
|
-
|
|
9291
|
+
ai_model: {
|
|
9292
|
+
type: "string",
|
|
9293
|
+
description: "AI model to use for this check - overrides global setting"
|
|
9298
9294
|
},
|
|
9299
|
-
|
|
9300
|
-
|
|
9301
|
-
|
|
9295
|
+
ai_provider: {
|
|
9296
|
+
type: "string",
|
|
9297
|
+
description: "AI provider to use for this check - overrides global setting"
|
|
9302
9298
|
},
|
|
9303
|
-
|
|
9304
|
-
|
|
9305
|
-
|
|
9299
|
+
ai_mcp_servers: {
|
|
9300
|
+
$ref: "#/definitions/Record%3Cstring%2CMcpServerConfig%3E",
|
|
9301
|
+
description: "MCP servers for this AI check - overrides global setting"
|
|
9306
9302
|
},
|
|
9307
|
-
|
|
9308
|
-
|
|
9309
|
-
|
|
9303
|
+
claude_code: {
|
|
9304
|
+
$ref: "#/definitions/ClaudeCodeConfig",
|
|
9305
|
+
description: "Claude Code configuration (for claude-code type checks)"
|
|
9310
9306
|
},
|
|
9311
|
-
|
|
9312
|
-
|
|
9313
|
-
|
|
9307
|
+
env: {
|
|
9308
|
+
$ref: "#/definitions/EnvConfig",
|
|
9309
|
+
description: "Environment variables for this check"
|
|
9314
9310
|
},
|
|
9315
|
-
|
|
9316
|
-
|
|
9317
|
-
|
|
9318
|
-
|
|
9311
|
+
depends_on: {
|
|
9312
|
+
type: "array",
|
|
9313
|
+
items: {
|
|
9314
|
+
type: "string"
|
|
9319
9315
|
},
|
|
9320
|
-
|
|
9316
|
+
description: "Check IDs that this check depends on (optional)"
|
|
9321
9317
|
},
|
|
9322
|
-
|
|
9323
|
-
|
|
9324
|
-
|
|
9318
|
+
group: {
|
|
9319
|
+
type: "string",
|
|
9320
|
+
description: 'Group name for comment separation (e.g., "code-review", "pr-overview") - optional'
|
|
9325
9321
|
},
|
|
9326
|
-
|
|
9327
|
-
|
|
9322
|
+
schema: {
|
|
9323
|
+
anyOf: [
|
|
9328
9324
|
{
|
|
9329
|
-
|
|
9325
|
+
type: "string"
|
|
9330
9326
|
},
|
|
9331
9327
|
{
|
|
9332
|
-
|
|
9328
|
+
$ref: "#/definitions/Record%3Cstring%2Cunknown%3E"
|
|
9333
9329
|
}
|
|
9334
9330
|
],
|
|
9335
|
-
|
|
9331
|
+
description: 'Schema type for template rendering (e.g., "code-review", "markdown") or inline JSON schema object - optional'
|
|
9336
9332
|
},
|
|
9337
|
-
|
|
9338
|
-
|
|
9339
|
-
|
|
9333
|
+
template: {
|
|
9334
|
+
$ref: "#/definitions/CustomTemplateConfig",
|
|
9335
|
+
description: "Custom template configuration - optional"
|
|
9340
9336
|
},
|
|
9341
|
-
|
|
9342
|
-
|
|
9343
|
-
|
|
9337
|
+
if: {
|
|
9338
|
+
type: "string",
|
|
9339
|
+
description: "Condition to determine if check should run - runs if expression evaluates to true"
|
|
9344
9340
|
},
|
|
9345
|
-
|
|
9346
|
-
|
|
9347
|
-
|
|
9341
|
+
reuse_ai_session: {
|
|
9342
|
+
type: "boolean",
|
|
9343
|
+
description: "Whether to reuse AI session from dependency checks (only works with depends_on)"
|
|
9348
9344
|
},
|
|
9349
|
-
|
|
9350
|
-
|
|
9351
|
-
|
|
9345
|
+
fail_if: {
|
|
9346
|
+
type: "string",
|
|
9347
|
+
description: "Simple fail condition - fails check if expression evaluates to true"
|
|
9352
9348
|
},
|
|
9353
|
-
|
|
9354
|
-
|
|
9355
|
-
|
|
9349
|
+
failure_conditions: {
|
|
9350
|
+
$ref: "#/definitions/FailureConditions",
|
|
9351
|
+
description: "Check-specific failure conditions - optional (deprecated, use fail_if)"
|
|
9356
9352
|
},
|
|
9357
|
-
|
|
9358
|
-
|
|
9359
|
-
|
|
9360
|
-
|
|
9353
|
+
tags: {
|
|
9354
|
+
type: "array",
|
|
9355
|
+
items: {
|
|
9356
|
+
type: "string"
|
|
9361
9357
|
},
|
|
9362
|
-
|
|
9358
|
+
description: 'Tags for categorizing and filtering checks (e.g., ["local", "fast", "security"])'
|
|
9359
|
+
},
|
|
9360
|
+
forEach: {
|
|
9361
|
+
type: "boolean",
|
|
9362
|
+
description: "Process output as array and run dependent checks for each item"
|
|
9363
|
+
},
|
|
9364
|
+
on_fail: {
|
|
9365
|
+
$ref: "#/definitions/OnFailConfig",
|
|
9366
|
+
description: "Failure routing configuration for this check (retry/goto/run)"
|
|
9363
9367
|
},
|
|
9364
|
-
|
|
9365
|
-
|
|
9366
|
-
|
|
9368
|
+
on_success: {
|
|
9369
|
+
$ref: "#/definitions/OnSuccessConfig",
|
|
9370
|
+
description: "Success routing configuration for this check (post-actions and optional goto)"
|
|
9367
9371
|
},
|
|
9368
|
-
|
|
9369
|
-
|
|
9370
|
-
|
|
9372
|
+
message: {
|
|
9373
|
+
type: "string",
|
|
9374
|
+
description: "Message template for log checks"
|
|
9371
9375
|
},
|
|
9372
|
-
|
|
9373
|
-
|
|
9374
|
-
"
|
|
9376
|
+
level: {
|
|
9377
|
+
type: "string",
|
|
9378
|
+
enum: ["debug", "info", "warn", "error"],
|
|
9379
|
+
description: "Log level for log checks"
|
|
9380
|
+
},
|
|
9381
|
+
include_pr_context: {
|
|
9382
|
+
type: "boolean",
|
|
9383
|
+
description: "Include PR context in log output"
|
|
9384
|
+
},
|
|
9385
|
+
include_dependencies: {
|
|
9386
|
+
type: "boolean",
|
|
9387
|
+
description: "Include dependency summaries in log output"
|
|
9388
|
+
},
|
|
9389
|
+
include_metadata: {
|
|
9390
|
+
type: "boolean",
|
|
9391
|
+
description: "Include execution metadata in log output"
|
|
9375
9392
|
}
|
|
9376
9393
|
},
|
|
9377
|
-
|
|
9378
|
-
|
|
9379
|
-
|
|
9394
|
+
additionalProperties: false,
|
|
9395
|
+
description: "Configuration for a single check",
|
|
9396
|
+
patternProperties: {
|
|
9380
9397
|
"^x-": {}
|
|
9381
9398
|
}
|
|
9382
9399
|
},
|
|
9383
|
-
|
|
9384
|
-
|
|
9385
|
-
|
|
9386
|
-
|
|
9387
|
-
"command",
|
|
9388
|
-
"http",
|
|
9389
|
-
"http_input",
|
|
9390
|
-
"http_client",
|
|
9391
|
-
"noop",
|
|
9392
|
-
"log",
|
|
9393
|
-
"claude-code"
|
|
9394
|
-
],
|
|
9395
|
-
"description": "Valid check types in configuration"
|
|
9400
|
+
ConfigCheckType: {
|
|
9401
|
+
type: "string",
|
|
9402
|
+
enum: ["ai", "command", "http", "http_input", "http_client", "noop", "log", "claude-code"],
|
|
9403
|
+
description: "Valid check types in configuration"
|
|
9396
9404
|
},
|
|
9397
9405
|
"Record<string,string>": {
|
|
9398
|
-
|
|
9399
|
-
|
|
9400
|
-
|
|
9406
|
+
type: "object",
|
|
9407
|
+
additionalProperties: {
|
|
9408
|
+
type: "string"
|
|
9401
9409
|
}
|
|
9402
9410
|
},
|
|
9403
|
-
|
|
9404
|
-
|
|
9405
|
-
|
|
9411
|
+
EventTrigger: {
|
|
9412
|
+
type: "string",
|
|
9413
|
+
enum: [
|
|
9406
9414
|
"pr_opened",
|
|
9407
9415
|
"pr_updated",
|
|
9408
9416
|
"pr_closed",
|
|
@@ -9412,679 +9420,623 @@ var init_config_schema = __esm({
|
|
|
9412
9420
|
"schedule",
|
|
9413
9421
|
"webhook_received"
|
|
9414
9422
|
],
|
|
9415
|
-
|
|
9423
|
+
description: "Valid event triggers for checks"
|
|
9416
9424
|
},
|
|
9417
|
-
|
|
9418
|
-
|
|
9419
|
-
|
|
9420
|
-
|
|
9421
|
-
|
|
9422
|
-
|
|
9423
|
-
|
|
9424
|
-
"anthropic",
|
|
9425
|
-
"openai",
|
|
9426
|
-
"bedrock",
|
|
9427
|
-
"mock"
|
|
9428
|
-
],
|
|
9429
|
-
"description": "AI provider to use"
|
|
9425
|
+
AIProviderConfig: {
|
|
9426
|
+
type: "object",
|
|
9427
|
+
properties: {
|
|
9428
|
+
provider: {
|
|
9429
|
+
type: "string",
|
|
9430
|
+
enum: ["google", "anthropic", "openai", "bedrock", "mock"],
|
|
9431
|
+
description: "AI provider to use"
|
|
9430
9432
|
},
|
|
9431
|
-
|
|
9432
|
-
|
|
9433
|
-
|
|
9433
|
+
model: {
|
|
9434
|
+
type: "string",
|
|
9435
|
+
description: "Model name to use"
|
|
9434
9436
|
},
|
|
9435
|
-
|
|
9436
|
-
|
|
9437
|
-
|
|
9437
|
+
apiKey: {
|
|
9438
|
+
type: "string",
|
|
9439
|
+
description: "API key (usually from environment variables)"
|
|
9438
9440
|
},
|
|
9439
|
-
|
|
9440
|
-
|
|
9441
|
-
|
|
9441
|
+
timeout: {
|
|
9442
|
+
type: "number",
|
|
9443
|
+
description: "Request timeout in milliseconds"
|
|
9442
9444
|
},
|
|
9443
|
-
|
|
9444
|
-
|
|
9445
|
-
|
|
9445
|
+
debug: {
|
|
9446
|
+
type: "boolean",
|
|
9447
|
+
description: "Enable debug mode"
|
|
9446
9448
|
},
|
|
9447
|
-
|
|
9448
|
-
|
|
9449
|
-
|
|
9449
|
+
mcpServers: {
|
|
9450
|
+
$ref: "#/definitions/Record%3Cstring%2CMcpServerConfig%3E",
|
|
9451
|
+
description: "MCP servers configuration"
|
|
9450
9452
|
}
|
|
9451
9453
|
},
|
|
9452
|
-
|
|
9453
|
-
|
|
9454
|
-
|
|
9454
|
+
additionalProperties: false,
|
|
9455
|
+
description: "AI provider configuration",
|
|
9456
|
+
patternProperties: {
|
|
9455
9457
|
"^x-": {}
|
|
9456
9458
|
}
|
|
9457
9459
|
},
|
|
9458
9460
|
"Record<string,McpServerConfig>": {
|
|
9459
|
-
|
|
9460
|
-
|
|
9461
|
-
|
|
9461
|
+
type: "object",
|
|
9462
|
+
additionalProperties: {
|
|
9463
|
+
$ref: "#/definitions/McpServerConfig"
|
|
9462
9464
|
}
|
|
9463
9465
|
},
|
|
9464
|
-
|
|
9465
|
-
|
|
9466
|
-
|
|
9467
|
-
|
|
9468
|
-
|
|
9469
|
-
|
|
9466
|
+
McpServerConfig: {
|
|
9467
|
+
type: "object",
|
|
9468
|
+
properties: {
|
|
9469
|
+
command: {
|
|
9470
|
+
type: "string",
|
|
9471
|
+
description: "Command to execute for the MCP server"
|
|
9470
9472
|
},
|
|
9471
|
-
|
|
9472
|
-
|
|
9473
|
-
|
|
9474
|
-
|
|
9473
|
+
args: {
|
|
9474
|
+
type: "array",
|
|
9475
|
+
items: {
|
|
9476
|
+
type: "string"
|
|
9475
9477
|
},
|
|
9476
|
-
|
|
9478
|
+
description: "Arguments to pass to the command"
|
|
9477
9479
|
},
|
|
9478
|
-
|
|
9479
|
-
|
|
9480
|
-
|
|
9480
|
+
env: {
|
|
9481
|
+
$ref: "#/definitions/Record%3Cstring%2Cstring%3E",
|
|
9482
|
+
description: "Environment variables for the MCP server"
|
|
9481
9483
|
}
|
|
9482
9484
|
},
|
|
9483
|
-
|
|
9484
|
-
|
|
9485
|
-
|
|
9486
|
-
|
|
9487
|
-
"description": "MCP Server configuration",
|
|
9488
|
-
"patternProperties": {
|
|
9485
|
+
required: ["command"],
|
|
9486
|
+
additionalProperties: false,
|
|
9487
|
+
description: "MCP Server configuration",
|
|
9488
|
+
patternProperties: {
|
|
9489
9489
|
"^x-": {}
|
|
9490
9490
|
}
|
|
9491
9491
|
},
|
|
9492
|
-
|
|
9493
|
-
|
|
9494
|
-
|
|
9495
|
-
|
|
9496
|
-
|
|
9497
|
-
|
|
9498
|
-
|
|
9492
|
+
ClaudeCodeConfig: {
|
|
9493
|
+
type: "object",
|
|
9494
|
+
properties: {
|
|
9495
|
+
allowedTools: {
|
|
9496
|
+
type: "array",
|
|
9497
|
+
items: {
|
|
9498
|
+
type: "string"
|
|
9499
9499
|
},
|
|
9500
|
-
|
|
9500
|
+
description: "List of allowed tools for Claude Code to use"
|
|
9501
9501
|
},
|
|
9502
|
-
|
|
9503
|
-
|
|
9504
|
-
|
|
9502
|
+
maxTurns: {
|
|
9503
|
+
type: "number",
|
|
9504
|
+
description: "Maximum number of turns in conversation"
|
|
9505
9505
|
},
|
|
9506
|
-
|
|
9507
|
-
|
|
9508
|
-
|
|
9506
|
+
systemPrompt: {
|
|
9507
|
+
type: "string",
|
|
9508
|
+
description: "System prompt for Claude Code"
|
|
9509
9509
|
},
|
|
9510
|
-
|
|
9511
|
-
|
|
9512
|
-
|
|
9510
|
+
mcpServers: {
|
|
9511
|
+
$ref: "#/definitions/Record%3Cstring%2CMcpServerConfig%3E",
|
|
9512
|
+
description: "MCP servers configuration"
|
|
9513
9513
|
},
|
|
9514
|
-
|
|
9515
|
-
|
|
9516
|
-
|
|
9514
|
+
subagent: {
|
|
9515
|
+
type: "string",
|
|
9516
|
+
description: "Path to subagent script"
|
|
9517
9517
|
},
|
|
9518
|
-
|
|
9519
|
-
|
|
9520
|
-
|
|
9521
|
-
|
|
9522
|
-
|
|
9523
|
-
|
|
9518
|
+
hooks: {
|
|
9519
|
+
type: "object",
|
|
9520
|
+
properties: {
|
|
9521
|
+
onStart: {
|
|
9522
|
+
type: "string",
|
|
9523
|
+
description: "Called when check starts"
|
|
9524
9524
|
},
|
|
9525
|
-
|
|
9526
|
-
|
|
9527
|
-
|
|
9525
|
+
onEnd: {
|
|
9526
|
+
type: "string",
|
|
9527
|
+
description: "Called when check ends"
|
|
9528
9528
|
},
|
|
9529
|
-
|
|
9530
|
-
|
|
9531
|
-
|
|
9529
|
+
onError: {
|
|
9530
|
+
type: "string",
|
|
9531
|
+
description: "Called when check encounters an error"
|
|
9532
9532
|
}
|
|
9533
9533
|
},
|
|
9534
|
-
|
|
9535
|
-
|
|
9536
|
-
|
|
9534
|
+
additionalProperties: false,
|
|
9535
|
+
description: "Event hooks for lifecycle management",
|
|
9536
|
+
patternProperties: {
|
|
9537
9537
|
"^x-": {}
|
|
9538
9538
|
}
|
|
9539
9539
|
}
|
|
9540
9540
|
},
|
|
9541
|
-
|
|
9542
|
-
|
|
9543
|
-
|
|
9541
|
+
additionalProperties: false,
|
|
9542
|
+
description: "Claude Code configuration",
|
|
9543
|
+
patternProperties: {
|
|
9544
9544
|
"^x-": {}
|
|
9545
9545
|
}
|
|
9546
9546
|
},
|
|
9547
|
-
|
|
9548
|
-
|
|
9549
|
-
|
|
9550
|
-
|
|
9551
|
-
"string",
|
|
9552
|
-
"number",
|
|
9553
|
-
"boolean"
|
|
9554
|
-
]
|
|
9547
|
+
EnvConfig: {
|
|
9548
|
+
type: "object",
|
|
9549
|
+
additionalProperties: {
|
|
9550
|
+
type: ["string", "number", "boolean"]
|
|
9555
9551
|
},
|
|
9556
|
-
|
|
9552
|
+
description: "Environment variable reference configuration"
|
|
9557
9553
|
},
|
|
9558
9554
|
"Record<string,unknown>": {
|
|
9559
|
-
|
|
9560
|
-
|
|
9555
|
+
type: "object",
|
|
9556
|
+
additionalProperties: {}
|
|
9561
9557
|
},
|
|
9562
|
-
|
|
9563
|
-
|
|
9564
|
-
|
|
9565
|
-
|
|
9566
|
-
|
|
9567
|
-
|
|
9558
|
+
CustomTemplateConfig: {
|
|
9559
|
+
type: "object",
|
|
9560
|
+
properties: {
|
|
9561
|
+
file: {
|
|
9562
|
+
type: "string",
|
|
9563
|
+
description: "Path to custom template file (relative to config file or absolute)"
|
|
9568
9564
|
},
|
|
9569
|
-
|
|
9570
|
-
|
|
9571
|
-
|
|
9565
|
+
content: {
|
|
9566
|
+
type: "string",
|
|
9567
|
+
description: "Raw template content as string"
|
|
9572
9568
|
}
|
|
9573
9569
|
},
|
|
9574
|
-
|
|
9575
|
-
|
|
9576
|
-
|
|
9570
|
+
additionalProperties: false,
|
|
9571
|
+
description: "Custom template configuration",
|
|
9572
|
+
patternProperties: {
|
|
9577
9573
|
"^x-": {}
|
|
9578
9574
|
}
|
|
9579
9575
|
},
|
|
9580
|
-
|
|
9581
|
-
|
|
9582
|
-
|
|
9583
|
-
|
|
9576
|
+
FailureConditions: {
|
|
9577
|
+
type: "object",
|
|
9578
|
+
additionalProperties: {
|
|
9579
|
+
$ref: "#/definitions/FailureCondition"
|
|
9584
9580
|
},
|
|
9585
|
-
|
|
9581
|
+
description: "Collection of failure conditions"
|
|
9586
9582
|
},
|
|
9587
|
-
|
|
9588
|
-
|
|
9583
|
+
FailureCondition: {
|
|
9584
|
+
anyOf: [
|
|
9589
9585
|
{
|
|
9590
|
-
|
|
9586
|
+
$ref: "#/definitions/SimpleFailureCondition"
|
|
9591
9587
|
},
|
|
9592
9588
|
{
|
|
9593
|
-
|
|
9589
|
+
$ref: "#/definitions/ComplexFailureCondition"
|
|
9594
9590
|
}
|
|
9595
9591
|
],
|
|
9596
|
-
|
|
9592
|
+
description: "Failure condition - can be a simple expression string or complex object"
|
|
9597
9593
|
},
|
|
9598
|
-
|
|
9599
|
-
|
|
9600
|
-
|
|
9594
|
+
SimpleFailureCondition: {
|
|
9595
|
+
type: "string",
|
|
9596
|
+
description: "Simple failure condition - just an expression string"
|
|
9601
9597
|
},
|
|
9602
|
-
|
|
9603
|
-
|
|
9604
|
-
|
|
9605
|
-
|
|
9606
|
-
|
|
9607
|
-
|
|
9598
|
+
ComplexFailureCondition: {
|
|
9599
|
+
type: "object",
|
|
9600
|
+
properties: {
|
|
9601
|
+
condition: {
|
|
9602
|
+
type: "string",
|
|
9603
|
+
description: "Expression to evaluate using Function Constructor"
|
|
9608
9604
|
},
|
|
9609
|
-
|
|
9610
|
-
|
|
9611
|
-
|
|
9605
|
+
message: {
|
|
9606
|
+
type: "string",
|
|
9607
|
+
description: "Human-readable message when condition is met"
|
|
9612
9608
|
},
|
|
9613
|
-
|
|
9614
|
-
|
|
9615
|
-
|
|
9609
|
+
severity: {
|
|
9610
|
+
$ref: "#/definitions/FailureConditionSeverity",
|
|
9611
|
+
description: "Severity level of the failure"
|
|
9616
9612
|
},
|
|
9617
|
-
|
|
9618
|
-
|
|
9619
|
-
|
|
9613
|
+
halt_execution: {
|
|
9614
|
+
type: "boolean",
|
|
9615
|
+
description: "Whether this condition should halt execution"
|
|
9620
9616
|
}
|
|
9621
9617
|
},
|
|
9622
|
-
|
|
9623
|
-
|
|
9624
|
-
|
|
9625
|
-
|
|
9626
|
-
"description": "Complex failure condition with additional metadata",
|
|
9627
|
-
"patternProperties": {
|
|
9618
|
+
required: ["condition"],
|
|
9619
|
+
additionalProperties: false,
|
|
9620
|
+
description: "Complex failure condition with additional metadata",
|
|
9621
|
+
patternProperties: {
|
|
9628
9622
|
"^x-": {}
|
|
9629
9623
|
}
|
|
9630
9624
|
},
|
|
9631
|
-
|
|
9632
|
-
|
|
9633
|
-
|
|
9634
|
-
|
|
9635
|
-
"warning",
|
|
9636
|
-
"info"
|
|
9637
|
-
],
|
|
9638
|
-
"description": "Failure condition severity levels"
|
|
9625
|
+
FailureConditionSeverity: {
|
|
9626
|
+
type: "string",
|
|
9627
|
+
enum: ["error", "warning", "info"],
|
|
9628
|
+
description: "Failure condition severity levels"
|
|
9639
9629
|
},
|
|
9640
|
-
|
|
9641
|
-
|
|
9642
|
-
|
|
9643
|
-
|
|
9644
|
-
|
|
9645
|
-
|
|
9630
|
+
OnFailConfig: {
|
|
9631
|
+
type: "object",
|
|
9632
|
+
properties: {
|
|
9633
|
+
retry: {
|
|
9634
|
+
$ref: "#/definitions/RetryPolicy",
|
|
9635
|
+
description: "Retry policy"
|
|
9646
9636
|
},
|
|
9647
|
-
|
|
9648
|
-
|
|
9649
|
-
|
|
9650
|
-
|
|
9637
|
+
run: {
|
|
9638
|
+
type: "array",
|
|
9639
|
+
items: {
|
|
9640
|
+
type: "string"
|
|
9651
9641
|
},
|
|
9652
|
-
|
|
9642
|
+
description: "Remediation steps to run before reattempt"
|
|
9653
9643
|
},
|
|
9654
|
-
|
|
9655
|
-
|
|
9656
|
-
|
|
9644
|
+
goto: {
|
|
9645
|
+
type: "string",
|
|
9646
|
+
description: "Jump back to an ancestor step (by id)"
|
|
9657
9647
|
},
|
|
9658
|
-
|
|
9659
|
-
|
|
9660
|
-
|
|
9648
|
+
goto_js: {
|
|
9649
|
+
type: "string",
|
|
9650
|
+
description: "Dynamic goto: JS expression returning step id or null"
|
|
9661
9651
|
},
|
|
9662
|
-
|
|
9663
|
-
|
|
9664
|
-
|
|
9652
|
+
run_js: {
|
|
9653
|
+
type: "string",
|
|
9654
|
+
description: "Dynamic remediation list: JS expression returning string[]"
|
|
9665
9655
|
}
|
|
9666
9656
|
},
|
|
9667
|
-
|
|
9668
|
-
|
|
9669
|
-
|
|
9657
|
+
additionalProperties: false,
|
|
9658
|
+
description: "Failure routing configuration per check",
|
|
9659
|
+
patternProperties: {
|
|
9670
9660
|
"^x-": {}
|
|
9671
9661
|
}
|
|
9672
9662
|
},
|
|
9673
|
-
|
|
9674
|
-
|
|
9675
|
-
|
|
9676
|
-
|
|
9677
|
-
|
|
9678
|
-
|
|
9663
|
+
RetryPolicy: {
|
|
9664
|
+
type: "object",
|
|
9665
|
+
properties: {
|
|
9666
|
+
max: {
|
|
9667
|
+
type: "number",
|
|
9668
|
+
description: "Maximum retry attempts (excluding the first attempt)"
|
|
9679
9669
|
},
|
|
9680
|
-
|
|
9681
|
-
|
|
9682
|
-
|
|
9670
|
+
backoff: {
|
|
9671
|
+
$ref: "#/definitions/BackoffPolicy",
|
|
9672
|
+
description: "Backoff policy"
|
|
9683
9673
|
}
|
|
9684
9674
|
},
|
|
9685
|
-
|
|
9686
|
-
|
|
9687
|
-
|
|
9675
|
+
additionalProperties: false,
|
|
9676
|
+
description: "Retry policy for a step",
|
|
9677
|
+
patternProperties: {
|
|
9688
9678
|
"^x-": {}
|
|
9689
9679
|
}
|
|
9690
9680
|
},
|
|
9691
|
-
|
|
9692
|
-
|
|
9693
|
-
|
|
9694
|
-
|
|
9695
|
-
|
|
9696
|
-
|
|
9697
|
-
|
|
9698
|
-
"exponential"
|
|
9699
|
-
],
|
|
9700
|
-
"description": "Backoff mode"
|
|
9681
|
+
BackoffPolicy: {
|
|
9682
|
+
type: "object",
|
|
9683
|
+
properties: {
|
|
9684
|
+
mode: {
|
|
9685
|
+
type: "string",
|
|
9686
|
+
enum: ["fixed", "exponential"],
|
|
9687
|
+
description: "Backoff mode"
|
|
9701
9688
|
},
|
|
9702
|
-
|
|
9703
|
-
|
|
9704
|
-
|
|
9689
|
+
delay_ms: {
|
|
9690
|
+
type: "number",
|
|
9691
|
+
description: "Initial delay in milliseconds"
|
|
9705
9692
|
}
|
|
9706
9693
|
},
|
|
9707
|
-
|
|
9708
|
-
|
|
9709
|
-
|
|
9694
|
+
additionalProperties: false,
|
|
9695
|
+
description: "Backoff policy for retries",
|
|
9696
|
+
patternProperties: {
|
|
9710
9697
|
"^x-": {}
|
|
9711
9698
|
}
|
|
9712
9699
|
},
|
|
9713
|
-
|
|
9714
|
-
|
|
9715
|
-
|
|
9716
|
-
|
|
9717
|
-
|
|
9718
|
-
|
|
9719
|
-
|
|
9700
|
+
OnSuccessConfig: {
|
|
9701
|
+
type: "object",
|
|
9702
|
+
properties: {
|
|
9703
|
+
run: {
|
|
9704
|
+
type: "array",
|
|
9705
|
+
items: {
|
|
9706
|
+
type: "string"
|
|
9720
9707
|
},
|
|
9721
|
-
|
|
9708
|
+
description: "Post-success steps to run"
|
|
9722
9709
|
},
|
|
9723
|
-
|
|
9724
|
-
|
|
9725
|
-
|
|
9710
|
+
goto: {
|
|
9711
|
+
type: "string",
|
|
9712
|
+
description: "Optional jump back to ancestor step (by id)"
|
|
9726
9713
|
},
|
|
9727
|
-
|
|
9728
|
-
|
|
9729
|
-
|
|
9714
|
+
goto_js: {
|
|
9715
|
+
type: "string",
|
|
9716
|
+
description: "Dynamic goto: JS expression returning step id or null"
|
|
9730
9717
|
},
|
|
9731
|
-
|
|
9732
|
-
|
|
9733
|
-
|
|
9718
|
+
run_js: {
|
|
9719
|
+
type: "string",
|
|
9720
|
+
description: "Dynamic post-success steps: JS expression returning string[]"
|
|
9734
9721
|
}
|
|
9735
9722
|
},
|
|
9736
|
-
|
|
9737
|
-
|
|
9738
|
-
|
|
9723
|
+
additionalProperties: false,
|
|
9724
|
+
description: "Success routing configuration per check",
|
|
9725
|
+
patternProperties: {
|
|
9739
9726
|
"^x-": {}
|
|
9740
9727
|
}
|
|
9741
9728
|
},
|
|
9742
|
-
|
|
9743
|
-
|
|
9744
|
-
|
|
9745
|
-
|
|
9746
|
-
|
|
9747
|
-
|
|
9729
|
+
OutputConfig: {
|
|
9730
|
+
type: "object",
|
|
9731
|
+
properties: {
|
|
9732
|
+
pr_comment: {
|
|
9733
|
+
$ref: "#/definitions/PrCommentOutput",
|
|
9734
|
+
description: "PR comment configuration"
|
|
9748
9735
|
},
|
|
9749
|
-
|
|
9750
|
-
|
|
9751
|
-
|
|
9736
|
+
file_comment: {
|
|
9737
|
+
$ref: "#/definitions/FileCommentOutput",
|
|
9738
|
+
description: "File comment configuration (optional)"
|
|
9752
9739
|
},
|
|
9753
|
-
|
|
9754
|
-
|
|
9755
|
-
|
|
9740
|
+
github_checks: {
|
|
9741
|
+
$ref: "#/definitions/GitHubCheckOutput",
|
|
9742
|
+
description: "GitHub check runs configuration (optional)"
|
|
9756
9743
|
},
|
|
9757
|
-
|
|
9758
|
-
|
|
9759
|
-
|
|
9744
|
+
suppressionEnabled: {
|
|
9745
|
+
type: "boolean",
|
|
9746
|
+
description: "Whether to enable issue suppression via visor-disable comments (default: true)"
|
|
9760
9747
|
}
|
|
9761
9748
|
},
|
|
9762
|
-
|
|
9763
|
-
|
|
9764
|
-
|
|
9765
|
-
|
|
9766
|
-
"description": "Output configuration",
|
|
9767
|
-
"patternProperties": {
|
|
9749
|
+
required: ["pr_comment"],
|
|
9750
|
+
additionalProperties: false,
|
|
9751
|
+
description: "Output configuration",
|
|
9752
|
+
patternProperties: {
|
|
9768
9753
|
"^x-": {}
|
|
9769
9754
|
}
|
|
9770
9755
|
},
|
|
9771
|
-
|
|
9772
|
-
|
|
9773
|
-
|
|
9774
|
-
|
|
9775
|
-
|
|
9776
|
-
|
|
9756
|
+
PrCommentOutput: {
|
|
9757
|
+
type: "object",
|
|
9758
|
+
properties: {
|
|
9759
|
+
format: {
|
|
9760
|
+
$ref: "#/definitions/ConfigOutputFormat",
|
|
9761
|
+
description: "Format of the output"
|
|
9777
9762
|
},
|
|
9778
|
-
|
|
9779
|
-
|
|
9780
|
-
|
|
9763
|
+
group_by: {
|
|
9764
|
+
$ref: "#/definitions/GroupByOption",
|
|
9765
|
+
description: "How to group the results"
|
|
9781
9766
|
},
|
|
9782
|
-
|
|
9783
|
-
|
|
9784
|
-
|
|
9767
|
+
collapse: {
|
|
9768
|
+
type: "boolean",
|
|
9769
|
+
description: "Whether to collapse sections by default"
|
|
9785
9770
|
},
|
|
9786
|
-
|
|
9787
|
-
|
|
9788
|
-
|
|
9771
|
+
debug: {
|
|
9772
|
+
$ref: "#/definitions/DebugConfig",
|
|
9773
|
+
description: "Debug mode configuration (optional)"
|
|
9789
9774
|
}
|
|
9790
9775
|
},
|
|
9791
|
-
|
|
9792
|
-
|
|
9793
|
-
|
|
9794
|
-
|
|
9795
|
-
],
|
|
9796
|
-
"additionalProperties": false,
|
|
9797
|
-
"description": "PR comment output configuration",
|
|
9798
|
-
"patternProperties": {
|
|
9776
|
+
required: ["format", "group_by", "collapse"],
|
|
9777
|
+
additionalProperties: false,
|
|
9778
|
+
description: "PR comment output configuration",
|
|
9779
|
+
patternProperties: {
|
|
9799
9780
|
"^x-": {}
|
|
9800
9781
|
}
|
|
9801
9782
|
},
|
|
9802
|
-
|
|
9803
|
-
|
|
9804
|
-
|
|
9805
|
-
|
|
9806
|
-
"json",
|
|
9807
|
-
"markdown",
|
|
9808
|
-
"sarif"
|
|
9809
|
-
],
|
|
9810
|
-
"description": "Valid output formats"
|
|
9783
|
+
ConfigOutputFormat: {
|
|
9784
|
+
type: "string",
|
|
9785
|
+
enum: ["table", "json", "markdown", "sarif"],
|
|
9786
|
+
description: "Valid output formats"
|
|
9811
9787
|
},
|
|
9812
|
-
|
|
9813
|
-
|
|
9814
|
-
|
|
9815
|
-
|
|
9816
|
-
"file",
|
|
9817
|
-
"severity"
|
|
9818
|
-
],
|
|
9819
|
-
"description": "Valid grouping options"
|
|
9788
|
+
GroupByOption: {
|
|
9789
|
+
type: "string",
|
|
9790
|
+
enum: ["check", "file", "severity"],
|
|
9791
|
+
description: "Valid grouping options"
|
|
9820
9792
|
},
|
|
9821
|
-
|
|
9822
|
-
|
|
9823
|
-
|
|
9824
|
-
|
|
9825
|
-
|
|
9826
|
-
|
|
9793
|
+
DebugConfig: {
|
|
9794
|
+
type: "object",
|
|
9795
|
+
properties: {
|
|
9796
|
+
enabled: {
|
|
9797
|
+
type: "boolean",
|
|
9798
|
+
description: "Enable debug mode"
|
|
9827
9799
|
},
|
|
9828
|
-
|
|
9829
|
-
|
|
9830
|
-
|
|
9800
|
+
includePrompts: {
|
|
9801
|
+
type: "boolean",
|
|
9802
|
+
description: "Include AI prompts in debug output"
|
|
9831
9803
|
},
|
|
9832
|
-
|
|
9833
|
-
|
|
9834
|
-
|
|
9804
|
+
includeRawResponses: {
|
|
9805
|
+
type: "boolean",
|
|
9806
|
+
description: "Include raw AI responses in debug output"
|
|
9835
9807
|
},
|
|
9836
|
-
|
|
9837
|
-
|
|
9838
|
-
|
|
9808
|
+
includeTiming: {
|
|
9809
|
+
type: "boolean",
|
|
9810
|
+
description: "Include timing information"
|
|
9839
9811
|
},
|
|
9840
|
-
|
|
9841
|
-
|
|
9842
|
-
|
|
9812
|
+
includeProviderInfo: {
|
|
9813
|
+
type: "boolean",
|
|
9814
|
+
description: "Include provider information"
|
|
9843
9815
|
}
|
|
9844
9816
|
},
|
|
9845
|
-
|
|
9817
|
+
required: [
|
|
9846
9818
|
"enabled",
|
|
9847
9819
|
"includePrompts",
|
|
9848
9820
|
"includeRawResponses",
|
|
9849
9821
|
"includeTiming",
|
|
9850
9822
|
"includeProviderInfo"
|
|
9851
9823
|
],
|
|
9852
|
-
|
|
9853
|
-
|
|
9854
|
-
|
|
9824
|
+
additionalProperties: false,
|
|
9825
|
+
description: "Debug mode configuration",
|
|
9826
|
+
patternProperties: {
|
|
9855
9827
|
"^x-": {}
|
|
9856
9828
|
}
|
|
9857
9829
|
},
|
|
9858
|
-
|
|
9859
|
-
|
|
9860
|
-
|
|
9861
|
-
|
|
9862
|
-
|
|
9863
|
-
|
|
9830
|
+
FileCommentOutput: {
|
|
9831
|
+
type: "object",
|
|
9832
|
+
properties: {
|
|
9833
|
+
enabled: {
|
|
9834
|
+
type: "boolean",
|
|
9835
|
+
description: "Whether file comments are enabled"
|
|
9864
9836
|
},
|
|
9865
|
-
|
|
9866
|
-
|
|
9867
|
-
|
|
9837
|
+
inline: {
|
|
9838
|
+
type: "boolean",
|
|
9839
|
+
description: "Whether to show inline comments"
|
|
9868
9840
|
}
|
|
9869
9841
|
},
|
|
9870
|
-
|
|
9871
|
-
|
|
9872
|
-
|
|
9873
|
-
|
|
9874
|
-
"additionalProperties": false,
|
|
9875
|
-
"description": "File comment output configuration",
|
|
9876
|
-
"patternProperties": {
|
|
9842
|
+
required: ["enabled", "inline"],
|
|
9843
|
+
additionalProperties: false,
|
|
9844
|
+
description: "File comment output configuration",
|
|
9845
|
+
patternProperties: {
|
|
9877
9846
|
"^x-": {}
|
|
9878
9847
|
}
|
|
9879
9848
|
},
|
|
9880
|
-
|
|
9881
|
-
|
|
9882
|
-
|
|
9883
|
-
|
|
9884
|
-
|
|
9885
|
-
|
|
9849
|
+
GitHubCheckOutput: {
|
|
9850
|
+
type: "object",
|
|
9851
|
+
properties: {
|
|
9852
|
+
enabled: {
|
|
9853
|
+
type: "boolean",
|
|
9854
|
+
description: "Whether GitHub check runs are enabled"
|
|
9886
9855
|
},
|
|
9887
|
-
|
|
9888
|
-
|
|
9889
|
-
|
|
9856
|
+
per_check: {
|
|
9857
|
+
type: "boolean",
|
|
9858
|
+
description: "Whether to create individual check runs per configured check"
|
|
9890
9859
|
},
|
|
9891
|
-
|
|
9892
|
-
|
|
9893
|
-
|
|
9860
|
+
name_prefix: {
|
|
9861
|
+
type: "string",
|
|
9862
|
+
description: "Custom name prefix for check runs"
|
|
9894
9863
|
}
|
|
9895
9864
|
},
|
|
9896
|
-
|
|
9897
|
-
|
|
9898
|
-
|
|
9899
|
-
|
|
9900
|
-
"additionalProperties": false,
|
|
9901
|
-
"description": "GitHub Check Runs output configuration",
|
|
9902
|
-
"patternProperties": {
|
|
9865
|
+
required: ["enabled", "per_check"],
|
|
9866
|
+
additionalProperties: false,
|
|
9867
|
+
description: "GitHub Check Runs output configuration",
|
|
9868
|
+
patternProperties: {
|
|
9903
9869
|
"^x-": {}
|
|
9904
9870
|
}
|
|
9905
9871
|
},
|
|
9906
|
-
|
|
9907
|
-
|
|
9908
|
-
|
|
9909
|
-
|
|
9910
|
-
|
|
9911
|
-
|
|
9872
|
+
HttpServerConfig: {
|
|
9873
|
+
type: "object",
|
|
9874
|
+
properties: {
|
|
9875
|
+
enabled: {
|
|
9876
|
+
type: "boolean",
|
|
9877
|
+
description: "Whether HTTP server is enabled"
|
|
9912
9878
|
},
|
|
9913
|
-
|
|
9914
|
-
|
|
9915
|
-
|
|
9879
|
+
port: {
|
|
9880
|
+
type: "number",
|
|
9881
|
+
description: "Port to listen on"
|
|
9916
9882
|
},
|
|
9917
|
-
|
|
9918
|
-
|
|
9919
|
-
|
|
9883
|
+
host: {
|
|
9884
|
+
type: "string",
|
|
9885
|
+
description: "Host/IP to bind to (defaults to 0.0.0.0)"
|
|
9920
9886
|
},
|
|
9921
|
-
|
|
9922
|
-
|
|
9923
|
-
|
|
9887
|
+
tls: {
|
|
9888
|
+
$ref: "#/definitions/TlsConfig",
|
|
9889
|
+
description: "TLS/SSL configuration for HTTPS"
|
|
9924
9890
|
},
|
|
9925
|
-
|
|
9926
|
-
|
|
9927
|
-
|
|
9891
|
+
auth: {
|
|
9892
|
+
$ref: "#/definitions/HttpAuthConfig",
|
|
9893
|
+
description: "Authentication configuration"
|
|
9928
9894
|
},
|
|
9929
|
-
|
|
9930
|
-
|
|
9931
|
-
|
|
9932
|
-
|
|
9895
|
+
endpoints: {
|
|
9896
|
+
type: "array",
|
|
9897
|
+
items: {
|
|
9898
|
+
$ref: "#/definitions/HttpEndpointConfig"
|
|
9933
9899
|
},
|
|
9934
|
-
|
|
9900
|
+
description: "HTTP endpoints configuration"
|
|
9935
9901
|
}
|
|
9936
9902
|
},
|
|
9937
|
-
|
|
9938
|
-
|
|
9939
|
-
|
|
9940
|
-
|
|
9941
|
-
"additionalProperties": false,
|
|
9942
|
-
"description": "HTTP server configuration for receiving webhooks",
|
|
9943
|
-
"patternProperties": {
|
|
9903
|
+
required: ["enabled", "port"],
|
|
9904
|
+
additionalProperties: false,
|
|
9905
|
+
description: "HTTP server configuration for receiving webhooks",
|
|
9906
|
+
patternProperties: {
|
|
9944
9907
|
"^x-": {}
|
|
9945
9908
|
}
|
|
9946
9909
|
},
|
|
9947
|
-
|
|
9948
|
-
|
|
9949
|
-
|
|
9950
|
-
|
|
9951
|
-
|
|
9952
|
-
|
|
9910
|
+
TlsConfig: {
|
|
9911
|
+
type: "object",
|
|
9912
|
+
properties: {
|
|
9913
|
+
enabled: {
|
|
9914
|
+
type: "boolean",
|
|
9915
|
+
description: "Enable TLS/HTTPS"
|
|
9953
9916
|
},
|
|
9954
|
-
|
|
9955
|
-
|
|
9956
|
-
|
|
9917
|
+
cert: {
|
|
9918
|
+
type: "string",
|
|
9919
|
+
description: "Path to TLS certificate file or certificate content"
|
|
9957
9920
|
},
|
|
9958
|
-
|
|
9959
|
-
|
|
9960
|
-
|
|
9921
|
+
key: {
|
|
9922
|
+
type: "string",
|
|
9923
|
+
description: "Path to TLS key file or key content"
|
|
9961
9924
|
},
|
|
9962
|
-
|
|
9963
|
-
|
|
9964
|
-
|
|
9925
|
+
ca: {
|
|
9926
|
+
type: "string",
|
|
9927
|
+
description: "Path to CA certificate file or CA content (optional)"
|
|
9965
9928
|
},
|
|
9966
|
-
|
|
9967
|
-
|
|
9968
|
-
|
|
9929
|
+
rejectUnauthorized: {
|
|
9930
|
+
type: "boolean",
|
|
9931
|
+
description: "Reject unauthorized connections (default: true)"
|
|
9969
9932
|
}
|
|
9970
9933
|
},
|
|
9971
|
-
|
|
9972
|
-
|
|
9973
|
-
|
|
9974
|
-
|
|
9975
|
-
"description": "TLS/SSL configuration for HTTPS server",
|
|
9976
|
-
"patternProperties": {
|
|
9934
|
+
required: ["enabled"],
|
|
9935
|
+
additionalProperties: false,
|
|
9936
|
+
description: "TLS/SSL configuration for HTTPS server",
|
|
9937
|
+
patternProperties: {
|
|
9977
9938
|
"^x-": {}
|
|
9978
9939
|
}
|
|
9979
9940
|
},
|
|
9980
|
-
|
|
9981
|
-
|
|
9982
|
-
|
|
9983
|
-
|
|
9984
|
-
|
|
9985
|
-
|
|
9986
|
-
|
|
9987
|
-
"hmac",
|
|
9988
|
-
"basic",
|
|
9989
|
-
"none"
|
|
9990
|
-
],
|
|
9991
|
-
"description": "Authentication type"
|
|
9941
|
+
HttpAuthConfig: {
|
|
9942
|
+
type: "object",
|
|
9943
|
+
properties: {
|
|
9944
|
+
type: {
|
|
9945
|
+
type: "string",
|
|
9946
|
+
enum: ["bearer_token", "hmac", "basic", "none"],
|
|
9947
|
+
description: "Authentication type"
|
|
9992
9948
|
},
|
|
9993
|
-
|
|
9994
|
-
|
|
9995
|
-
|
|
9949
|
+
secret: {
|
|
9950
|
+
type: "string",
|
|
9951
|
+
description: "Secret or token for authentication"
|
|
9996
9952
|
},
|
|
9997
|
-
|
|
9998
|
-
|
|
9999
|
-
|
|
9953
|
+
username: {
|
|
9954
|
+
type: "string",
|
|
9955
|
+
description: "Username for basic auth"
|
|
10000
9956
|
},
|
|
10001
|
-
|
|
10002
|
-
|
|
10003
|
-
|
|
9957
|
+
password: {
|
|
9958
|
+
type: "string",
|
|
9959
|
+
description: "Password for basic auth"
|
|
10004
9960
|
}
|
|
10005
9961
|
},
|
|
10006
|
-
|
|
10007
|
-
|
|
10008
|
-
|
|
10009
|
-
|
|
10010
|
-
"description": "HTTP server authentication configuration",
|
|
10011
|
-
"patternProperties": {
|
|
9962
|
+
required: ["type"],
|
|
9963
|
+
additionalProperties: false,
|
|
9964
|
+
description: "HTTP server authentication configuration",
|
|
9965
|
+
patternProperties: {
|
|
10012
9966
|
"^x-": {}
|
|
10013
9967
|
}
|
|
10014
9968
|
},
|
|
10015
|
-
|
|
10016
|
-
|
|
10017
|
-
|
|
10018
|
-
|
|
10019
|
-
|
|
10020
|
-
|
|
9969
|
+
HttpEndpointConfig: {
|
|
9970
|
+
type: "object",
|
|
9971
|
+
properties: {
|
|
9972
|
+
path: {
|
|
9973
|
+
type: "string",
|
|
9974
|
+
description: "Path for the webhook endpoint"
|
|
10021
9975
|
},
|
|
10022
|
-
|
|
10023
|
-
|
|
10024
|
-
|
|
9976
|
+
transform: {
|
|
9977
|
+
type: "string",
|
|
9978
|
+
description: "Optional transform template (Liquid) for the received data"
|
|
10025
9979
|
},
|
|
10026
|
-
|
|
10027
|
-
|
|
10028
|
-
|
|
9980
|
+
name: {
|
|
9981
|
+
type: "string",
|
|
9982
|
+
description: "Optional name/ID for this endpoint"
|
|
10029
9983
|
}
|
|
10030
9984
|
},
|
|
10031
|
-
|
|
10032
|
-
|
|
10033
|
-
|
|
10034
|
-
|
|
10035
|
-
"description": "HTTP server endpoint configuration",
|
|
10036
|
-
"patternProperties": {
|
|
9985
|
+
required: ["path"],
|
|
9986
|
+
additionalProperties: false,
|
|
9987
|
+
description: "HTTP server endpoint configuration",
|
|
9988
|
+
patternProperties: {
|
|
10037
9989
|
"^x-": {}
|
|
10038
9990
|
}
|
|
10039
9991
|
},
|
|
10040
|
-
|
|
10041
|
-
|
|
10042
|
-
|
|
10043
|
-
|
|
10044
|
-
|
|
10045
|
-
|
|
10046
|
-
|
|
9992
|
+
TagFilter: {
|
|
9993
|
+
type: "object",
|
|
9994
|
+
properties: {
|
|
9995
|
+
include: {
|
|
9996
|
+
type: "array",
|
|
9997
|
+
items: {
|
|
9998
|
+
type: "string"
|
|
10047
9999
|
},
|
|
10048
|
-
|
|
10000
|
+
description: "Tags that checks must have to be included (ANY match)"
|
|
10049
10001
|
},
|
|
10050
|
-
|
|
10051
|
-
|
|
10052
|
-
|
|
10053
|
-
|
|
10002
|
+
exclude: {
|
|
10003
|
+
type: "array",
|
|
10004
|
+
items: {
|
|
10005
|
+
type: "string"
|
|
10054
10006
|
},
|
|
10055
|
-
|
|
10007
|
+
description: "Tags that will exclude checks if present (ANY match)"
|
|
10056
10008
|
}
|
|
10057
10009
|
},
|
|
10058
|
-
|
|
10059
|
-
|
|
10060
|
-
|
|
10010
|
+
additionalProperties: false,
|
|
10011
|
+
description: "Tag filter configuration for selective check execution",
|
|
10012
|
+
patternProperties: {
|
|
10061
10013
|
"^x-": {}
|
|
10062
10014
|
}
|
|
10063
10015
|
},
|
|
10064
|
-
|
|
10065
|
-
|
|
10066
|
-
|
|
10067
|
-
|
|
10068
|
-
|
|
10069
|
-
|
|
10016
|
+
RoutingDefaults: {
|
|
10017
|
+
type: "object",
|
|
10018
|
+
properties: {
|
|
10019
|
+
max_loops: {
|
|
10020
|
+
type: "number",
|
|
10021
|
+
description: "Per-scope cap on routing transitions (success + failure)"
|
|
10070
10022
|
},
|
|
10071
|
-
|
|
10072
|
-
|
|
10073
|
-
|
|
10074
|
-
|
|
10075
|
-
|
|
10023
|
+
defaults: {
|
|
10024
|
+
type: "object",
|
|
10025
|
+
properties: {
|
|
10026
|
+
on_fail: {
|
|
10027
|
+
$ref: "#/definitions/OnFailConfig"
|
|
10076
10028
|
}
|
|
10077
10029
|
},
|
|
10078
|
-
|
|
10079
|
-
|
|
10080
|
-
|
|
10030
|
+
additionalProperties: false,
|
|
10031
|
+
description: "Default policies applied to checks (step-level overrides take precedence)",
|
|
10032
|
+
patternProperties: {
|
|
10081
10033
|
"^x-": {}
|
|
10082
10034
|
}
|
|
10083
10035
|
}
|
|
10084
10036
|
},
|
|
10085
|
-
|
|
10086
|
-
|
|
10087
|
-
|
|
10037
|
+
additionalProperties: false,
|
|
10038
|
+
description: "Global routing defaults",
|
|
10039
|
+
patternProperties: {
|
|
10088
10040
|
"^x-": {}
|
|
10089
10041
|
}
|
|
10090
10042
|
}
|
|
@@ -10753,6 +10705,40 @@ var ConfigManager = class {
|
|
|
10753
10705
|
)}` : "Both ai_mcp_servers and ai.mcpServers are set; ai.mcpServers takes precedence for this check."
|
|
10754
10706
|
});
|
|
10755
10707
|
}
|
|
10708
|
+
try {
|
|
10709
|
+
const anyCheck = checkConfig;
|
|
10710
|
+
const aiObj = anyCheck.ai || void 0;
|
|
10711
|
+
const hasBareMcpAtCheck = Object.prototype.hasOwnProperty.call(anyCheck, "mcpServers");
|
|
10712
|
+
const hasAiMcp = aiObj && Object.prototype.hasOwnProperty.call(aiObj, "mcpServers");
|
|
10713
|
+
const hasClaudeCodeMcp = anyCheck.claude_code && typeof anyCheck.claude_code === "object" && Object.prototype.hasOwnProperty.call(
|
|
10714
|
+
anyCheck.claude_code,
|
|
10715
|
+
"mcpServers"
|
|
10716
|
+
);
|
|
10717
|
+
if (checkConfig.type === "ai") {
|
|
10718
|
+
if (hasBareMcpAtCheck) {
|
|
10719
|
+
warnings.push({
|
|
10720
|
+
field: `checks.${checkName}.mcpServers`,
|
|
10721
|
+
message: "'mcpServers' at the check root is ignored for type 'ai'. Use 'ai.mcpServers' or 'ai_mcp_servers' instead.",
|
|
10722
|
+
value: anyCheck.mcpServers
|
|
10723
|
+
});
|
|
10724
|
+
}
|
|
10725
|
+
if (hasClaudeCodeMcp) {
|
|
10726
|
+
warnings.push({
|
|
10727
|
+
field: `checks.${checkName}.claude_code.mcpServers`,
|
|
10728
|
+
message: "'claude_code.mcpServers' is ignored for type 'ai'. Use 'ai.mcpServers' or 'ai_mcp_servers' instead."
|
|
10729
|
+
});
|
|
10730
|
+
}
|
|
10731
|
+
}
|
|
10732
|
+
if (checkConfig.type === "claude-code") {
|
|
10733
|
+
if (hasAiMcp || checkConfig.ai_mcp_servers) {
|
|
10734
|
+
warnings.push({
|
|
10735
|
+
field: hasAiMcp ? `checks.${checkName}.ai.mcpServers` : `checks.${checkName}.ai_mcp_servers`,
|
|
10736
|
+
message: "For type 'claude-code', MCP must be configured under 'claude_code.mcpServers'. 'ai.mcpServers' and 'ai_mcp_servers' are ignored for this check."
|
|
10737
|
+
});
|
|
10738
|
+
}
|
|
10739
|
+
}
|
|
10740
|
+
} catch {
|
|
10741
|
+
}
|
|
10756
10742
|
}
|
|
10757
10743
|
}
|
|
10758
10744
|
if (config.ai_mcp_servers) {
|
|
@@ -10795,6 +10781,9 @@ var ConfigManager = class {
|
|
|
10795
10781
|
if (!checkConfig.type) {
|
|
10796
10782
|
checkConfig.type = "ai";
|
|
10797
10783
|
}
|
|
10784
|
+
if (checkConfig.type === "logger") {
|
|
10785
|
+
checkConfig.type = "log";
|
|
10786
|
+
}
|
|
10798
10787
|
if (!this.validCheckTypes.includes(checkConfig.type)) {
|
|
10799
10788
|
errors.push({
|
|
10800
10789
|
field: `checks.${checkName}.type`,
|