@probelabs/visor 0.1.132-ee → 0.1.137

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.
Files changed (140) hide show
  1. package/dist/config/config-reloader.d.ts +1 -0
  2. package/dist/config/config-reloader.d.ts.map +1 -1
  3. package/dist/config/config-watcher.d.ts +1 -0
  4. package/dist/config/config-watcher.d.ts.map +1 -1
  5. package/dist/config.d.ts +4 -0
  6. package/dist/config.d.ts.map +1 -1
  7. package/dist/docs/ai-custom-tools-usage.md +37 -0
  8. package/dist/docs/ai-custom-tools.md +43 -1
  9. package/dist/docs/custom-tools.md +70 -1
  10. package/dist/docs/script.md +542 -27
  11. package/dist/docs/testing/cookbook.md +47 -0
  12. package/dist/examples/README.md +4 -0
  13. package/dist/examples/api-tools-ai-example.yaml +63 -0
  14. package/dist/examples/api-tools-inline-overlay-example.yaml +126 -0
  15. package/dist/examples/api-tools-library.yaml +18 -0
  16. package/dist/examples/api-tools-mcp-example.yaml +55 -0
  17. package/dist/examples/openapi/profiles-overlay-rename.yaml +3 -0
  18. package/dist/examples/openapi/users-api.json +91 -0
  19. package/dist/examples/openapi/users-overlay-rename.yaml +3 -0
  20. package/dist/generated/config-schema.d.ts +223 -74
  21. package/dist/generated/config-schema.d.ts.map +1 -1
  22. package/dist/generated/config-schema.json +251 -79
  23. package/dist/index.js +48417 -29987
  24. package/dist/output/traces/run-2026-02-23T08-59-32-321Z.ndjson +138 -0
  25. package/dist/output/traces/run-2026-02-23T09-00-20-148Z.ndjson +1442 -0
  26. package/dist/providers/ai-check-provider.d.ts.map +1 -1
  27. package/dist/providers/api-tool-executor.d.ts +43 -0
  28. package/dist/providers/api-tool-executor.d.ts.map +1 -0
  29. package/dist/providers/command-check-provider.d.ts.map +1 -1
  30. package/dist/providers/custom-tool-executor.d.ts +21 -0
  31. package/dist/providers/custom-tool-executor.d.ts.map +1 -1
  32. package/dist/providers/mcp-check-provider.d.ts.map +1 -1
  33. package/dist/providers/mcp-custom-sse-server.d.ts.map +1 -1
  34. package/dist/providers/script-check-provider.d.ts +18 -2
  35. package/dist/providers/script-check-provider.d.ts.map +1 -1
  36. package/dist/sdk/{check-provider-registry-7TCA3NSG.mjs → check-provider-registry-BCGP62RY.mjs} +9 -8
  37. package/dist/sdk/{check-provider-registry-KUDVEKAC.mjs → check-provider-registry-SA2WHPLO.mjs} +10 -9
  38. package/dist/sdk/check-provider-registry-SCL4KP55.mjs +29 -0
  39. package/dist/sdk/chunk-ALB3N4ZQ.mjs +443 -0
  40. package/dist/sdk/chunk-ALB3N4ZQ.mjs.map +1 -0
  41. package/dist/sdk/{chunk-27RV5RR2.mjs → chunk-BRD36I43.mjs} +3 -3
  42. package/dist/sdk/{chunk-2RNTEWOA.mjs → chunk-DFKP7LY6.mjs} +1901 -1767
  43. package/dist/sdk/chunk-DFKP7LY6.mjs.map +1 -0
  44. package/dist/sdk/{chunk-BGBXLPLL.mjs → chunk-E2N3U5HU.mjs} +5 -5
  45. package/dist/sdk/{chunk-XGI47XIH.mjs → chunk-F4K5WFSM.mjs} +1896 -1762
  46. package/dist/sdk/chunk-F4K5WFSM.mjs.map +1 -0
  47. package/dist/sdk/chunk-J6F5K5EG.mjs +40235 -0
  48. package/dist/sdk/chunk-J6F5K5EG.mjs.map +1 -0
  49. package/dist/sdk/{chunk-U3BLLEW3.mjs → chunk-KPRFDKQX.mjs} +329 -80
  50. package/dist/sdk/chunk-KPRFDKQX.mjs.map +1 -0
  51. package/dist/sdk/{chunk-VF6XIUE4.mjs → chunk-LW3INISN.mjs} +32 -1
  52. package/dist/sdk/{chunk-VF6XIUE4.mjs.map → chunk-LW3INISN.mjs.map} +1 -1
  53. package/dist/sdk/{chunk-VG7FWDC2.mjs → chunk-QUEWQWDX.mjs} +11 -4
  54. package/dist/sdk/{chunk-VG7FWDC2.mjs.map → chunk-QUEWQWDX.mjs.map} +1 -1
  55. package/dist/sdk/chunk-UMFEBYCN.mjs +1502 -0
  56. package/dist/sdk/chunk-UMFEBYCN.mjs.map +1 -0
  57. package/dist/sdk/chunk-XKCER23W.mjs +1490 -0
  58. package/dist/sdk/chunk-XKCER23W.mjs.map +1 -0
  59. package/dist/sdk/chunk-YTAGJZHN.mjs +739 -0
  60. package/dist/sdk/chunk-YTAGJZHN.mjs.map +1 -0
  61. package/dist/sdk/{chunk-XJQKTK6V.mjs → chunk-ZUEQNCKB.mjs} +2 -2
  62. package/dist/sdk/{config-FMIIATKX.mjs → config-3UIU4TMP.mjs} +3 -3
  63. package/dist/sdk/{failure-condition-evaluator-PNONVBXD.mjs → failure-condition-evaluator-3B3G5NYW.mjs} +4 -4
  64. package/dist/sdk/failure-condition-evaluator-B5JJFYKU.mjs +17 -0
  65. package/dist/sdk/{github-frontend-WR4S3NG5.mjs → github-frontend-VAWVSCNX.mjs} +4 -4
  66. package/dist/sdk/github-frontend-ZOVXPPHQ.mjs +1356 -0
  67. package/dist/sdk/github-frontend-ZOVXPPHQ.mjs.map +1 -0
  68. package/dist/sdk/{host-TROSAWTE.mjs → host-LOQWBHWT.mjs} +2 -2
  69. package/dist/sdk/{host-U7V54J2H.mjs → host-TEQ7HKKH.mjs} +2 -2
  70. package/dist/sdk/{liquid-extensions-YDIIH33Q.mjs → liquid-extensions-PLBOMRLI.mjs} +3 -3
  71. package/dist/sdk/{routing-F4FOWVKF.mjs → routing-HR6N43RQ.mjs} +6 -6
  72. package/dist/sdk/routing-SEQYM4N6.mjs +25 -0
  73. package/dist/sdk/schedule-tool-2COUUTF7.mjs +18 -0
  74. package/dist/sdk/{schedule-tool-handler-ULNF7TZW.mjs → schedule-tool-handler-5BDMLHS5.mjs} +10 -9
  75. package/dist/sdk/{schedule-tool-handler-VFES42DD.mjs → schedule-tool-handler-OXGTPLST.mjs} +9 -8
  76. package/dist/sdk/schedule-tool-handler-OXGTPLST.mjs.map +1 -0
  77. package/dist/sdk/schedule-tool-handler-Y2UABBXN.mjs +39 -0
  78. package/dist/sdk/schedule-tool-handler-Y2UABBXN.mjs.map +1 -0
  79. package/dist/sdk/sdk.d.mts +55 -2
  80. package/dist/sdk/sdk.d.ts +55 -2
  81. package/dist/sdk/sdk.js +2532 -1905
  82. package/dist/sdk/sdk.js.map +1 -1
  83. package/dist/sdk/sdk.mjs +9 -8
  84. package/dist/sdk/sdk.mjs.map +1 -1
  85. package/dist/sdk/{trace-helpers-RDPXIN4S.mjs → trace-helpers-FAAGLXBI.mjs} +2 -2
  86. package/dist/sdk/trace-helpers-FAAGLXBI.mjs.map +1 -0
  87. package/dist/sdk/trace-helpers-IGMH7ZPP.mjs +25 -0
  88. package/dist/sdk/trace-helpers-IGMH7ZPP.mjs.map +1 -0
  89. package/dist/sdk/{workflow-check-provider-4NFWH6YO.mjs → workflow-check-provider-7SR7ZWSV.mjs} +9 -8
  90. package/dist/sdk/workflow-check-provider-7SR7ZWSV.mjs.map +1 -0
  91. package/dist/sdk/{workflow-check-provider-5XS62BCJ.mjs → workflow-check-provider-L2ZUOMJR.mjs} +10 -9
  92. package/dist/sdk/workflow-check-provider-L2ZUOMJR.mjs.map +1 -0
  93. package/dist/sdk/workflow-check-provider-WLA7LO56.mjs +29 -0
  94. package/dist/sdk/workflow-check-provider-WLA7LO56.mjs.map +1 -0
  95. package/dist/state-machine/dispatch/execution-invoker.d.ts.map +1 -1
  96. package/dist/state-machine-execution-engine.d.ts.map +1 -1
  97. package/dist/test-runner/core/test-execution-wrapper.d.ts.map +1 -1
  98. package/dist/test-runner/index.d.ts.map +1 -1
  99. package/dist/test-runner/validator.d.ts.map +1 -1
  100. package/dist/traces/run-2026-02-23T08-59-32-321Z.ndjson +138 -0
  101. package/dist/traces/run-2026-02-23T09-00-20-148Z.ndjson +1442 -0
  102. package/dist/types/config.d.ts +55 -2
  103. package/dist/types/config.d.ts.map +1 -1
  104. package/dist/utils/config-loader.d.ts +5 -0
  105. package/dist/utils/config-loader.d.ts.map +1 -1
  106. package/dist/utils/sandbox.d.ts +8 -0
  107. package/dist/utils/sandbox.d.ts.map +1 -1
  108. package/dist/utils/script-tool-environment.d.ts +90 -0
  109. package/dist/utils/script-tool-environment.d.ts.map +1 -0
  110. package/dist/utils/tool-resolver.d.ts +18 -0
  111. package/dist/utils/tool-resolver.d.ts.map +1 -0
  112. package/package.json +11 -4
  113. package/dist/sdk/chunk-2RNTEWOA.mjs.map +0 -1
  114. package/dist/sdk/chunk-U3BLLEW3.mjs.map +0 -1
  115. package/dist/sdk/chunk-XGI47XIH.mjs.map +0 -1
  116. package/dist/sdk/knex-store-HPXJILBL.mjs +0 -411
  117. package/dist/sdk/knex-store-HPXJILBL.mjs.map +0 -1
  118. package/dist/sdk/loader-ZC5G3JGJ.mjs +0 -89
  119. package/dist/sdk/loader-ZC5G3JGJ.mjs.map +0 -1
  120. package/dist/sdk/opa-policy-engine-S2S2ULEI.mjs +0 -655
  121. package/dist/sdk/opa-policy-engine-S2S2ULEI.mjs.map +0 -1
  122. package/dist/sdk/validator-XTZJZZJH.mjs +0 -134
  123. package/dist/sdk/validator-XTZJZZJH.mjs.map +0 -1
  124. /package/dist/sdk/{check-provider-registry-7TCA3NSG.mjs.map → check-provider-registry-BCGP62RY.mjs.map} +0 -0
  125. /package/dist/sdk/{check-provider-registry-KUDVEKAC.mjs.map → check-provider-registry-SA2WHPLO.mjs.map} +0 -0
  126. /package/dist/sdk/{config-FMIIATKX.mjs.map → check-provider-registry-SCL4KP55.mjs.map} +0 -0
  127. /package/dist/sdk/{chunk-27RV5RR2.mjs.map → chunk-BRD36I43.mjs.map} +0 -0
  128. /package/dist/sdk/{chunk-BGBXLPLL.mjs.map → chunk-E2N3U5HU.mjs.map} +0 -0
  129. /package/dist/sdk/{chunk-XJQKTK6V.mjs.map → chunk-ZUEQNCKB.mjs.map} +0 -0
  130. /package/dist/sdk/{failure-condition-evaluator-PNONVBXD.mjs.map → config-3UIU4TMP.mjs.map} +0 -0
  131. /package/dist/sdk/{liquid-extensions-YDIIH33Q.mjs.map → failure-condition-evaluator-3B3G5NYW.mjs.map} +0 -0
  132. /package/dist/sdk/{routing-F4FOWVKF.mjs.map → failure-condition-evaluator-B5JJFYKU.mjs.map} +0 -0
  133. /package/dist/sdk/{github-frontend-WR4S3NG5.mjs.map → github-frontend-VAWVSCNX.mjs.map} +0 -0
  134. /package/dist/sdk/{host-TROSAWTE.mjs.map → host-LOQWBHWT.mjs.map} +0 -0
  135. /package/dist/sdk/{host-U7V54J2H.mjs.map → host-TEQ7HKKH.mjs.map} +0 -0
  136. /package/dist/sdk/{schedule-tool-handler-ULNF7TZW.mjs.map → liquid-extensions-PLBOMRLI.mjs.map} +0 -0
  137. /package/dist/sdk/{schedule-tool-handler-VFES42DD.mjs.map → routing-HR6N43RQ.mjs.map} +0 -0
  138. /package/dist/sdk/{trace-helpers-RDPXIN4S.mjs.map → routing-SEQYM4N6.mjs.map} +0 -0
  139. /package/dist/sdk/{workflow-check-provider-4NFWH6YO.mjs.map → schedule-tool-2COUUTF7.mjs.map} +0 -0
  140. /package/dist/sdk/{workflow-check-provider-5XS62BCJ.mjs.map → schedule-tool-handler-5BDMLHS5.mjs.map} +0 -0
