{ "schemaVersion": 2, "pluginId": "makelore.game-resource", "contractVersion": 1, "scope": "project", "runtime": { "kind": "platform_hosted", "protocol": "makelore-hosted.v1" }, "skills": [ { "id": "game-resource", "entry": "../skills/game-resource/SKILL.md", "grants": [ "game-resource.generate", "game-resource.library" ] } ], "tools": [ { "name": "game_resource_templates", "label": "List game resource templates", "description": "List the currently available hosted templates for pixel-art or HD generation.", "capabilityId": "game-resource.generate", "operation": "templates", "roles": ["parent"], "mutation": "read", "projectWriteLease": false, "permissions": ["hosted.game-resource.templates"], "executionMode": "synchronous", "inputSchema": { "type": "object", "additionalProperties": false, "required": ["kind"], "properties": { "kind": {"type": "string", "minLength": 2, "maxLength": 5} } }, "outputSchema": { "type": "object", "additionalProperties": false, "required": ["kind", "templates"], "properties": { "kind": {"type": "string", "minLength": 2, "maxLength": 5}, "templates": { "type": "array", "maxItems": 100, "items": {"type": "string", "minLength": 1, "maxLength": 200} } } } }, { "name": "game_resource_generate", "label": "Generate game resource", "description": "Generate one hosted pixel-art or HD game resource and automatically save every output into the current project.", "capabilityId": "game-resource.generate", "operation": "generate", "roles": ["parent"], "mutation": "write", "projectWriteLease": false, "permissions": ["hosted.game-resource.generate"], "executionMode": "job", "inputSchema": { "type": "object", "additionalProperties": false, "required": ["kind", "templateName", "requirement", "confirmed"], "properties": { "kind": {"type": "string", "minLength": 2, "maxLength": 5}, "templateName": {"type": "string", "minLength": 1, "maxLength": 200}, "templateConfigJson": {"type": "string", "maxLength": 16384}, "requirement": {"type": "string", "minLength": 1, "maxLength": 12000}, "aspectRatio": {"type": "string", "minLength": 1, "maxLength": 40}, "temperature": {"type": "number", "minimum": 0, "maximum": 2}, "jobName": {"type": "string", "minLength": 1, "maxLength": 200}, "modelName": {"type": "string", "minLength": 1, "maxLength": 200}, "resolution": {"type": "string", "minLength": 1, "maxLength": 40}, "hdRemoveBgMode": {"type": "string", "minLength": 1, "maxLength": 80}, "threadId": {"type": "string", "minLength": 1, "maxLength": 200}, "confirmed": {"type": "boolean"}, "referencePaths": { "type": "array", "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 1024} } } }, "outputSchema": { "type": "object", "additionalProperties": false, "required": ["executionId", "providerStatus", "deliveryStatus", "outputCount", "files"], "properties": { "executionId": {"type": "string", "minLength": 1, "maxLength": 36}, "providerStatus": {"type": "string", "minLength": 1, "maxLength": 32}, "deliveryStatus": {"type": "string", "minLength": 1, "maxLength": 32}, "outputCount": {"type": "integer", "minimum": 0, "maximum": 100}, "phase": {"type": "string", "minLength": 1, "maxLength": 32}, "errorCode": {"type": "string", "minLength": 1, "maxLength": 128}, "files": { "type": "array", "maxItems": 100, "items": { "type": "object", "additionalProperties": false, "required": ["path", "bytes"], "properties": { "path": {"type": "string", "minLength": 1, "maxLength": 1024}, "bytes": {"type": "integer", "minimum": 1, "maximum": 33554432} } } } } } }, { "name": "game_resource_cancel", "label": "Cancel game resource", "description": "Cancel one non-terminal hosted generation job.", "capabilityId": "game-resource.generate", "operation": "cancel", "roles": ["parent"], "mutation": "write", "projectWriteLease": false, "permissions": ["hosted.game-resource.cancel"], "executionMode": "synchronous", "inputSchema": { "type": "object", "additionalProperties": false, "required": ["executionId"], "properties": { "executionId": {"type": "string", "minLength": 1, "maxLength": 36} } }, "outputSchema": { "type": "object", "additionalProperties": false, "required": ["executionId", "status", "outputCount", "generationBilling"], "properties": { "executionId": {"type": "string", "minLength": 1, "maxLength": 36}, "status": {"type": "string", "minLength": 1, "maxLength": 32}, "outputCount": {"type": "integer", "minimum": 0, "maximum": 100}, "pollIntervalSeconds": {"type": "integer", "minimum": 1, "maximum": 300}, "errorCode": {"type": "string", "minLength": 1, "maxLength": 128}, "generationBilling": { "type": "object", "additionalProperties": false, "required": ["mode", "status", "reserved_points", "usage_amount", "unit"], "properties": { "mode": {"type": "string", "minLength": 1, "maxLength": 32}, "status": {"type": "string", "maxLength": 32}, "reserved_points": {"type": "string", "maxLength": 32}, "actual_points": {"type": "string", "maxLength": 32}, "usage_amount": {"type": "integer", "minimum": 0, "maximum": 1}, "unit": {"type": "string", "minLength": 1, "maxLength": 32} } } } } }, { "name": "game_asset_browser", "label": "Browse game assets", "description": "Open the project game-asset browser for user selection.", "capabilityId": "game-resource.library", "operation": "browse", "roles": ["parent"], "mutation": "read", "projectWriteLease": false, "permissions": ["hosted.game-resource.browse"], "executionMode": "synchronous", "inputSchema": { "type": "object", "additionalProperties": false, "required": [], "properties": { "invocationId": {"type": "string", "minLength": 1, "maxLength": 200} } }, "outputSchema": { "type": "object", "additionalProperties": false, "required": ["invocationId", "status"], "properties": { "invocationId": {"type": "string", "minLength": 1, "maxLength": 200}, "status": {"type": "string", "minLength": 1, "maxLength": 32} } } }, { "name": "game_asset_review", "label": "Review game asset", "description": "Open a project game asset for user review and decision.", "capabilityId": "game-resource.library", "operation": "review", "roles": ["parent"], "mutation": "read", "projectWriteLease": false, "permissions": ["hosted.game-resource.review"], "executionMode": "synchronous", "inputSchema": { "type": "object", "additionalProperties": false, "required": ["candidateIds"], "properties": { "candidateIds": { "type": "array", "maxItems": 200, "items": {"type": "string", "minLength": 1, "maxLength": 200} }, "invocationId": {"type": "string", "minLength": 1, "maxLength": 200} } }, "outputSchema": { "type": "object", "additionalProperties": false, "required": ["invocationId", "status"], "properties": { "invocationId": {"type": "string", "minLength": 1, "maxLength": 200}, "status": {"type": "string", "minLength": 1, "maxLength": 32} } } } ] }