addedInput schema / properties / active_tal_id / description
Added value: +"Durable active alignment restored when the Territory Solution opens."
addedInput schema / properties / center / description
Added value: +"Default camera center as GeoJSON/MapLibre [longitude, latitude]. Persists to map_config.center. An open MC jumps when this request includes center and/or zoom; later config_changed events without those fields leave the camera where it is."
changedInput schema / properties / classification / anyOf
Previous value: -[
- {
- "additionalProperties": true,
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "additionalProperties": true,
+ "properties": {
+ "bins": {
+ "minimum": 1,
+ "type": "integer"
+ },
+ "breaks": {
+ "items": {
+ "type": "number"
+ },
+ "type": "array"
+ },
+ "colors": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "labels": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "method": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "metric": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]
addedInput schema / properties / classification / description
Added value: +"Project-level map_config classification (e.g. primary metric context for selection-impact preview). It leaves point colors unchanged; a patch naming a point_layer is routed to point_layer_classifications with a warning."
removedInput schema / properties / classification / title
Removed value: -"Classification"
addedInput schema / properties / map_session_id / description
Added value: +"Open map session (msess_...) from get_map_visualization. Its Territory Solution is the input; omit ts_handle when set."
changedInput schema / properties / point_layer_classifications / anyOf
Previous value: -[
- {
- "items": {
- "additionalProperties": true,
- "type": "object"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "items": {
+ "additionalProperties": true,
+ "properties": {
+ "channel": {
+ "default": "color",
+ "enum": [
+ "color",
+ "size",
+ "shape"
+ ],
+ "type": "string"
+ },
+ "class_count": {
+ "default": 5,
+ "maximum": 12,
+ "minimum": 2,
+ "type": "integer"
+ },
+ "classes": {
+ "description": "Manual breaks. Each class needs value/values (categorical) or min/max (range) plus the channel value.",
+ "items": {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "clear": {
+ "description": "When true, remove this channel's classification and leave the other channels and the base style. field is not required. Group colors stored on classification are removed when that object is this channel.",
+ "type": "boolean"
+ },
+ "colors": {
+ "description": "Optional explicit color ramp for the color channel; defaults to the shared MC palette.",
+ "items": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "field": {
+ "description": "Point property to classify. Required unless the entry only patches style.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "filterable": {
+ "default": true,
+ "type": "boolean"
+ },
+ "label": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "max_size": {
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "method": {
+ "description": "Defaults to quantile when every value is numeric, categorical otherwise; manual when classes are supplied.",
+ "enum": [
+ "quantile",
+ "equal_interval",
+ "categorical",
+ "manual"
+ ],
+ "type": "string"
+ },
+ "min_size": {
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "point_layer": {
+ "description": "Target point layer id from ts.properties.point_layers or ingest_accounts.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "shapes": {
+ "description": "Required for the shape channel unless every manual class carries a shape. Catalog: circle, square, triangle, diamond, star, cross, house, pin, flag, hexagon, pentagon, shield, arrow_up, building, person (aliases: home, marker/map_pin, hex, arrow/up, warehouse/depot, user/people/tech/technician/rep, plus/x).",
+ "items": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "sizes": {
+ "items": {
+ "exclusiveMinimum": 0,
+ "type": "number"
+ },
+ "type": "array"
+ },
+ "style": {
+ "additionalProperties": true,
+ "description": "Base point symbol for the layer, merged over any existing style. Gives two point layers distinct colors.",
+ "properties": {
+ "color": {
+ "minLength": 1,
+ "type": "string"
+ },
+ "opacity": {
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ "shape": {
+ "description": "Point symbol from the MC catalog: circle|square|triangle|diamond|star|cross|house|pin|flag|hexagon|pentagon|shield|arrow_up|building|person.",
+ "minLength": 1,
+ "type": "string"
+ },
+ "size": {
+ "exclusiveMinimum": 0,
+ "type": "number"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "point_layer"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+]
addedInput schema / properties / point_layer_classifications / description
Added value: +"Applied point-layer symbology. The server computes breaks from the in-session point features, writes ts.properties.point_layers[].<channel>_classification, and pushes config_changed so an open MC repaints. One entry per layer/channel."
removedInput schema / properties / point_layer_classifications / title
Removed value: -"Point Layer Classifications"
changedInput schema / properties / presentation / anyOf
Previous value: -[
- {
- "additionalProperties": true,
- "type": "object"
- },
- {
- "type": "null"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "debug_panel": {
+ "description": "Per-request debug modifier. When true, the MC #debug block shows session/mode/TAL/revision/zoom diagnostics and per-row legend meta. It replaces a custom QA template.",
+ "type": "boolean"
+ },
+ "style_overrides": {
+ "additionalProperties": true,
+ "description": "Optional style hints forwarded to the MC renderer (may include theme: 'dark' | 'light' or debug_panel).",
+ "type": "object"
+ },
+ "theme": {
+ "description": "Map Component basemap and UI theme ('dark' or 'light'; default 'dark'). Also accepted at top-level theme or presentation.style_overrides.theme.",
+ "enum": [
+ "dark",
+ "light"
+ ],
+ "type": "string"
+ },
+ "view_name": {
+ "description": "Built-in presentation template. Defaults: select mode → selection; empty project → empty; points-only TS → points_only; TAL/review → review. Diagnostics use presentation.debug_panel (or style_overrides.debug_panel), not a separate template.",
+ "enum": [
+ "empty",
+ "points_only",
+ "review",
+ "selection"
+ ],
+ "type": "string"
+ }
+ },
+ "title": "Optional Presentation View/Style Context",
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+]
addedInput schema / properties / presentation / description
Added value: +"Named presentation context stored on map_config and restored when the TS opens."
removedInput schema / properties / presentation / title
Removed value: -"Presentation"
addedInput schema / properties / project_name / description
Added value: +"First-class Territory Solution short name shown as the Map Component panel title. Persists to ts.properties.map_config.project_name; when an MC session is open for this TS, configure_map pushes config_changed so the title refreshes without reopening the map."
addedInput schema / properties / theme / description
Added value: +"Map Component basemap and UI theme ('dark' or 'light'; default 'dark'). Persists to ts.properties.map_config.theme and repaints the open map session live."
removedInput schema / properties / ts
Removed value: -{
- "anyOf": [
- {
- "additionalProperties": true,
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "default": null,
- "title": "Ts"
-}
addedInput schema / properties / ts_handle / description
Added value: +"Territory Solution reference (tsh_...) from a build, ingest_accounts, import_geojson, import_designer_project, or get_map_visualization; Territory Solutions are not accepted inline."
addedInput schema / properties / zoom / description
Added value: +"Default MapLibre zoom (0-24). Persists to map_config.zoom. An open MC jumps when this request includes center and/or zoom."
removedOutput schema / additionalProperties
Removed value: -true
addedOutput schema / properties
Added value: +{
+ "error": {
+ "description": "Present when ok is false.",
+ "properties": {
+ "ask_user": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "code": {
+ "type": "string"
+ },
+ "details": {
+ "type": "object"
+ },
+ "do_this_next": {
+ "type": "object"
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ok": {
+ "type": "boolean"
+ },
+ "result": {
+ "description": "Present when ok is true.",
+ "properties": {
+ "camera": {
+ "type": "object"
+ },
+ "map_config": {
+ "type": "object"
+ },
+ "map_push_status": {
+ "type": "string"
+ },
+ "point_layer_classifications": {
+ "items": {
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "ts_handle": {
+ "type": "string"
+ },
+ "ts_identity": {
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "warnings": {
+ "items": {
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ }
+}
addedOutput schema / required
Added value: +[
+ "ok"
+]
removedOutput schema / title
Removed value: -"configure_mapDictOutput"