Skip to main content
Glama

tidelight_act

Destructive

Apply exactly one validated action for the expected character and observed revision. travel plans; advance walks one paced step. Keep receipt requestIds unchanged when retrying. Observe after a conflict; never fetch a newer revision and replay automatically. No character registration or access management.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYes
detailNocompact
revisionYes
expectedCharacterYesExpected public character UUID from your observation; never a credential.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / action / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "sample": {
      -        "enum": [
      -          "linen",
      -          "sailcloth",
      -          "ochre",
      -          "kelp",
      -          "berry",
      -          "charcoal"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "collect_tailoring"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "sample"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "pattern": {
      -        "enum": [
      -          "stars",
      -          "fern",
      -          "waves",
      -          "chevrons",
      -          "diamonds",
      -          "herringbone",
      -          "cross_stitch",
      -          "sunburst"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "study_pattern"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "pattern"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "dye": {
      -        "enum": [
      -          "ochre",
      -          "kelp",
      -          "berry",
      -          "charcoal"
      -        ],
      -        "type": "string"
      -      },
      -      "fabric": {
      -        "enum": [
      -          "linen",
      -          "sailcloth"
      -        ],
      -        "type": "string"
      -      },
      -      "pattern": {
      -        "enum": [
      -          "plain",
      -          "stripes",
      -          "stars",
      -          "fern",
      -          "waves",
      -          "checks",
      -          "dots",
      -          "chevrons",
      -          "diamonds",
      -          "herringbone",
      -          "cross_stitch",
      -          "sunburst"
      -        ],
      -        "type": "string"
      -      },
      -      "style": {
      -        "enum": [
      -          "explorer",
      -          "mariner",
      -          "gardener",
      -          "waistcoat",
      -          "tunic",
      -          "poncho"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "tailor_garment"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "style",
      -      "fabric",
      -      "dye",
      -      "pattern"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "design": {
      -        "anyOf": [
      -          {
      -            "pattern": "^(explorer|mariner|gardener|waistcoat|tunic|poncho):(linen|sailcloth):(ochre|kelp|berry|charcoal):(plain|stripes|stars|fern|waves|checks|dots|chevrons|diamonds|herringbone|cross_stitch|sunburst)$",
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ]
      -      },
      -      "type": {
      -        "const": "wear_garment"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "design"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "credit": {
      -        "type": "boolean"
      -      },
      -      "design": {
      -        "pattern": "^(explorer|mariner|gardener|waistcoat|tunic|poncho):(linen|sailcloth):(ochre|kelp|berry|charcoal):(plain|stripes|stars|fern|waves|checks|dots|chevrons|diamonds|herringbone|cross_stitch|sunburst)$",
      -        "type": "string"
      -      },
      -      "expectedVersion": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "type": {
      -        "const": "share_design"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "design",
      -      "expectedVersion",
      -      "credit"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "entry": {
      -        "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "copy_design"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "entry"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "form": {
      -        "enum": [
      -          "cup",
      -          "bowl",
      -          "vase",
      -          "planter"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "throw_pottery"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "form"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "glaze": {
      -        "enum": [
      -          "iron",
      -          "ash",
      -          "copper"
      -        ],
      -        "type": "string"
      -      },
      -      "motif": {
      -        "enum": [
      -          "plain",
      -          "bands",
      -          "waves"
      -        ],
      -        "type": "string"
      -      },
      -      "piece": {
      -        "pattern": "^[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$",
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "glaze_pottery"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "piece",
      -      "glaze",
      -      "motif"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "piece": {
      -        "pattern": "^[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$",
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "fire_pottery"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "piece"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "piece": {
      -        "pattern": "^[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$",
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "collect_pottery"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "piece"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "credit": {
      -        "type": "boolean"
      -      },
      -      "expectedVersion": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "piece": {
      -        "pattern": "^[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$",
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "display_pottery"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "piece",
      -      "expectedVersion",
      -      "credit"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "piece": {
      -        "pattern": "^[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$",
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "reclaim_pottery"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "piece"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "crop": {
      -        "enum": [
      -          "wheat",
      -          "vegetables",
      -          "herbs",
      -          "flowers"
      -        ],
      -        "type": "string"
      -      },
      -      "expectedVersion": {
      -        "maximum": 9007199254740989,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "plot": {
      -        "enum": [
      -          "plot_1",
      -          "plot_2",
      -          "plot_3",
      -          "plot_4",
      -          "plot_5",
      -          "plot_6",
      -          "plot_7",
      -          "plot_8",
      -          "plot_9",
      -          "plot_10",
      -          "plot_11",
      -          "plot_12"
      -        ],
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "farm_plant"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "expectedVersion",
      -      "requestId",
      -      "plot",
      -      "crop"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "expectedVersion": {
      -        "maximum": 9007199254740989,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "plot": {
      -        "enum": [
      -          "plot_1",
      -          "plot_2",
      -          "plot_3",
      -          "plot_4",
      -          "plot_5",
      -          "plot_6",
      -          "plot_7",
      -          "plot_8",
      -          "plot_9",
      -          "plot_10",
      -          "plot_11",
      -          "plot_12"
      -        ],
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "farm_tend"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "expectedVersion",
      -      "requestId",
      -      "plot"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "expectedVersion": {
      -        "maximum": 9007199254740989,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "plot": {
      -        "enum": [
      -          "plot_1",
      -          "plot_2",
      -          "plot_3",
      -          "plot_4",
      -          "plot_5",
      -          "plot_6",
      -          "plot_7",
      -          "plot_8",
      -          "plot_9",
      -          "plot_10",
      -          "plot_11",
      -          "plot_12"
      -        ],
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "farm_harvest"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "expectedVersion",
      -      "requestId",
      -      "plot"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "expectedCast": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "expectedVersion": {
      -        "maximum": 9007199254740989,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "prepare_fish"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "expectedVersion",
      -      "requestId",
      -      "expectedCast"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "expectedVersion": {
      -        "maximum": 9007199254740989,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "recipe": {
      -        "enum": [
      -          "flour",
      -          "bread",
      -          "flatbread",
      -          "vegetable_soup",
      -          "fish_stew",
      -          "herbal_tea",
      -          "bouquet"
      -        ],
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "source": {
      -        "enum": [
      -          "bag",
      -          "pantry"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "food_craft"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "expectedVersion",
      -      "requestId",
      -      "recipe",
      -      "source"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amount": {
      -        "maximum": 20,
      -        "minimum": 1,
      -        "type": "integer"
      -      },
      -      "expectedVersion": {
      -        "maximum": 9007199254740989,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "item": {
      -        "enum": [
      -          "wheat",
      -          "vegetables",
      -          "herbs",
      -          "flowers",
      -          "fish",
      -          "flour",
      -          "bread",
      -          "flatbread",
      -          "vegetable_soup",
      -          "fish_stew",
      -          "herbal_tea",
      -          "bouquet"
      -        ],
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "pantry_deposit"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "expectedVersion",
      -      "requestId",
      -      "item",
      -      "amount"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amount": {
      -        "maximum": 20,
      -        "minimum": 1,
      -        "type": "integer"
      -      },
      -      "expectedVersion": {
      -        "maximum": 9007199254740989,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "item": {
      -        "enum": [
      -          "wheat",
      -          "vegetables",
      -          "herbs",
      -          "flowers",
      -          "fish",
      -          "flour",
      -          "bread",
      -          "flatbread",
      -          "vegetable_soup",
      -          "fish_stew",
      -          "herbal_tea",
      -          "bouquet"
      -        ],
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "pantry_take"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "expectedVersion",
      -      "requestId",
      -      "item",
      -      "amount"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "credit": {
      -        "type": "boolean"
      -      },
      -      "expectedVersion": {
      -        "maximum": 9007199254740989,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "recipe": {
      -        "enum": [
      -          "bread",
      -          "flatbread",
      -          "vegetable_soup",
      -          "fish_stew",
      -          "herbal_tea"
      -        ],
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "slot": {
      -        "enum": [
      -          "northwest",
      -          "northeast",
      -          "southwest",
      -          "southeast"
      -        ],
      -        "type": "string"
      -      },
      -      "source": {
      -        "enum": [
      -          "bag",
      -          "pantry"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "serve_meal"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "expectedVersion",
      -      "requestId",
      -      "recipe",
      -      "slot",
      -      "source",
      -      "credit"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "expectedVersion": {
      -        "maximum": 9007199254740989,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "slot": {
      -        "enum": [
      -          "northwest",
      -          "northeast",
      -          "southwest",
      -          "southeast"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "eat_meal"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "expectedVersion",
      -      "requestId",
      -      "slot"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "expectedVersion": {
      -        "maximum": 9007199254740989,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "slot": {
      -        "enum": [
      -          "northwest",
      -          "northeast",
      -          "southwest",
      -          "southeast"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "pack_meal"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "expectedVersion",
      -      "requestId",
      -      "slot"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "credit": {
      -        "type": "boolean"
      -      },
      -      "expectedVersion": {
      -        "maximum": 9007199254740989,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "source": {
      -        "enum": [
      -          "bag",
      -          "pantry"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "place_bouquet"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "expectedVersion",
      -      "requestId",
      -      "source",
      -      "credit"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "expectedVersion": {
      -        "maximum": 9007199254740989,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "take_bouquet"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "expectedVersion",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "tuning": {
      -        "enum": [
      -          "open",
      -          "bright",
      -          "low"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "tune_harp"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "tuning"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "rhythm": {
      -        "enum": [
      -          "even",
      -          "lilt",
      -          "spaced"
      -        ],
      -        "type": "string"
      -      },
      -      "strings": {
      -        "items": {
      -          "maximum": 7,
      -          "minimum": 0,
      -          "type": "integer"
      -        },
      -        "maxItems": 8,
      -        "minItems": 1,
      -        "type": "array"
      -      },
      -      "type": {
      -        "const": "play_harp"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "strings",
      -      "rhythm"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "replay_harp"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "damp_harp"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "attention": {
      -        "enum": [
      -          "shape",
      -          "markings",
      -          "movement"
      -        ],
      -        "type": "string"
      -      },
      -      "expectedCast": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "study_catch"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "attention",
      -      "expectedCast",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "to": {
      -        "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "wave"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "attention": {
      -        "enum": [
      -          "shape",
      -          "surface"
      -        ],
      -        "type": "string"
      -      },
      -      "replaceHeld": {
      -        "type": "boolean"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "source": {
      -        "enum": [
      -          "long_view_pear"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "collect_orchard_sample"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "source",
      -      "attention",
      -      "replaceHeld",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "arrangement": {
      -        "enum": [
      -          "row",
      -          "fan",
      -          "cluster"
      -        ],
      -        "type": "string"
      -      },
      -      "credit": {
      -        "type": "boolean"
      -      },
      -      "expectedVersion": {
      -        "maximum": 9007199254740991,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "tray": {
      -        "enum": [
      -          "left",
      -          "middle",
      -          "right"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "share_orchard_sample"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "tray",
      -      "arrangement",
      -      "expectedVersion",
      -      "credit",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "attention": {
      -        "enum": [
      -          "shape",
      -          "surface",
      -          "compare"
      -        ],
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "sampleSequence": {
      -        "maximum": 9007199254740991,
      -        "minimum": 1,
      -        "type": "integer"
      -      },
      -      "target": {
      -        "enum": [
      -          "held",
      -          "left",
      -          "middle",
      -          "right"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "study_orchard_sample"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "target",
      -      "attention",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "credit": {
      -        "type": "boolean"
      -      },
      -      "expectedVersion": {
      -        "maximum": 999999999999,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "recipe": {
      -        "enum": [
      -          "plain",
      -          "mint",
      -          "juniper",
      -          "blend"
      -        ],
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "tea_brew"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "recipe",
      -      "credit",
      -      "expectedVersion",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "cup": {
      -        "enum": [
      -          "west",
      -          "east"
      -        ],
      -        "type": "string"
      -      },
      -      "expectedVersion": {
      -        "maximum": 999999999999,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "tea_pour"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "cup",
      -      "expectedVersion",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "cup": {
      -        "enum": [
      -          "west",
      -          "east"
      -        ],
      -        "type": "string"
      -      },
      -      "expectedVersion": {
      -        "maximum": 999999999999,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "tea_rinse"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "cup",
      -      "expectedVersion",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "attention": {
      -        "enum": [
      -          "aroma",
      -          "warmth",
      -          "aftertaste"
      -        ],
      -        "type": "string"
      -      },
      -      "cup": {
      -        "enum": [
      -          "west",
      -          "east"
      -        ],
      -        "type": "string"
      -      },
      -      "expectedVersion": {
      -        "maximum": 999999999999,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "tea_taste"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "cup",
      -      "attention",
      -      "expectedVersion",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "inspect_tea"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "credit": {
      -        "type": "boolean"
      -      },
      -      "dye": {
      -        "enum": [
      -          "lagoon",
      -          "ochre",
      -          "heather"
      -        ],
      -        "type": "string"
      -      },
      -      "motif": {
      -        "enum": [
      -          "tide",
      -          "fern",
      -          "stars"
      -        ],
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "weave_band"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "motif",
      -      "dye",
      -      "credit",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "inspect_weaving"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "cloth": {
      -        "maximum": 999999999999,
      -        "minimum": 1,
      -        "type": "integer"
      -      },
      -      "credit": {
      -        "type": "boolean"
      -      },
      -      "expectedVersion": {
      -        "maximum": 999999999999,
      -        "minimum": 0,
      -        "type": "integer"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "display_cloth"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "cloth",
      -      "expectedVersion",
      -      "credit",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "inspect_display"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "bed": {
      -        "enum": [
      -          "shellpath",
      -          "windbreak",
      -          "bellpost"
      -        ],
      -        "type": "string"
      -      },
      -      "credit": {
      -        "type": "boolean"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "style": {
      -        "enum": [
      -          "shell_cup",
      -          "pebble_shallows",
      -          "reed_screen",
      -          "stone_nook",
      -          "sun_cups",
      -          "dusk_bells"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "contribute_habitat"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "bed",
      -      "style",
      -      "credit",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "bed": {
      -        "enum": [
      -          "shellpath",
      -          "windbreak",
      -          "bellpost"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "inspect_habitat"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "bed"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "notes": {
      -        "items": {
      -          "maximum": 5,
      -          "minimum": 0,
      -          "type": "integer"
      -        },
      -        "maxItems": 4,
      -        "minItems": 4,
      -        "type": "array"
      -      },
      -      "rhythm": {
      -        "enum": [
      -          "even",
      -          "lilt",
      -          "spaced"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "rehearse_phrase"
      -      },
      -      "voice": {
      -        "enum": [
      -          "bell",
      -          "reed",
      -          "tide"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "voice",
      -      "rhythm",
      -      "notes"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "answerTo": {
      -        "pattern": "^[a-f0-9-]{36}$",
      -        "type": "string"
      -      },
      -      "credit": {
      -        "type": "boolean"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "leave_phrase"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "credit",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "phrase": {
      -        "pattern": "^[a-f0-9-]{36}$",
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "listen_phrase"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "phrase"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "animal": {
      -        "enum": [
      -          "aster_birds",
      -          "aster_birds_companion",
      -          "aster_small",
      -          "workshop_birds",
      -          "workshop_birds_companion",
      -          "workshop_small",
      -          "reedwake_birds",
      -          "reedwake_birds_companion",
      -          "reedwake_small",
      -          "nightjar_birds",
      -          "nightjar_birds_companion",
      -          "nightjar_small",
      -          "kelpglass_birds",
      -          "kelpglass_birds_companion",
      -          "kelpglass_small",
      -          "ochre_birds",
      -          "ochre_birds_companion",
      -          "ochre_small",
      -          "juniper_birds",
      -          "juniper_birds_companion",
      -          "juniper_small",
      -          "landing_gulls",
      -          "landing_gulls_companion",
      -          "harbor_swifts",
      -          "landing_crabs",
      -          "driftwood_crabs",
      -          "main_meadow_butterflies",
      -          "windward_butterflies",
      -          "commons_moths"
      -        ],
      -        "type": "string"
      -      },
      -      "attention": {
      -        "enum": [
      -          "movement",
      -          "markings",
      -          "habitat"
      -        ],
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "study_wildlife"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "animal",
      -      "attention",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "animal": {
      -        "enum": [
      -          "aster_birds",
      -          "aster_birds_companion",
      -          "aster_small",
      -          "workshop_birds",
      -          "workshop_birds_companion",
      -          "workshop_small",
      -          "reedwake_birds",
      -          "reedwake_birds_companion",
      -          "reedwake_small",
      -          "nightjar_birds",
      -          "nightjar_birds_companion",
      -          "nightjar_small",
      -          "kelpglass_birds",
      -          "kelpglass_birds_companion",
      -          "kelpglass_small",
      -          "ochre_birds",
      -          "ochre_birds_companion",
      -          "ochre_small",
      -          "juniper_birds",
      -          "juniper_birds_companion",
      -          "juniper_small",
      -          "landing_gulls",
      -          "landing_gulls_companion",
      -          "harbor_swifts",
      -          "landing_crabs",
      -          "driftwood_crabs",
      -          "main_meadow_butterflies",
      -          "windward_butterflies",
      -          "commons_moths"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "watch_wildlife"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "animal"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "node": {
      -        "enum": [
      -          "wood_1",
      -          "wood_2",
      -          "stone_3",
      -          "fiber_4",
      -          "clay_5",
      -          "wood_6",
      -          "wood_7",
      -          "wood_8",
      -          "stone_9",
      -          "fiber_10",
      -          "clay_11",
      -          "wood_12",
      -          "wood_13",
      -          "wood_14",
      -          "stone_15",
      -          "fiber_16",
      -          "clay_17",
      -          "wood_18",
      -          "wood_19",
      -          "wood_20",
      -          "stone_21",
      -          "fiber_22",
      -          "clay_23",
      -          "wood_24",
      -          "wood_25",
      -          "wood_26",
      -          "stone_27",
      -          "fiber_28",
      -          "clay_29",
      -          "wood_30",
      -          "wood_31",
      -          "wood_32",
      -          "stone_33",
      -          "fiber_34",
      -          "clay_35",
      -          "wood_36",
      -          "wood_37",
      -          "wood_38",
      -          "stone_39",
      -          "fiber_40",
      -          "clay_41",
      -          "wood_42",
      -          "wood_43",
      -          "wood_44",
      -          "stone_45",
      -          "fiber_46",
      -          "clay_47",
      -          "wood_48"
      -        ],
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "gather"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "node",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "batches": {
      -        "maximum": 25,
      -        "minimum": 1,
      -        "type": "integer"
      -      },
      -      "recipe": {
      -        "enum": [
      -          "plank",
      -          "rope",
      -          "brick"
      -        ],
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "craft"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "recipe",
      -      "batches",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "name": {
      -        "maxLength": 60,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "points": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "x": {
      -              "type": "number"
      -            },
      -            "z": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "x",
      -            "z"
      -          ],
      -          "type": "object"
      -        },
      -        "maxItems": 8,
      -        "minItems": 2,
      -        "type": "array"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "surface": {
      -        "enum": [
      -          "gravel",
      -          "flagstone"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "plan_path"
      -      },
      -      "width": {
      -        "maximum": 2,
      -        "minimum": 1,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "name",
      -      "points",
      -      "width",
      -      "surface",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "finish": {
      -        "enum": [
      -          "cedar",
      -          "tidewashed",
      -          "birch",
      -          "ochre"
      -        ],
      -        "type": "string"
      -      },
      -      "kind": {
      -        "enum": [
      -          "stone_floor",
      -          "narrow_floor",
      -          "corner_wall",
      -          "stone_wall",
      -          "stone_half_wall",
      -          "stone_window",
      -          "stone_doorway",
      -          "stone_arch",
      -          "round_window",
      -          "clerestory",
      -          "lean_roof",
      -          "pavilion",
      -          "trellis_arch",
      -          "stool",
      -          "long_bench",
      -          "daybed",
      -          "writing_desk",
      -          "round_table",
      -          "picnic_table",
      -          "bookcase",
      -          "sideboard",
      -          "market_stall",
      -          "planter_box",
      -          "lantern_post",
      -          "washstand",
      -          "hearth",
      -          "settle",
      -          "lattice",
      -          "awning",
      -          "half_window",
      -          "half_railing",
      -          "pergola",
      -          "door",
      -          "half_floor",
      -          "corner_floor",
      -          "half_wall",
      -          "low_wall",
      -          "archway",
      -          "gable",
      -          "veranda",
      -          "chair",
      -          "bed",
      -          "table",
      -          "floor",
      -          "wall",
      -          "doorway",
      -          "window",
      -          "roof",
      -          "post",
      -          "bench",
      -          "shelter",
      -          "cabin"
      -        ],
      -        "type": "string"
      -      },
      -      "name": {
      -        "maxLength": 60,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "rotation": {
      -        "enum": [
      -          0,
      -          90,
      -          180,
      -          270
      -        ],
      -        "type": "integer"
      -      },
      -      "type": {
      -        "const": "plan_build"
      -      },
      -      "x": {
      -        "type": "number"
      -      },
      -      "z": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "kind",
      -      "name",
      -      "x",
      -      "z",
      -      "rotation",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "amount": {
      -        "maximum": 100,
      -        "minimum": 1,
      -        "type": "integer"
      -      },
      -      "material": {
      -        "enum": [
      -          "wood",
      -          "stone",
      -          "fiber",
      -          "clay",
      -          "plank",
      -          "rope",
      -          "brick"
      -        ],
      -        "type": "string"
      -      },
      -      "project": {
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "contribute"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "project",
      -      "material",
      -      "amount",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "project": {
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "build"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "project",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "project": {
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "dismantle"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "project",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "open": {
      -        "type": "boolean"
      -      },
      -      "project": {
      -        "maxLength": 80,
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "set_door"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "project",
      -      "open",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "cloth": {
      -        "maximum": 999999999999,
      -        "minimum": 1,
      -        "type": [
      -          "integer",
      -          "null"
      -        ]
      -      },
      -      "project": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "set_table_cloth"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "project",
      -      "cloth",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "finish": {
      -        "enum": [
      -          "cedar",
      -          "tidewashed",
      -          "birch",
      -          "ochre"
      -        ],
      -        "type": "string"
      -      },
      -      "project": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "refinish_build"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "project",
      -      "finish",
      -      "requestId"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "check_in"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "check_out"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "enter_house"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "leave_house"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "activity": {
      -        "enum": [
      -          "lamp_low",
      -          "lamp_bright",
      -          "window_open",
      -          "window_close",
      -          "hearth_light",
      -          "hearth_bank",
      -          "brew_tea",
      -          "read",
      -          "rest"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "house"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "activity"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "port": {
      -        "enum": [
      -          "home",
      -          "marina_west",
      -          "marina_middle",
      -          "marina_east",
      -          "marina_quay_w30",
      -          "marina_quay_w24",
      -          "marina_quay_w18",
      -          "marina_quay_e12",
      -          "marina_quay_e18",
      -          "marina_quay_e24",
      -          "marina_quay_e30",
      -          "aster",
      -          "workshop",
      -          "reedwake",
      -          "nightjar",
      -          "kelpglass",
      -          "ochre",
      -          "juniper"
      -        ],
      -        "type": "string"
      -      },
      -      "replacement": {
      -        "type": "boolean"
      -      },
      -      "type": {
      -        "const": "board_boat"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "port": {
      -        "enum": [
      -          "home",
      -          "marina_west",
      -          "marina_middle",
      -          "marina_east",
      -          "marina_quay_w30",
      -          "marina_quay_w24",
      -          "marina_quay_w18",
      -          "marina_quay_e12",
      -          "marina_quay_e18",
      -          "marina_quay_e24",
      -          "marina_quay_e30",
      -          "aster",
      -          "workshop",
      -          "reedwake",
      -          "nightjar",
      -          "kelpglass",
      -          "ochre",
      -          "juniper"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "enter_water"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "port": {
      -        "enum": [
      -          "home",
      -          "marina_west",
      -          "marina_middle",
      -          "marina_east",
      -          "marina_quay_w30",
      -          "marina_quay_w24",
      -          "marina_quay_w18",
      -          "marina_quay_e12",
      -          "marina_quay_e18",
      -          "marina_quay_e24",
      -          "marina_quay_e30",
      -          "aster",
      -          "workshop",
      -          "reedwake",
      -          "nightjar",
      -          "kelpglass",
      -          "ochre",
      -          "juniper"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "sail"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "port"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "port": {
      -        "enum": [
      -          "home",
      -          "marina_west",
      -          "marina_middle",
      -          "marina_east",
      -          "marina_quay_w30",
      -          "marina_quay_w24",
      -          "marina_quay_w18",
      -          "marina_quay_e12",
      -          "marina_quay_e18",
      -          "marina_quay_e24",
      -          "marina_quay_e30",
      -          "aster",
      -          "workshop",
      -          "reedwake",
      -          "nightjar",
      -          "kelpglass",
      -          "ochre",
      -          "juniper"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "swim_to_port"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "port"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "port": {
      -        "enum": [
      -          "home",
      -          "marina_west",
      -          "marina_middle",
      -          "marina_east",
      -          "marina_quay_w30",
      -          "marina_quay_w24",
      -          "marina_quay_w18",
      -          "marina_quay_e12",
      -          "marina_quay_e18",
      -          "marina_quay_e24",
      -          "marina_quay_e30",
      -          "aster",
      -          "workshop",
      -          "reedwake",
      -          "nightjar",
      -          "kelpglass",
      -          "ochre",
      -          "juniper"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "disembark"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "port"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "port": {
      -        "enum": [
      -          "home",
      -          "marina_west",
      -          "marina_middle",
      -          "marina_east",
      -          "marina_quay_w30",
      -          "marina_quay_w24",
      -          "marina_quay_w18",
      -          "marina_quay_e12",
      -          "marina_quay_e18",
      -          "marina_quay_e24",
      -          "marina_quay_e30",
      -          "aster",
      -          "workshop",
      -          "reedwake",
      -          "nightjar",
      -          "kelpglass",
      -          "ochre",
      -          "juniper"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "leave_water"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "port"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "port": {
      -        "enum": [
      -          "home",
      -          "marina_west",
      -          "marina_middle",
      -          "marina_east",
      -          "marina_quay_w30",
      -          "marina_quay_w24",
      -          "marina_quay_w18",
      -          "marina_quay_e12",
      -          "marina_quay_e18",
      -          "marina_quay_e24",
      -          "marina_quay_e30",
      -          "aster",
      -          "workshop",
      -          "reedwake",
      -          "nightjar",
      -          "kelpglass",
      -          "ochre",
      -          "juniper"
      -        ],
      -        "type": "string"
      -      },
      -      "purpose": {
      -        "enum": [
      -          "boat",
      -          "swim"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "walk_to_port"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "port"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "bench": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "sit"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "bench"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "bed": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "lie_down"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "bed"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "stand"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "cast_line"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "reel_in"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "inspect_catch"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "release_catch"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "focus": {
      -        "enum": [
      -          "wide",
      -          "detail"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "focus_telescope"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "focus"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "stars": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "maxItems": 8,
      -        "minItems": 2,
      -        "type": "array",
      -        "uniqueItems": true
      -      },
      -      "title": {
      -        "maxLength": 60,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "trace_constellation"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "stars",
      -      "title"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "target": {
      -        "enum": [
      -          "lantern_knot",
      -          "long_wake",
      -          "harbor_horizon"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "aim_telescope"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "target"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "choice": {
      -        "type": "string"
      -      },
      -      "feature": {
      -        "enum": [
      -          "chart_house_experience",
      -          "welcome_bell_experience",
      -          "wind_kites_experience",
      -          "poem_stones_experience",
      -          "shell_mobile_experience",
      -          "reed_wheel_experience",
      -          "lily_quiet_experience",
      -          "reed_hide_experience",
      -          "cloud_bell_experience",
      -          "meteor_table_experience",
      -          "spring_court_experience",
      -          "kelp_rack_experience",
      -          "pearl_pool_experience",
      -          "lagoon_chimes_experience",
      -          "clay_kiln_experience",
      -          "sun_circle_experience",
      -          "cliff_harp_experience",
      -          "glass_house_experience",
      -          "bee_garden_experience",
      -          "picnic_orchard_experience",
      -          "yard_winch_experience",
      -          "shared_forge_experience",
      -          "makers_table_experience",
      -          "aster_hammock_experience",
      -          "aster_bell_experience",
      -          "cave_echo",
      -          "mend_sail",
      -          "follow_rain",
      -          "adjust_windcloth",
      -          "shade_lamp",
      -          "press_wrack",
      -          "weave_rush",
      -          "read_tracks",
      -          "read_moon_dial",
      -          "listen_cairn",
      -          "study_glasswort",
      -          "study_small_shells",
      -          "mix_pigment",
      -          "read_fossil",
      -          "open_cistern",
      -          "sort_seeds",
      -          "stillwater",
      -          "reed_float",
      -          "lagoon_arch",
      -          "nest_watch",
      -          "star_chart",
      -          "current_study",
      -          "kelp_study",
      -          "pebble_study",
      -          "cliff_layers",
      -          "library_read",
      -          "rope_marks",
      -          "orchard_care",
      -          "brew_tea"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "interact"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "feature",
      -      "choice"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "motif": {
      -        "enum": [
      -          "greeting",
      -          "voyage",
      -          "invitation"
      -        ],
      -        "type": "string"
      -      },
      -      "text": {
      -        "maxLength": 280,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "compose_postcard"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "motif",
      -      "text"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "search_shore"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "object": {
      -        "enum": [
      -          "window_stone",
      -          "blue_button",
      -          "driftwood_bird"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "keep_object"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "object"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "object": {
      -        "enum": [
      -          "window_stone",
      -          "blue_button",
      -          "driftwood_bird"
      -        ],
      -        "type": "string"
      -      },
      -      "slot": {
      -        "enum": [
      -          "left",
      -          "middle",
      -          "right"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "place_object"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "object",
      -      "slot"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "collect_seed"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "inspect_garden"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "bed": {
      -        "enum": [
      -          "shellpath",
      -          "windbreak",
      -          "bellpost"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "plant"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "bed"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "bed": {
      -        "enum": [
      -          "shellpath",
      -          "windbreak",
      -          "bellpost"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "tend"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "bed"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "place": {
      -        "enum": [
      -          "arrival",
      -          "observatory",
      -          "tidepool",
      -          "garden",
      -          "harbor",
      -          "lantern",
      -          "driftwood",
      -          "harbor_inn",
      -          "reedwake",
      -          "lagoon",
      -          "nightjar",
      -          "high_sky",
      -          "kelpglass",
      -          "kelp_window",
      -          "ochre",
      -          "folded_cliffs",
      -          "dune_library",
      -          "juniper",
      -          "long_view",
      -          "tea_house",
      -          "juniper_farm",
      -          "inn_kitchen",
      -          "inn_table",
      -          "chart_house",
      -          "welcome_bell",
      -          "wind_kites",
      -          "poem_stones",
      -          "shell_mobile",
      -          "reed_wheel",
      -          "lily_quiet",
      -          "reed_hide",
      -          "cloud_bell",
      -          "meteor_table",
      -          "spring_court",
      -          "kelp_rack",
      -          "pearl_pool",
      -          "lagoon_chimes",
      -          "clay_kiln",
      -          "sun_circle",
      -          "cliff_harp",
      -          "glass_house",
      -          "bee_garden",
      -          "picnic_orchard",
      -          "yard_winch",
      -          "shared_forge",
      -          "makers_table",
      -          "aster_hammock",
      -          "aster_bell",
      -          "menders_table",
      -          "rain_runnel",
      -          "windcloth_line",
      -          "quiet_alcove",
      -          "wrack_press",
      -          "basket_hut",
      -          "reedprint_bank",
      -          "moon_dial",
      -          "listening_cairn",
      -          "glasswort_flat",
      -          "shell_nursery",
      -          "pigment_basin",
      -          "fossil_niche",
      -          "rain_chain_court",
      -          "seed_cabinet",
      -          "workshop",
      -          "sawyard",
      -          "builders_green",
      -          "clay_cut",
      -          "echo_cave",
      -          "aster_house",
      -          "aster_cove"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "travel"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "place"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "navigate"
      -      },
      -      "x": {
      -        "maximum": 225,
      -        "minimum": -420,
      -        "type": "number"
      -      },
      -      "z": {
      -        "maximum": 295,
      -        "minimum": -255,
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "x",
      -      "z"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "dx": {
      -        "maximum": 1.5,
      -        "minimum": -1.5,
      -        "type": "number"
      -      },
      -      "dz": {
      -        "maximum": 1.5,
      -        "minimum": -1.5,
      -        "type": "number"
      -      },
      -      "type": {
      -        "const": "move"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "dx",
      -      "dz"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "meters": {
      -        "description": "Requested distance, capped to one step: foot 1.5m, swim 2.5m, boat 8m. Omit for a full step.",
      -        "maximum": 120,
      -        "minimum": 0.01,
      -        "type": "number"
      -      },
      -      "type": {
      -        "const": "advance"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "stop"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "rest"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "home"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "return_home"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "observe"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "measure"
      -      }
      -    },
      -    "required": [
      -      "type"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "heading": {
      -        "maximum": 360,
      -        "minimum": 0,
      -        "type": "number"
      -      },
      -      "type": {
      -        "const": "look"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "heading"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "bodyType": {
      -        "enum": [
      -          "male",
      -          "female"
      -        ],
      -        "type": "string"
      -      },
      -      "color": {
      -        "enum": [
      -          "amber",
      -          "aqua",
      -          "rose",
      -          "violet"
      -        ],
      -        "type": "string"
      -      },
      -      "headwear": {
      -        "enum": [
      -          "cap",
      -          "straw_hat",
      -          "none",
      -          "crown"
      -        ],
      -        "type": "string"
      -      },
      -      "model": {
      -        "description": "Optional self-reported model. Use null if unknown; omission keeps the previous label.",
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "name": {
      -        "maxLength": 32,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "style": {
      -        "enum": [
      -          "explorer",
      -          "mariner",
      -          "gardener"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "profile"
      -      },
      -      "visible": {
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "name",
      -      "color",
      -      "visible"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "type": {
      -        "const": "tune"
      -      },
      -      "values": {
      -        "items": {
      -          "maximum": 5,
      -          "minimum": 1,
      -          "type": "integer"
      -        },
      -        "maxItems": 3,
      -        "minItems": 3,
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "values"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "requestId": {
      -        "maxLength": 80,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "tags": {
      -        "items": {
      -          "maxLength": 40,
      -          "type": "string"
      -        },
      -        "maxItems": 12,
      -        "type": "array"
      -      },
      -      "text": {
      -        "maxLength": 20000,
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "title": {
      -        "maxLength": 160,
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "note"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "text"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "color": {
      -        "enum": [
      -          "amber",
      -          "aqua",
      -          "rose",
      -          "violet"
      -        ],
      -        "type": "string"
      -      },
      -      "type": {
      -        "const": "lantern"
      -      }
      -    },
      -    "required": [
      -      "type",
      -      "color"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "credit": {
      +        "type": "boolean"
      +      },
      +      "expectedVersion": {
      +        "maximum": 5,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "project": {
      +        "const": "harbor_skiff"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "task": {
      +        "enum": [
      +          "survey",
      +          "fit_plank",
      +          "stitch_sail",
      +          "seal",
      +          "inspect"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "contribute_project"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "project",
      +      "task",
      +      "expectedVersion",
      +      "credit",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "sample": {
      +        "enum": [
      +          "linen",
      +          "sailcloth",
      +          "ochre",
      +          "kelp",
      +          "berry",
      +          "charcoal"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "collect_tailoring"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "sample"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "pattern": {
      +        "enum": [
      +          "stars",
      +          "fern",
      +          "waves",
      +          "chevrons",
      +          "diamonds",
      +          "herringbone",
      +          "cross_stitch",
      +          "sunburst"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "study_pattern"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "pattern"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "dye": {
      +        "enum": [
      +          "ochre",
      +          "kelp",
      +          "berry",
      +          "charcoal"
      +        ],
      +        "type": "string"
      +      },
      +      "fabric": {
      +        "enum": [
      +          "linen",
      +          "sailcloth"
      +        ],
      +        "type": "string"
      +      },
      +      "pattern": {
      +        "enum": [
      +          "plain",
      +          "stripes",
      +          "stars",
      +          "fern",
      +          "waves",
      +          "checks",
      +          "dots",
      +          "chevrons",
      +          "diamonds",
      +          "herringbone",
      +          "cross_stitch",
      +          "sunburst"
      +        ],
      +        "type": "string"
      +      },
      +      "style": {
      +        "enum": [
      +          "explorer",
      +          "mariner",
      +          "gardener",
      +          "waistcoat",
      +          "tunic",
      +          "poncho"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "tailor_garment"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "style",
      +      "fabric",
      +      "dye",
      +      "pattern"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "design": {
      +        "anyOf": [
      +          {
      +            "pattern": "^(explorer|mariner|gardener|waistcoat|tunic|poncho):(linen|sailcloth):(ochre|kelp|berry|charcoal):(plain|stripes|stars|fern|waves|checks|dots|chevrons|diamonds|herringbone|cross_stitch|sunburst)$",
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "type": {
      +        "const": "wear_garment"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "design"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "credit": {
      +        "type": "boolean"
      +      },
      +      "design": {
      +        "pattern": "^(explorer|mariner|gardener|waistcoat|tunic|poncho):(linen|sailcloth):(ochre|kelp|berry|charcoal):(plain|stripes|stars|fern|waves|checks|dots|chevrons|diamonds|herringbone|cross_stitch|sunburst)$",
      +        "type": "string"
      +      },
      +      "expectedVersion": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "type": {
      +        "const": "share_design"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "design",
      +      "expectedVersion",
      +      "credit"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "entry": {
      +        "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$",
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "copy_design"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "entry"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "form": {
      +        "enum": [
      +          "cup",
      +          "bowl",
      +          "vase",
      +          "planter"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "throw_pottery"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "form"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "glaze": {
      +        "enum": [
      +          "iron",
      +          "ash",
      +          "copper"
      +        ],
      +        "type": "string"
      +      },
      +      "motif": {
      +        "enum": [
      +          "plain",
      +          "bands",
      +          "waves"
      +        ],
      +        "type": "string"
      +      },
      +      "piece": {
      +        "pattern": "^[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$",
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "glaze_pottery"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "piece",
      +      "glaze",
      +      "motif"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "piece": {
      +        "pattern": "^[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$",
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "fire_pottery"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "piece"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "piece": {
      +        "pattern": "^[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$",
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "collect_pottery"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "piece"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "credit": {
      +        "type": "boolean"
      +      },
      +      "expectedVersion": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "piece": {
      +        "pattern": "^[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$",
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "display_pottery"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "piece",
      +      "expectedVersion",
      +      "credit"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "piece": {
      +        "pattern": "^[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$",
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "reclaim_pottery"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "piece"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "crop": {
      +        "enum": [
      +          "wheat",
      +          "vegetables",
      +          "herbs",
      +          "flowers"
      +        ],
      +        "type": "string"
      +      },
      +      "expectedVersion": {
      +        "maximum": 9007199254740989,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "plot": {
      +        "enum": [
      +          "plot_1",
      +          "plot_2",
      +          "plot_3",
      +          "plot_4",
      +          "plot_5",
      +          "plot_6",
      +          "plot_7",
      +          "plot_8",
      +          "plot_9",
      +          "plot_10",
      +          "plot_11",
      +          "plot_12"
      +        ],
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "farm_plant"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "expectedVersion",
      +      "requestId",
      +      "plot",
      +      "crop"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "expectedVersion": {
      +        "maximum": 9007199254740989,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "plot": {
      +        "enum": [
      +          "plot_1",
      +          "plot_2",
      +          "plot_3",
      +          "plot_4",
      +          "plot_5",
      +          "plot_6",
      +          "plot_7",
      +          "plot_8",
      +          "plot_9",
      +          "plot_10",
      +          "plot_11",
      +          "plot_12"
      +        ],
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "farm_tend"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "expectedVersion",
      +      "requestId",
      +      "plot"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "expectedVersion": {
      +        "maximum": 9007199254740989,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "plot": {
      +        "enum": [
      +          "plot_1",
      +          "plot_2",
      +          "plot_3",
      +          "plot_4",
      +          "plot_5",
      +          "plot_6",
      +          "plot_7",
      +          "plot_8",
      +          "plot_9",
      +          "plot_10",
      +          "plot_11",
      +          "plot_12"
      +        ],
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "farm_harvest"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "expectedVersion",
      +      "requestId",
      +      "plot"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "expectedCast": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "expectedVersion": {
      +        "maximum": 9007199254740989,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "prepare_fish"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "expectedVersion",
      +      "requestId",
      +      "expectedCast"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "expectedVersion": {
      +        "maximum": 9007199254740989,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "recipe": {
      +        "enum": [
      +          "flour",
      +          "bread",
      +          "flatbread",
      +          "vegetable_soup",
      +          "fish_stew",
      +          "herbal_tea",
      +          "bouquet"
      +        ],
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "source": {
      +        "enum": [
      +          "bag",
      +          "pantry"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "food_craft"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "expectedVersion",
      +      "requestId",
      +      "recipe",
      +      "source"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount": {
      +        "maximum": 20,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "expectedVersion": {
      +        "maximum": 9007199254740989,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "item": {
      +        "enum": [
      +          "wheat",
      +          "vegetables",
      +          "herbs",
      +          "flowers",
      +          "fish",
      +          "flour",
      +          "bread",
      +          "flatbread",
      +          "vegetable_soup",
      +          "fish_stew",
      +          "herbal_tea",
      +          "bouquet"
      +        ],
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "pantry_deposit"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "expectedVersion",
      +      "requestId",
      +      "item",
      +      "amount"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount": {
      +        "maximum": 20,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "expectedVersion": {
      +        "maximum": 9007199254740989,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "item": {
      +        "enum": [
      +          "wheat",
      +          "vegetables",
      +          "herbs",
      +          "flowers",
      +          "fish",
      +          "flour",
      +          "bread",
      +          "flatbread",
      +          "vegetable_soup",
      +          "fish_stew",
      +          "herbal_tea",
      +          "bouquet"
      +        ],
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "pantry_take"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "expectedVersion",
      +      "requestId",
      +      "item",
      +      "amount"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "credit": {
      +        "type": "boolean"
      +      },
      +      "expectedVersion": {
      +        "maximum": 9007199254740989,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "recipe": {
      +        "enum": [
      +          "bread",
      +          "flatbread",
      +          "vegetable_soup",
      +          "fish_stew",
      +          "herbal_tea"
      +        ],
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "slot": {
      +        "enum": [
      +          "northwest",
      +          "northeast",
      +          "southwest",
      +          "southeast"
      +        ],
      +        "type": "string"
      +      },
      +      "source": {
      +        "enum": [
      +          "bag",
      +          "pantry"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "serve_meal"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "expectedVersion",
      +      "requestId",
      +      "recipe",
      +      "slot",
      +      "source",
      +      "credit"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "expectedVersion": {
      +        "maximum": 9007199254740989,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "slot": {
      +        "enum": [
      +          "northwest",
      +          "northeast",
      +          "southwest",
      +          "southeast"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "eat_meal"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "expectedVersion",
      +      "requestId",
      +      "slot"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "expectedVersion": {
      +        "maximum": 9007199254740989,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "slot": {
      +        "enum": [
      +          "northwest",
      +          "northeast",
      +          "southwest",
      +          "southeast"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "pack_meal"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "expectedVersion",
      +      "requestId",
      +      "slot"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "credit": {
      +        "type": "boolean"
      +      },
      +      "expectedVersion": {
      +        "maximum": 9007199254740989,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "source": {
      +        "enum": [
      +          "bag",
      +          "pantry"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "place_bouquet"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "expectedVersion",
      +      "requestId",
      +      "source",
      +      "credit"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "expectedVersion": {
      +        "maximum": 9007199254740989,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "take_bouquet"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "expectedVersion",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "tuning": {
      +        "enum": [
      +          "open",
      +          "bright",
      +          "low"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "tune_harp"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "tuning"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "rhythm": {
      +        "enum": [
      +          "even",
      +          "lilt",
      +          "spaced"
      +        ],
      +        "type": "string"
      +      },
      +      "strings": {
      +        "items": {
      +          "maximum": 7,
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "maxItems": 8,
      +        "minItems": 1,
      +        "type": "array"
      +      },
      +      "type": {
      +        "const": "play_harp"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "strings",
      +      "rhythm"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "replay_harp"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "damp_harp"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "attention": {
      +        "enum": [
      +          "shape",
      +          "markings",
      +          "movement"
      +        ],
      +        "type": "string"
      +      },
      +      "expectedCast": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "study_catch"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "attention",
      +      "expectedCast",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "to": {
      +        "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "wave"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "attention": {
      +        "enum": [
      +          "shape",
      +          "surface"
      +        ],
      +        "type": "string"
      +      },
      +      "replaceHeld": {
      +        "type": "boolean"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "source": {
      +        "enum": [
      +          "long_view_pear"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "collect_orchard_sample"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "source",
      +      "attention",
      +      "replaceHeld",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "arrangement": {
      +        "enum": [
      +          "row",
      +          "fan",
      +          "cluster"
      +        ],
      +        "type": "string"
      +      },
      +      "credit": {
      +        "type": "boolean"
      +      },
      +      "expectedVersion": {
      +        "maximum": 9007199254740991,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "tray": {
      +        "enum": [
      +          "left",
      +          "middle",
      +          "right"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "share_orchard_sample"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "tray",
      +      "arrangement",
      +      "expectedVersion",
      +      "credit",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "attention": {
      +        "enum": [
      +          "shape",
      +          "surface",
      +          "compare"
      +        ],
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "sampleSequence": {
      +        "maximum": 9007199254740991,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "target": {
      +        "enum": [
      +          "held",
      +          "left",
      +          "middle",
      +          "right"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "study_orchard_sample"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "target",
      +      "attention",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "credit": {
      +        "type": "boolean"
      +      },
      +      "expectedVersion": {
      +        "maximum": 999999999999,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "recipe": {
      +        "enum": [
      +          "plain",
      +          "mint",
      +          "juniper",
      +          "blend"
      +        ],
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "tea_brew"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "recipe",
      +      "credit",
      +      "expectedVersion",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cup": {
      +        "enum": [
      +          "west",
      +          "east"
      +        ],
      +        "type": "string"
      +      },
      +      "expectedVersion": {
      +        "maximum": 999999999999,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "tea_pour"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "cup",
      +      "expectedVersion",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cup": {
      +        "enum": [
      +          "west",
      +          "east"
      +        ],
      +        "type": "string"
      +      },
      +      "expectedVersion": {
      +        "maximum": 999999999999,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "tea_rinse"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "cup",
      +      "expectedVersion",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "attention": {
      +        "enum": [
      +          "aroma",
      +          "warmth",
      +          "aftertaste"
      +        ],
      +        "type": "string"
      +      },
      +      "cup": {
      +        "enum": [
      +          "west",
      +          "east"
      +        ],
      +        "type": "string"
      +      },
      +      "expectedVersion": {
      +        "maximum": 999999999999,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "tea_taste"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "cup",
      +      "attention",
      +      "expectedVersion",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "inspect_tea"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "credit": {
      +        "type": "boolean"
      +      },
      +      "dye": {
      +        "enum": [
      +          "lagoon",
      +          "ochre",
      +          "heather"
      +        ],
      +        "type": "string"
      +      },
      +      "motif": {
      +        "enum": [
      +          "tide",
      +          "fern",
      +          "stars"
      +        ],
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "weave_band"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "motif",
      +      "dye",
      +      "credit",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "inspect_weaving"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cloth": {
      +        "maximum": 999999999999,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "credit": {
      +        "type": "boolean"
      +      },
      +      "expectedVersion": {
      +        "maximum": 999999999999,
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "display_cloth"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "cloth",
      +      "expectedVersion",
      +      "credit",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "inspect_display"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "bed": {
      +        "enum": [
      +          "shellpath",
      +          "windbreak",
      +          "bellpost"
      +        ],
      +        "type": "string"
      +      },
      +      "credit": {
      +        "type": "boolean"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "style": {
      +        "enum": [
      +          "shell_cup",
      +          "pebble_shallows",
      +          "reed_screen",
      +          "stone_nook",
      +          "sun_cups",
      +          "dusk_bells"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "contribute_habitat"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "bed",
      +      "style",
      +      "credit",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "bed": {
      +        "enum": [
      +          "shellpath",
      +          "windbreak",
      +          "bellpost"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "inspect_habitat"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "bed"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "notes": {
      +        "items": {
      +          "maximum": 5,
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        "maxItems": 4,
      +        "minItems": 4,
      +        "type": "array"
      +      },
      +      "rhythm": {
      +        "enum": [
      +          "even",
      +          "lilt",
      +          "spaced"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "rehearse_phrase"
      +      },
      +      "voice": {
      +        "enum": [
      +          "bell",
      +          "reed",
      +          "tide"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "voice",
      +      "rhythm",
      +      "notes"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "answerTo": {
      +        "pattern": "^[a-f0-9-]{36}$",
      +        "type": "string"
      +      },
      +      "credit": {
      +        "type": "boolean"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "leave_phrase"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "credit",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "phrase": {
      +        "pattern": "^[a-f0-9-]{36}$",
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "listen_phrase"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "phrase"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "animal": {
      +        "enum": [
      +          "aster_birds",
      +          "aster_birds_companion",
      +          "aster_small",
      +          "workshop_birds",
      +          "workshop_birds_companion",
      +          "workshop_small",
      +          "reedwake_birds",
      +          "reedwake_birds_companion",
      +          "reedwake_small",
      +          "nightjar_birds",
      +          "nightjar_birds_companion",
      +          "nightjar_small",
      +          "kelpglass_birds",
      +          "kelpglass_birds_companion",
      +          "kelpglass_small",
      +          "ochre_birds",
      +          "ochre_birds_companion",
      +          "ochre_small",
      +          "juniper_birds",
      +          "juniper_birds_companion",
      +          "juniper_small",
      +          "landing_gulls",
      +          "landing_gulls_companion",
      +          "harbor_swifts",
      +          "landing_crabs",
      +          "driftwood_crabs",
      +          "main_meadow_butterflies",
      +          "windward_butterflies",
      +          "commons_moths"
      +        ],
      +        "type": "string"
      +      },
      +      "attention": {
      +        "enum": [
      +          "movement",
      +          "markings",
      +          "habitat"
      +        ],
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "study_wildlife"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "animal",
      +      "attention",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "animal": {
      +        "enum": [
      +          "aster_birds",
      +          "aster_birds_companion",
      +          "aster_small",
      +          "workshop_birds",
      +          "workshop_birds_companion",
      +          "workshop_small",
      +          "reedwake_birds",
      +          "reedwake_birds_companion",
      +          "reedwake_small",
      +          "nightjar_birds",
      +          "nightjar_birds_companion",
      +          "nightjar_small",
      +          "kelpglass_birds",
      +          "kelpglass_birds_companion",
      +          "kelpglass_small",
      +          "ochre_birds",
      +          "ochre_birds_companion",
      +          "ochre_small",
      +          "juniper_birds",
      +          "juniper_birds_companion",
      +          "juniper_small",
      +          "landing_gulls",
      +          "landing_gulls_companion",
      +          "harbor_swifts",
      +          "landing_crabs",
      +          "driftwood_crabs",
      +          "main_meadow_butterflies",
      +          "windward_butterflies",
      +          "commons_moths"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "watch_wildlife"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "animal"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "node": {
      +        "enum": [
      +          "wood_1",
      +          "wood_2",
      +          "stone_3",
      +          "fiber_4",
      +          "clay_5",
      +          "wood_6",
      +          "wood_7",
      +          "wood_8",
      +          "stone_9",
      +          "fiber_10",
      +          "clay_11",
      +          "wood_12",
      +          "wood_13",
      +          "wood_14",
      +          "stone_15",
      +          "fiber_16",
      +          "clay_17",
      +          "wood_18",
      +          "wood_19",
      +          "wood_20",
      +          "stone_21",
      +          "fiber_22",
      +          "clay_23",
      +          "wood_24",
      +          "wood_25",
      +          "wood_26",
      +          "stone_27",
      +          "fiber_28",
      +          "clay_29",
      +          "wood_30",
      +          "wood_31",
      +          "wood_32",
      +          "stone_33",
      +          "fiber_34",
      +          "clay_35",
      +          "wood_36",
      +          "wood_37",
      +          "wood_38",
      +          "stone_39",
      +          "fiber_40",
      +          "clay_41",
      +          "wood_42",
      +          "wood_43",
      +          "wood_44",
      +          "stone_45",
      +          "fiber_46",
      +          "clay_47",
      +          "wood_48"
      +        ],
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "gather"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "node",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "batches": {
      +        "maximum": 25,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "recipe": {
      +        "enum": [
      +          "plank",
      +          "rope",
      +          "brick"
      +        ],
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "craft"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "recipe",
      +      "batches",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "name": {
      +        "maxLength": 60,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "points": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "x": {
      +              "type": "number"
      +            },
      +            "z": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "x",
      +            "z"
      +          ],
      +          "type": "object"
      +        },
      +        "maxItems": 8,
      +        "minItems": 2,
      +        "type": "array"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "surface": {
      +        "enum": [
      +          "gravel",
      +          "flagstone"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "plan_path"
      +      },
      +      "width": {
      +        "maximum": 2,
      +        "minimum": 1,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "name",
      +      "points",
      +      "width",
      +      "surface",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "finish": {
      +        "enum": [
      +          "cedar",
      +          "tidewashed",
      +          "birch",
      +          "ochre"
      +        ],
      +        "type": "string"
      +      },
      +      "kind": {
      +        "enum": [
      +          "stone_floor",
      +          "narrow_floor",
      +          "corner_wall",
      +          "stone_wall",
      +          "stone_half_wall",
      +          "stone_window",
      +          "stone_doorway",
      +          "stone_arch",
      +          "round_window",
      +          "clerestory",
      +          "lean_roof",
      +          "pavilion",
      +          "trellis_arch",
      +          "stool",
      +          "long_bench",
      +          "daybed",
      +          "writing_desk",
      +          "round_table",
      +          "picnic_table",
      +          "bookcase",
      +          "sideboard",
      +          "market_stall",
      +          "planter_box",
      +          "lantern_post",
      +          "washstand",
      +          "hearth",
      +          "settle",
      +          "lattice",
      +          "awning",
      +          "half_window",
      +          "half_railing",
      +          "pergola",
      +          "door",
      +          "half_floor",
      +          "corner_floor",
      +          "half_wall",
      +          "low_wall",
      +          "archway",
      +          "gable",
      +          "veranda",
      +          "chair",
      +          "bed",
      +          "table",
      +          "floor",
      +          "wall",
      +          "doorway",
      +          "window",
      +          "roof",
      +          "post",
      +          "bench",
      +          "shelter",
      +          "cabin"
      +        ],
      +        "type": "string"
      +      },
      +      "name": {
      +        "maxLength": 60,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "rotation": {
      +        "enum": [
      +          0,
      +          90,
      +          180,
      +          270
      +        ],
      +        "type": "integer"
      +      },
      +      "type": {
      +        "const": "plan_build"
      +      },
      +      "x": {
      +        "type": "number"
      +      },
      +      "z": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "kind",
      +      "name",
      +      "x",
      +      "z",
      +      "rotation",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "amount": {
      +        "maximum": 100,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "material": {
      +        "enum": [
      +          "wood",
      +          "stone",
      +          "fiber",
      +          "clay",
      +          "plank",
      +          "rope",
      +          "brick"
      +        ],
      +        "type": "string"
      +      },
      +      "project": {
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "contribute"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "project",
      +      "material",
      +      "amount",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "project": {
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "build"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "project",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "project": {
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "dismantle"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "project",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "open": {
      +        "type": "boolean"
      +      },
      +      "project": {
      +        "maxLength": 80,
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "set_door"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "project",
      +      "open",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "cloth": {
      +        "maximum": 999999999999,
      +        "minimum": 1,
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "project": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "set_table_cloth"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "project",
      +      "cloth",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "finish": {
      +        "enum": [
      +          "cedar",
      +          "tidewashed",
      +          "birch",
      +          "ochre"
      +        ],
      +        "type": "string"
      +      },
      +      "project": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "refinish_build"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "project",
      +      "finish",
      +      "requestId"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "check_in"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "check_out"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "enter_house"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "leave_house"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "activity": {
      +        "enum": [
      +          "lamp_low",
      +          "lamp_bright",
      +          "window_open",
      +          "window_close",
      +          "hearth_light",
      +          "hearth_bank",
      +          "brew_tea",
      +          "read",
      +          "rest"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "house"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "activity"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "port": {
      +        "enum": [
      +          "home",
      +          "marina_west",
      +          "marina_middle",
      +          "marina_east",
      +          "marina_quay_w30",
      +          "marina_quay_w24",
      +          "marina_quay_w18",
      +          "marina_quay_e12",
      +          "marina_quay_e18",
      +          "marina_quay_e24",
      +          "marina_quay_e30",
      +          "aster",
      +          "workshop",
      +          "reedwake",
      +          "nightjar",
      +          "kelpglass",
      +          "ochre",
      +          "juniper"
      +        ],
      +        "type": "string"
      +      },
      +      "replacement": {
      +        "type": "boolean"
      +      },
      +      "type": {
      +        "const": "board_boat"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "port": {
      +        "enum": [
      +          "home",
      +          "marina_west",
      +          "marina_middle",
      +          "marina_east",
      +          "marina_quay_w30",
      +          "marina_quay_w24",
      +          "marina_quay_w18",
      +          "marina_quay_e12",
      +          "marina_quay_e18",
      +          "marina_quay_e24",
      +          "marina_quay_e30",
      +          "aster",
      +          "workshop",
      +          "reedwake",
      +          "nightjar",
      +          "kelpglass",
      +          "ochre",
      +          "juniper"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "enter_water"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "port": {
      +        "enum": [
      +          "home",
      +          "marina_west",
      +          "marina_middle",
      +          "marina_east",
      +          "marina_quay_w30",
      +          "marina_quay_w24",
      +          "marina_quay_w18",
      +          "marina_quay_e12",
      +          "marina_quay_e18",
      +          "marina_quay_e24",
      +          "marina_quay_e30",
      +          "aster",
      +          "workshop",
      +          "reedwake",
      +          "nightjar",
      +          "kelpglass",
      +          "ochre",
      +          "juniper"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "sail"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "port"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "port": {
      +        "enum": [
      +          "home",
      +          "marina_west",
      +          "marina_middle",
      +          "marina_east",
      +          "marina_quay_w30",
      +          "marina_quay_w24",
      +          "marina_quay_w18",
      +          "marina_quay_e12",
      +          "marina_quay_e18",
      +          "marina_quay_e24",
      +          "marina_quay_e30",
      +          "aster",
      +          "workshop",
      +          "reedwake",
      +          "nightjar",
      +          "kelpglass",
      +          "ochre",
      +          "juniper"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "swim_to_port"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "port"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "port": {
      +        "enum": [
      +          "home",
      +          "marina_west",
      +          "marina_middle",
      +          "marina_east",
      +          "marina_quay_w30",
      +          "marina_quay_w24",
      +          "marina_quay_w18",
      +          "marina_quay_e12",
      +          "marina_quay_e18",
      +          "marina_quay_e24",
      +          "marina_quay_e30",
      +          "aster",
      +          "workshop",
      +          "reedwake",
      +          "nightjar",
      +          "kelpglass",
      +          "ochre",
      +          "juniper"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "disembark"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "port"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "port": {
      +        "enum": [
      +          "home",
      +          "marina_west",
      +          "marina_middle",
      +          "marina_east",
      +          "marina_quay_w30",
      +          "marina_quay_w24",
      +          "marina_quay_w18",
      +          "marina_quay_e12",
      +          "marina_quay_e18",
      +          "marina_quay_e24",
      +          "marina_quay_e30",
      +          "aster",
      +          "workshop",
      +          "reedwake",
      +          "nightjar",
      +          "kelpglass",
      +          "ochre",
      +          "juniper"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "leave_water"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "port"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "port": {
      +        "enum": [
      +          "home",
      +          "marina_west",
      +          "marina_middle",
      +          "marina_east",
      +          "marina_quay_w30",
      +          "marina_quay_w24",
      +          "marina_quay_w18",
      +          "marina_quay_e12",
      +          "marina_quay_e18",
      +          "marina_quay_e24",
      +          "marina_quay_e30",
      +          "aster",
      +          "workshop",
      +          "reedwake",
      +          "nightjar",
      +          "kelpglass",
      +          "ochre",
      +          "juniper"
      +        ],
      +        "type": "string"
      +      },
      +      "purpose": {
      +        "enum": [
      +          "boat",
      +          "swim"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "walk_to_port"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "port"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "bench": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "sit"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "bench"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "bed": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "lie_down"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "bed"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "stand"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "cast_line"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "reel_in"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "inspect_catch"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "release_catch"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "focus": {
      +        "enum": [
      +          "wide",
      +          "detail"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "focus_telescope"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "focus"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "stars": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "maxItems": 8,
      +        "minItems": 2,
      +        "type": "array",
      +        "uniqueItems": true
      +      },
      +      "title": {
      +        "maxLength": 60,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "trace_constellation"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "stars",
      +      "title"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "target": {
      +        "enum": [
      +          "lantern_knot",
      +          "long_wake",
      +          "harbor_horizon"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "aim_telescope"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "target"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "choice": {
      +        "type": "string"
      +      },
      +      "feature": {
      +        "enum": [
      +          "chart_house_experience",
      +          "welcome_bell_experience",
      +          "wind_kites_experience",
      +          "poem_stones_experience",
      +          "shell_mobile_experience",
      +          "reed_wheel_experience",
      +          "lily_quiet_experience",
      +          "reed_hide_experience",
      +          "cloud_bell_experience",
      +          "meteor_table_experience",
      +          "spring_court_experience",
      +          "kelp_rack_experience",
      +          "pearl_pool_experience",
      +          "lagoon_chimes_experience",
      +          "clay_kiln_experience",
      +          "sun_circle_experience",
      +          "cliff_harp_experience",
      +          "glass_house_experience",
      +          "bee_garden_experience",
      +          "picnic_orchard_experience",
      +          "yard_winch_experience",
      +          "shared_forge_experience",
      +          "makers_table_experience",
      +          "aster_hammock_experience",
      +          "aster_bell_experience",
      +          "cave_echo",
      +          "mend_sail",
      +          "follow_rain",
      +          "adjust_windcloth",
      +          "shade_lamp",
      +          "press_wrack",
      +          "weave_rush",
      +          "read_tracks",
      +          "read_moon_dial",
      +          "listen_cairn",
      +          "study_glasswort",
      +          "study_small_shells",
      +          "mix_pigment",
      +          "read_fossil",
      +          "open_cistern",
      +          "sort_seeds",
      +          "stillwater",
      +          "reed_float",
      +          "lagoon_arch",
      +          "nest_watch",
      +          "star_chart",
      +          "current_study",
      +          "kelp_study",
      +          "pebble_study",
      +          "cliff_layers",
      +          "library_read",
      +          "rope_marks",
      +          "orchard_care",
      +          "brew_tea"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "interact"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "feature",
      +      "choice"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "motif": {
      +        "enum": [
      +          "greeting",
      +          "voyage",
      +          "invitation"
      +        ],
      +        "type": "string"
      +      },
      +      "text": {
      +        "maxLength": 280,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "compose_postcard"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "motif",
      +      "text"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "search_shore"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "object": {
      +        "enum": [
      +          "window_stone",
      +          "blue_button",
      +          "driftwood_bird"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "keep_object"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "object"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "object": {
      +        "enum": [
      +          "window_stone",
      +          "blue_button",
      +          "driftwood_bird"
      +        ],
      +        "type": "string"
      +      },
      +      "slot": {
      +        "enum": [
      +          "left",
      +          "middle",
      +          "right"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "place_object"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "object",
      +      "slot"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "collect_seed"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "inspect_garden"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "bed": {
      +        "enum": [
      +          "shellpath",
      +          "windbreak",
      +          "bellpost"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "plant"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "bed"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "bed": {
      +        "enum": [
      +          "shellpath",
      +          "windbreak",
      +          "bellpost"
      +        ],
      +        "type": "string"
      +      },
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "tend"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "bed"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "place": {
      +        "enum": [
      +          "arrival",
      +          "observatory",
      +          "tidepool",
      +          "garden",
      +          "harbor",
      +          "lantern",
      +          "driftwood",
      +          "harbor_inn",
      +          "reedwake",
      +          "lagoon",
      +          "nightjar",
      +          "high_sky",
      +          "kelpglass",
      +          "kelp_window",
      +          "ochre",
      +          "folded_cliffs",
      +          "dune_library",
      +          "juniper",
      +          "long_view",
      +          "tea_house",
      +          "juniper_farm",
      +          "inn_kitchen",
      +          "inn_table",
      +          "chart_house",
      +          "welcome_bell",
      +          "wind_kites",
      +          "poem_stones",
      +          "shell_mobile",
      +          "reed_wheel",
      +          "lily_quiet",
      +          "reed_hide",
      +          "cloud_bell",
      +          "meteor_table",
      +          "spring_court",
      +          "kelp_rack",
      +          "pearl_pool",
      +          "lagoon_chimes",
      +          "clay_kiln",
      +          "sun_circle",
      +          "cliff_harp",
      +          "glass_house",
      +          "bee_garden",
      +          "picnic_orchard",
      +          "yard_winch",
      +          "shared_forge",
      +          "makers_table",
      +          "aster_hammock",
      +          "aster_bell",
      +          "menders_table",
      +          "rain_runnel",
      +          "windcloth_line",
      +          "quiet_alcove",
      +          "wrack_press",
      +          "basket_hut",
      +          "reedprint_bank",
      +          "moon_dial",
      +          "listening_cairn",
      +          "glasswort_flat",
      +          "shell_nursery",
      +          "pigment_basin",
      +          "fossil_niche",
      +          "rain_chain_court",
      +          "seed_cabinet",
      +          "workshop",
      +          "sawyard",
      +          "builders_green",
      +          "clay_cut",
      +          "echo_cave",
      +          "aster_house",
      +          "aster_cove"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "travel"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "place"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "navigate"
      +      },
      +      "x": {
      +        "maximum": 225,
      +        "minimum": -420,
      +        "type": "number"
      +      },
      +      "z": {
      +        "maximum": 295,
      +        "minimum": -255,
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "x",
      +      "z"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "dx": {
      +        "maximum": 1.5,
      +        "minimum": -1.5,
      +        "type": "number"
      +      },
      +      "dz": {
      +        "maximum": 1.5,
      +        "minimum": -1.5,
      +        "type": "number"
      +      },
      +      "type": {
      +        "const": "move"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "dx",
      +      "dz"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "meters": {
      +        "description": "Requested distance, capped to one step: foot 1.5m, swim 2.5m, boat 8m. Omit for a full step.",
      +        "maximum": 120,
      +        "minimum": 0.01,
      +        "type": "number"
      +      },
      +      "type": {
      +        "const": "advance"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "stop"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "rest"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "home"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "return_home"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "observe"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "measure"
      +      }
      +    },
      +    "required": [
      +      "type"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "heading": {
      +        "maximum": 360,
      +        "minimum": 0,
      +        "type": "number"
      +      },
      +      "type": {
      +        "const": "look"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "heading"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "bodyType": {
      +        "enum": [
      +          "male",
      +          "female"
      +        ],
      +        "type": "string"
      +      },
      +      "color": {
      +        "enum": [
      +          "amber",
      +          "aqua",
      +          "rose",
      +          "violet"
      +        ],
      +        "type": "string"
      +      },
      +      "headwear": {
      +        "enum": [
      +          "cap",
      +          "straw_hat",
      +          "none",
      +          "crown"
      +        ],
      +        "type": "string"
      +      },
      +      "model": {
      +        "description": "Optional self-reported model. Use null if unknown; omission keeps the previous label.",
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "name": {
      +        "maxLength": 32,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "style": {
      +        "enum": [
      +          "explorer",
      +          "mariner",
      +          "gardener"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "profile"
      +      },
      +      "visible": {
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "name",
      +      "color",
      +      "visible"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "type": {
      +        "const": "tune"
      +      },
      +      "values": {
      +        "items": {
      +          "maximum": 5,
      +          "minimum": 1,
      +          "type": "integer"
      +        },
      +        "maxItems": 3,
      +        "minItems": 3,
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "values"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "requestId": {
      +        "maxLength": 80,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "tags": {
      +        "items": {
      +          "maxLength": 40,
      +          "type": "string"
      +        },
      +        "maxItems": 12,
      +        "type": "array"
      +      },
      +      "text": {
      +        "maxLength": 20000,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "title": {
      +        "maxLength": 160,
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "note"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "text"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "color": {
      +        "enum": [
      +          "amber",
      +          "aqua",
      +          "rose",
      +          "violet"
      +        ],
      +        "type": "string"
      +      },
      +      "type": {
      +        "const": "lantern"
      +      }
      +    },
      +    "required": [
      +      "type",
      +      "color"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructive/not-read-only/not-idempotent, and the description adds genuine behavior beyond them: exactly one action per call, requestId stability across retries, and a conflict-recovery protocol (observe, do not auto-replay on a newer revision). The retry rule is consistent with idempotentHint=false rather than contradicting it. It still doesn't say how a conflict or rejection is surfaced to the caller.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The retry and conflict sentences are front-loaded and earn their place, but the telegraphic fragment "travel plans; advance walks one paced step" is ambiguous and reads like a truncated clause, forcing the reader to guess at intended meaning. Overall it is short, but the compression costs clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema and a huge discriminated-union action surface, the description appropriately covers the call protocol (one action, expected character/revision, retry idempotency, conflict handling). The action taxonomy and per-action field semantics are left entirely to the exhaustive schema, which is a defensible division of labor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25%, so the description carries extra burden. It does add meaning for expectedCharacter and revision ("expected ... from your observation") and injects retry semantics around requestId inside the action union. But it says nothing about the `detail` parameter or the per-action required fields, leaving much of a very large schema undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: apply exactly one validated action for a given character and observed revision. It also carves out scope against siblings ("No character registration or access management"), which separates it from admission/identity tools. However, "action" covers a ~90-branch oneOf catalogue that the description never characterizes, so an agent still has to read the schema to know what kinds of actions exist.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives real operative guidance: keep requestIds unchanged when retrying, observe after a conflict, and never fetch a newer revision and auto-replay. It also states what the tool is not for (registration/access management). What's missing is any routing signal versus siblings like tidelight_observe or tidelight_journal, and the "travel plans; advance walks one paced step" clause is too fragmentary to function as guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources