{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://linghun.dev/schemas/app-bridge-manifest.schema.json", "title": "Linghun App Bridge Manifest", "description": "Machine-readable manifest schema for Linghun Local HTTP App Bridge connectors.", "type": "object", "additionalProperties": false, "required": ["appId", "name", "version", "transport", "baseUrl", "auth", "capabilities"], "properties": { "appId": { "type": "string", "minLength": 1, "description": "Stable application id, for example demo.drawing." }, "name": { "type": "string", "minLength": 1 }, "version": { "type": "string", "minLength": 1 }, "transport": { "const": "http", "description": "Current real connector transport. Other transports are reserved in Linghun." }, "baseUrl": { "type": "string", "pattern": "^http://(localhost|127\\.0\\.0\\.1|\\[::1\\])(:[0-9]+)?(/.*)?$", "description": "Loopback Local HTTP connector base URL." }, "auth": { "oneOf": [ { "type": "object", "additionalProperties": false, "required": ["type"], "properties": { "type": { "const": "none" } } }, { "type": "object", "additionalProperties": false, "required": ["type"], "properties": { "type": { "enum": ["api_key", "local_token"] }, "env": { "type": "string", "minLength": 1 }, "projectConfigRef": { "type": "string", "minLength": 1 }, "userConfigRef": { "type": "string", "minLength": 1 }, "valueRef": { "type": "string", "minLength": 1 } } } ] }, "capabilities": { "type": "array", "minItems": 1, "items": { "$ref": "#/$defs/capability" } } }, "$defs": { "capability": { "type": "object", "additionalProperties": true, "required": [ "id", "appId", "title", "description", "category", "transport", "auth", "permission", "riskLevel", "inputSchema", "outputSchema", "supportsRollback", "supportsPreview" ], "properties": { "id": { "type": "string", "minLength": 1 }, "appId": { "type": "string", "minLength": 1 }, "title": { "type": "string", "minLength": 1 }, "description": { "type": "string", "minLength": 1 }, "category": { "type": "string", "minLength": 1 }, "intents": { "type": "array", "items": { "type": "string" } }, "keywords": { "type": "array", "items": { "type": "string" } }, "transport": { "const": "http" }, "auth": { "enum": ["none", "api_key", "local_token"] }, "permission": { "enum": ["read", "write", "bash", "network", "external_app"] }, "riskLevel": { "enum": ["low", "medium", "high"] }, "inputSchema": { "type": "object" }, "outputSchema": { "type": "object" }, "supportsRollback": { "type": "boolean" }, "supportsPreview": { "type": "boolean" } } } } }