Files
2026-09-12 04:58:59 +03:00

1230 lines
31 KiB
JSON

{
"tools": [
{
"name": "build_targets",
"description": "Check local app build tools and Android release signing availability.",
"inputSchema": {
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "build_start",
"description": "Build an immutable project snapshot into Linux x64 AppImage, Windows x64 portable EXE or Android APK. Returns a job; poll build_status until terminal. First-time tool downloads need network. Never claim device testing from package success.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"options": {
"type": "object",
"properties": {
"target": {
"type": "string",
"enum": [
"linux",
"windows",
"android"
]
},
"name": {
"type": "string"
},
"appId": {
"type": "string"
},
"version": {
"type": "string"
},
"versionCode": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"mode": {
"type": "string",
"enum": [
"debug",
"release"
]
},
"width": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"height": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"fullscreen": {
"type": "boolean"
},
"orientation": {
"type": "string",
"enum": [
"landscape",
"portrait",
"sensor"
]
}
},
"required": [
"target"
]
}
},
"required": [
"expectedRevision",
"options"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "build_status",
"description": "Read build status, bounded log and artifact URLs with SHA-256.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "build_list",
"description": "List recent local build jobs.",
"inputSchema": {
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "build_cancel",
"description": "Cancel a queued or running build and stop its child processes.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "project_read",
"description": "Project revision, scenes, asset summaries, scripts, settings and editor status. Binary model data omitted.",
"inputSchema": {
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "project_new",
"description": "Replace active project with an empty scene. Undoable. Save your current project first.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"requestId": {
"type": "string",
"maxLength": 100
},
"name": {
"type": "string",
"maxLength": 200
},
"template": {
"default": "empty",
"type": "string",
"const": "empty"
}
},
"required": [
"expectedRevision",
"name"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "scene_read",
"description": "Read entity hierarchy and components. Geometry arrays omitted unless requested.",
"inputSchema": {
"type": "object",
"properties": {
"sceneId": {
"type": "string"
},
"includeGeometry": {
"default": false,
"type": "boolean"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "scene_create",
"description": "Create and activate a scene.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"requestId": {
"type": "string",
"maxLength": 100
},
"name": {
"type": "string"
},
"id": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"2d",
"3d"
]
}
},
"required": [
"expectedRevision",
"name"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "commands_apply",
"description": "Apply one atomic command batch. Read forma://reference/commands for schemas.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"requestId": {
"type": "string",
"maxLength": 100
},
"label": {
"type": "string",
"maxLength": 200
},
"commands": {
"minItems": 1,
"maxItems": 1000,
"type": "array",
"items": {
"type": "object",
"properties": {
"op": {
"type": "string"
},
"args": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"op",
"args"
]
}
}
},
"required": [
"expectedRevision",
"label",
"commands"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "node_create",
"description": "Create a 3D entity with arbitrary components.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"requestId": {
"type": "string",
"maxLength": 100
},
"name": {
"type": "string"
},
"id": {
"type": "string"
},
"parentId": {
"type": "string"
},
"position": {
"default": [
0,
0,
0
],
"type": "array",
"items": [
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
}
]
},
"components": {
"default": {},
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"expectedRevision",
"name"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "node_update",
"description": "Deep merge object properties. Use node.reparent command to change hierarchy.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"requestId": {
"type": "string",
"maxLength": 100
},
"id": {
"type": "string"
},
"patch": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"expectedRevision",
"id",
"patch"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "node_delete",
"description": "delete object subtree.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"requestId": {
"type": "string",
"maxLength": 100
},
"id": {
"type": "string"
}
},
"required": [
"expectedRevision",
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "node_duplicate",
"description": "duplicate object subtree.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"requestId": {
"type": "string",
"maxLength": 100
},
"id": {
"type": "string"
}
},
"required": [
"expectedRevision",
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "model_generate",
"description": "Generate editable geometry WITHOUT Blender. arena: level; character: static stylized figure; extrude: polygon [x,z]+depth; lathe: profile [radius,y]+segments.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"requestId": {
"type": "string",
"maxLength": 100
},
"kind": {
"type": "string",
"enum": [
"arena",
"character",
"extrude",
"lathe"
]
},
"name": {
"type": "string"
},
"width": {
"type": "number",
"minimum": 8,
"maximum": 80
},
"depth": {
"type": "number",
"minimum": 0.05,
"maximum": 80
},
"height": {
"type": "number",
"minimum": 0.1,
"maximum": 20
},
"seed": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"obstacles": {
"type": "integer",
"minimum": 0,
"maximum": 80
},
"segments": {
"type": "integer",
"minimum": 3,
"maximum": 128
},
"color": {
"type": "string",
"pattern": "^#[\\da-fA-F]{6}$"
},
"profile": {
"maxItems": 256,
"type": "array",
"items": {
"type": "array",
"items": [
{
"type": "number"
},
{
"type": "number"
}
]
}
}
},
"required": [
"expectedRevision",
"kind"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "mesh_create",
"description": "Create custom triangle mesh directly from vertex arrays.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"requestId": {
"type": "string",
"maxLength": 100
},
"name": {
"type": "string"
},
"positions": {
"maxItems": 900000,
"type": "array",
"items": {
"type": "number"
}
},
"indices": {
"maxItems": 1800000,
"type": "array",
"items": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"normals": {
"type": "array",
"items": {
"type": "number"
}
},
"uvs": {
"type": "array",
"items": {
"type": "number"
}
},
"color": {
"default": "#91a697",
"type": "string"
}
},
"required": [
"expectedRevision",
"name",
"positions",
"indices"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "asset_import_image",
"description": "Import PNG, JPEG or WebP as an image asset and optional XY sprite. Configure asset.image with asset.upsert for slicing, PPU, filter and pivots.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"requestId": {
"type": "string",
"maxLength": 100
},
"name": {
"type": "string",
"pattern": "\\.(png|jpe?g|webp)$"
},
"base64": {
"type": "string",
"maxLength": 36000000
},
"path": {
"type": "string"
},
"instantiate": {
"default": true,
"type": "boolean"
}
},
"required": [
"expectedRevision",
"name"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "asset_import_glb",
"description": "Import GLB, glTF with companion files, or a ZIP containing one model and its textures. Use base64 bytes OR a path inside the project folder. External files resolve only within that folder; network URLs are not fetched.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"requestId": {
"type": "string",
"maxLength": 100
},
"name": {
"type": "string",
"pattern": "\\.(glb|gltf|zip)$"
},
"base64": {
"type": "string",
"maxLength": 36000000
},
"path": {
"type": "string"
},
"instantiate": {
"default": true,
"type": "boolean"
},
"asScene": {
"description": "Replace the project with the complete imported scene, using its active/first camera and lights. Undoable.",
"default": false,
"type": "boolean"
}
},
"required": [
"expectedRevision",
"name"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "script_upsert",
"description": "Create or edit trusted JavaScript behavior and Inspector fields.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"requestId": {
"type": "string",
"maxLength": 100
},
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"source": {
"type": "string",
"maxLength": 250000
},
"fields": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"expectedRevision",
"id",
"name",
"source",
"fields"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "prefab_create",
"description": "Capture object subtree as prefab asset.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"requestId": {
"type": "string",
"maxLength": 100
},
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"expectedRevision",
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "prefab_instantiate",
"description": "Instantiate prefab and remap internal object references.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"requestId": {
"type": "string",
"maxLength": 100
},
"assetId": {
"type": "string"
},
"position": {
"default": [
0,
0,
0
],
"type": "array",
"items": [
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
}
]
}
},
"required": [
"expectedRevision",
"assetId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "history_undo",
"description": "undo last transaction.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"expectedRevision"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "history_redo",
"description": "redo last transaction.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"expectedRevision"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "project_save",
"description": "Persist JSON and portable .forma archive to project directory.",
"inputSchema": {
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "project_export_web",
"description": "Export standalone HTML+runtime+assets as ZIP in exports/. Does not publish.",
"inputSchema": {
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "runtime_play",
"description": "play in the connected editor. Requires a live browser editor. Capture returns actual PNG.",
"inputSchema": {
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "runtime_stop",
"description": "stop in the connected editor. Requires a live browser editor. Capture returns actual PNG.",
"inputSchema": {
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "runtime_snapshot",
"description": "snapshot in the connected editor. Requires a live browser editor. Capture returns actual PNG.",
"inputSchema": {
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "runtime_capture",
"description": "capture in the connected editor. Requires a live browser editor. Capture returns actual PNG.",
"inputSchema": {
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "runtime_input",
"description": "Send timed movement, first-person view, jump, dash or attack to the running game and return observed state.",
"inputSchema": {
"type": "object",
"properties": {
"x": {
"default": 0,
"type": "number",
"minimum": -1,
"maximum": 1
},
"y": {
"description": "Vertical XY input for 2D",
"type": "number",
"minimum": -1,
"maximum": 1
},
"z": {
"default": 0,
"type": "number",
"minimum": -1,
"maximum": 1
},
"attack": {
"default": false,
"type": "boolean"
},
"jump": {
"default": false,
"type": "boolean"
},
"dash": {
"default": false,
"type": "boolean"
},
"sprint": {
"default": false,
"type": "boolean"
},
"reset": {
"default": false,
"type": "boolean"
},
"yaw": {
"type": "number"
},
"pitch": {
"type": "number",
"minimum": -1.3,
"maximum": 1.3
},
"pointer": {
"default": false,
"type": "boolean"
},
"aim": {
"type": "array",
"items": [
{
"type": "number"
},
{
"type": "number"
},
{
"type": "number"
}
]
},
"durationMs": {
"default": 500,
"type": "integer",
"minimum": 50,
"maximum": 10000
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
},
{
"name": "editor_focus",
"description": "Focus editor camera on an entity.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": false,
"openWorldHint": false
},
"execution": {
"taskSupport": "forbidden"
}
}
]
}