@spaciv/sdk 0.1.16 → 0.1.18

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.
Files changed (52) hide show
  1. package/README.md +2 -2
  2. package/dist/apis/AssistantApi.d.ts +16 -16
  3. package/dist/apis/AssistantApi.js +8 -8
  4. package/dist/apis/FloorPlansApi.d.ts +8 -8
  5. package/dist/apis/FloorPlansApi.js +4 -4
  6. package/dist/apis/ScenariosApi.d.ts +4 -4
  7. package/dist/apis/ScenariosApi.js +2 -2
  8. package/dist/esm/apis/AssistantApi.d.ts +16 -16
  9. package/dist/esm/apis/AssistantApi.js +8 -8
  10. package/dist/esm/apis/FloorPlansApi.d.ts +8 -8
  11. package/dist/esm/apis/FloorPlansApi.js +4 -4
  12. package/dist/esm/apis/ScenariosApi.d.ts +4 -4
  13. package/dist/esm/apis/ScenariosApi.js +2 -2
  14. package/dist/esm/models/AssistantChatPollBody.d.ts +12 -0
  15. package/dist/esm/models/AssistantChatPollBody.js +8 -0
  16. package/dist/esm/models/AssistantChatPollMessage.d.ts +6 -0
  17. package/dist/esm/models/AssistantChatPollMessage.js +4 -0
  18. package/dist/esm/models/AssistantTranscriptBody.d.ts +18 -0
  19. package/dist/esm/models/AssistantTranscriptBody.js +12 -0
  20. package/dist/esm/models/FloorplanCreateSpace.d.ts +12 -0
  21. package/dist/esm/models/FloorplanCreateSpace.js +4 -0
  22. package/dist/esm/models/FloorplanGetBody.d.ts +6 -0
  23. package/dist/esm/models/FloorplanGetBody.js +2 -0
  24. package/dist/esm/models/FloorplanGetBodySpace.d.ts +14 -2
  25. package/dist/esm/models/FloorplanGetBodySpace.js +4 -0
  26. package/dist/esm/models/FloorplanPatchParamsBody.d.ts +6 -0
  27. package/dist/esm/models/FloorplanPatchParamsBody.js +2 -0
  28. package/dist/models/AssistantChatPollBody.d.ts +12 -0
  29. package/dist/models/AssistantChatPollBody.js +8 -0
  30. package/dist/models/AssistantChatPollMessage.d.ts +6 -0
  31. package/dist/models/AssistantChatPollMessage.js +4 -0
  32. package/dist/models/AssistantTranscriptBody.d.ts +18 -0
  33. package/dist/models/AssistantTranscriptBody.js +12 -0
  34. package/dist/models/FloorplanCreateSpace.d.ts +12 -0
  35. package/dist/models/FloorplanCreateSpace.js +4 -0
  36. package/dist/models/FloorplanGetBody.d.ts +6 -0
  37. package/dist/models/FloorplanGetBody.js +2 -0
  38. package/dist/models/FloorplanGetBodySpace.d.ts +14 -2
  39. package/dist/models/FloorplanGetBodySpace.js +4 -0
  40. package/dist/models/FloorplanPatchParamsBody.d.ts +6 -0
  41. package/dist/models/FloorplanPatchParamsBody.js +2 -0
  42. package/package.json +1 -1
  43. package/src/apis/AssistantApi.ts +16 -16
  44. package/src/apis/FloorPlansApi.ts +8 -8
  45. package/src/apis/ScenariosApi.ts +4 -4
  46. package/src/models/AssistantChatPollBody.ts +18 -0
  47. package/src/models/AssistantChatPollMessage.ts +9 -0
  48. package/src/models/AssistantTranscriptBody.ts +27 -0
  49. package/src/models/FloorplanCreateSpace.ts +16 -0
  50. package/src/models/FloorplanGetBody.ts +8 -0
  51. package/src/models/FloorplanGetBodySpace.ts +18 -2
  52. package/src/models/FloorplanPatchParamsBody.ts +8 -0
