@treasuryspatial/plugin-manifest 0.1.9 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,24 +4,31 @@
4
4
  "title": "Composer Tool Manifest",
5
5
  "type": "object",
6
6
  "additionalProperties": false,
7
- "required": ["toolId", "label", "pipeline", "panels"],
7
+ "required": ["toolId", "label", "pipeline"],
8
8
  "properties": {
9
9
  "toolId": { "$ref": "#/$defs/id" },
10
10
  "label": { "type": "string" },
11
+ "execution": { "$ref": "#/$defs/toolExecutionDefinition" },
12
+ "metrics": { "$ref": "#/$defs/toolMetricsDefinition" },
11
13
  "pipeline": {
12
14
  "type": "array",
13
15
  "items": { "$ref": "#/$defs/pipelineStep" }
14
16
  },
15
- "panels": {
16
- "type": "array",
17
- "items": { "$ref": "#/$defs/panelRef" }
18
- },
19
17
  "actions": {
20
18
  "type": "array",
21
19
  "items": { "$ref": "#/$defs/action" }
22
20
  },
21
+ "modeAccess": { "$ref": "#/$defs/modeAccess" },
22
+ "promptPack": { "$ref": "#/$defs/manifestRecordRef" },
23
+ "mapInputs": {
24
+ "type": "array",
25
+ "items": { "$ref": "#/$defs/manifestMapInputDefinition" }
26
+ },
23
27
  "extensions": {
24
28
  "type": "object",
29
+ "not": {
30
+ "required": ["render"]
31
+ },
25
32
  "additionalProperties": true
26
33
  }
27
34
  },
@@ -58,6 +65,74 @@
58
65
  }
59
66
  }
60
67
  },
68
+ "toolMetricSourceDefinition": {
69
+ "type": "object",
70
+ "additionalProperties": false,
71
+ "required": ["kind", "path"],
72
+ "properties": {
73
+ "kind": {
74
+ "type": "string",
75
+ "enum": ["runtime", "viewer", "geometry", "render", "map"]
76
+ },
77
+ "path": { "type": "string", "minLength": 1 }
78
+ }
79
+ },
80
+ "toolExecutionDefinition": {
81
+ "type": "object",
82
+ "additionalProperties": false,
83
+ "properties": {
84
+ "timeoutMs": {
85
+ "type": "number",
86
+ "exclusiveMinimum": 0
87
+ }
88
+ }
89
+ },
90
+ "toolMetricDefinition": {
91
+ "type": "object",
92
+ "additionalProperties": false,
93
+ "required": ["id", "label", "source"],
94
+ "properties": {
95
+ "id": { "$ref": "#/$defs/id" },
96
+ "label": { "type": "string" },
97
+ "summary": { "type": "string" },
98
+ "source": { "$ref": "#/$defs/toolMetricSourceDefinition" },
99
+ "format": {
100
+ "type": "string",
101
+ "enum": ["text", "number", "count"]
102
+ },
103
+ "digits": { "type": "integer", "minimum": 0, "maximum": 6 },
104
+ "prefix": { "type": "string" },
105
+ "suffix": { "type": "string" },
106
+ "emptyLabel": { "type": "string" }
107
+ }
108
+ },
109
+ "toolMetricGroupDefinition": {
110
+ "type": "object",
111
+ "additionalProperties": false,
112
+ "required": ["id", "label", "metrics"],
113
+ "properties": {
114
+ "id": { "$ref": "#/$defs/id" },
115
+ "label": { "type": "string" },
116
+ "summary": { "type": "string" },
117
+ "metrics": {
118
+ "type": "array",
119
+ "items": { "$ref": "#/$defs/toolMetricDefinition" }
120
+ }
121
+ }
122
+ },
123
+ "toolMetricsDefinition": {
124
+ "type": "object",
125
+ "additionalProperties": false,
126
+ "required": ["groups"],
127
+ "properties": {
128
+ "title": { "type": "string" },
129
+ "summary": { "type": "string" },
130
+ "groups": {
131
+ "type": "array",
132
+ "items": { "$ref": "#/$defs/toolMetricGroupDefinition" }
133
+ }
134
+ }
135
+ },
61
136
  "action": {
62
137
  "oneOf": [
63
138
  {
@@ -83,6 +158,75 @@
83
158
  }
84
159
  }
85
160
  ]
