@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
@@ -27,7 +27,7 @@ import { AssistantChatPollBodyFromJSON, AssistantChatReqToJSON, AssistantChatRes
27
27
  */
28
28
  export class AssistantApi extends runtime.BaseAPI {
29
29
  /**
30
- * Submits a message to the assistant and dispatches it for asynchronous processing. Returns a `conversationId` and a `requestId` immediately; the reply arrives out-of-band, through `GET /v1/assistant/conversations/{id}/poll`. If `conversationId` is omitted a new conversation is started. `attachmentFileIds` attaches up to 10 distinct files from account file storage and requires View file storage permission. Files cannot be attached while the account has turned the assistant\'s tools off. Requires the *AI assistant* permission.
30
+ * Submits a message to the assistant and dispatches it for asynchronous processing. Returns a `conversationId` and a `requestId` immediately; the reply arrives out-of-band, through `GET /v1/assistant/conversations/{id}/poll`. If `conversationId` is omitted a new conversation is started. `attachmentFileIds` attaches up to 10 distinct files from account file storage and requires View file storage permission. Files cannot be attached while the account has turned the assistant\'s tools off. Returns `409` if `conversationId` names a conversation that cannot take messages: a subsession the assistant started for a tool call, which only ever answers the task it was given, or a deleted conversation. Requires the *AI assistant* permission.
31
31
  * Send a chat message
32
32
  */
33
33
  createChatRaw(requestParameters, initOverrides) {
@@ -54,7 +54,7 @@ export class AssistantApi extends runtime.BaseAPI {
54
54
  });
55
55
  }
56
56
  /**
57
- * Submits a message to the assistant and dispatches it for asynchronous processing. Returns a `conversationId` and a `requestId` immediately; the reply arrives out-of-band, through `GET /v1/assistant/conversations/{id}/poll`. If `conversationId` is omitted a new conversation is started. `attachmentFileIds` attaches up to 10 distinct files from account file storage and requires View file storage permission. Files cannot be attached while the account has turned the assistant\'s tools off. Requires the *AI assistant* permission.
57
+ * Submits a message to the assistant and dispatches it for asynchronous processing. Returns a `conversationId` and a `requestId` immediately; the reply arrives out-of-band, through `GET /v1/assistant/conversations/{id}/poll`. If `conversationId` is omitted a new conversation is started. `attachmentFileIds` attaches up to 10 distinct files from account file storage and requires View file storage permission. Files cannot be attached while the account has turned the assistant\'s tools off. Returns `409` if `conversationId` names a conversation that cannot take messages: a subsession the assistant started for a tool call, which only ever answers the task it was given, or a deleted conversation. Requires the *AI assistant* permission.
58
58
  * Send a chat message
59
59
  */
60
60
  createChat() {
@@ -64,7 +64,7 @@ export class AssistantApi extends runtime.BaseAPI {
64
64
  });
65
65
  }
66
66
  /**
67
- * Permanently removes a conversation and all its messages. Returns `404` if the conversation does not exist. Requires the *AI assistant* permission.
67
+ * Permanently removes a conversation, all its messages, and every subsession it started. Returns `404` if the conversation does not exist, and `409` if it is a subsession, which is deleted only with the conversation that started it. Requires the *AI assistant* permission.
68
68
  * Delete a conversation
69
69
  */
70
70
  deleteConversationsRaw(requestParameters, initOverrides) {
@@ -93,7 +93,7 @@ export class AssistantApi extends runtime.BaseAPI {
93
93
  });
94
94
  }
95
95
  /**
96
- * Permanently removes a conversation and all its messages. Returns `404` if the conversation does not exist. Requires the *AI assistant* permission.
96
+ * Permanently removes a conversation, all its messages, and every subsession it started. Returns `404` if the conversation does not exist, and `409` if it is a subsession, which is deleted only with the conversation that started it. Requires the *AI assistant* permission.
97
97
  * Delete a conversation
98
98
  */
99
99
  deleteConversations(requestParameters, initOverrides) {
@@ -137,7 +137,7 @@ export class AssistantApi extends runtime.BaseAPI {
137
137
  });
138
138
  }
139
139
  /**
140
- * Returns the conversation as it is stored, for debugging and evaluating the assistant: every message the assistant has been shown, including the results of its tool calls and the ids that pair each result with its call, and the summary that replaces the earliest messages once the conversation has been compacted. Returns `404` if the conversation does not exist. Requires the *AI assistant* and *Download AI assistant conversation* permissions.
140
+ * Returns the conversation as it is stored, for debugging and evaluating the assistant: every message the assistant has been shown, including the results of its tool calls and the ids that pair each result with its call, the summary that replaces the earliest messages once the conversation has been compacted, and the stored conversation of every subsession the assistant handed a task to. Returns `404` if the conversation does not exist. Requires the *AI assistant* and *Download AI assistant conversation* permissions.
141
141
  * Get a conversation\'s transcript
142
142
  */
143
143
  getConversationsTranscriptRaw(requestParameters, initOverrides) {
@@ -166,7 +166,7 @@ export class AssistantApi extends runtime.BaseAPI {
166
166
  });
167
167
  }
168
168
  /**
169
- * Returns the conversation as it is stored, for debugging and evaluating the assistant: every message the assistant has been shown, including the results of its tool calls and the ids that pair each result with its call, and the summary that replaces the earliest messages once the conversation has been compacted. Returns `404` if the conversation does not exist. Requires the *AI assistant* and *Download AI assistant conversation* permissions.
169
+ * Returns the conversation as it is stored, for debugging and evaluating the assistant: every message the assistant has been shown, including the results of its tool calls and the ids that pair each result with its call, the summary that replaces the earliest messages once the conversation has been compacted, and the stored conversation of every subsession the assistant handed a task to. Returns `404` if the conversation does not exist. Requires the *AI assistant* and *Download AI assistant conversation* permissions.
170
170
  * Get a conversation\'s transcript
171
171
  */
