Tool tree
Lattice is a shared architecture canvas for people and browser agents.
Implementation
gradeNot graded
gradeNot graded
get_diagramAnswer
Read the live Lattice diagram, current selection, and unresolved comments. Use selection when the user refers to “this” or “these”.
View tool JSON
{
"name": "get_diagram",
"kind": "answer",
"impl": "imperative",
"description": "Read the live Lattice diagram, current selection, and unresolved comments. Use selection when the user refers to “this” or “these”.",
"inputSchema": {
"type": "object",
"properties": {
"scope": {
"type": "string",
"enum": [
"all",
"selection",
"comments"
],
"description": "Content to return. Defaults to all."
}
},
"required": [],
"additionalProperties": false
},
"page": "/d/7130c5b1-017f-4b5a-9408-596fe328e6bb"
}create_diagramAction
Create and lay out a typed architecture diagram. With replaceExisting true, replaces Lattice diagram nodes and edges while preserving ordinary tldraw objects and comments.
View tool JSON
{
"name": "create_diagram",
"kind": "act",
"impl": "imperative",
"description": "Create and lay out a typed architecture diagram. With replaceExisting true, replaces Lattice diagram nodes and edges while preserving ordinary tldraw objects and comments.",
"inputSchema": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 120
},
"replaceExisting": {
"type": "boolean"
},
"nodes": {
"type": "array",
"minItems": 1,
"maxItems": 30,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"kind": {
"type": "string",
"enum": [
"client",
"service",
"data",
"queue",
"external"
]
}
},
"required": [
"id",
"label",
"kind"
],
"additionalProperties": false
}
},
"edges": {
"type": "array",
"maxItems": 60,
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"
},
"source": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"
},
"target": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"
},
"label": {
"type": "string",
"maxLength": 120
}
},
"required": [
"id",
"source",
"target"
],
"additionalProperties": false
}
}
},
"required": [
"nodes"
],
"additionalProperties": false
},
"page": "/d/7130c5b1-017f-4b5a-9408-596fe328e6bb"
}apply_diagram_patchAction
Apply explicit operations at an expected revision. Unmentioned shapes and positions stay unchanged; stale revisions fail.
View tool JSON
{
"name": "apply_diagram_patch",
"kind": "act",
"impl": "imperative",
"description": "Apply explicit operations at an expected revision. Unmentioned shapes and positions stay unchanged; stale revisions fail.",
"inputSchema": {
"type": "object",
"properties": {
"expectedRevision": {
"type": "integer",
"minimum": 0
},
"targetCommentId": {
"type": "string",
"minLength": 1,
"maxLength": 160,
"description": "Comment whose captured target bounds this patch."
},
"operations": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "add_node"
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"kind": {
"type": "string",
"enum": [
"client",
"service",
"data",
"queue",
"external"
]
},
"near": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"
},
"direction": {
"type": "string",
"enum": [
"left",
"right",
"above",
"below"
]
}
},
"required": [
"type",
"id",
"label",
"kind"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "update_node"
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"kind": {
"type": "string",
"enum": [
"client",
"service",
"data",
"queue",
"external"
]
}
},
"required": [
"type",
"id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "remove_node"
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"
}
},
"required": [
"type",
"id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "add_edge"
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"
},
"source": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"
},
"target": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"
},
"label": {
"type": "string",
"maxLength": 120
}
},
"required": [
"type",
"id",
"source",
"target"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "update_edge"
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"
},
"label": {
"type": "string",
"maxLength": 120
}
},
"required": [
"type",
"id",
"label"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "remove_edge"
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$"
}
},
"required": [
"type",
"id"
],
"additionalProperties": false
}
]
}
}
},
"required": [
"expectedRevision",
"operations"
],
"additionalProperties": false
},
"page": "/d/7130c5b1-017f-4b5a-9408-596fe328e6bb"
}resolve_commentAction
Resolve one comment only after a successful target-scoped patch addressed it at the expected current diagram revision.
View tool JSON
{
"name": "resolve_comment",
"kind": "act",
"impl": "imperative",
"description": "Resolve one comment only after a successful target-scoped patch addressed it at the expected current diagram revision.",
"inputSchema": {
"type": "object",
"properties": {
"commentId": {
"type": "string",
"minLength": 1,
"maxLength": 160,
"description": "Exact unresolved comment thread ID."
},
"expectedRevision": {
"type": "integer",
"minimum": 0
}
},
"required": [
"commentId",
"expectedRevision"
],
"additionalProperties": false
},
"page": "/d/7130c5b1-017f-4b5a-9408-596fe328e6bb"
}