@@ -203,6 +203,14 @@
203
203
  "CustomToolDefinition": {
204
204
  "type": "object",
205
205
  "properties": {
206
+ "type": {
207
+ "type": "string",
208
+ "enum": [
209
+ "command",
210
+ "api"
211
+ ],
212
+ "description": "Tool implementation type (defaults to 'command')"
213
+ },
206
214
  "name": {
207
215
  "type": "string",
208
216
  "description": "Tool name - used to reference the tool in MCP blocks"
@@ -242,7 +250,7 @@
242
250
  },
243
251
  "exec": {
244
252
  "type": "string",
245
- "description": "Command to execute - supports Liquid template"
253
+ "description": "Command to execute - supports Liquid template (required for type: 'command')"
246
254
  },
247
255
  "stdin": {
248
256
  "type": "string",
@@ -275,11 +283,133 @@
275
283
  "outputSchema": {
276
284
  "$ref": "#/definitions/Record%3Cstring%2Cunknown%3E",
277
285
  "description": "Expected output schema for validation"
286
+ },
287
+ "spec": {
288
+ "anyOf": [
289
+ {
290
+ "type": "string"
291
+ },
292
+ {
293
+ "$ref": "#/definitions/Record%3Cstring%2Cunknown%3E"
294
+ }
295
+ ],
296
+ "description": "OpenAPI specification path/URL or inline object (required for type: 'api')"
297
+ },
298
+ "overlays": {
299
+ "anyOf": [
300
+ {
301
+ "type": "string"
302
+ },
303
+ {
304
+ "$ref": "#/definitions/Record%3Cstring%2Cunknown%3E"
305
+ },
306
+ {
307
+ "type": "array",
308
+ "items": {
309
+ "anyOf": [
310
+ {
311
+ "type": "string"
312
+ },
313
+ {
314
+ "$ref": "#/definitions/Record%3Cstring%2Cunknown%3E"
315
+ }
316
+ ]
317
+ }
318
+ }
319
+ ],
320
+ "description": "Overlay path/URL, inline object, or a mixed array applied in order"
321
+ },
322
+ "targetUrl": {
323
+ "type": "string",
324
+ "description": "Override API base URL instead of OpenAPI servers"
325
+ },
326
+ "target_url": {
327
+ "type": "string",
328
+ "description": "Alias for targetUrl (snake_case)"
329
+ },
330
+ "whitelist": {
331
+ "anyOf": [
332
+ {
333
+ "type": "array",
334
+ "items": {
335
+ "type": "string"
336
+ }
337
+ },
338
+ {
339
+ "type": "string"
340
+ }
341
+ ],
342
+ "description": "Include only operations matching these glob patterns (operationId or METHOD:/path)"
343
+ },
344
+ "blacklist": {
345
+ "anyOf": [
346
+ {
347
+ "type": "array",
348
+ "items": {
349
+ "type": "string"
350
+ }
351
+ },
352
+ {
353
+ "type": "string"
354
+ }
355
+ ],
356
+ "description": "Exclude operations matching these glob patterns (ignored when whitelist is set)"
357
+ },
358
+ "headers": {
359
+ "$ref": "#/definitions/Record%3Cstring%2Cstring%3E",
360
+ "description": "Extra headers added to all API requests"
361
+ },
362
+ "disableXMcp": {
363
+ "type": "boolean",
364
+ "description": "Disable X-MCP: 1 request header"
365
+ },
366
+ "disable_x_mcp": {
367
+ "type": "boolean",
368
+ "description": "Alias for disableXMcp (snake_case)"
369
+ },
370
+ "apiKey": {
371
+ "type": "string",
372
+ "description": "API key fallback credential used by security schemes"
373
+ },
374
+ "api_key": {
375
+ "type": "string",
376
+ "description": "Alias for apiKey (snake_case)"
377
+ },
378
+ "securitySchemeName": {
379
+ "type": "string",
380
+ "description": "Preferred security scheme name (optional hint)"
381
+ },
382
+ "security_scheme_name": {
383
+ "type": "string",
384
+ "description": "Alias for securitySchemeName (snake_case)"
385
+ },
386
+ "securityCredentials": {
387
+ "$ref": "#/definitions/Record%3Cstring%2Cstring%3E",
388
+ "description": "Credentials by OpenAPI security scheme name"
389
+ },
390
+ "security_credentials": {
391
+ "$ref": "#/definitions/Record%3Cstring%2Cstring%3E",
392
+ "description": "Alias for securityCredentials (snake_case)"
393
+ },
394
+ "namePrefix": {
395
+ "type": "string",
396
+ "description": "Optional prefix prepended to generated operation tool names"
397
+ },
398
+ "name_prefix": {
399
+ "type": "string",
400
+ "description": "Alias for namePrefix (snake_case)"
401
+ },
402
+ "requestTimeoutMs": {
403
+ "type": "number",
404
+ "description": "Request timeout in milliseconds for API calls"
405
+ },
406
+ "request_timeout_ms": {
407
+ "type": "number",
408
+ "description": "Alias for requestTimeoutMs (snake_case)"
278
409
  }
279
410
  },
280
411
  "required": [
281
- "name",
282
- "exec"
412
+ "name"
283
413
  ],
284
414
  "additionalProperties": false,
285
415
  "description": "Custom tool definition for use in MCP blocks",
@@ -415,6 +545,48 @@
415
545
  "type": "string",
416
546
  "description": "Script content to execute for script checks"
417
547
  },
548
+ "tools": {
549
+ "type": "array",
550
+ "items": {
551
+ "anyOf": [
552
+ {
553
+ "type": "string"
554
+ },
555
+ {
556
+ "type": "object",
557
+ "properties": {
558
+ "workflow": {
559
+ "type": "string"
560
+ },
561
+ "args": {
562
+ "$ref": "#/definitions/Record%3Cstring%2Cunknown%3E"
563
+ }
564
+ },
565
+ "required": [
566
+ "workflow"
567
+ ],
568
+ "additionalProperties": false
569
+ }
570
+ ]
571
+ },
572
+ "description": "Tool names to expose inside script checks (string names or workflow references)"
573
+ },
574
+ "tools_js": {
575
+ "type": "string",
576
+ "description": "JavaScript expression to dynamically compute tools for script checks"
577
+ },
578
+ "mcp_servers": {
579
+ "$ref": "#/definitions/Record%3Cstring%2CMcpServerConfig%3E",
580
+ "description": "MCP servers whose tools are exposed inside script checks"
581
+ },
582
+ "enable_fetch": {
583
+ "type": "boolean",
584
+ "description": "Enable fetch() function in script checks (default: false)"
585
+ },
586
+ "enable_bash": {
587
+ "type": "boolean",
588
+ "description": "Enable bash() function in script checks (default: false)"
589
+ },
418
590
  "schedule": {
419
591
  "type": "string",
420
592
  "description": "Cron schedule expression (e.g., \"0 2 * * *\") - optional for any check type"
@@ -794,7 +966,7 @@
794
966
  "description": "Arguments/inputs for the workflow"
795
967
  },
796
968
  "overrides": {
797
- "$ref": "#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-13489-27516-src_types_config.ts-0-51381%3E%3E",
969
+ "$ref": "#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-13489-28083-src_types_config.ts-0-53867%3E%3E",
798
970
  "description": "Override specific step configurations in the workflow"
799
971
  },
800
972
  "output_mapping": {
@@ -810,7 +982,7 @@
810
982
  "description": "Config file path - alternative to workflow ID (loads a Visor config file as workflow)"
811
983
  },
812
984
  "workflow_overrides": {
813
- "$ref": "#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-13489-27516-src_types_config.ts-0-51381%3E%3E",
985
+ "$ref": "#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-13489-28083-src_types_config.ts-0-53867%3E%3E",
814
986
  "description": "Alias for overrides - workflow step overrides (backward compatibility)"
815
987
  },
816
988
  "ref": {
@@ -916,6 +1088,76 @@
916
1088
  ],
917
1089
  "description": "Valid check types in configuration"
918
1090
  },
1091
+ "Record<string,McpServerConfig>": {
1092
+ "type": "object",
1093
+ "additionalProperties": {
1094
+ "$ref": "#/definitions/McpServerConfig"
1095
+ }
1096
+ },
1097
+ "McpServerConfig": {
1098
+ "type": "object",
1099
+ "properties": {
1100
+ "command": {
1101
+ "type": "string",
1102
+ "description": "Command to execute (presence indicates stdio server)"
1103
+ },
1104
+ "args": {
1105
+ "type": "array",
1106
+ "items": {
1107
+ "type": "string"
1108
+ },
1109
+ "description": "Arguments to pass to the command"
1110
+ },
1111
+ "env": {
1112
+ "$ref": "#/definitions/Record%3Cstring%2Cstring%3E",
1113
+ "description": "Environment variables for the MCP server"
1114
+ },
1115
+ "url": {
1116
+ "type": "string",
1117
+ "description": "URL endpoint (presence indicates external server)"
1118
+ },
1119
+ "transport": {
1120
+ "type": "string",
1121
+ "enum": [
1122
+ "stdio",
1123
+ "sse",
1124
+ "http"
1125
+ ],
1126
+ "description": "Transport type"
1127
+ },
1128
+ "workflow": {
1129
+ "type": "string",
1130
+ "description": "Workflow ID or path (presence indicates workflow tool)"
1131
+ },
1132
+ "inputs": {
1133
+ "$ref": "#/definitions/Record%3Cstring%2Cunknown%3E",
1134
+ "description": "Inputs to pass to workflow"
1135
+ },
1136
+ "description": {
1137
+ "type": "string",
1138
+ "description": "Tool description for AI"
1139
+ },
1140
+ "allowedMethods": {
1141
+ "type": "array",
1142
+ "items": {
1143
+ "type": "string"
1144
+ },
1145
+ "description": "Whitelist specific methods from this MCP server (supports wildcards like \"search_*\")"
1146
+ },
1147
+ "blockedMethods": {
1148
+ "type": "array",
1149
+ "items": {
1150
+ "type": "string"
1151
+ },
1152
+ "description": "Block specific methods from this MCP server (supports wildcards like \"*_delete\")"
1153
+ }
1154
+ },
1155
+ "additionalProperties": false,
1156
+ "description": "Unified MCP server/tool entry - type detected by which properties are present\n\nDetection logic (priority order): 1. Has `command` → stdio MCP server (external process) 2. Has `url` → SSE/HTTP MCP server (external endpoint) 3. Has `workflow` → workflow tool reference 4. Empty `{}` or just key → auto-detect from `tools:` section",
1157
+ "patternProperties": {
1158
+ "^x-": {}
1159
+ }
1160
+ },
919
1161
  "EventTrigger": {
920
1162
  "type": "string",
921
1163
  "enum": [
@@ -1050,76 +1292,6 @@
1050
1292
  "^x-": {}
1051
1293
  }
1052
1294
  },