@@ -167,7 +167,7 @@ export interface ScenariosApiInterface {
167
167
  listLayerVariables(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<LayerVariablesRes>;
168
168
 
169
169
  /**
170
- * Updates the name, description, colour, and/or layers of the specified scenario. Only non-nil fields in the request body are applied. `hexCode` is a colour such as `#1f77b4` or `#abc`; an empty string clears it. A non-empty `layers` replaces the stored layers and `clearLayers` removes them all; sending both returns `400`. Returns `400` if the colour is not a valid hex code or a newly referenced layer points at an entity that does not exist. Requires the *Edit scenario planning* permission.
170
+ * Updates the name, description, colour, and/or layers of the specified scenario. Only non-nil fields in the request body are applied. `hexCode` is a colour such as `#1f77b4` or `#abc`; an empty string clears it. A non-empty `layers` replaces the stored layers and `clearLayers` removes them all; sending both returns `400`. Returns `400` if the colour is not a valid hex code or a newly referenced layer points at an entity that does not exist. Returns `409` if the scenario keeps changing concurrently while the update is retried. Requires the *Edit scenario planning* permission.
171
171
  * @summary Update a scenario
172
172
  * @param {string} id
173
173
  * @param {ScenarioPatch} [scenarioPatch]
@@ -178,7 +178,7 @@ export interface ScenariosApiInterface {
178
178
  updateRaw(requestParameters: ScenariosApiUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>>;
179
179
 
180
180
  /**
181
- * Updates the name, description, colour, and/or layers of the specified scenario. Only non-nil fields in the request body are applied. `hexCode` is a colour such as `#1f77b4` or `#abc`; an empty string clears it. A non-empty `layers` replaces the stored layers and `clearLayers` removes them all; sending both returns `400`. Returns `400` if the colour is not a valid hex code or a newly referenced layer points at an entity that does not exist. Requires the *Edit scenario planning* permission.
181
+ * Updates the name, description, colour, and/or layers of the specified scenario. Only non-nil fields in the request body are applied. `hexCode` is a colour such as `#1f77b4` or `#abc`; an empty string clears it. A non-empty `layers` replaces the stored layers and `clearLayers` removes them all; sending both returns `400`. Returns `400` if the colour is not a valid hex code or a newly referenced layer points at an entity that does not exist. Returns `409` if the scenario keeps changing concurrently while the update is retried. Requires the *Edit scenario planning* permission.
182
182
  * Update a scenario
183
183
  */
184
184
  update(requestParameters: ScenariosApiUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object>;
@@ -468,7 +468,7 @@ export class ScenariosApi extends runtime.BaseAPI implements ScenariosApiInterfa
468
468
  }
469
469
 
470
470
  /**
471
- * Updates the name, description, colour, and/or layers of the specified scenario. Only non-nil fields in the request body are applied. `hexCode` is a colour such as `#1f77b4` or `#abc`; an empty string clears it. A non-empty `layers` replaces the stored layers and `clearLayers` removes them all; sending both returns `400`. Returns `400` if the colour is not a valid hex code or a newly referenced layer points at an entity that does not exist. Requires the *Edit scenario planning* permission.
471
+ * Updates the name, description, colour, and/or layers of the specified scenario. Only non-nil fields in the request body are applied. `hexCode` is a colour such as `#1f77b4` or `#abc`; an empty string clears it. A non-empty `layers` replaces the stored layers and `clearLayers` removes them all; sending both returns `400`. Returns `400` if the colour is not a valid hex code or a newly referenced layer points at an entity that does not exist. Returns `409` if the scenario keeps changing concurrently while the update is retried. Requires the *Edit scenario planning* permission.
472
472
  * Update a scenario
473
473
  */
474
474
  async updateRaw(requestParameters: ScenariosApiUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>> {
@@ -509,7 +509,7 @@ export class ScenariosApi extends runtime.BaseAPI implements ScenariosApiInterfa
509
509
  }
510
510
 
511
511
  /**
512
- * Updates the name, description, colour, and/or layers of the specified scenario. Only non-nil fields in the request body are applied. `hexCode` is a colour such as `#1f77b4` or `#abc`; an empty string clears it. A non-empty `layers` replaces the stored layers and `clearLayers` removes them all; sending both returns `400`. Returns `400` if the colour is not a valid hex code or a newly referenced layer points at an entity that does not exist. Requires the *Edit scenario planning* permission.
512
+ * Updates the name, description, colour, and/or layers of the specified scenario. Only non-nil fields in the request body are applied. `hexCode` is a colour such as `#1f77b4` or `#abc`; an empty string clears it. A non-empty `layers` replaces the stored layers and `clearLayers` removes them all; sending both returns `400`. Returns `400` if the colour is not a valid hex code or a newly referenced layer points at an entity that does not exist. Returns `409` if the scenario keeps changing concurrently while the update is retried. Requires the *Edit scenario planning* permission.
513
513
  * Update a scenario
514
514
  */
515
515
  async update(requestParameters: ScenariosApiUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object> {
@@ -71,6 +71,18 @@ export interface AssistantChatPollBody {
71
71
  * @memberof AssistantChatPollBody
72
72
  */
73
73
  status: string;
74
+ /**
75
+ * While a subsession is running, how many messages it has recorded so far, which grows with each of its steps even when it calls the same tool again. Zero when no subsession is running, including once it has ended and before the turn has recorded its result.
76
+ * @type {number}
77
+ * @memberof AssistantChatPollBody
78
+ */
79
+ subsessionSteps: number;
80
+ /**
81
+ * While a subsession is running, the tool it is running now. Empty while it is thinking, and when no subsession is running. The running subsession is the run_subsession action whose toolCallId is not yet among the finished tool calls.
82
+ * @type {string}
83
+ * @memberof AssistantChatPollBody
84
+ */
85
+ subsessionTool: string;
74
86
  }
75
87
 
76
88
  /**
@@ -81,6 +93,8 @@ export function instanceOfAssistantChatPollBody(value: object): value is Assista
81
93
  if (!('finishedToolCallIds' in value) || value['finishedToolCallIds'] === undefined) return false;
82
94
  if (!('messages' in value) || value['messages'] === undefined) return false;
83
95
  if (!('status' in value) || value['status'] === undefined) return false;
96
+ if (!('subsessionSteps' in value) || value['subsessionSteps'] === undefined) return false;
97
+ if (!('subsessionTool' in value) || value['subsessionTool'] === undefined) return false;
84
98
  return true;
85
99
  }
86
100
 
@@ -99,6 +113,8 @@ export function AssistantChatPollBodyFromJSONTyped(json: any, ignoreDiscriminato
99
113
  'finishedToolCallIds': json['finishedToolCallIds'],
100
114
  'messages': ((json['messages'] as Array<any>).map(AssistantChatPollMessageFromJSON)),
101
115
  'status': json['status'],
116
+ 'subsessionSteps': json['subsessionSteps'],
117
+ 'subsessionTool': json['subsessionTool'],
102
118
  };
103
119
  }
104
120
 
@@ -118,6 +134,8 @@ export function AssistantChatPollBodyToJSONTyped(value?: AssistantChatPollBody |
118
134
  'finishedToolCallIds': value['finishedToolCallIds'],
119
135
  'messages': ((value['messages'] as Array<any>).map(AssistantChatPollMessageToJSON)),
120
136
  'status': value['status'],
137
+ 'subsessionSteps': value['subsessionSteps'],
138
+ 'subsessionTool': value['subsessionTool'],
121
139
  };
122
140
  }
123
141
 
@@ -69,6 +69,12 @@ export interface AssistantChatPollMessage {
69
69
  * @memberof AssistantChatPollMessage
70
70
  */
71
71
  role: string;
72
+ /**
73
+ * Id of the conversation a run_subsession action message (kind 2) started, which is polled like any other conversation to follow the subsession's own steps. It is not found until the subsession has started. Empty on every other message.
74
+ * @type {string}
75
+ * @memberof AssistantChatPollMessage
76
+ */
77
+ subsessionId: string;
72
78
  /**
73
79
  *
74
80
  * @type {string}
@@ -94,6 +100,7 @@ export function instanceOfAssistantChatPollMessage(value: object): value is Assi
94
100
  if (!('payload' in value) || value['payload'] === undefined) return false;
95
101
  if (!('requestId' in value) || value['requestId'] === undefined) return false;
96
102
  if (!('role' in value) || value['role'] === undefined) return false;
103
+ if (!('subsessionId' in value) || value['subsessionId'] === undefined) return false;
97
104
  if (!('text' in value) || value['text'] === undefined) return false;
98
105
  if (!('toolCallId' in value) || value['toolCallId'] === undefined) return false;
99
106
  return true;
@@ -116,6 +123,7 @@ export function AssistantChatPollMessageFromJSONTyped(json: any, ignoreDiscrimin
116
123
  'payload': json['payload'],
117
124
  'requestId': json['requestId'],
118
125
  'role': json['role'],
126
+ 'subsessionId': json['subsessionId'],
119
127
  'text': json['text'],
120
128
  'toolCallId': json['toolCallId'],
121
129
  };
@@ -139,6 +147,7 @@ export function AssistantChatPollMessageToJSONTyped(value?: AssistantChatPollMes
139
147
  'payload': value['payload'],
140
148
  'requestId': value['requestId'],
141
149
  'role': value['role'],
150
+ 'subsessionId': value['subsessionId'],
142
151
  'text': value['text'],
143
152
  'toolCallId': value['toolCallId'],
144
153
  };
@@ -27,12 +27,30 @@ import {
27
27
  * @interface AssistantTranscriptBody
28
28
  */
29
29
  export interface AssistantTranscriptBody {
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof AssistantTranscriptBody
34
+ */
35
+ conversationId: string;
30
36
  /**
31
37
  *
32
38
  * @type {Array<AssistantTranscriptMessage>}
33
39
  * @memberof AssistantTranscriptBody
34
40
  */
35
41
  messages: Array<AssistantTranscriptMessage>;
42
+ /**
43
+ * For a subsession, the id of the run_subsession tool call that started it. Empty for a conversation the user started.
44
+ * @type {string}
45
+ * @memberof AssistantTranscriptBody
46
+ */
47
+ parentToolCallId: string;
48
+ /**
49
+ * The transcript of each subsession the assistant started, in the order it started them. A subsession's messages are not part of messages: the tool message answering its run_subsession call holds only its reply. A subsession is never compacted and starts none of its own, so its summary fields and its own subsessions are empty.
50
+ * @type {Array<AssistantTranscriptBody>}
51
+ * @memberof AssistantTranscriptBody
52
+ */
53
+ subsessions: Array<AssistantTranscriptBody>;
36
54
  /**
37
55
  * What the assistant is told of the messages it no longer replays, once the conversation has been compacted. Empty until then.
38
56
  * @type {string}
@@ -51,7 +69,10 @@ export interface AssistantTranscriptBody {
51
69
  * Check if a given object implements the AssistantTranscriptBody interface.
52
70
  */
53
71
  export function instanceOfAssistantTranscriptBody(value: object): value is AssistantTranscriptBody {
72
+ if (!('conversationId' in value) || value['conversationId'] === undefined) return false;
54
73
  if (!('messages' in value) || value['messages'] === undefined) return false;
74
+ if (!('parentToolCallId' in value) || value['parentToolCallId'] === undefined) return false;
75
+ if (!('subsessions' in value) || value['subsessions'] === undefined) return false;
55
76
  if (!('summary' in value) || value['summary'] === undefined) return false;
56
77
  if (!('summaryUpTo' in value) || value['summaryUpTo'] === undefined) return false;
57
78
  return true;
@@ -67,7 +88,10 @@ export function AssistantTranscriptBodyFromJSONTyped(json: any, ignoreDiscrimina
67
88
  }
68
89
  return {
69
90
 
91
+ 'conversationId': json['conversationId'],
70
92
  'messages': ((json['messages'] as Array<any>).map(AssistantTranscriptMessageFromJSON)),
93
+ 'parentToolCallId': json['parentToolCallId'],
94
+ 'subsessions': ((json['subsessions'] as Array<any>).map(AssistantTranscriptBodyFromJSON)),
71
95
  'summary': json['summary'],
72
96
  'summaryUpTo': json['summaryUpTo'],
73
97
  };
@@ -84,7 +108,10 @@ export function AssistantTranscriptBodyToJSONTyped(value?: AssistantTranscriptBo
84
108
 
85
109
  return {
86
110
 
111
+ 'conversationId': value['conversationId'],
87
112
  'messages': ((value['messages'] as Array<any>).map(AssistantTranscriptMessageToJSON)),
113
+ 'parentToolCallId': value['parentToolCallId'],
114
+ 'subsessions': ((value['subsessions'] as Array<any>).map(AssistantTranscriptBodyToJSON)),
88
115
  'summary': value['summary'],
89
116
  'summaryUpTo': value['summaryUpTo'],
90
117
  };
@@ -33,6 +33,12 @@ export interface FloorplanCreateSpace {
33
33
  * @memberof FloorplanCreateSpace
34
34
  */
35
35
  endHeight?: number;
36
+ /**
37
+ *
38
+ * @type {number}
39
+ * @memberof FloorplanCreateSpace
40
+ */
41
+ endHeightMetres?: number;
36
42
  /**
37
43
  *
38
44
  * @type {string}
@@ -51,6 +57,12 @@ export interface FloorplanCreateSpace {
51
57
  * @memberof FloorplanCreateSpace
52
58
  */
53
59
  startHeight?: number;
60
+ /**
61
+ *
62
+ * @type {number}
63
+ * @memberof FloorplanCreateSpace
64
+ */
65
+ startHeightMetres?: number;
54
66
  }
55
67
 
56
68
  /**
@@ -73,9 +85,11 @@ export function FloorplanCreateSpaceFromJSONTyped(json: any, ignoreDiscriminator
73
85
  return {
74
86
 
75
87
  'endHeight': json['endHeight'] == null ? undefined : json['endHeight'],
88
+ 'endHeightMetres': json['endHeightMetres'] == null ? undefined : json['endHeightMetres'],
76
89
  'location': json['location'],
77
90
  'paths': ((json['paths'] as Array<any>).map(FloorplanSpaceChangelogPathFromJSON)),
78
91
  'startHeight': json['startHeight'] == null ? undefined : json['startHeight'],
92
+ 'startHeightMetres': json['startHeightMetres'] == null ? undefined : json['startHeightMetres'],
79
93
  };
80
94
  }
81
95
 
@@ -91,9 +105,11 @@ export function FloorplanCreateSpaceToJSONTyped(value?: FloorplanCreateSpace | n
91
105
  return {
92
106
 
93
107
  'endHeight': value['endHeight'],
108
+ 'endHeightMetres': value['endHeightMetres'],
94
109
  'location': value['location'],
95
110
  'paths': ((value['paths'] as Array<any>).map(FloorplanSpaceChangelogPathToJSON)),
96
111
  'startHeight': value['startHeight'],
112
+ 'startHeightMetres': value['startHeightMetres'],
97
113
  };
98
114
  }
99
115
 
@@ -82,6 +82,12 @@ export interface FloorplanGetBody {
82
82
  * @memberof FloorplanGetBody
83
83
  */
84
84
  spaces: Array<FloorplanGetBodySpace>;
85
+ /**
86
+ * How many of the spaces' path units make one metre, which scales space heights in 3D. Absent until the floor plan's scale has been set.
87
+ * @type {number}
88
+ * @memberof FloorplanGetBody
89
+ */
90
+ unitsPerMetre?: number;
85
91
  /**
86
92
  * Whether the floor plan can be shown in 2D, in 3D, or both. Defaults to 2d-and-3d.
87
93
  * @type {string}
@@ -134,6 +140,7 @@ export function FloorplanGetBodyFromJSONTyped(json: any, ignoreDiscriminator: bo
134
140
  'property': json['property'],
135
141
  'propertyNode': json['propertyNode'],
136
142
  'spaces': ((json['spaces'] as Array<any>).map(FloorplanGetBodySpaceFromJSON)),
143
+ 'unitsPerMetre': json['unitsPerMetre'] == null ? undefined : json['unitsPerMetre'],
137
144
  'viewMode': json['viewMode'],
138
145
  };
139
146
  }
@@ -157,6 +164,7 @@ export function FloorplanGetBodyToJSONTyped(value?: FloorplanGetBody | null, ign
157
164
  'property': value['property'],
158
165
  'propertyNode': value['propertyNode'],
159
166
  'spaces': ((value['spaces'] as Array<any>).map(FloorplanGetBodySpaceToJSON)),
167
+ 'unitsPerMetre': value['unitsPerMetre'],
160
168
  'viewMode': value['viewMode'],
161
169
  };
162
170
  }
@@ -28,11 +28,17 @@ import {
28
28
  */
29
29
  export interface FloorplanGetBodySpace {
30
30
  /**
31
- * Height the space ends at in 3D, in the same units as its paths. Absent when the space uses the default heights.
31
+ * Height the space ends at in 3D, in the spaces' path units, as written by editors that predate metres. Absent once converted to metres.
32
32
  * @type {number}
33
33
  * @memberof FloorplanGetBodySpace
34
34
  */
35
35
  endHeight?: number;
36
+ /**
37
+ * Height the space ends at in 3D, in metres. Absent when the space uses the default heights.
38
+ * @type {number}
39
+ * @memberof FloorplanGetBodySpace
40
+ */
41
+ endHeightMetres?: number;
36
42
  /**
37
43
  *
38
44
  * @type {string}
@@ -46,11 +52,17 @@ export interface FloorplanGetBodySpace {
46
52
  */
47
53
  paths: Array<Array<FloorplanGetBodySpacePoint>>;
48
54
  /**
49
- * Height the space starts at in 3D, in the same units as its paths. Absent when the space uses the default heights.
55
+ * Height the space starts at in 3D, in the spaces' path units, as written by editors that predate metres. Absent once converted to metres.
50
56
  * @type {number}
51
57
  * @memberof FloorplanGetBodySpace
52
58
  */
53
59
  startHeight?: number;
60
+ /**
61
+ * Height the space starts at in 3D, in metres. Absent when the space uses the default heights.
62
+ * @type {number}
63
+ * @memberof FloorplanGetBodySpace
64
+ */
65
+ startHeightMetres?: number;
54
66
  }
55
67
 
56
68
  /**
@@ -73,9 +85,11 @@ export function FloorplanGetBodySpaceFromJSONTyped(json: any, ignoreDiscriminato
73
85
  return {
74
86
 
75
87
  'endHeight': json['endHeight'] == null ? undefined : json['endHeight'],
88
+ 'endHeightMetres': json['endHeightMetres'] == null ? undefined : json['endHeightMetres'],
76
89
  'location': json['location'],
77
90
  'paths': json['paths'],
78
91
  'startHeight': json['startHeight'] == null ? undefined : json['startHeight'],
92
+ 'startHeightMetres': json['startHeightMetres'] == null ? undefined : json['startHeightMetres'],
79
93
  };
80
94
  }
81
95
 
@@ -91,9 +105,11 @@ export function FloorplanGetBodySpaceToJSONTyped(value?: FloorplanGetBodySpace |
91
105
  return {
92
106
 
93
107
  'endHeight': value['endHeight'],
108
+ 'endHeightMetres': value['endHeightMetres'],
94
109
  'location': value['location'],
95
110
  'paths': value['paths'],
96
111
  'startHeight': value['startHeight'],
112
+ 'startHeightMetres': value['startHeightMetres'],
97
113
  };
98
114
  }
99
115
 
@@ -82,6 +82,12 @@ export interface FloorplanPatchParamsBody {
82
82
  * @memberof FloorplanPatchParamsBody
83
83
  */
84
84
  spaces?: FloorplanCreateSpaceRepeated;
85
+ /**
86
+ *
87
+ * @type {number}
88
+ * @memberof FloorplanPatchParamsBody
89
+ */
90
+ unitsPerMetre?: number;
85
91
  /**
86
92
  *
87
93
  * @type {string}
@@ -115,6 +121,7 @@ export function FloorplanPatchParamsBodyFromJSONTyped(json: any, ignoreDiscrimin
115
121
  'property': json['property'] == null ? undefined : json['property'],
116
122
  'propertyNode': json['propertyNode'] == null ? undefined : json['propertyNode'],
117
123
  'spaces': json['spaces'] == null ? undefined : FloorplanCreateSpaceRepeatedFromJSON(json['spaces']),
124
+ 'unitsPerMetre': json['unitsPerMetre'] == null ? undefined : json['unitsPerMetre'],
118
125
  'viewMode': json['viewMode'] == null ? undefined : json['viewMode'],
119
126
  };
120
127
  }
@@ -138,6 +145,7 @@ export function FloorplanPatchParamsBodyToJSONTyped(value?: FloorplanPatchParams
138
145
  'property': value['property'],
139
146
  'propertyNode': value['propertyNode'],
140
147
  'spaces': FloorplanCreateSpaceRepeatedToJSON(value['spaces']),
148
+ 'unitsPerMetre': value['unitsPerMetre'],
141
149
  'viewMode': value['viewMode'],
142
150
  };
143
151
  }