mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-25 06:54:19 +00:00
250 lines
5.2 KiB
JSON
250 lines
5.2 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://langbot.app/schemas/langbot-skills/case.schema.json",
|
|
"title": "LangBot Skill Test Case",
|
|
"type": "object",
|
|
"required": [
|
|
"id",
|
|
"title",
|
|
"mode",
|
|
"area",
|
|
"type",
|
|
"priority",
|
|
"risk",
|
|
"ci_eligible",
|
|
"tags",
|
|
"skills",
|
|
"steps",
|
|
"checks",
|
|
"evidence_required"
|
|
],
|
|
"allOf": [
|
|
{
|
|
"if": {
|
|
"properties": {
|
|
"mode": { "const": "agent-browser" }
|
|
}
|
|
},
|
|
"then": {
|
|
"required": ["env"]
|
|
}
|
|
}
|
|
],
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"pattern": "^[a-z0-9][a-z0-9_-]*$"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"mode": {
|
|
"type": "string",
|
|
"enum": ["agent-browser", "probe"]
|
|
},
|
|
"area": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"smoke",
|
|
"regression",
|
|
"feature",
|
|
"provider",
|
|
"exploratory",
|
|
"contract",
|
|
"performance",
|
|
"reliability",
|
|
"chaos",
|
|
"security"
|
|
]
|
|
},
|
|
"priority": {
|
|
"type": "string",
|
|
"enum": ["p0", "p1", "p2"]
|
|
},
|
|
"risk": {
|
|
"type": "string",
|
|
"enum": ["low", "medium", "high"]
|
|
},
|
|
"ci_eligible": {
|
|
"type": "boolean"
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"skills": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"env": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"env_any": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"pattern": "^[A-Z][A-Z0-9_]*(\\|[A-Z][A-Z0-9_]*)+$"
|
|
}
|
|
},
|
|
"steps": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"minItems": 1
|
|
},
|
|
"checks": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"minItems": 1
|
|
},
|
|
"evidence_required": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": [
|
|
"ui",
|
|
"screenshot",
|
|
"console",
|
|
"network",
|
|
"backend_log",
|
|
"frontend_log",
|
|
"api_diagnostic",
|
|
"filesystem",
|
|
"metrics",
|
|
"trace",
|
|
"profile",
|
|
"resource_log"
|
|
]
|
|
},
|
|
"minItems": 1
|
|
},
|
|
"preconditions": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"setup": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"setup_automation": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"pattern": "^(?:case:[a-z0-9][a-z0-9_-]*|node:scripts/[A-Za-z0-9_./-]+\\.(?:mjs|js|ts)(?:\\s+--[A-Za-z0-9][A-Za-z0-9_-]*(?:=[A-Za-z0-9_./:@-]+)?)*)$"
|
|
}
|
|
},
|
|
"setup_provides_env": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"pattern": "^[A-Z][A-Z0-9_]*$"
|
|
}
|
|
},
|
|
"cleanup": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"diagnostics": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"automation": {
|
|
"type": "string"
|
|
},
|
|
"automation_env": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"automation_env_any": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"pattern": "^[A-Z][A-Z0-9_]*(\\|[A-Z][A-Z0-9_]*)+$"
|
|
}
|
|
},
|
|
"automation_prompt": {
|
|
"type": "string"
|
|
},
|
|
"automation_prompts_json": {
|
|
"type": "string"
|
|
},
|
|
"automation_expected_text": {
|
|
"type": "string"
|
|
},
|
|
"automation_response_timeout_ms": {
|
|
"type": "string"
|
|
},
|
|
"automation_stream_output": {
|
|
"type": "string",
|
|
"enum": ["0", "1", "false", "true"]
|
|
},
|
|
"automation_image_base64_fixture": {
|
|
"type": "string"
|
|
},
|
|
"automation_runner_config_patch_json": {
|
|
"type": "string"
|
|
},
|
|
"automation_restore_runner_config": {
|
|
"type": "string",
|
|
"enum": ["0", "1", "false", "true"]
|
|
},
|
|
"automation_expected_runner_id": {
|
|
"type": "string"
|
|
},
|
|
"automation_reset_debug_chat": {
|
|
"type": "string",
|
|
"enum": ["0", "1", "false", "true"]
|
|
},
|
|
"automation_debug_chat_session_type": {
|
|
"type": "string",
|
|
"enum": ["person", "group"]
|
|
},
|
|
"automation_debug_chat_response_p95_ms": {
|
|
"type": "string"
|
|
},
|
|
"automation_debug_chat_max_error_rate": {
|
|
"type": "string"
|
|
},
|
|
"automation_filesystem_checks_json": {
|
|
"type": "string"
|
|
},
|
|
"metrics_thresholds_json": {
|
|
"type": "string"
|
|
},
|
|
"load_profile_json": {
|
|
"type": "string"
|
|
},
|
|
"fault_model_json": {
|
|
"type": "string"
|
|
},
|
|
"automation_pipeline_url_env": {
|
|
"type": "string",
|
|
"pattern": "^[A-Z][A-Z0-9_]*$"
|
|
},
|
|
"automation_pipeline_name_env": {
|
|
"type": "string",
|
|
"pattern": "^[A-Z][A-Z0-9_]*$"
|
|
},
|
|
"success_patterns": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"failure_patterns": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"expected_failures": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
},
|
|
"troubleshooting": {
|
|
"type": "array",
|
|
"items": { "type": "string" }
|
|
}
|
|
}
|
|
}
|