161
+ },
162
+ "modeAccess": {
163
+ "type": "object",
164
+ "additionalProperties": false,
165
+ "properties": {
166
+ "allowModes": {
167
+ "type": "array",
168
+ "items": { "$ref": "#/$defs/id" }
169
+ },
170
+ "denyModes": {
171
+ "type": "array",
172
+ "items": { "$ref": "#/$defs/id" }
173
+ }
174
+ }
175
+ },
176
+ "manifestRecordRef": {
177
+ "type": "object",
178
+ "additionalProperties": false,
179
+ "required": ["id"],
180
+ "properties": {
181
+ "id": { "$ref": "#/$defs/id" },
182
+ "version": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$" }
183
+ }
184
+ },
185
+ "manifestMapInputPatch": {
186
+ "type": "object",
187
+ "additionalProperties": false,
188
+ "required": ["parameterPath", "source"],
189
+ "properties": {
190
+ "parameterPath": { "type": "string", "minLength": 1 },
191
+ "source": {
192
+ "type": "string",
193
+ "enum": ["points", "closed", "interpretation", "sourceKind", "geometryKind", "geojson", "label", "constant"]
194
+ },
195
+ "pointFormat": {
196
+ "type": "string",
197
+ "enum": ["xy", "xyz", "mm-object"]
198
+ },
199
+ "closeRing": { "type": "boolean" },
200
+ "constantValue": {}
201
+ }
202
+ },
203
+ "manifestMapInputDefinition": {
204
+ "type": "object",
205
+ "additionalProperties": false,
206
+ "required": ["slotId", "sourceKind", "geometryKind"],
207
+ "properties": {
208
+ "slotId": { "$ref": "#/$defs/id" },
209
+ "label": { "type": "string" },
210
+ "required": { "type": "boolean" },
211
+ "sourceKind": {
212
+ "type": "string",
213
+ "enum": ["building", "waterway", "road", "rail"]
214
+ },
215
+ "geometryKind": {
216
+ "type": "string",
217
+ "enum": ["polygon", "polyline"]
218
+ },
219
+ "closed": { "type": "boolean" },
220
+ "classes": {
221
+ "type": "array",
222
+ "items": { "type": "string", "minLength": 1 }
223
+ },
224
+ "interpretation": { "type": "string" },
225
+ "patches": {
226
+ "type": "array",
227
+ "items": { "$ref": "#/$defs/manifestMapInputPatch" }
228
+ }
229
+ }
86
230
  }
87
231
  }
88
232
  }
@@ -19,6 +19,10 @@
19
19
  "additionalProperties": false,
20
20
  "properties": {
21
21
  "defaultPanelId": { "$ref": "#/$defs/id" },
22
+ "navigation": {
23
+ "type": "string",
24
+ "enum": ["stack", "tabs"]
25
+ },
22
26
  "panelOrder": {
23
27
  "type": "array",
24
28
  "items": { "$ref": "#/$defs/id" }
@@ -44,6 +48,10 @@
44
48
  "label": { "type": "string" },
45
49
  "order": { "type": "integer" },
46
50
  "description": { "type": "string" },
51
+ "intent": {
52
+ "type": "string",
53
+ "enum": ["setup", "geometry", "refine", "analysis", "advanced", "system"]
54
+ },
47
55
  "groups": {
48
56
  "type": "array",
49
57
  "items": { "$ref": "#/$defs/group" }
@@ -62,7 +70,15 @@
62
70
  "type": "string",
63
71
  "enum": ["default", "advanced", "compact"]
64
72
  },
73
+ "tier": {
74
+ "type": "string",
75
+ "enum": ["primary", "advanced", "system"]
76
+ },
77
+ "collapsible": { "type": "boolean" },
78
+ "defaultOpen": { "type": "boolean" },
65
79
  "description": { "type": "string" },
80
+ "visibleWhen": { "$ref": "#/$defs/expr" },
81
+ "summary": { "$ref": "#/$defs/groupSummary" },
66
82
  "fields": {
67
83
  "type": "array",
68
84
  "items": { "$ref": "#/$defs/fieldRef" }
@@ -91,28 +107,49 @@
91
107
  "type": "string",
92
108
  "enum": ["comfortable", "compact"]
93
109
  },
110
+ "tier": {
111
+ "type": "string",
112
+ "enum": ["primary", "advanced", "system"]
113
+ },
114
+ "presentation": {
115
+ "type": "string",
116
+ "enum": ["default", "compactRange", "inlineNumber", "chipGroup"]
117
+ },
94
118
  "control": {
95
119
  "type": "string",
96
- "enum": ["range", "number", "toggle", "select", "color", "text", "textarea", "file", "action", "array", "oneOf"]
120
+ "enum": ["range", "number", "toggle", "checkbox", "select", "color", "text", "textarea", "file", "action", "array", "oneOf"]
97
121
  },
98
122
  "min": { "type": "number" },
99
123
  "max": { "type": "number" },
100
124
  "step": { "type": "number" },
101
125
  "unit": { "type": "string" },
126
+ "displayFactor": { "type": "number", "exclusiveMinimum": 0 },
102
127
  "placeholder": { "type": "string" },
103
128
  "rows": { "type": "integer", "minimum": 1 },
104
129
  "description": { "type": "string" },
130
+ "defaultValue": {},
105
131
  "options": {
106
132
  "type": "array",
107
133
  "items": {
108
- "type": "object",
109
- "additionalProperties": false,
110
- "required": ["value", "label"],
111
- "properties": {
112
- "value": { "type": ["string", "number", "boolean"] },
113
- "label": { "type": "string" },
114
- "description": { "type": "string" }
115
- }
134
+ "oneOf": [
135
+ { "type": "string" },
136
+ { "type": "number" },
137
+ { "type": "boolean" },
138
+ {
139
+ "type": "object",
140
+ "additionalProperties": false,
141
+ "properties": {
142
+ "value": { "type": ["string", "number", "boolean"] },
143
+ "id": { "type": ["string", "number", "boolean"] },
144
+ "label": { "type": "string" },
145
+ "description": { "type": "string" }
146
+ },
147
+ "anyOf": [
148
+ { "required": ["value"] },
149
+ { "required": ["id"] }
150
+ ]
151
+ }
152
+ ]
116
153
  }
117
154
  },
118
155
  "visibleWhen": { "$ref": "#/$defs/expr" },
@@ -123,6 +160,8 @@
123
160
  "type": "array",
124
161
  "items": { "$ref": "#/$defs/fieldRef" }
125
162
  },
163
+ "arrayControl": { "type": "string" },
164
+ "sortable": { "type": "boolean" },
126
165
  "fields": {
127
166
  "type": "array",
128
167
  "items": { "$ref": "#/$defs/fieldRef" }
@@ -147,6 +186,36 @@
147
186
  "actionId": { "$ref": "#/$defs/id" }
148
187
  }
149
188
  },
189
+ "groupSummary": {
190
+ "type": "object",
191
+ "additionalProperties": false,
192
+ "required": ["items"],
193
+ "properties": {
194
+ "items": {
195
+ "type": "array",
196
+ "items": { "$ref": "#/$defs/summaryItem" }
197
+ },
198
+ "separator": { "type": "string" },
199
+ "emptyLabel": { "type": "string" }
200
+ }
201
+ },
202
+ "summaryItem": {
203
+ "type": "object",
204
+ "additionalProperties": false,
205
+ "required": ["path"],
206
+ "properties": {
207
+ "path": { "type": "string" },
208
+ "label": { "type": "string" },
209
+ "format": {
210
+ "type": "string",
211
+ "enum": ["text", "number", "count"]
212
+ },
213
+ "digits": { "type": "integer", "minimum": 0 },
214
+ "prefix": { "type": "string" },
215
+ "suffix": { "type": "string" },
216
+ "emptyLabel": { "type": "string" }
217
+ }
218
+ },
150
219
  "variant": {
151
220
  "type": "object",
152
221
  "additionalProperties": false,