1053
- "Record<string,McpServerConfig>": {
1054
- "type": "object",
1055
- "additionalProperties": {
1056
- "$ref": "#/definitions/McpServerConfig"
1057
- }
1058
- },
1059
- "McpServerConfig": {
1060
- "type": "object",
1061
- "properties": {
1062
- "command": {
1063
- "type": "string",
1064
- "description": "Command to execute (presence indicates stdio server)"
1065
- },
1066
- "args": {
1067
- "type": "array",
1068
- "items": {
1069
- "type": "string"
1070
- },
1071
- "description": "Arguments to pass to the command"
1072
- },
1073
- "env": {
1074
- "$ref": "#/definitions/Record%3Cstring%2Cstring%3E",
1075
- "description": "Environment variables for the MCP server"
1076
- },
1077
- "url": {
1078
- "type": "string",
1079
- "description": "URL endpoint (presence indicates external server)"
1080
- },
1081
- "transport": {
1082
- "type": "string",
1083
- "enum": [
1084
- "stdio",
1085
- "sse",
1086
- "http"
1087
- ],
1088
- "description": "Transport type"
1089
- },
1090
- "workflow": {
1091
- "type": "string",
1092
- "description": "Workflow ID or path (presence indicates workflow tool)"
1093
- },
1094
- "inputs": {
1095
- "$ref": "#/definitions/Record%3Cstring%2Cunknown%3E",
1096
- "description": "Inputs to pass to workflow"
1097
- },
1098
- "description": {
1099
- "type": "string",
1100
- "description": "Tool description for AI"
1101
- },
1102
- "allowedMethods": {
1103
- "type": "array",
1104
- "items": {
1105
- "type": "string"
1106
- },
1107
- "description": "Whitelist specific methods from this MCP server (supports wildcards like \"search_*\")"
1108
- },
1109
- "blockedMethods": {
1110
- "type": "array",
1111
- "items": {
1112
- "type": "string"
1113
- },
1114
- "description": "Block specific methods from this MCP server (supports wildcards like \"*_delete\")"
1115
- }
1116
- },
1117
- "additionalProperties": false,
1118
- "description": "Unified MCP server/tool entry - type detected by which properties are present\n\nDetection logic (priority order): 1. Has `command` → stdio MCP server (external process) 2. Has `url` → SSE/HTTP MCP server (external endpoint) 3. Has `workflow` → workflow tool reference 4. Empty `{}` or just key → auto-detect from `tools:` section",
1119
- "patternProperties": {
1120
- "^x-": {}
1121
- }
1122
- },
1123
1295
  "AIRetryConfig": {
1124
1296
  "type": "object",
1125
1297
  "properties": {
@@ -1535,7 +1707,7 @@
1535
1707
  "description": "Custom output name (defaults to workflow name)"
1536
1708
  },
1537
1709
  "overrides": {
1538
- "$ref": "#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-13489-27516-src_types_config.ts-0-51381%3E%3E",
1710
+ "$ref": "#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-13489-28083-src_types_config.ts-0-53867%3E%3E",
1539
1711
  "description": "Step overrides"
1540
1712
  },
1541
1713
  "output_mapping": {
@@ -1552,13 +1724,13 @@
1552
1724
  "^x-": {}
1553
1725
  }
1554
1726
  },
1555
- "Record<string,Partial<interface-src_types_config.ts-13489-27516-src_types_config.ts-0-51381>>": {
1727
+ "Record<string,Partial<interface-src_types_config.ts-13489-28083-src_types_config.ts-0-53867>>": {
1556
1728
  "type": "object",
1557
1729
  "additionalProperties": {
1558
- "$ref": "#/definitions/Partial%3Cinterface-src_types_config.ts-13489-27516-src_types_config.ts-0-51381%3E"
1730
+ "$ref": "#/definitions/Partial%3Cinterface-src_types_config.ts-13489-28083-src_types_config.ts-0-53867%3E"
1559
1731
  }
1560
1732
  },
1561
- "Partial<interface-src_types_config.ts-13489-27516-src_types_config.ts-0-51381>": {
1733
+ "Partial<interface-src_types_config.ts-13489-28083-src_types_config.ts-0-53867>": {
1562
1734
  "type": "object",
1563
1735
  "additionalProperties": false
1564
1736
  },