Files
makelore/resources/coding-plugins/game-resource/com.makelore/capability.json

226 lines
8.3 KiB
JSON

{
"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}
}
}
}
]
}