172
172
  getConversationsTranscript(requestParameters, initOverrides) {
@@ -288,7 +288,7 @@ export class AssistantApi extends runtime.BaseAPI {
288
288
  });
289
289
  }
290
290
  /**
291
- * Asks the assistant to stop the turn it is working on. The turn ends at its next step - a tool call already sent finishes and is recorded - so the conversation stays usable and keeps everything the turn did before it was stopped. Succeeds with nothing to do if no turn is running. Returns `404` if the conversation does not exist. Requires the *AI assistant* permission.
291
+ * Asks the assistant to stop the turn it is working on. The turn ends at its next step - a tool call already sent finishes and is recorded - so the conversation stays usable and keeps everything the turn did before it was stopped. Succeeds with nothing to do if no turn is running. Stopping a conversation also stops a subsession it is running. Returns `404` if the conversation does not exist, and `409` if it is a subsession, which is stopped only by stopping the conversation that started it. Requires the *AI assistant* permission.
292
292
  * Stop the running turn
293
293
  */
294
294
  stopConversationsRaw(requestParameters, initOverrides) {
@@ -317,7 +317,7 @@ export class AssistantApi extends runtime.BaseAPI {
317
317
  });
318
318
  }
319
319
  /**
320
- * Asks the assistant to stop the turn it is working on. The turn ends at its next step - a tool call already sent finishes and is recorded - so the conversation stays usable and keeps everything the turn did before it was stopped. Succeeds with nothing to do if no turn is running. Returns `404` if the conversation does not exist. Requires the *AI assistant* permission.
320
+ * Asks the assistant to stop the turn it is working on. The turn ends at its next step - a tool call already sent finishes and is recorded - so the conversation stays usable and keeps everything the turn did before it was stopped. Succeeds with nothing to do if no turn is running. Stopping a conversation also stops a subsession it is running. Returns `404` if the conversation does not exist, and `409` if it is a subsession, which is stopped only by stopping the conversation that started it. Requires the *AI assistant* permission.
321
321
  * Stop the running turn
322
322
  */
