lepanto1571's picture
Upload 17 files
a1e520f verified
"""JSON Schema definitions for MCP context and responses."""
MCP_CONTEXT_SCHEMA = {
"type": "object",
"required": ["app", "windows", "objects", "actions"],
"properties": {
"app": {
"type": "object",
"required": ["id", "name", "version"],
"properties": {
"id": {"type": "string"},
"name": {"type": "string"},
"version": {"type": "string"}
}
},
"windows": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "title", "view"],
"properties": {
"id": {"type": "string"},
"title": {"type": "string"},
"view": {
"type": "object",
"required": ["type", "objects"],
"properties": {
"type": {"type": "string", "enum": ["form"]},
"objects": {
"type": "array",
"items": {"type": "string"}
}
}
}
}
}
},
"objects": {
"type": "array",
"items": {
"type": "object",
"required": ["type", "id", "name"],
"properties": {
"type": {"type": "string", "enum": ["file", "table"]},
"id": {"type": "string"},
"name": {"type": "string"},
"format": {"type": "string"},
"optional": {"type": "boolean"},
"description": {"type": "string"},
"columns": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "name", "type", "description"],
"properties": {
"id": {"type": "string"},
"name": {"type": "string"},
"type": {"type": "string"},
"description": {"type": "string"},
"enum": {
"type": "array",
"items": {"type": "string"}
}
}
}
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {"type": "string"}
}
}
}
}
},
"actions": {
"type": "array",
"items": {
"type": "object",
"required": ["name", "description", "parameters", "output"],
"properties": {
"name": {"type": "string"},
"description": {"type": "string"},
"parameters": {
"type": "object",
"additionalProperties": {"type": "string"}
},
"output": {
"type": "object",
"required": ["object_id", "type"],
"properties": {
"object_id": {"type": "string"},
"type": {"type": "string"}
}
}
}
}
}
}
}
MCP_PREDICT_RESPONSE_SCHEMA = {
"type": "object",
"required": ["object_id", "data"],
"properties": {
"object_id": {"type": "string"},
"data": {
"type": "object",
"required": ["columns", "rows"],
"properties": {
"columns": {
"type": "array",
"items": {"type": "string"}
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {"type": "string"}
}
}
}
},
"error": {"type": "string"},
"traceback": {"type": "string"}
}
}