Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
164 lines
5.1 KiB
JSON
164 lines
5.1 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://tutti.local/schemas/workbench-snapshot.v1.json",
|
|
"title": "WorkbenchSnapshotV1",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["schemaVersion", "nodes"],
|
|
"properties": {
|
|
"schemaVersion": { "const": 1 },
|
|
"nodes": {
|
|
"type": "array",
|
|
"maxItems": 128,
|
|
"items": { "$ref": "#/$defs/node" }
|
|
},
|
|
"nodeStack": {
|
|
"type": "array",
|
|
"items": { "type": "string", "minLength": 1 }
|
|
},
|
|
"activeNodeId": { "type": ["string", "null"] },
|
|
"spaces": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/$defs/space" }
|
|
},
|
|
"activeSpaceId": { "type": ["string", "null"] },
|
|
"layoutBasis": { "$ref": "#/$defs/layoutBasis" },
|
|
"lockedLayout": { "$ref": "#/$defs/lockedLayout" },
|
|
"metadata": { "type": "object" }
|
|
},
|
|
"$defs": {
|
|
"frame": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["x", "y", "width", "height"],
|
|
"properties": {
|
|
"x": { "type": "number" },
|
|
"y": { "type": "number" },
|
|
"width": { "type": "number", "minimum": 160 },
|
|
"height": { "type": "number", "minimum": 120 }
|
|
}
|
|
},
|
|
"size": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["width", "height"],
|
|
"properties": {
|
|
"width": { "type": "number", "exclusiveMinimum": 0 },
|
|
"height": { "type": "number", "exclusiveMinimum": 0 }
|
|
}
|
|
},
|
|
"safeArea": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["top", "right", "bottom", "left"],
|
|
"properties": {
|
|
"top": { "type": "number", "minimum": 0 },
|
|
"right": { "type": "number", "minimum": 0 },
|
|
"bottom": { "type": "number", "minimum": 0 },
|
|
"left": { "type": "number", "minimum": 0 }
|
|
}
|
|
},
|
|
"layoutConstraints": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["minWidth", "minHeight", "surfacePadding", "safeArea"],
|
|
"properties": {
|
|
"minWidth": { "type": "number", "minimum": 0 },
|
|
"minHeight": { "type": "number", "minimum": 0 },
|
|
"surfacePadding": { "type": "number", "minimum": 0 },
|
|
"safeArea": { "$ref": "#/$defs/safeArea" }
|
|
}
|
|
},
|
|
"layoutBasis": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["surfaceSize", "layoutConstraints"],
|
|
"properties": {
|
|
"surfaceSize": { "$ref": "#/$defs/size" },
|
|
"layoutConstraints": { "$ref": "#/$defs/layoutConstraints" }
|
|
}
|
|
},
|
|
"layoutPreset": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["kind"],
|
|
"properties": {
|
|
"kind": { "enum": ["balanced", "row", "column"] }
|
|
}
|
|
},
|
|
"normalizedFrame": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["x", "y", "width", "height"],
|
|
"properties": {
|
|
"x": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
"y": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
"width": { "type": "number", "exclusiveMinimum": 0, "maximum": 1 },
|
|
"height": { "type": "number", "exclusiveMinimum": 0, "maximum": 1 }
|
|
}
|
|
},
|
|
"lockedLayout": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["preset", "nodeIDs"],
|
|
"properties": {
|
|
"preset": { "$ref": "#/$defs/layoutPreset" },
|
|
"nodeIDs": {
|
|
"type": "array",
|
|
"minItems": 2,
|
|
"uniqueItems": true,
|
|
"items": { "type": "string", "minLength": 1, "maxLength": 160 }
|
|
},
|
|
"normalizedFrames": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 160
|
|
},
|
|
"additionalProperties": { "$ref": "#/$defs/normalizedFrame" }
|
|
}
|
|
}
|
|
},
|
|
"node": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["id", "kind", "title", "frame"],
|
|
"properties": {
|
|
"id": { "type": "string", "minLength": 1, "maxLength": 160 },
|
|
"kind": { "type": "string", "minLength": 1, "maxLength": 120 },
|
|
"title": { "type": "string", "maxLength": 240 },
|
|
"frame": { "$ref": "#/$defs/frame" },
|
|
"displayMode": { "enum": ["floating", "fullscreen"] },
|
|
"restoreFrame": {
|
|
"anyOf": [{ "$ref": "#/$defs/frame" }, { "type": "null" }]
|
|
},
|
|
"isMinimized": { "type": "boolean" },
|
|
"minimizedAtUnixMs": {
|
|
"type": ["integer", "null"],
|
|
"minimum": 0
|
|
},
|
|
"data": true,
|
|
"adapterState": { "type": "object" }
|
|
}
|
|
},
|
|
"space": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["id", "name", "nodeIds"],
|
|
"properties": {
|
|
"id": { "type": "string", "minLength": 1 },
|
|
"name": { "type": "string" },
|
|
"nodeIds": {
|
|
"type": "array",
|
|
"items": { "type": "string", "minLength": 1 }
|
|
},
|
|
"frame": {
|
|
"anyOf": [{ "$ref": "#/$defs/frame" }, { "type": "null" }]
|
|
},
|
|
"data": true
|
|
}
|
|
}
|
|
}
|
|
}
|