323
323
  stopConversations(requestParameters, initOverrides) {
@@ -71,7 +71,7 @@ export interface FloorPlansApiInterface {
71
71
  */
72
72
  delete(requestParameters: FloorPlansApiDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object>;
73
73
  /**
74
- * Returns the floor plan\'s metadata, view mode, space overlay geometry with each space\'s 3D heights, and image offset. Returns an empty body (not 404) when the floor plan does not exist. Use `GET /v1/floorplans/{id}/images/{imageType}` to retrieve the drawing image. Requires the *View floorplans* permission.
74
+ * Returns the floor plan\'s metadata, view mode, scale, space overlay geometry with each space\'s 3D heights in metres, and image offset. Returns an empty body (not 404) when the floor plan does not exist. Use `GET /v1/floorplans/{id}/images/{imageType}` to retrieve the drawing image. Requires the *View floorplans* permission.
75
75
  * @summary Get a floor plan
76
76
  * @param {string} id
77
77
  * @param {*} [options] Override http request option.
@@ -80,7 +80,7 @@ export interface FloorPlansApiInterface {
80
80
  */
81
81
  getRaw(requestParameters: FloorPlansApiGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FloorplanGetBody>>;
82
82
  /**
83
- * Returns the floor plan\'s metadata, view mode, space overlay geometry with each space\'s 3D heights, and image offset. Returns an empty body (not 404) when the floor plan does not exist. Use `GET /v1/floorplans/{id}/images/{imageType}` to retrieve the drawing image. Requires the *View floorplans* permission.
83
+ * Returns the floor plan\'s metadata, view mode, scale, space overlay geometry with each space\'s 3D heights in metres, and image offset. Returns an empty body (not 404) when the floor plan does not exist. Use `GET /v1/floorplans/{id}/images/{imageType}` to retrieve the drawing image. Requires the *View floorplans* permission.
84
84
  * Get a floor plan
85
85
  */
86
86
  get(requestParameters: FloorPlansApiGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FloorplanGetBody>;
@@ -114,7 +114,7 @@ export interface FloorPlansApiInterface {
114
114
  */
115
115
  list(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<FloorplanBrief>>;
116
116
  /**
117
- * Partially updates the floor plan\'s name, linked property and node, creation timestamp, image overlay offset, background and foreground images, view mode, and space geometry. Only fields present in the request body are changed, and the request fails with `409` if the floor plan keeps changing while they are. When `spaces` is provided the entire space overlay is replaced. `viewMode` is one of `2d-and-3d`, `3d-only` or `2d-only`. A space\'s `startHeight` and `endHeight` are in the same units as its paths, must be set together and the end must be above the start; a space without them is drawn at a default height scaled to the floor plan. Requires the *Edit floorplans* permission. `backgroundFile` and `foregroundFile` take the ID of an image in the account\'s file storage (see `/v1/account/files`), or an empty string to remove the layer\'s image; choosing a file also requires the *View file storage* permission. The file must be a PNG, JPEG, GIF, WebP or SVG image of at most 4 MB that is not quarantined, otherwise the request fails with `422` (`403` when quarantined) and nothing is changed. Setting or removing a layer\'s file also deletes any image previously uploaded to that layer through `PUT /v1/floorplans/{id}/images/{imageType}`.
117
+ * Partially updates the floor plan\'s name, linked property and node, creation timestamp, image overlay offset, background and foreground images, view mode, scale, and space geometry. Only fields present in the request body are changed, and the request fails with `409` if the floor plan keeps changing while they are. When `spaces` is provided the entire space overlay is replaced. `viewMode` is one of `2d-and-3d`, `3d-only` or `2d-only`. `unitsPerMetre` is how many of the spaces\' path units make one metre; `0` clears the scale. A space\'s `startHeightMetres` and `endHeightMetres` must be set together and the end must be above the start; a space without them is drawn at a default height. `startHeight` and `endHeight` are the same in the spaces\' path units, from editors that predate metres, and follow the same rules. Requires the *Edit floorplans* permission. `backgroundFile` and `foregroundFile` take the ID of an image in the account\'s file storage (see `/v1/account/files`), or an empty string to remove the layer\'s image; choosing a file also requires the *View file storage* permission. The file must be a PNG, JPEG, GIF, WebP or SVG image of at most 4 MB that is not quarantined, otherwise the request fails with `422` (`403` when quarantined) and nothing is changed. Setting or removing a layer\'s file also deletes any image previously uploaded to that layer through `PUT /v1/floorplans/{id}/images/{imageType}`.
118
118
  * @summary Update a floor plan
119
119
  * @param {string} id
120
120
  * @param {FloorplanPatchParamsBody} [floorplanPatchParamsBody]
@@ -124,7 +124,7 @@ export interface FloorPlansApiInterface {
124
124
  */
125
125
  updateRaw(requestParameters: FloorPlansApiUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>>;
126
126
  /**
127
- * Partially updates the floor plan\'s name, linked property and node, creation timestamp, image overlay offset, background and foreground images, view mode, and space geometry. Only fields present in the request body are changed, and the request fails with `409` if the floor plan keeps changing while they are. When `spaces` is provided the entire space overlay is replaced. `viewMode` is one of `2d-and-3d`, `3d-only` or `2d-only`. A space\'s `startHeight` and `endHeight` are in the same units as its paths, must be set together and the end must be above the start; a space without them is drawn at a default height scaled to the floor plan. Requires the *Edit floorplans* permission. `backgroundFile` and `foregroundFile` take the ID of an image in the account\'s file storage (see `/v1/account/files`), or an empty string to remove the layer\'s image; choosing a file also requires the *View file storage* permission. The file must be a PNG, JPEG, GIF, WebP or SVG image of at most 4 MB that is not quarantined, otherwise the request fails with `422` (`403` when quarantined) and nothing is changed. Setting or removing a layer\'s file also deletes any image previously uploaded to that layer through `PUT /v1/floorplans/{id}/images/{imageType}`.
127
+ * Partially updates the floor plan\'s name, linked property and node, creation timestamp, image overlay offset, background and foreground images, view mode, scale, and space geometry. Only fields present in the request body are changed, and the request fails with `409` if the floor plan keeps changing while they are. When `spaces` is provided the entire space overlay is replaced. `viewMode` is one of `2d-and-3d`, `3d-only` or `2d-only`. `unitsPerMetre` is how many of the spaces\' path units make one metre; `0` clears the scale. A space\'s `startHeightMetres` and `endHeightMetres` must be set together and the end must be above the start; a space without them is drawn at a default height. `startHeight` and `endHeight` are the same in the spaces\' path units, from editors that predate metres, and follow the same rules. Requires the *Edit floorplans* permission. `backgroundFile` and `foregroundFile` take the ID of an image in the account\'s file storage (see `/v1/account/files`), or an empty string to remove the layer\'s image; choosing a file also requires the *View file storage* permission. The file must be a PNG, JPEG, GIF, WebP or SVG image of at most 4 MB that is not quarantined, otherwise the request fails with `422` (`403` when quarantined) and nothing is changed. Setting or removing a layer\'s file also deletes any image previously uploaded to that layer through `PUT /v1/floorplans/{id}/images/{imageType}`.
128
128
  * Update a floor plan
129
129
  */
130
130
  update(requestParameters: FloorPlansApiUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object>;
@@ -171,12 +171,12 @@ export declare class FloorPlansApi extends runtime.BaseAPI implements FloorPlans
171
171
  */
172
172
  delete(requestParameters: FloorPlansApiDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object>;
173
173
  /**
174
- * Returns the floor plan\'s metadata, view mode, space overlay geometry with each space\'s 3D heights, and image offset. Returns an empty body (not 404) when the floor plan does not exist. Use `GET /v1/floorplans/{id}/images/{imageType}` to retrieve the drawing image. Requires the *View floorplans* permission.
174
+ * Returns the floor plan\'s metadata, view mode, scale, space overlay geometry with each space\'s 3D heights in metres, and image offset. Returns an empty body (not 404) when the floor plan does not exist. Use `GET /v1/floorplans/{id}/images/{imageType}` to retrieve the drawing image. Requires the *View floorplans* permission.
175
175
  * Get a floor plan
176
176
  */
177
177
  getRaw(requestParameters: FloorPlansApiGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FloorplanGetBody>>;
178
178
  /**
179
- * Returns the floor plan\'s metadata, view mode, space overlay geometry with each space\'s 3D heights, and image offset. Returns an empty body (not 404) when the floor plan does not exist. Use `GET /v1/floorplans/{id}/images/{imageType}` to retrieve the drawing image. Requires the *View floorplans* permission.
179
+ * Returns the floor plan\'s metadata, view mode, scale, space overlay geometry with each space\'s 3D heights in metres, and image offset. Returns an empty body (not 404) when the floor plan does not exist. Use `GET /v1/floorplans/{id}/images/{imageType}` to retrieve the drawing image. Requires the *View floorplans* permission.
180
180
  * Get a floor plan
181
181
  */
182
182
  get(requestParameters: FloorPlansApiGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FloorplanGetBody>;
@@ -201,12 +201,12 @@ export declare class FloorPlansApi extends runtime.BaseAPI implements FloorPlans
201
201
  */
202
202
  list(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<FloorplanBrief>>;
203
203
  /**
204
- * Partially updates the floor plan\'s name, linked property and node, creation timestamp, image overlay offset, background and foreground images, view mode, and space geometry. Only fields present in the request body are changed, and the request fails with `409` if the floor plan keeps changing while they are. When `spaces` is provided the entire space overlay is replaced. `viewMode` is one of `2d-and-3d`, `3d-only` or `2d-only`. A space\'s `startHeight` and `endHeight` are in the same units as its paths, must be set together and the end must be above the start; a space without them is drawn at a default height scaled to the floor plan. Requires the *Edit floorplans* permission. `backgroundFile` and `foregroundFile` take the ID of an image in the account\'s file storage (see `/v1/account/files`), or an empty string to remove the layer\'s image; choosing a file also requires the *View file storage* permission. The file must be a PNG, JPEG, GIF, WebP or SVG image of at most 4 MB that is not quarantined, otherwise the request fails with `422` (`403` when quarantined) and nothing is changed. Setting or removing a layer\'s file also deletes any image previously uploaded to that layer through `PUT /v1/floorplans/{id}/images/{imageType}`.
204
+ * Partially updates the floor plan\'s name, linked property and node, creation timestamp, image overlay offset, background and foreground images, view mode, scale, and space geometry. Only fields present in the request body are changed, and the request fails with `409` if the floor plan keeps changing while they are. When `spaces` is provided the entire space overlay is replaced. `viewMode` is one of `2d-and-3d`, `3d-only` or `2d-only`. `unitsPerMetre` is how many of the spaces\' path units make one metre; `0` clears the scale. A space\'s `startHeightMetres` and `endHeightMetres` must be set together and the end must be above the start; a space without them is drawn at a default height. `startHeight` and `endHeight` are the same in the spaces\' path units, from editors that predate metres, and follow the same rules. Requires the *Edit floorplans* permission. `backgroundFile` and `foregroundFile` take the ID of an image in the account\'s file storage (see `/v1/account/files`), or an empty string to remove the layer\'s image; choosing a file also requires the *View file storage* permission. The file must be a PNG, JPEG, GIF, WebP or SVG image of at most 4 MB that is not quarantined, otherwise the request fails with `422` (`403` when quarantined) and nothing is changed. Setting or removing a layer\'s file also deletes any image previously uploaded to that layer through `PUT /v1/floorplans/{id}/images/{imageType}`.
205
205
  * Update a floor plan
206
206
  */
207
207
  updateRaw(requestParameters: FloorPlansApiUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>>;
208
208
  /**
209
- * Partially updates the floor plan\'s name, linked property and node, creation timestamp, image overlay offset, background and foreground images, view mode, and space geometry. Only fields present in the request body are changed, and the request fails with `409` if the floor plan keeps changing while they are. When `spaces` is provided the entire space overlay is replaced. `viewMode` is one of `2d-and-3d`, `3d-only` or `2d-only`. A space\'s `startHeight` and `endHeight` are in the same units as its paths, must be set together and the end must be above the start; a space without them is drawn at a default height scaled to the floor plan. Requires the *Edit floorplans* permission. `backgroundFile` and `foregroundFile` take the ID of an image in the account\'s file storage (see `/v1/account/files`), or an empty string to remove the layer\'s image; choosing a file also requires the *View file storage* permission. The file must be a PNG, JPEG, GIF, WebP or SVG image of at most 4 MB that is not quarantined, otherwise the request fails with `422` (`403` when quarantined) and nothing is changed. Setting or removing a layer\'s file also deletes any image previously uploaded to that layer through `PUT /v1/floorplans/{id}/images/{imageType}`.
209
+ * Partially updates the floor plan\'s name, linked property and node, creation timestamp, image overlay offset, background and foreground images, view mode, scale, and space geometry. Only fields present in the request body are changed, and the request fails with `409` if the floor plan keeps changing while they are. When `spaces` is provided the entire space overlay is replaced. `viewMode` is one of `2d-and-3d`, `3d-only` or `2d-only`. `unitsPerMetre` is how many of the spaces\' path units make one metre; `0` clears the scale. A space\'s `startHeightMetres` and `endHeightMetres` must be set together and the end must be above the start; a space without them is drawn at a default height. `startHeight` and `endHeight` are the same in the spaces\' path units, from editors that predate metres, and follow the same rules. Requires the *Edit floorplans* permission. `backgroundFile` and `foregroundFile` take the ID of an image in the account\'s file storage (see `/v1/account/files`), or an empty string to remove the layer\'s image; choosing a file also requires the *View file storage* permission. The file must be a PNG, JPEG, GIF, WebP or SVG image of at most 4 MB that is not quarantined, otherwise the request fails with `422` (`403` when quarantined) and nothing is changed. Setting or removing a layer\'s file also deletes any image previously uploaded to that layer through `PUT /v1/floorplans/{id}/images/{imageType}`.
210
210
  * Update a floor plan
211
211
  */
212
212
  update(requestParameters: FloorPlansApiUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object>;
@@ -111,7 +111,7 @@ export class FloorPlansApi extends runtime.BaseAPI {
111
111
  });
112
112
  }
113
113
  /**
114
- * Returns the floor plan\'s metadata, view mode, space overlay geometry with each space\'s 3D heights, and image offset. Returns an empty body (not 404) when the floor plan does not exist. Use `GET /v1/floorplans/{id}/images/{imageType}` to retrieve the drawing image. Requires the *View floorplans* permission.
114
+ * Returns the floor plan\'s metadata, view mode, scale, space overlay geometry with each space\'s 3D heights in metres, and image offset. Returns an empty body (not 404) when the floor plan does not exist. Use `GET /v1/floorplans/{id}/images/{imageType}` to retrieve the drawing image. Requires the *View floorplans* permission.
115
115
  * Get a floor plan
116
116
  */
117
117
  getRaw(requestParameters, initOverrides) {
@@ -140,7 +140,7 @@ export class FloorPlansApi extends runtime.BaseAPI {
140
140
  });
141
141
  }
142
142
  /**
143
- * Returns the floor plan\'s metadata, view mode, space overlay geometry with each space\'s 3D heights, and image offset. Returns an empty body (not 404) when the floor plan does not exist. Use `GET /v1/floorplans/{id}/images/{imageType}` to retrieve the drawing image. Requires the *View floorplans* permission.
143
+ * Returns the floor plan\'s metadata, view mode, scale, space overlay geometry with each space\'s 3D heights in metres, and image offset. Returns an empty body (not 404) when the floor plan does not exist. Use `GET /v1/floorplans/{id}/images/{imageType}` to retrieve the drawing image. Requires the *View floorplans* permission.
144
144
  * Get a floor plan
145
145
  */
146
146
  get(requestParameters, initOverrides) {
@@ -236,7 +236,7 @@ export class FloorPlansApi extends runtime.BaseAPI {
236
236
  });
237
237
  }
238
238
  /**
239
- * Partially updates the floor plan\'s name, linked property and node, creation timestamp, image overlay offset, background and foreground images, view mode, and space geometry. Only fields present in the request body are changed, and the request fails with `409` if the floor plan keeps changing while they are. When `spaces` is provided the entire space overlay is replaced. `viewMode` is one of `2d-and-3d`, `3d-only` or `2d-only`. A space\'s `startHeight` and `endHeight` are in the same units as its paths, must be set together and the end must be above the start; a space without them is drawn at a default height scaled to the floor plan. Requires the *Edit floorplans* permission. `backgroundFile` and `foregroundFile` take the ID of an image in the account\'s file storage (see `/v1/account/files`), or an empty string to remove the layer\'s image; choosing a file also requires the *View file storage* permission. The file must be a PNG, JPEG, GIF, WebP or SVG image of at most 4 MB that is not quarantined, otherwise the request fails with `422` (`403` when quarantined) and nothing is changed. Setting or removing a layer\'s file also deletes any image previously uploaded to that layer through `PUT /v1/floorplans/{id}/images/{imageType}`.
239
+ * Partially updates the floor plan\'s name, linked property and node, creation timestamp, image overlay offset, background and foreground images, view mode, scale, and space geometry. Only fields present in the request body are changed, and the request fails with `409` if the floor plan keeps changing while they are. When `spaces` is provided the entire space overlay is replaced. `viewMode` is one of `2d-and-3d`, `3d-only` or `2d-only`. `unitsPerMetre` is how many of the spaces\' path units make one metre; `0` clears the scale. A space\'s `startHeightMetres` and `endHeightMetres` must be set together and the end must be above the start; a space without them is drawn at a default height. `startHeight` and `endHeight` are the same in the spaces\' path units, from editors that predate metres, and follow the same rules. Requires the *Edit floorplans* permission. `backgroundFile` and `foregroundFile` take the ID of an image in the account\'s file storage (see `/v1/account/files`), or an empty string to remove the layer\'s image; choosing a file also requires the *View file storage* permission. The file must be a PNG, JPEG, GIF, WebP or SVG image of at most 4 MB that is not quarantined, otherwise the request fails with `422` (`403` when quarantined) and nothing is changed. Setting or removing a layer\'s file also deletes any image previously uploaded to that layer through `PUT /v1/floorplans/{id}/images/{imageType}`.
240
240
  * Update a floor plan
241
241
  */
242
242
  updateRaw(requestParameters, initOverrides) {
@@ -267,7 +267,7 @@ export class FloorPlansApi extends runtime.BaseAPI {
267
267
  });
268
268
  }
269
269
  /**
270
- * Partially updates the floor plan\'s name, linked property and node, creation timestamp, image overlay offset, background and foreground images, view mode, and space geometry. Only fields present in the request body are changed, and the request fails with `409` if the floor plan keeps changing while they are. When `spaces` is provided the entire space overlay is replaced. `viewMode` is one of `2d-and-3d`, `3d-only` or `2d-only`. A space\'s `startHeight` and `endHeight` are in the same units as its paths, must be set together and the end must be above the start; a space without them is drawn at a default height scaled to the floor plan. Requires the *Edit floorplans* permission. `backgroundFile` and `foregroundFile` take the ID of an image in the account\'s file storage (see `/v1/account/files`), or an empty string to remove the layer\'s image; choosing a file also requires the *View file storage* permission. The file must be a PNG, JPEG, GIF, WebP or SVG image of at most 4 MB that is not quarantined, otherwise the request fails with `422` (`403` when quarantined) and nothing is changed. Setting or removing a layer\'s file also deletes any image previously uploaded to that layer through `PUT /v1/floorplans/{id}/images/{imageType}`.
270
+ * Partially updates the floor plan\'s name, linked property and node, creation timestamp, image overlay offset, background and foreground images, view mode, scale, and space geometry. Only fields present in the request body are changed, and the request fails with `409` if the floor plan keeps changing while they are. When `spaces` is provided the entire space overlay is replaced. `viewMode` is one of `2d-and-3d`, `3d-only` or `2d-only`. `unitsPerMetre` is how many of the spaces\' path units make one metre; `0` clears the scale. A space\'s `startHeightMetres` and `endHeightMetres` must be set together and the end must be above the start; a space without them is drawn at a default height. `startHeight` and `endHeight` are the same in the spaces\' path units, from editors that predate metres, and follow the same rules. Requires the *Edit floorplans* permission. `backgroundFile` and `foregroundFile` take the ID of an image in the account\'s file storage (see `/v1/account/files`), or an empty string to remove the layer\'s image; choosing a file also requires the *View file storage* permission. The file must be a PNG, JPEG, GIF, WebP or SVG image of at most 4 MB that is not quarantined, otherwise the request fails with `422` (`403` when quarantined) and nothing is changed. Setting or removing a layer\'s file also deletes any image previously uploaded to that layer through `PUT /v1/floorplans/{id}/images/{imageType}`.
271
271
  * Update a floor plan
272
272
  */
273
273
  update(requestParameters, initOverrides) {
@@ -123,7 +123,7 @@ export interface ScenariosApiInterface {
123
123
  */
124
124
  listLayerVariables(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<LayerVariablesRes>;
125
125
  /**
126
- * 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.
126
+ * 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.
127
127
  * @summary Update a scenario
128
128
  * @param {string} id
129
129
  * @param {ScenarioPatch} [scenarioPatch]
@@ -133,7 +133,7 @@ export interface ScenariosApiInterface {
133
133
  */
134
134
  updateRaw(requestParameters: ScenariosApiUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>>;
135
135
  /**
136
- * 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.
136
+ * 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.
137
137
  * Update a scenario
138
138
  */
139
139
  update(requestParameters: ScenariosApiUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object>;
@@ -203,12 +203,12 @@ export declare class ScenariosApi extends runtime.BaseAPI implements ScenariosAp
203
203
  */
204
204
  listLayerVariables(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<LayerVariablesRes>;
205
205
  /**
206
- * 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.
206
+ * 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.
207
207
  * Update a scenario
208
208
  */
209
209
  updateRaw(requestParameters: ScenariosApiUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>>;
210
210
  /**
211
- * 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.
211
+ * 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.
212
212
  * Update a scenario
213
213
  */
214
214
  update(requestParameters: ScenariosApiUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object>;
@@ -267,7 +267,7 @@ export class ScenariosApi extends runtime.BaseAPI {
267
267
  });
268
268
  }
269
269
  /**
270
- * 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.
270
+ * 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.
271
271
  * Update a scenario
272
272
  */
273
273
  updateRaw(requestParameters, initOverrides) {
@@ -298,7 +298,7 @@ export class ScenariosApi extends runtime.BaseAPI {
298
298
  });
299
299
  }
300
300
  /**
301
- * 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.
301
+ * 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.
302
302
  * Update a scenario
303
303
  */
304
304
  update(requestParameters, initOverrides) {
@@ -48,6 +48,18 @@ export interface AssistantChatPollBody {
48
48
  * @memberof AssistantChatPollBody
49
49
  */
50
50
  status: string;
51
+ /**
52
+ * 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.
53
+ * @type {number}
54
+ * @memberof AssistantChatPollBody
55
+ */
56
+ subsessionSteps: number;
57
+ /**
58
+ * 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.
59
+ * @type {string}
60
+ * @memberof AssistantChatPollBody
61
+ */
62
+ subsessionTool: string;
51
63
  }
52
64
  /**
53
65
  * Check if a given object implements the AssistantChatPollBody interface.
@@ -26,6 +26,10 @@ export function instanceOfAssistantChatPollBody(value) {
26
26
  return false;
27
27
  if (!('status' in value) || value['status'] === undefined)
28
28
  return false;
29
+ if (!('subsessionSteps' in value) || value['subsessionSteps'] === undefined)
30
+ return false;
31
+ if (!('subsessionTool' in value) || value['subsessionTool'] === undefined)
32
+ return false;
29
33
  return true;
30
34
  }
31
35
  export function AssistantChatPollBodyFromJSON(json) {
@@ -41,6 +45,8 @@ export function AssistantChatPollBodyFromJSONTyped(json, ignoreDiscriminator) {
41
45
  'finishedToolCallIds': json['finishedToolCallIds'],
42
46
  'messages': (json['messages'].map(AssistantChatPollMessageFromJSON)),
43
47
  'status': json['status'],
48
+ 'subsessionSteps': json['subsessionSteps'],
49
+ 'subsessionTool': json['subsessionTool'],
44
50
  };
45
51
  }
46
52
  export function AssistantChatPollBodyToJSON(json) {
@@ -56,5 +62,7 @@ export function AssistantChatPollBodyToJSONTyped(value, ignoreDiscriminator = fa
56
62
  'finishedToolCallIds': value['finishedToolCallIds'],
57
63
  'messages': (value['messages'].map(AssistantChatPollMessageToJSON)),
58
64
  'status': value['status'],
65
+ 'subsessionSteps': value['subsessionSteps'],
66
+ 'subsessionTool': value['subsessionTool'],
59
67
  };
60
68
  }
@@ -58,6 +58,12 @@ export interface AssistantChatPollMessage {
58
58
  * @memberof AssistantChatPollMessage
59
59
  */
60
60
  role: string;
61
+ /**
62
+ * 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.
63
+ * @type {string}
64
+ * @memberof AssistantChatPollMessage
65
+ */
66
+ subsessionId: string;
61
67
  /**
62
68
  *
63
69
  * @type {string}
@@ -30,6 +30,8 @@ export function instanceOfAssistantChatPollMessage(value) {
30
30
  return false;
31
31
  if (!('role' in value) || value['role'] === undefined)
32
32
  return false;
33
+ if (!('subsessionId' in value) || value['subsessionId'] === undefined)
34
+ return false;
33
35
  if (!('text' in value) || value['text'] === undefined)
34
36
  return false;
35
37
  if (!('toolCallId' in value) || value['toolCallId'] === undefined)
@@ -51,6 +53,7 @@ export function AssistantChatPollMessageFromJSONTyped(json, ignoreDiscriminator)
51
53
  'payload': json['payload'],
52
54
  'requestId': json['requestId'],
53
55
  'role': json['role'],
56
+ 'subsessionId': json['subsessionId'],
54
57
  'text': json['text'],
55
58
  'toolCallId': json['toolCallId'],
56
59
  };
@@ -70,6 +73,7 @@ export function AssistantChatPollMessageToJSONTyped(value, ignoreDiscriminator =
70
73
  'payload': value['payload'],
71
74
  'requestId': value['requestId'],
72
75
  'role': value['role'],
76
+ 'subsessionId': value['subsessionId'],
73
77
  'text': value['text'],
74
78
  'toolCallId': value['toolCallId'],
75
79
  };
@@ -16,12 +16,30 @@ import type { AssistantTranscriptMessage } from './AssistantTranscriptMessage';
16
16
  * @interface AssistantTranscriptBody
17
17
  */
18
18
  export interface AssistantTranscriptBody {
19
+ /**
20
+ *
21
+ * @type {string}
22
+ * @memberof AssistantTranscriptBody
23
+ */
24
+ conversationId: string;
19
25
  /**
20
26
  *
21
27
  * @type {Array<AssistantTranscriptMessage>}
22
28
  * @memberof AssistantTranscriptBody
23
29
  */
24
30
  messages: Array<AssistantTranscriptMessage>;
31
+ /**
32
+ * For a subsession, the id of the run_subsession tool call that started it. Empty for a conversation the user started.
33
+ * @type {string}
34
+ * @memberof AssistantTranscriptBody
35
+ */
36
+ parentToolCallId: string;
37
+ /**
38
+ * 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.
39
+ * @type {Array<AssistantTranscriptBody>}
40
+ * @memberof AssistantTranscriptBody
41
+ */
42
+ subsessions: Array<AssistantTranscriptBody>;
25
43
  /**
26
44
  * What the assistant is told of the messages it no longer replays, once the conversation has been compacted. Empty until then.
27
45
  * @type {string}
@@ -16,8 +16,14 @@ import { AssistantTranscriptMessageFromJSON, AssistantTranscriptMessageToJSON, }
16
16
  * Check if a given object implements the AssistantTranscriptBody interface.
17
17
  */
18
18
  export function instanceOfAssistantTranscriptBody(value) {
19
+ if (!('conversationId' in value) || value['conversationId'] === undefined)
20
+ return false;
19
21
  if (!('messages' in value) || value['messages'] === undefined)
20
22
  return false;
23
+ if (!('parentToolCallId' in value) || value['parentToolCallId'] === undefined)
24
+ return false;
25
+ if (!('subsessions' in value) || value['subsessions'] === undefined)
26
+ return false;
21
27
  if (!('summary' in value) || value['summary'] === undefined)
22
28
  return false;
23
29
  if (!('summaryUpTo' in value) || value['summaryUpTo'] === undefined)
@@ -32,7 +38,10 @@ export function AssistantTranscriptBodyFromJSONTyped(json, ignoreDiscriminator)
32
38
  return json;
33
39
  }
34
40
  return {
41
+ 'conversationId': json['conversationId'],
35
42
  'messages': (json['messages'].map(AssistantTranscriptMessageFromJSON)),
43
+ 'parentToolCallId': json['parentToolCallId'],
44
+ 'subsessions': (json['subsessions'].map(AssistantTranscriptBodyFromJSON)),
36
45
  'summary': json['summary'],
37
46
  'summaryUpTo': json['summaryUpTo'],
38
47
  };
@@ -45,7 +54,10 @@ export function AssistantTranscriptBodyToJSONTyped(value, ignoreDiscriminator =
45
54
  return value;
46
55
  }
47
56
  return {
57
+ 'conversationId': value['conversationId'],
48
58
  'messages': (value['messages'].map(AssistantTranscriptMessageToJSON)),
59
+ 'parentToolCallId': value['parentToolCallId'],
60
+ 'subsessions': (value['subsessions'].map(AssistantTranscriptBodyToJSON)),
49
61
  'summary': value['summary'],
50
62
  'summaryUpTo': value['summaryUpTo'],
51
63
  };
@@ -22,6 +22,12 @@ export interface FloorplanCreateSpace {
22
22
  * @memberof FloorplanCreateSpace
23
23
  */
24
24
  endHeight?: number;
25
+ /**
26
+ *
27
+ * @type {number}
28
+ * @memberof FloorplanCreateSpace
29
+ */
30
+ endHeightMetres?: number;
25
31
  /**
26
32
  *
27
33
  * @type {string}
@@ -40,6 +46,12 @@ export interface FloorplanCreateSpace {
40
46
  * @memberof FloorplanCreateSpace
41
47
  */
42
48
  startHeight?: number;
49
+ /**
50
+ *
51
+ * @type {number}
52
+ * @memberof FloorplanCreateSpace
53
+ */
54
+ startHeightMetres?: number;
43
55
  }
44
56
  /**
45
57
  * Check if a given object implements the FloorplanCreateSpace interface.
@@ -31,9 +31,11 @@ export function FloorplanCreateSpaceFromJSONTyped(json, ignoreDiscriminator) {
31
31
  }
32
32
  return {
33
33
  'endHeight': json['endHeight'] == null ? undefined : json['endHeight'],
34
+ 'endHeightMetres': json['endHeightMetres'] == null ? undefined : json['endHeightMetres'],
34
35
  'location': json['location'],
35
36
  'paths': (json['paths'].map(FloorplanSpaceChangelogPathFromJSON)),
36
37
  'startHeight': json['startHeight'] == null ? undefined : json['startHeight'],
38
+ 'startHeightMetres': json['startHeightMetres'] == null ? undefined : json['startHeightMetres'],
37
39
  };
38
40
  }
39
41
  export function FloorplanCreateSpaceToJSON(json) {
@@ -45,8 +47,10 @@ export function FloorplanCreateSpaceToJSONTyped(value, ignoreDiscriminator = fal
45
47
  }
46
48
  return {
47
49
  'endHeight': value['endHeight'],
50
+ 'endHeightMetres': value['endHeightMetres'],
48
51
  'location': value['location'],
49
52
  'paths': (value['paths'].map(FloorplanSpaceChangelogPathToJSON)),
50
53
  'startHeight': value['startHeight'],
54
+ 'startHeightMetres': value['startHeightMetres'],
51
55
  };
52
56
  }
@@ -65,6 +65,12 @@ export interface FloorplanGetBody {
65
65
  * @memberof FloorplanGetBody
66
66
  */
67
67
  spaces: Array<FloorplanGetBodySpace>;
68
+ /**
69
+ * 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.
70
+ * @type {number}
71
+ * @memberof FloorplanGetBody
72
+ */
73
+ unitsPerMetre?: number;
68
74
  /**
69
75
  * Whether the floor plan can be shown in 2D, in 3D, or both. Defaults to 2d-and-3d.
70
76
  * @type {string}
@@ -57,6 +57,7 @@ export function FloorplanGetBodyFromJSONTyped(json, ignoreDiscriminator) {
57
57
  'property': json['property'],
58
58
  'propertyNode': json['propertyNode'],
59
59
  'spaces': (json['spaces'].map(FloorplanGetBodySpaceFromJSON)),
60
+ 'unitsPerMetre': json['unitsPerMetre'] == null ? undefined : json['unitsPerMetre'],
60
61
  'viewMode': json['viewMode'],
61
62
  };
62
63
  }
@@ -76,6 +77,7 @@ export function FloorplanGetBodyToJSONTyped(value, ignoreDiscriminator = false)
76
77
  'property': value['property'],
77
78
  'propertyNode': value['propertyNode'],
78
79
  'spaces': (value['spaces'].map(FloorplanGetBodySpaceToJSON)),
80
+ 'unitsPerMetre': value['unitsPerMetre'],
79
81
  'viewMode': value['viewMode'],
80
82
  };
81
83
  }
@@ -17,11 +17,17 @@ import type { FloorplanGetBodySpacePoint } from './FloorplanGetBodySpacePoint';
17
17
  */
18
18
  export interface FloorplanGetBodySpace {
19
19
  /**
20
- * Height the space ends at in 3D, in the same units as its paths. Absent when the space uses the default heights.
20
+ * Height the space ends at in 3D, in the spaces' path units, as written by editors that predate metres. Absent once converted to metres.
21
21
  * @type {number}
22
22
  * @memberof FloorplanGetBodySpace
23
23
  */
24
24
  endHeight?: number;
25
+ /**
26
+ * Height the space ends at in 3D, in metres. Absent when the space uses the default heights.
27
+ * @type {number}
28
+ * @memberof FloorplanGetBodySpace
29
+ */
30
+ endHeightMetres?: number;
25
31
  /**
26
32
  *
27
33
  * @type {string}
@@ -35,11 +41,17 @@ export interface FloorplanGetBodySpace {
35
41
  */
36
42
  paths: Array<Array<FloorplanGetBodySpacePoint>>;
37
43
  /**
38
- * Height the space starts at in 3D, in the same units as its paths. Absent when the space uses the default heights.
44
+ * Height the space starts at in 3D, in the spaces' path units, as written by editors that predate metres. Absent once converted to metres.
39
45
  * @type {number}
40
46
  * @memberof FloorplanGetBodySpace
41
47
  */
42
48
  startHeight?: number;
49
+ /**
50
+ * Height the space starts at in 3D, in metres. Absent when the space uses the default heights.
51
+ * @type {number}
52
+ * @memberof FloorplanGetBodySpace
53
+ */
54
+ startHeightMetres?: number;
43
55
  }
44
56
  /**
45
57
  * Check if a given object implements the FloorplanGetBodySpace interface.
@@ -30,9 +30,11 @@ export function FloorplanGetBodySpaceFromJSONTyped(json, ignoreDiscriminator) {
30
30
  }
31
31
  return {
32
32
  'endHeight': json['endHeight'] == null ? undefined : json['endHeight'],
33
+ 'endHeightMetres': json['endHeightMetres'] == null ? undefined : json['endHeightMetres'],
33
34
  'location': json['location'],
34
35
  'paths': json['paths'],
35
36
  'startHeight': json['startHeight'] == null ? undefined : json['startHeight'],
37
+ 'startHeightMetres': json['startHeightMetres'] == null ? undefined : json['startHeightMetres'],
36
38
  };
37
39
  }
38
40
  export function FloorplanGetBodySpaceToJSON(json) {
@@ -44,8 +46,10 @@ export function FloorplanGetBodySpaceToJSONTyped(value, ignoreDiscriminator = fa
44
46
  }
45
47
  return {
46
48
  'endHeight': value['endHeight'],
49
+ 'endHeightMetres': value['endHeightMetres'],
47
50
  'location': value['location'],
48
51
  'paths': value['paths'],
49
52
  'startHeight': value['startHeight'],
53
+ 'startHeightMetres': value['startHeightMetres'],
50
54
  };
51
55
  }
@@ -65,6 +65,12 @@ export interface FloorplanPatchParamsBody {
65
65
  * @memberof FloorplanPatchParamsBody
66
66
  */
67
67
  spaces?: FloorplanCreateSpaceRepeated;
68
+ /**
69
+ *
70
+ * @type {number}
71
+ * @memberof FloorplanPatchParamsBody
72
+ */
73
+ unitsPerMetre?: number;
68
74
  /**
69
75
  *
70
76
  * @type {string}
@@ -35,6 +35,7 @@ export function FloorplanPatchParamsBodyFromJSONTyped(json, ignoreDiscriminator)
35
35
  'property': json['property'] == null ? undefined : json['property'],
36
36
  'propertyNode': json['propertyNode'] == null ? undefined : json['propertyNode'],
37
37
  'spaces': json['spaces'] == null ? undefined : FloorplanCreateSpaceRepeatedFromJSON(json['spaces']),
38
+ 'unitsPerMetre': json['unitsPerMetre'] == null ? undefined : json['unitsPerMetre'],
38
39
  'viewMode': json['viewMode'] == null ? undefined : json['viewMode'],
39
40
  };
40
41
  }
@@ -54,6 +55,7 @@ export function FloorplanPatchParamsBodyToJSONTyped(value, ignoreDiscriminator =
54
55
  'property': value['property'],
55
56
  'propertyNode': value['propertyNode'],
56
57
  'spaces': FloorplanCreateSpaceRepeatedToJSON(value['spaces']),
58
+ 'unitsPerMetre': value['unitsPerMetre'],
57
59
  'viewMode': value['viewMode'],
58
60
  };
59
61
  }