@twinfinity/twin 5.0.3-ci.27942 → 5.0.3-ci.28531
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.
- package/README.md +214 -0
- package/dist/BuildInfo.js +2 -2
- package/dist/TwinClient.d.ts +154 -31
- package/dist/TwinClient.d.ts.map +1 -1
- package/dist/TwinClient.js +82 -48
- package/dist/TwinClient.js.map +1 -1
- package/dist/errors.d.ts +4 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +9 -1
- package/dist/errors.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/highlight.css +77 -0
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/AssetBatchError.html +2 -2
- package/docs/classes/AssetConflictError.html +2 -2
- package/docs/classes/AssetForbiddenError.html +2 -0
- package/docs/classes/AssetNotFoundError.html +2 -2
- package/docs/classes/AssetValidationError.html +2 -1
- package/docs/classes/ProcessorNotFoundError.html +1 -1
- package/docs/classes/TwinClient.html +79 -19
- package/docs/classes/TwinConflictError.html +1 -1
- package/docs/classes/TwinFileConflictError.html +2 -2
- package/docs/classes/TwinFileNotFoundError.html +2 -2
- package/docs/classes/TwinFileValidationError.html +2 -2
- package/docs/classes/TwinNotFoundError.html +1 -1
- package/docs/classes/TwinValidationError.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +116 -1
- package/docs/interfaces/AssetBatchDeleteOperation.html +1 -1
- package/docs/interfaces/AssetBatchGetRequest.html +1 -1
- package/docs/interfaces/AssetBatchGetResponse.html +1 -1
- package/docs/interfaces/AssetBatchRequest.html +1 -1
- package/docs/interfaces/AssetBatchResponse.html +1 -1
- package/docs/interfaces/AssetBatchRestoreOperation.html +1 -1
- package/docs/interfaces/AssetBatchUpsertItem.html +1 -1
- package/docs/interfaces/AssetBatchUpsertOperation.html +1 -1
- package/docs/interfaces/AssetGet.html +1 -1
- package/docs/interfaces/AssetListItem.html +1 -1
- package/docs/interfaces/AssetPosition.html +1 -1
- package/docs/interfaces/AssetPost.html +1 -1
- package/docs/interfaces/AssetPut.html +1 -1
- package/docs/interfaces/BatchItemError.html +1 -1
- package/docs/interfaces/BatchItemResult.html +1 -1
- package/docs/interfaces/BatchSummary.html +1 -1
- package/docs/interfaces/Diagnostics.html +1 -1
- package/docs/interfaces/DiagnosticsSummary.html +1 -1
- package/docs/interfaces/ElementQuantities.html +1 -1
- package/docs/interfaces/EntityCollection.html +1 -1
- package/docs/interfaces/Facility.html +1 -1
- package/docs/interfaces/FacilityPart.html +1 -1
- package/docs/interfaces/FilePatch.html +1 -1
- package/docs/interfaces/FilePatchSet.html +1 -1
- package/docs/interfaces/GenericDiagnosticEntry.html +1 -1
- package/docs/interfaces/ITwinClient.html +84 -2
- package/docs/interfaces/IfcDiagnosticEntry.html +1 -1
- package/docs/interfaces/IfcDiagnosticNode.html +1 -1
- package/docs/interfaces/IfcDiagnosticNodeData.html +1 -1
- package/docs/interfaces/ListTwinItem.html +1 -1
- package/docs/interfaces/Location.html +1 -1
- package/docs/interfaces/PaginatedResponse.html +1 -1
- package/docs/interfaces/Pagination.html +1 -1
- package/docs/interfaces/Property.html +1 -1
- package/docs/interfaces/PropertySet.html +1 -1
- package/docs/interfaces/SimpleQuantity.html +1 -1
- package/docs/interfaces/SinglePropertyValue.html +1 -1
- package/docs/interfaces/Site.html +1 -1
- package/docs/interfaces/Space.html +1 -1
- package/docs/interfaces/TwinComputedPropertySetsResponse.html +1 -1
- package/docs/interfaces/TwinContentResponse.html +1 -1
- package/docs/interfaces/TwinDelete.html +1 -1
- package/docs/interfaces/TwinDiagnosticEntry.html +1 -1
- package/docs/interfaces/TwinDiagnosticNode.html +1 -1
- package/docs/interfaces/TwinDiagnosticNodeData.html +1 -1
- package/docs/interfaces/TwinDiagnosticsResponse.html +1 -1
- package/docs/interfaces/TwinErrorBody.html +1 -1
- package/docs/interfaces/TwinFileDelete.html +1 -1
- package/docs/interfaces/TwinFileGet.html +1 -1
- package/docs/interfaces/TwinFileListOptions.html +1 -1
- package/docs/interfaces/TwinFilePut.html +1 -1
- package/docs/interfaces/TwinFileReference.html +1 -1
- package/docs/interfaces/TwinFileRestore.html +1 -1
- package/docs/interfaces/TwinFileSource.html +1 -1
- package/docs/interfaces/TwinFileTransform.html +1 -1
- package/docs/interfaces/TwinFileVersionListOptions.html +1 -1
- package/docs/interfaces/TwinGet.html +1 -1
- package/docs/interfaces/TwinProcessorEvent.html +1 -1
- package/docs/interfaces/TwinProcessorResponse.html +1 -1
- package/docs/interfaces/TwinPut.html +1 -1
- package/docs/interfaces/TwinSpecification.html +1 -1
- package/docs/interfaces/TwinVersionContentResponse.html +1 -1
- package/docs/modules.html +1 -0
- package/docs/types/AssetBatchGetStatus.html +1 -1
- package/docs/types/AssetBatchOperation.html +1 -1
- package/docs/types/AssetBatchOperationStatus.html +1 -1
- package/docs/types/DiagnosticCategory.html +1 -1
- package/docs/types/DiagnosticLevel.html +1 -1
- package/docs/types/EpsgType.html +1 -1
- package/docs/types/FacilityClass.html +1 -1
- package/docs/types/FacilityPartClass.html +1 -1
- package/docs/types/IfcDiagnosticCode.html +1 -1
- package/docs/types/Op.html +1 -1
- package/docs/types/SinglePropertyValueType.html +1 -1
- package/docs/types/SingleQuantityValueType.html +1 -1
- package/docs/types/SiteType.html +1 -1
- package/docs/types/SpaceType.html +1 -1
- package/docs/types/TwinDiagnosticCode.html +1 -1
- package/package.json +1 -1
- package/src/TwinClient.ts +268 -46
- package/src/errors.ts +11 -1
package/README.md
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
# @twinfinity/twin
|
|
2
|
+
|
|
3
|
+
TypeScript client for the Twinfinity Twin Service API. Provides typed access to twins, assets, and twin files with optimistic concurrency control and structured error handling.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
bun add @twinfinity/twin
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
### Peer Dependencies
|
|
12
|
+
|
|
13
|
+
- `@twinfinity/authentication` - provides `TwinfinityHttpClient` for authenticated HTTP requests
|
|
14
|
+
- `@twinfinity/t8-client-model` - provides T8 client model types used by `loadTwin` / `loadGeometryInfo`
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
### Creating a Client
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
import { TwinClient } from '@twinfinity/twin';
|
|
22
|
+
|
|
23
|
+
const client = new TwinClient(apiUrl, httpClient);
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
The `baseUrl` is the API root (e.g. `https://api.twinfinity.com`). The client appends `/_ps/twins` internally.
|
|
27
|
+
|
|
28
|
+
### Twin Operations
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
// List twins (paginated)
|
|
32
|
+
const page = await client.listTwins();
|
|
33
|
+
|
|
34
|
+
// List all twins (auto-paginates)
|
|
35
|
+
const allTwins = await client.listAllTwins();
|
|
36
|
+
|
|
37
|
+
// Get a specific twin
|
|
38
|
+
const twin = await client.getTwin('twin-id');
|
|
39
|
+
|
|
40
|
+
// Get a specific version
|
|
41
|
+
const twinV2 = await client.getTwin({ id: 'twin-id', version: 2 });
|
|
42
|
+
|
|
43
|
+
// Create or update
|
|
44
|
+
const updated = await client.createOrUpdateTwin('twin-id', {
|
|
45
|
+
name: 'My Twin',
|
|
46
|
+
relatedContainerIds: ['container-1'],
|
|
47
|
+
etag: twin.etag // required for updates
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
// Soft-delete and restore
|
|
51
|
+
const deleted = await client.deleteTwin('twin-id', twin.etag);
|
|
52
|
+
const restored = await client.restoreTwin('twin-id', deleted.etag);
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Loading Twin Models
|
|
56
|
+
|
|
57
|
+
The client can download and deserialize processed twin content (T8CM/T8GI formats):
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
// Load client model with default types
|
|
61
|
+
const { id, version, model } = await client.loadTwin('twin-id');
|
|
62
|
+
|
|
63
|
+
// Load with custom factory functions for domain-specific types
|
|
64
|
+
const custom = await client.loadTwinWithFactories(
|
|
65
|
+
'twin-id',
|
|
66
|
+
myProjectFactory,
|
|
67
|
+
myProductFactory,
|
|
68
|
+
myEntityTypeFactory,
|
|
69
|
+
myUnitFactory,
|
|
70
|
+
myConnectProject,
|
|
71
|
+
myConnectProduct
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
// Load geometry info
|
|
75
|
+
const geometry = await client.loadGeometryInfo('twin-id');
|
|
76
|
+
|
|
77
|
+
// Load client model with geometry combined
|
|
78
|
+
const withGeometry = await client.loadTwinWithGeometry('twin-id');
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
When no version is specified, the client searches versions (newest first) for one that has the requested content format.
|
|
82
|
+
|
|
83
|
+
### Asset Operations
|
|
84
|
+
|
|
85
|
+
```typescript
|
|
86
|
+
// List assets in a twin
|
|
87
|
+
const assets = await client.listAssets('twin-id');
|
|
88
|
+
|
|
89
|
+
// Include soft-deleted assets
|
|
90
|
+
const allAssets = await client.listAssets('twin-id', 0, 100, { includeDeleted: true });
|
|
91
|
+
|
|
92
|
+
// Create assets
|
|
93
|
+
const created = await client.createAssets('twin-id', [{ name: 'Pump A', category: 'HVAC', type: 'Pump' }]);
|
|
94
|
+
|
|
95
|
+
// Update with optimistic concurrency
|
|
96
|
+
const updated = await client.updateAsset('twin-id', 'asset-id', {
|
|
97
|
+
etag: asset.etag,
|
|
98
|
+
name: 'Pump A (Updated)'
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
// Batch operations (atomic - all succeed or all roll back)
|
|
102
|
+
const result = await client.batchAssets('twin-id', [
|
|
103
|
+
{ operation: 'upsert', id: 'asset-1', item: { name: 'New Asset' } },
|
|
104
|
+
{ operation: 'delete', id: 'asset-2', item: { etag: 'etag-2' } },
|
|
105
|
+
{ operation: 'restore', id: 'asset-3', item: { etag: 'etag-3' } }
|
|
106
|
+
]);
|
|
107
|
+
|
|
108
|
+
// Batch get multiple assets by ID
|
|
109
|
+
const fetched = await client.batchGetAssets('twin-id', ['id-1', 'id-2']);
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Twin File Operations
|
|
113
|
+
|
|
114
|
+
```typescript
|
|
115
|
+
// List files (with filtering)
|
|
116
|
+
const files = await client.listTwinFiles('twin-id', { checkedIn: true });
|
|
117
|
+
|
|
118
|
+
// Create or update a file
|
|
119
|
+
const file = await client.createOrUpdateTwinFile('twin-id', 'file-id', {
|
|
120
|
+
source: { changeId: 'doc-id', changeVersion: 1, sourceType: 'DocumentChange' },
|
|
121
|
+
name: 'model.ifc',
|
|
122
|
+
quality: 100
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
// Download file content
|
|
126
|
+
const blob = await client.getTwinFileContent('twin-id', 'file-id');
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Error Handling
|
|
130
|
+
|
|
131
|
+
All methods throw typed errors for specific HTTP failure codes. Unexpected status codes throw a generic `Error`.
|
|
132
|
+
|
|
133
|
+
### Error Classes
|
|
134
|
+
|
|
135
|
+
| Error | HTTP Status | Context Attached |
|
|
136
|
+
| ------------------------- | ----------- | ------------------------------ |
|
|
137
|
+
| `TwinValidationError` | 400 | `errorBody?: TwinErrorBody` |
|
|
138
|
+
| `TwinNotFoundError` | 404 | - |
|
|
139
|
+
| `TwinConflictError` | 409 | `currentTwin: TwinGet` |
|
|
140
|
+
| `AssetValidationError` | 400 | `errorBody?: TwinErrorBody` |
|
|
141
|
+
| `AssetForbiddenError` | 403 | - |
|
|
142
|
+
| `AssetNotFoundError` | 404 | - |
|
|
143
|
+
| `AssetConflictError` | 409 | `currentAsset: AssetGet` |
|
|
144
|
+
| `AssetBatchError` | 404, 409 | `response: AssetBatchResponse` |
|
|
145
|
+
| `TwinFileValidationError` | 400 | `errorBody?: TwinErrorBody` |
|
|
146
|
+
| `TwinFileNotFoundError` | 404 | - |
|
|
147
|
+
| `TwinFileConflictError` | 409 | `currentTwinFile: TwinFileGet` |
|
|
148
|
+
| `ProcessorNotFoundError` | 404 | - |
|
|
149
|
+
|
|
150
|
+
### Conflict Handling
|
|
151
|
+
|
|
152
|
+
Conflict errors (409) carry the current server-side state, enabling retry logic:
|
|
153
|
+
|
|
154
|
+
```typescript
|
|
155
|
+
import { TwinConflictError } from '@twinfinity/twin';
|
|
156
|
+
|
|
157
|
+
try {
|
|
158
|
+
await client.createOrUpdateTwin('twin-id', twinData);
|
|
159
|
+
} catch (e) {
|
|
160
|
+
if (e instanceof TwinConflictError) {
|
|
161
|
+
// e.currentTwin contains the server's current version
|
|
162
|
+
// Use it to merge changes and retry
|
|
163
|
+
const merged = mergeChanges(twinData, e.currentTwin);
|
|
164
|
+
await client.createOrUpdateTwin('twin-id', {
|
|
165
|
+
...merged,
|
|
166
|
+
etag: e.currentTwin.etag
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Validation Error Body
|
|
173
|
+
|
|
174
|
+
`TwinValidationError`, `TwinFileValidationError`, and `AssetValidationError` may include a structured error body:
|
|
175
|
+
|
|
176
|
+
```typescript
|
|
177
|
+
interface TwinErrorBody {
|
|
178
|
+
detail: string;
|
|
179
|
+
cause: string;
|
|
180
|
+
item?: {
|
|
181
|
+
kind: string;
|
|
182
|
+
id: string;
|
|
183
|
+
version?: number;
|
|
184
|
+
field?: string;
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Batch Error Handling
|
|
190
|
+
|
|
191
|
+
`AssetBatchError` carries the full batch response with per-item results, including which operations were reverted:
|
|
192
|
+
|
|
193
|
+
```typescript
|
|
194
|
+
import { AssetBatchError } from '@twinfinity/twin';
|
|
195
|
+
|
|
196
|
+
try {
|
|
197
|
+
await client.batchAssets('twin-id', operations);
|
|
198
|
+
} catch (e) {
|
|
199
|
+
if (e instanceof AssetBatchError) {
|
|
200
|
+
for (const result of e.response.results) {
|
|
201
|
+
if (result.status === 'conflicted') {
|
|
202
|
+
console.log(`Item ${result.index} conflicted: ${result.error?.detail}`);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## Exports
|
|
210
|
+
|
|
211
|
+
The package has two export paths:
|
|
212
|
+
|
|
213
|
+
- `@twinfinity/twin` - Public API: `TwinClient`, `ITwinClient`, all types, all error classes
|
|
214
|
+
- `@twinfinity/twin/internal/*` - Internal modules (no stability guarantees)
|
package/dist/BuildInfo.js
CHANGED
package/dist/TwinClient.d.ts
CHANGED
|
@@ -1,62 +1,208 @@
|
|
|
1
1
|
import { TwinfinityHttpClient } from '@twinfinity/authentication';
|
|
2
|
-
import { T8ClientEntityTypeDTO, T8ClientModelDTO, T8ClientProductConnectionsDTO, T8ClientProductDTO, T8ClientProjectConnectionsDTO, T8ClientProjectDTO, T8ClientUnitDTO, T8EntityType, T8GIMeshDescriptor, T8GIMeshDescriptorDTO, T8GIStyle, T8GIStyleDTO, T8GIRegion, T8GIRegionDTO, T8Product, T8Project, T8Unit } from '@twinfinity/t8-client-model';
|
|
2
|
+
import { T8ClientEntityTypeDTO, T8ClientModelDTO, T8ClientProductConnectionsDTO, T8ClientProductDTO, T8ClientProjectConnectionsDTO, T8ClientProjectDTO, T8ClientUnitDTO, T8EntityType, T8GIMeshDescriptor, T8GIMeshDescriptorDTO, T8GIStyle, T8GIStyleDTO, T8GIRegion, T8GIRegionDTO, T8Product, T8ProductWithGeometry, T8Project, T8Unit } from '@twinfinity/t8-client-model';
|
|
3
|
+
import type { T8ProjectWithGeometry } from '@twinfinity/t8-client-model';
|
|
3
4
|
import type { PaginatedResponse, ListTwinItem, TwinGet, TwinPut, TwinVersionContentResponse, TwinProcessorEvent, TwinDiagnosticsResponse, AssetListItem, AssetGet, AssetPost, AssetPut, AssetBatchOperation, AssetBatchResponse, AssetBatchGetResponse, TwinFileGet, TwinFilePut, TwinFileDelete, TwinFileListOptions, TwinFileVersionListOptions, TwinContentResponse } from './types';
|
|
4
5
|
import { Twin } from './types/Twin';
|
|
5
6
|
import { TwinGeometryInfo } from './types/TwinGeometryInfo';
|
|
6
7
|
export interface ITwinClient {
|
|
8
|
+
/**
|
|
9
|
+
* @param relatedTo - Filter twins by container ID.
|
|
10
|
+
* @throws {TwinValidationError} On invalid query parameters (400).
|
|
11
|
+
*/
|
|
7
12
|
listTwins(relatedTo?: string, page?: string, limit?: number, signal?: AbortSignal): Promise<PaginatedResponse<ListTwinItem>>;
|
|
13
|
+
/**
|
|
14
|
+
* Fetches all twins by auto-paginating through {@link listTwins}. Caps at 1000 pages.
|
|
15
|
+
* @param relatedTo - Filter twins by container ID.
|
|
16
|
+
*/
|
|
8
17
|
listAllTwins(relatedTo?: string, signal?: AbortSignal): Promise<ListTwinItem[]>;
|
|
18
|
+
/**
|
|
19
|
+
* @param twin - Twin ID string, or `{id, version}` to fetch a specific version.
|
|
20
|
+
* @throws {TwinNotFoundError} When the twin or version does not exist (404).
|
|
21
|
+
*/
|
|
9
22
|
getTwin(twin: string | {
|
|
10
23
|
id: string;
|
|
11
24
|
version: number;
|
|
12
25
|
}, signal?: AbortSignal): Promise<TwinGet>;
|
|
26
|
+
/**
|
|
27
|
+
* @throws {TwinValidationError} On invalid query parameters (400).
|
|
28
|
+
*/
|
|
13
29
|
listTwinVersions(id: string, options?: {
|
|
14
30
|
includeDeleted?: boolean;
|
|
15
31
|
page?: string;
|
|
16
32
|
limit?: number;
|
|
17
33
|
}, signal?: AbortSignal): Promise<PaginatedResponse<ListTwinItem>>;
|
|
18
34
|
downloadTwinContent(twinId: string, twinVersion: number, content: TwinContentResponse, signal?: AbortSignal): Promise<ArrayBuffer>;
|
|
35
|
+
/**
|
|
36
|
+
* Downloads and deserializes the T8 client model (t8cm + t8cm-ext) using default types.
|
|
37
|
+
* When no version is specified, searches versions newest-first for one containing t8cm content.
|
|
38
|
+
*
|
|
39
|
+
* @param twin - Twin ID string, or `{id, version}` to load a specific version.
|
|
40
|
+
* @throws {Error} When no version has t8cm content.
|
|
41
|
+
*/
|
|
19
42
|
loadTwin(twin: string | {
|
|
20
43
|
id: string;
|
|
21
44
|
version: number;
|
|
22
45
|
}, signal?: AbortSignal): Promise<Twin<T8Project, T8Product<T8EntityType>, T8EntityType, T8Unit>>;
|
|
46
|
+
/**
|
|
47
|
+
* Downloads and deserializes the T8 client model using custom factory functions for domain-specific types.
|
|
48
|
+
* When no version is specified, searches versions newest-first for one containing t8cm content.
|
|
49
|
+
*
|
|
50
|
+
* @param twin - Twin ID string, or `{id, version}` to load a specific version.
|
|
51
|
+
* @throws {Error} When no version has t8cm content.
|
|
52
|
+
*/
|
|
23
53
|
loadTwinWithFactories<TProject, TProduct, TEntityType, TUnit>(twin: string | {
|
|
24
54
|
id: string;
|
|
25
55
|
version: number;
|
|
26
56
|
}, projectFactory: (dto: T8ClientProjectDTO<TUnit>) => TProject, productFactory: (dto: T8ClientProductDTO<TUnit>) => TProduct, entityTypeFactory: (dto: T8ClientEntityTypeDTO<TUnit>) => TEntityType, unitFactory: (dto: T8ClientUnitDTO, dataModel: T8ClientModelDTO) => TUnit, connectProject: (dto: T8ClientProjectConnectionsDTO<TProduct>, project: TProject) => void, connectProduct: (dto: T8ClientProductConnectionsDTO<TProduct, TEntityType>, product: TProduct) => void, signal?: AbortSignal): Promise<Twin<TProject, TProduct, TEntityType, TUnit>>;
|
|
57
|
+
/**
|
|
58
|
+
* Downloads and deserializes geometry info (t8gi) using default types.
|
|
59
|
+
* When no version is specified, searches versions newest-first for one containing t8gi content.
|
|
60
|
+
*
|
|
61
|
+
* @param twin - Twin ID string, or `{id, version}` to load a specific version.
|
|
62
|
+
* @throws {Error} When no version has t8gi content.
|
|
63
|
+
*/
|
|
27
64
|
loadGeometryInfo(twin: string | {
|
|
28
65
|
id: string;
|
|
29
66
|
version: number;
|
|
30
67
|
}, signal?: AbortSignal): Promise<TwinGeometryInfo<T8GIMeshDescriptor, T8GIStyle, T8GIRegion>>;
|
|
68
|
+
/**
|
|
69
|
+
* Downloads and deserializes geometry info (t8gi) using custom factory functions.
|
|
70
|
+
* When no version is specified, searches versions newest-first for one containing t8gi content.
|
|
71
|
+
*
|
|
72
|
+
* @param twin - Twin ID string, or `{id, version}` to load a specific version.
|
|
73
|
+
* @throws {Error} When no version has t8gi content.
|
|
74
|
+
*/
|
|
31
75
|
loadGeometryInfoWithFactories<TMeshDescriptor, TStyle, TRegion>(twin: string | {
|
|
32
76
|
id: string;
|
|
33
77
|
version: number;
|
|
34
78
|
}, meshDescriptorFactory: (dto: T8GIMeshDescriptorDTO) => TMeshDescriptor, styleFactory: (dto: T8GIStyleDTO) => TStyle, regionFactory: (dto: T8GIRegionDTO) => TRegion, signal?: AbortSignal): Promise<TwinGeometryInfo<TMeshDescriptor, TStyle, TRegion>>;
|
|
79
|
+
/**
|
|
80
|
+
* Downloads and deserializes both the client model (t8cm) and geometry (t8gi/t8gd) into a combined result.
|
|
81
|
+
* When no version is specified, searches versions newest-first for one containing both t8cm and t8gi content.
|
|
82
|
+
*
|
|
83
|
+
* @param twin - Twin ID string, or `{id, version}` to load a specific version.
|
|
84
|
+
* @throws {Error} When no version has both t8cm and t8gi content.
|
|
85
|
+
*/
|
|
86
|
+
loadTwinWithGeometry(twin: string | {
|
|
87
|
+
id: string;
|
|
88
|
+
version: number;
|
|
89
|
+
}, signal?: AbortSignal): Promise<Twin<T8ProjectWithGeometry, T8ProductWithGeometry, T8EntityType, T8Unit>>;
|
|
90
|
+
/**
|
|
91
|
+
* Creates a new twin or updates an existing one (upsert). Provide `etag` in the twin body to update.
|
|
92
|
+
*
|
|
93
|
+
* @throws {TwinValidationError} On invalid request body (400).
|
|
94
|
+
* @throws {TwinConflictError} On etag mismatch (409). The error's `currentTwin` contains the server's current state.
|
|
95
|
+
*/
|
|
35
96
|
createOrUpdateTwin(twinId: string, twin: TwinPut, signal?: AbortSignal): Promise<TwinGet>;
|
|
97
|
+
/** Alias for {@link createOrUpdateTwin}. */
|
|
36
98
|
updateTwin(twinId: string, twin: TwinPut, signal?: AbortSignal): Promise<TwinGet>;
|
|
99
|
+
/**
|
|
100
|
+
* @throws {TwinNotFoundError} When the twin does not exist (404).
|
|
101
|
+
* @throws {TwinConflictError} On etag mismatch (409). The error's `currentTwin` contains the server's current state.
|
|
102
|
+
*/
|
|
37
103
|
restoreTwin(twinId: string, etag: string, signal?: AbortSignal): Promise<TwinGet>;
|
|
104
|
+
/**
|
|
105
|
+
* @throws {TwinNotFoundError} When the twin or version does not exist (404).
|
|
106
|
+
*/
|
|
38
107
|
getTwinVersionContent(twinId: string, twinVersion: number, signal?: AbortSignal): Promise<TwinVersionContentResponse>;
|
|
108
|
+
/**
|
|
109
|
+
* Returns content for the latest twin version.
|
|
110
|
+
* @throws {TwinNotFoundError} When the twin does not exist (404).
|
|
111
|
+
*/
|
|
39
112
|
getTwinContent(twinId: string, signal?: AbortSignal): Promise<TwinVersionContentResponse>;
|
|
113
|
+
/** @throws {TwinNotFoundError} When the twin does not exist (404). */
|
|
40
114
|
getTwinDiagnostics(twinId: string, signal?: AbortSignal): Promise<TwinDiagnosticsResponse>;
|
|
115
|
+
/** @throws {TwinNotFoundError} When the twin or version does not exist (404). */
|
|
41
116
|
getTwinVersionDiagnostics(twinId: string, twinVersion: number, signal?: AbortSignal): Promise<TwinDiagnosticsResponse>;
|
|
117
|
+
/**
|
|
118
|
+
* @throws {TwinValidationError} On invalid query parameters (400).
|
|
119
|
+
* @throws {TwinNotFoundError} When the twin or version does not exist (404).
|
|
120
|
+
*/
|
|
42
121
|
getTwinVersionEvents(twinId: string, twinVersion: number, offset?: number, limit?: number, signal?: AbortSignal): Promise<PaginatedResponse<TwinProcessorEvent>>;
|
|
122
|
+
/**
|
|
123
|
+
* @throws {TwinValidationError} On invalid query parameters (400).
|
|
124
|
+
* @throws {ProcessorNotFoundError} When the processor does not exist for this twin version (404).
|
|
125
|
+
*/
|
|
43
126
|
getProcessorEvents(twinId: string, twinVersion: number, processorId: string, offset?: number, limit?: number, signal?: AbortSignal): Promise<PaginatedResponse<TwinProcessorEvent>>;
|
|
127
|
+
/**
|
|
128
|
+
* @throws {AssetValidationError} On invalid query parameters (400).
|
|
129
|
+
* @throws {AssetNotFoundError} When the twin does not exist (404).
|
|
130
|
+
*/
|
|
44
131
|
listAssets(twinId: string, offset?: number, limit?: number, options?: {
|
|
45
132
|
includeDeleted?: boolean;
|
|
46
133
|
}, signal?: AbortSignal): Promise<PaginatedResponse<AssetListItem>>;
|
|
134
|
+
/** @throws {AssetNotFoundError} When the asset does not exist (404). */
|
|
47
135
|
getAsset(twinId: string, assetId: string, signal?: AbortSignal): Promise<AssetGet>;
|
|
136
|
+
/** @throws {AssetValidationError} On invalid request body (400). The error's `errorBody` has structured detail. */
|
|
48
137
|
createAssets(twinId: string, assets: AssetPost[], signal?: AbortSignal): Promise<AssetGet[]>;
|
|
138
|
+
/**
|
|
139
|
+
* @throws {AssetValidationError} On invalid request body (400). The error's `errorBody` has structured detail.
|
|
140
|
+
* @throws {AssetConflictError} On etag mismatch (409). The error's `currentAsset` contains the server's current state.
|
|
141
|
+
*/
|
|
49
142
|
updateAsset(twinId: string, assetId: string, asset: AssetPut, signal?: AbortSignal): Promise<AssetGet>;
|
|
143
|
+
/**
|
|
144
|
+
* @throws {AssetNotFoundError} When the asset does not exist (404).
|
|
145
|
+
* @throws {AssetConflictError} On etag mismatch (409). The error's `currentAsset` contains the server's current state.
|
|
146
|
+
*/
|
|
50
147
|
deleteAsset(twinId: string, assetId: string, etag: string, signal?: AbortSignal): Promise<AssetGet>;
|
|
148
|
+
/**
|
|
149
|
+
* @throws {AssetNotFoundError} When the asset does not exist (404).
|
|
150
|
+
* @throws {AssetConflictError} On etag mismatch (409). The error's `currentAsset` contains the server's current state.
|
|
151
|
+
*/
|
|
152
|
+
restoreAsset(twinId: string, assetId: string, etag: string, signal?: AbortSignal): Promise<AssetGet>;
|
|
153
|
+
/**
|
|
154
|
+
* Executes a batch of asset operations (upsert, delete, restore) atomically.
|
|
155
|
+
* All operations succeed or all are rolled back.
|
|
156
|
+
*
|
|
157
|
+
* @param operations - Array of batch operations (max 1000).
|
|
158
|
+
* @throws {AssetValidationError} On validation failure (400).
|
|
159
|
+
* @throws {AssetForbiddenError} On insufficient permissions (403).
|
|
160
|
+
* @throws {AssetBatchError} On conflict (409) or not found (404). The error's `response` has per-item results with reverted statuses.
|
|
161
|
+
*/
|
|
162
|
+
batchAssets(twinId: string, operations: AssetBatchOperation[], signal?: AbortSignal): Promise<AssetBatchResponse>;
|
|
163
|
+
/**
|
|
164
|
+
* Retrieves multiple assets by ID in a single request.
|
|
165
|
+
*
|
|
166
|
+
* @param ids - Array of asset IDs (max 1000).
|
|
167
|
+
* @throws {AssetValidationError} On validation failure (400).
|
|
168
|
+
*/
|
|
169
|
+
batchGetAssets(twinId: string, ids: string[], signal?: AbortSignal): Promise<AssetBatchGetResponse>;
|
|
170
|
+
/**
|
|
171
|
+
* @throws {TwinNotFoundError} When the twin does not exist (404).
|
|
172
|
+
* @throws {TwinConflictError} On etag mismatch (409). The error's `currentTwin` contains the server's current state.
|
|
173
|
+
*/
|
|
51
174
|
deleteTwin(twinId: string, etag: string, signal?: AbortSignal): Promise<TwinGet>;
|
|
175
|
+
/** @throws {TwinFileValidationError} On invalid query parameters (400). */
|
|
52
176
|
listTwinFiles(twinId: string, options?: TwinFileListOptions, signal?: AbortSignal): Promise<PaginatedResponse<TwinFileGet>>;
|
|
177
|
+
/**
|
|
178
|
+
* @throws {TwinFileNotFoundError} When the file does not exist (404).
|
|
179
|
+
* @throws {TwinFileValidationError} On invalid request (400).
|
|
180
|
+
*/
|
|
53
181
|
getTwinFile(twinId: string, fileId: string, signal?: AbortSignal): Promise<TwinFileGet>;
|
|
182
|
+
/**
|
|
183
|
+
* @throws {TwinFileValidationError} On invalid request body (400).
|
|
184
|
+
* @throws {TwinFileConflictError} On etag mismatch (409). The error's `currentTwinFile` contains the server's current state.
|
|
185
|
+
*/
|
|
54
186
|
createOrUpdateTwinFile(twinId: string, fileId: string, twinFile: TwinFilePut, signal?: AbortSignal): Promise<TwinFileGet>;
|
|
187
|
+
/**
|
|
188
|
+
* @throws {TwinFileNotFoundError} When the file does not exist (404).
|
|
189
|
+
* @throws {TwinFileConflictError} On etag mismatch (409). The error's `currentTwinFile` contains the server's current state.
|
|
190
|
+
* @throws {TwinFileValidationError} On invalid request (400).
|
|
191
|
+
*/
|
|
55
192
|
deleteTwinFile(twinId: string, fileId: string, deleteRequest: TwinFileDelete, signal?: AbortSignal): Promise<TwinFileGet>;
|
|
193
|
+
/**
|
|
194
|
+
* @throws {TwinFileNotFoundError} When the file does not exist (404).
|
|
195
|
+
* @throws {TwinFileConflictError} On etag mismatch (409). The error's `currentTwinFile` contains the server's current state.
|
|
196
|
+
* @throws {TwinFileValidationError} On invalid request (400).
|
|
197
|
+
*/
|
|
56
198
|
restoreTwinFile(twinId: string, fileId: string, etag: string, signal?: AbortSignal): Promise<TwinFileGet>;
|
|
199
|
+
/** @throws {TwinFileNotFoundError} When the file does not exist (404). */
|
|
57
200
|
getTwinFileContent(twinId: string, fileId: string, signal?: AbortSignal): Promise<Blob>;
|
|
201
|
+
/** @throws {TwinFileNotFoundError} When the file or version does not exist (404). */
|
|
58
202
|
getTwinFileVersion(twinId: string, fileId: string, version: number, signal?: AbortSignal): Promise<TwinFileGet>;
|
|
203
|
+
/** @throws {TwinFileValidationError} On invalid query parameters (400). */
|
|
59
204
|
listTwinFileVersions(twinId: string, fileId: string, options?: TwinFileVersionListOptions, signal?: AbortSignal): Promise<PaginatedResponse<TwinFileGet>>;
|
|
205
|
+
/** @throws {TwinFileNotFoundError} When the file or version does not exist (404). */
|
|
60
206
|
getTwinFileVersionContent(twinId: string, fileId: string, version: number, signal?: AbortSignal): Promise<Blob>;
|
|
61
207
|
}
|
|
62
208
|
export declare class TwinClient implements ITwinClient {
|
|
@@ -93,6 +239,11 @@ export declare class TwinClient implements ITwinClient {
|
|
|
93
239
|
id: string;
|
|
94
240
|
version: number;
|
|
95
241
|
}, meshDescriptorFactory: (dto: T8GIMeshDescriptorDTO) => TMeshDescriptor, styleFactory: (dto: T8GIStyleDTO) => TStyle, regionFactory: (dto: T8GIRegionDTO) => TRegion, signal?: AbortSignal): Promise<TwinGeometryInfo<TMeshDescriptor, TStyle, TRegion>>;
|
|
242
|
+
private loadTwinWithGeometryVersion;
|
|
243
|
+
loadTwinWithGeometry(twin: string | {
|
|
244
|
+
id: string;
|
|
245
|
+
version: number;
|
|
246
|
+
}, signal?: AbortSignal): Promise<Twin<T8ProjectWithGeometry, T8ProductWithGeometry, T8EntityType, T8Unit>>;
|
|
96
247
|
createOrUpdateTwin(twinId: string, twin: TwinPut, signal?: AbortSignal): Promise<TwinGet>;
|
|
97
248
|
updateTwin(twinId: string, twin: TwinPut, signal?: AbortSignal): Promise<TwinGet>;
|
|
98
249
|
deleteTwin(twinId: string, etag: string, signal?: AbortSignal): Promise<TwinGet>;
|
|
@@ -110,37 +261,9 @@ export declare class TwinClient implements ITwinClient {
|
|
|
110
261
|
createAssets(twinId: string, assets: AssetPost[], signal?: AbortSignal): Promise<AssetGet[]>;
|
|
111
262
|
updateAsset(twinId: string, assetId: string, asset: AssetPut, signal?: AbortSignal): Promise<AssetGet>;
|
|
112
263
|
deleteAsset(twinId: string, assetId: string, etag: string, signal?: AbortSignal): Promise<AssetGet>;
|
|
113
|
-
/**
|
|
114
|
-
* Restores a soft-deleted asset.
|
|
115
|
-
*
|
|
116
|
-
* @param twinId - The twin ID
|
|
117
|
-
* @param assetId - The asset ID to restore
|
|
118
|
-
* @param etag - The current etag of the deleted asset
|
|
119
|
-
* @returns The restored asset
|
|
120
|
-
* @throws {AssetConflictError} When the asset has been modified (409)
|
|
121
|
-
* @throws {AssetNotFoundError} When the asset does not exist (404)
|
|
122
|
-
*/
|
|
123
264
|
restoreAsset(twinId: string, assetId: string, etag: string): Promise<AssetGet>;
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
* All operations succeed or all are rolled back.
|
|
127
|
-
*
|
|
128
|
-
* @param twinId - The twin ID
|
|
129
|
-
* @param operations - Array of batch operations (max 1000)
|
|
130
|
-
* @returns Batch response with results for each operation
|
|
131
|
-
* @throws {AssetValidationError} When request validation fails (400) or insufficient permissions (403)
|
|
132
|
-
* @throws {AssetBatchError} When an operation conflicts (409) or asset not found (404) — the response contains per-item results with reverted statuses
|
|
133
|
-
*/
|
|
134
|
-
batchAssets(twinId: string, operations: AssetBatchOperation[]): Promise<AssetBatchResponse>;
|
|
135
|
-
/**
|
|
136
|
-
* Retrieves multiple assets by their IDs in a single request.
|
|
137
|
-
*
|
|
138
|
-
* @param twinId - The twin ID
|
|
139
|
-
* @param ids - Array of asset IDs to retrieve (max 1000)
|
|
140
|
-
* @returns Batch response with summary and per-item results
|
|
141
|
-
* @throws {AssetValidationError} When request validation fails (400)
|
|
142
|
-
*/
|
|
143
|
-
batchGetAssets(twinId: string, ids: string[]): Promise<AssetBatchGetResponse>;
|
|
265
|
+
batchAssets(twinId: string, operations: AssetBatchOperation[], signal?: AbortSignal): Promise<AssetBatchResponse>;
|
|
266
|
+
batchGetAssets(twinId: string, ids: string[], signal?: AbortSignal): Promise<AssetBatchGetResponse>;
|
|
144
267
|
listTwinFiles(twinId: string, options?: TwinFileListOptions, signal?: AbortSignal): Promise<PaginatedResponse<TwinFileGet>>;
|
|
145
268
|
getTwinFile(twinId: string, fileId: string, signal?: AbortSignal): Promise<TwinFileGet>;
|
|
146
269
|
createOrUpdateTwinFile(twinId: string, fileId: string, twinFile: TwinFilePut, signal?: AbortSignal): Promise<TwinFileGet>;
|
package/dist/TwinClient.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TwinClient.d.ts","sourceRoot":"","sources":["../src/TwinClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TwinClient.d.ts","sourceRoot":"","sources":["../src/TwinClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAc,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAIH,qBAAqB,EAErB,gBAAgB,EAChB,6BAA6B,EAC7B,kBAAkB,EAClB,6BAA6B,EAC7B,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,SAAS,EACT,YAAY,EACZ,UAAU,EACV,aAAa,EACb,SAAS,EACT,qBAAqB,EACrB,SAAS,EACT,MAAM,EACT,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE,OAAO,KAAK,EACR,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,OAAO,EACP,0BAA0B,EAC1B,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACtB,MAAM,SAAS,CAAC;AAejB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,WAAW,WAAW;IACxB;;;OAGG;IACH,SAAS,CACL,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;IAE5C;;;OAGG;IACH,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEhF;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhG;;OAEG;IACH,gBAAgB,CACZ,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE;QACN,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,EACD,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;IAE5C,mBAAmB,CACf,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB;;;;;;OAMG;IACH,QAAQ,CACJ,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAC9C,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAE3E;;;;;;OAMG;IACH,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EACxD,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAC9C,cAAc,EAAE,CAAC,GAAG,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,QAAQ,EAC5D,cAAc,EAAE,CAAC,GAAG,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,QAAQ,EAC5D,iBAAiB,EAAE,CAAC,GAAG,EAAE,qBAAqB,CAAC,KAAK,CAAC,KAAK,WAAW,EACrE,WAAW,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,KAAK,KAAK,EACzE,cAAc,EAAE,CAAC,GAAG,EAAE,6BAA6B,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,KAAK,IAAI,EACzF,cAAc,EAAE,CAAC,GAAG,EAAE,6BAA6B,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,KAAK,IAAI,EACtG,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAEzD;;;;;;OAMG;IACH,gBAAgB,CACZ,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAC9C,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAExE;;;;;;OAMG;IACH,6BAA6B,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,EAC1D,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAC9C,qBAAqB,EAAE,CAAC,GAAG,EAAE,qBAAqB,KAAK,eAAe,EACtE,YAAY,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,MAAM,EAC3C,aAAa,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,EAC9C,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/D;;;;;;OAMG;IACH,oBAAoB,CAChB,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAC9C,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAErF;;;;;OAKG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1F,4CAA4C;IAC5C,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAElF;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAElF;;OAEG;IACH,qBAAqB,CACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAEvC;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAE1F,sEAAsE;IACtE,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAE3F,iFAAiF;IACjF,yBAAyB,CACrB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAEpC;;;OAGG;IACH,oBAAoB,CAChB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAElD;;;OAGG;IACH,kBAAkB,CACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAElD;;;OAGG;IACH,UAAU,CACN,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,EACtC,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;IAE7C,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnF,mHAAmH;IACnH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE7F;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEvG;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEpG;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErG;;;;;;;;OAQG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAElH;;;;;OAKG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEpG;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjF,2EAA2E;IAC3E,aAAa,CACT,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,mBAAmB,EAC7B,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;IAE3C;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAExF;;;OAGG;IACH,sBAAsB,CAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,EACrB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB;;;;OAIG;IACH,cAAc,CACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,cAAc,EAC7B,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE1G,0EAA0E;IAC1E,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExF,qFAAqF;IACrF,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEhH,2EAA2E;IAC3E,oBAAoB,CAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,0BAA0B,EACpC,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;IAE3C,qFAAqF;IACrF,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnH;AAED,qBAAa,UAAW,YAAW,WAAW;IAKtC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAJhC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAG9B,OAAO,EAAE,MAAM,GAAG,GAAG,EACJ,WAAW,EAAE,oBAAoB;IAKhD,SAAS,CACX,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,GAAE,MAAM,GAAG,SAAqB,EACpC,KAAK,SAAM,EACX,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IA0BrC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAoB/E,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAwB/F,gBAAgB,CAClB,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE;QACN,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,EACD,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IA0BrC,mBAAmB,CACrB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,WAAW,CAAC;YAcT,eAAe;IAsC7B,QAAQ,CACJ,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAC9C,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAapE,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAC9D,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAC9C,cAAc,EAAE,CAAC,GAAG,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,QAAQ,EAC5D,cAAc,EAAE,CAAC,GAAG,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,QAAQ,EAC5D,iBAAiB,EAAE,CAAC,GAAG,EAAE,qBAAqB,CAAC,KAAK,CAAC,KAAK,WAAW,EACrE,WAAW,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,KAAK,KAAK,EACzE,cAAc,EAAE,CAAC,GAAG,EAAE,6BAA6B,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,KAAK,IAAI,EACzF,cAAc,EAAE,CAAC,GAAG,EAAE,6BAA6B,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,KAAK,IAAI,EACtG,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YAsD1C,uBAAuB;IAqBrC,gBAAgB,CACZ,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAC9C,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAUjE,6BAA6B,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,EAChE,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAC9C,qBAAqB,EAAE,CAAC,GAAG,EAAE,qBAAqB,KAAK,eAAe,EACtE,YAAY,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,MAAM,EAC3C,aAAa,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,EAC9C,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAiDhD,2BAA2B;IAkCnC,oBAAoB,CACtB,IAAI,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAC9C,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAmC9E,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBzF,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAIjF,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBhF,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBjF,qBAAqB,CACvB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,0BAA0B,CAAC;IAmBhC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAkBzF,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAkB1F,yBAAyB,CAC3B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,uBAAuB,CAAC;IAqB7B,oBAAoB,CACtB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,MAAM,SAAI,EACV,KAAK,SAAM,EACX,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAyB3C,kBAAkB,CACpB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,MAAM,SAAI,EACV,KAAK,SAAM,EACX,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IA2B3C,UAAU,CACZ,MAAM,EAAE,MAAM,EACd,MAAM,SAAI,EACV,KAAK,SAAM,EACX,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,EACtC,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAyBtC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkBlF,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAoB5F,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAyBtG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4BnG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2B9E,WAAW,CACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,mBAAmB,EAAE,EACjC,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,kBAAkB,CAAC;IA8BxB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAoBnG,aAAa,CACf,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAAwB,EACjC,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAoCpC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAuBvF,sBAAsB,CACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,EACrB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,WAAW,CAAC;IAyBjB,cAAc,CAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,cAAc,EAC7B,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,WAAW,CAAC;IA6BjB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAiCzG,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBvF,kBAAkB,CACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,WAAW,CAAC;IAmBjB,oBAAoB,CACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,0BAA0B,EACpC,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IA4BpC,yBAAyB,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,IAAI,CAAC;IAqBV,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQ7F,yBAAyB,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,OAAO,EACjB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,QAAQ,CAAC;CAOvB"}
|