@mastra/mssql 1.0.0-beta.6 → 1.0.0-beta.8
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/CHANGELOG.md +256 -0
- package/dist/index.cjs +2446 -2109
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2446 -2109
- package/dist/index.js.map +1 -1
- package/dist/storage/{domains/operations → db}/index.d.ts +73 -15
- package/dist/storage/db/index.d.ts.map +1 -0
- package/dist/storage/db/utils.d.ts +21 -0
- package/dist/storage/db/utils.d.ts.map +1 -0
- package/dist/storage/domains/memory/index.d.ts +25 -10
- package/dist/storage/domains/memory/index.d.ts.map +1 -1
- package/dist/storage/domains/observability/index.d.ts +32 -30
- package/dist/storage/domains/observability/index.d.ts.map +1 -1
- package/dist/storage/domains/scores/index.d.ts +29 -25
- package/dist/storage/domains/scores/index.d.ts.map +1 -1
- package/dist/storage/domains/utils.d.ts +2 -2
- package/dist/storage/domains/utils.d.ts.map +1 -1
- package/dist/storage/domains/workflows/index.d.ts +27 -16
- package/dist/storage/domains/workflows/index.d.ts.map +1 -1
- package/dist/storage/index.d.ts +89 -208
- package/dist/storage/index.d.ts.map +1 -1
- package/package.json +3 -4
- package/dist/storage/domains/operations/index.d.ts.map +0 -1
package/dist/storage/index.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import type { MastraMessageContentV2, MastraDBMessage } from '@mastra/core/agent';
|
|
2
|
-
import type { SaveScorePayload, ScoreRowData, ScoringSource } from '@mastra/core/evals';
|
|
3
|
-
import type { StorageThreadType } from '@mastra/core/memory';
|
|
4
1
|
import { MastraStorage } from '@mastra/core/storage';
|
|
5
|
-
|
|
6
|
-
content: MastraMessageContentV2;
|
|
7
|
-
};
|
|
8
|
-
import type { PaginationInfo, StorageColumn, StorageResourceType, TABLE_NAMES, WorkflowRun, WorkflowRuns, StoragePagination, StorageDomains, SpanRecord, TraceRecord, TracesPaginatedArg, UpdateSpanRecord, CreateIndexOptions, IndexInfo, StorageIndexStats, StorageListWorkflowRunsInput } from '@mastra/core/storage';
|
|
9
|
-
import type { StepResult, WorkflowRunState } from '@mastra/core/workflows';
|
|
2
|
+
import type { StorageDomains, CreateIndexOptions, StorageSupports } from '@mastra/core/storage';
|
|
10
3
|
import sql from 'mssql';
|
|
4
|
+
/**
|
|
5
|
+
* MSSQL configuration type.
|
|
6
|
+
*
|
|
7
|
+
* Accepts either:
|
|
8
|
+
* - A pre-configured connection pool: `{ id, pool, schemaName? }`
|
|
9
|
+
* - Connection string: `{ id, connectionString, ... }`
|
|
10
|
+
* - Server/port config: `{ id, server, port, database, user, password, ... }`
|
|
11
|
+
*/
|
|
11
12
|
export type MSSQLConfigType = {
|
|
12
13
|
id: string;
|
|
13
14
|
schemaName?: string;
|
|
@@ -31,7 +32,61 @@ export type MSSQLConfigType = {
|
|
|
31
32
|
* // No auto-init, tables must already exist
|
|
32
33
|
*/
|
|
33
34
|
disableInit?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* When true, default indexes will not be created during initialization.
|
|
37
|
+
* This is useful when:
|
|
38
|
+
* 1. You want to manage indexes separately or use custom indexes only
|
|
39
|
+
* 2. Default indexes don't match your query patterns
|
|
40
|
+
* 3. You want to reduce initialization time in development
|
|
41
|
+
*
|
|
42
|
+
* @default false
|
|
43
|
+
*/
|
|
44
|
+
skipDefaultIndexes?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Custom indexes to create during initialization.
|
|
47
|
+
* These indexes are created in addition to default indexes (unless skipDefaultIndexes is true).
|
|
48
|
+
*
|
|
49
|
+
* Each index must specify which table it belongs to. The store will route each index
|
|
50
|
+
* to the appropriate domain based on the table name.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* const store = new MSSQLStore({
|
|
55
|
+
* connectionString: '...',
|
|
56
|
+
* indexes: [
|
|
57
|
+
* { name: 'my_threads_type_idx', table: 'mastra_threads', columns: ['JSON_VALUE(metadata, \'$.type\')'] },
|
|
58
|
+
* ],
|
|
59
|
+
* });
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
indexes?: CreateIndexOptions[];
|
|
34
63
|
} & ({
|
|
64
|
+
/**
|
|
65
|
+
* Pre-configured mssql ConnectionPool.
|
|
66
|
+
* Use this when you need to configure the pool before initialization,
|
|
67
|
+
* e.g., to add pool listeners or set connection-level settings.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```typescript
|
|
71
|
+
* import sql from 'mssql';
|
|
72
|
+
*
|
|
73
|
+
* const pool = new sql.ConnectionPool({
|
|
74
|
+
* server: 'localhost',
|
|
75
|
+
* database: 'mydb',
|
|
76
|
+
* user: 'user',
|
|
77
|
+
* password: 'password',
|
|
78
|
+
* });
|
|
79
|
+
*
|
|
80
|
+
* // Custom setup before using
|
|
81
|
+
* pool.on('connect', () => {
|
|
82
|
+
* console.log('Pool connected');
|
|
83
|
+
* });
|
|
84
|
+
*
|
|
85
|
+
* const store = new MSSQLStore({ id: 'my-store', pool });
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
pool: sql.ConnectionPool;
|
|
89
|
+
} | {
|
|
35
90
|
server: string;
|
|
36
91
|
port: number;
|
|
37
92
|
database: string;
|
|
@@ -42,6 +97,28 @@ export type MSSQLConfigType = {
|
|
|
42
97
|
connectionString: string;
|
|
43
98
|
});
|
|
44
99
|
export type MSSQLConfig = MSSQLConfigType;
|
|
100
|
+
/**
|
|
101
|
+
* MSSQL storage adapter for Mastra.
|
|
102
|
+
*
|
|
103
|
+
* Access domain-specific storage via `getStore()`:
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```typescript
|
|
107
|
+
* const storage = new MSSQLStore({ id: 'my-store', connectionString: '...' });
|
|
108
|
+
*
|
|
109
|
+
* // Access memory domain
|
|
110
|
+
* const memory = await storage.getStore('memory');
|
|
111
|
+
* await memory?.saveThread({ thread });
|
|
112
|
+
*
|
|
113
|
+
* // Access workflows domain
|
|
114
|
+
* const workflows = await storage.getStore('workflows');
|
|
115
|
+
* await workflows?.persistWorkflowSnapshot({ workflowName, runId, snapshot });
|
|
116
|
+
*
|
|
117
|
+
* // Access observability domain
|
|
118
|
+
* const observability = await storage.getStore('observability');
|
|
119
|
+
* await observability?.createSpan(span);
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
45
122
|
export declare class MSSQLStore extends MastraStorage {
|
|
46
123
|
pool: sql.ConnectionPool;
|
|
47
124
|
private schema?;
|
|
@@ -50,208 +127,12 @@ export declare class MSSQLStore extends MastraStorage {
|
|
|
50
127
|
constructor(config: MSSQLConfigType);
|
|
51
128
|
init(): Promise<void>;
|
|
52
129
|
private _performInitializationAndStore;
|
|
53
|
-
get supports():
|
|
54
|
-
selectByIncludeResourceScope: boolean;
|
|
55
|
-
resourceWorkingMemory: boolean;
|
|
56
|
-
hasColumn: boolean;
|
|
57
|
-
createTable: boolean;
|
|
58
|
-
deleteMessages: boolean;
|
|
59
|
-
listScoresBySpan: boolean;
|
|
60
|
-
observabilityInstance: boolean;
|
|
61
|
-
indexManagement: boolean;
|
|
62
|
-
};
|
|
63
|
-
createTable({ tableName, schema, }: {
|
|
64
|
-
tableName: TABLE_NAMES;
|
|
65
|
-
schema: Record<string, StorageColumn>;
|
|
66
|
-
}): Promise<void>;
|
|
67
|
-
alterTable({ tableName, schema, ifNotExists, }: {
|
|
68
|
-
tableName: TABLE_NAMES;
|
|
69
|
-
schema: Record<string, StorageColumn>;
|
|
70
|
-
ifNotExists: string[];
|
|
71
|
-
}): Promise<void>;
|
|
72
|
-
clearTable({ tableName }: {
|
|
73
|
-
tableName: TABLE_NAMES;
|
|
74
|
-
}): Promise<void>;
|
|
75
|
-
dropTable({ tableName }: {
|
|
76
|
-
tableName: TABLE_NAMES;
|
|
77
|
-
}): Promise<void>;
|
|
78
|
-
insert({ tableName, record }: {
|
|
79
|
-
tableName: TABLE_NAMES;
|
|
80
|
-
record: Record<string, any>;
|
|
81
|
-
}): Promise<void>;
|
|
82
|
-
batchInsert({ tableName, records }: {
|
|
83
|
-
tableName: TABLE_NAMES;
|
|
84
|
-
records: Record<string, any>[];
|
|
85
|
-
}): Promise<void>;
|
|
86
|
-
load<R>({ tableName, keys }: {
|
|
87
|
-
tableName: TABLE_NAMES;
|
|
88
|
-
keys: Record<string, string>;
|
|
89
|
-
}): Promise<R | null>;
|
|
130
|
+
get supports(): StorageSupports;
|
|
90
131
|
/**
|
|
91
|
-
*
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
threadId: string;
|
|
95
|
-
}): Promise<StorageThreadType | null>;
|
|
96
|
-
saveThread({ thread }: {
|
|
97
|
-
thread: StorageThreadType;
|
|
98
|
-
}): Promise<StorageThreadType>;
|
|
99
|
-
updateThread({ id, title, metadata, }: {
|
|
100
|
-
id: string;
|
|
101
|
-
title: string;
|
|
102
|
-
metadata: Record<string, unknown>;
|
|
103
|
-
}): Promise<StorageThreadType>;
|
|
104
|
-
deleteThread({ threadId }: {
|
|
105
|
-
threadId: string;
|
|
106
|
-
}): Promise<void>;
|
|
107
|
-
listMessagesById({ messageIds }: {
|
|
108
|
-
messageIds: string[];
|
|
109
|
-
}): Promise<{
|
|
110
|
-
messages: MastraDBMessage[];
|
|
111
|
-
}>;
|
|
112
|
-
saveMessages(args: {
|
|
113
|
-
messages: MastraDBMessage[];
|
|
114
|
-
}): Promise<{
|
|
115
|
-
messages: MastraDBMessage[];
|
|
116
|
-
}>;
|
|
117
|
-
updateMessages({ messages, }: {
|
|
118
|
-
messages: (Partial<Omit<MastraDBMessage, 'createdAt'>> & {
|
|
119
|
-
id: string;
|
|
120
|
-
content?: {
|
|
121
|
-
metadata?: MastraMessageContentV2['metadata'];
|
|
122
|
-
content?: MastraMessageContentV2['content'];
|
|
123
|
-
};
|
|
124
|
-
})[];
|
|
125
|
-
}): Promise<MastraDBMessage[]>;
|
|
126
|
-
deleteMessages(messageIds: string[]): Promise<void>;
|
|
127
|
-
getResourceById({ resourceId }: {
|
|
128
|
-
resourceId: string;
|
|
129
|
-
}): Promise<StorageResourceType | null>;
|
|
130
|
-
saveResource({ resource }: {
|
|
131
|
-
resource: StorageResourceType;
|
|
132
|
-
}): Promise<StorageResourceType>;
|
|
133
|
-
updateResource({ resourceId, workingMemory, metadata, }: {
|
|
134
|
-
resourceId: string;
|
|
135
|
-
workingMemory?: string;
|
|
136
|
-
metadata?: Record<string, unknown>;
|
|
137
|
-
}): Promise<StorageResourceType>;
|
|
138
|
-
/**
|
|
139
|
-
* Workflows
|
|
132
|
+
* Closes the MSSQL connection pool.
|
|
133
|
+
*
|
|
134
|
+
* This will close the connection pool, including pre-configured pools.
|
|
140
135
|
*/
|
|
141
|
-
updateWorkflowResults({ workflowName, runId, stepId, result, requestContext, }: {
|
|
142
|
-
workflowName: string;
|
|
143
|
-
runId: string;
|
|
144
|
-
stepId: string;
|
|
145
|
-
result: StepResult<any, any, any, any>;
|
|
146
|
-
requestContext: Record<string, any>;
|
|
147
|
-
}): Promise<Record<string, StepResult<any, any, any, any>>>;
|
|
148
|
-
updateWorkflowState({ workflowName, runId, opts, }: {
|
|
149
|
-
workflowName: string;
|
|
150
|
-
runId: string;
|
|
151
|
-
opts: {
|
|
152
|
-
status: string;
|
|
153
|
-
result?: StepResult<any, any, any, any>;
|
|
154
|
-
error?: string;
|
|
155
|
-
suspendedPaths?: Record<string, number[]>;
|
|
156
|
-
waitingPaths?: Record<string, number[]>;
|
|
157
|
-
};
|
|
158
|
-
}): Promise<WorkflowRunState | undefined>;
|
|
159
|
-
persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, }: {
|
|
160
|
-
workflowName: string;
|
|
161
|
-
runId: string;
|
|
162
|
-
resourceId?: string;
|
|
163
|
-
snapshot: WorkflowRunState;
|
|
164
|
-
}): Promise<void>;
|
|
165
|
-
loadWorkflowSnapshot({ workflowName, runId, }: {
|
|
166
|
-
workflowName: string;
|
|
167
|
-
runId: string;
|
|
168
|
-
}): Promise<WorkflowRunState | null>;
|
|
169
|
-
listWorkflowRuns(args?: StorageListWorkflowRunsInput): Promise<WorkflowRuns>;
|
|
170
|
-
getWorkflowRunById({ runId, workflowName, }: {
|
|
171
|
-
runId: string;
|
|
172
|
-
workflowName?: string;
|
|
173
|
-
}): Promise<WorkflowRun | null>;
|
|
174
|
-
deleteWorkflowRunById({ runId, workflowName }: {
|
|
175
|
-
runId: string;
|
|
176
|
-
workflowName: string;
|
|
177
|
-
}): Promise<void>;
|
|
178
136
|
close(): Promise<void>;
|
|
179
|
-
/**
|
|
180
|
-
* Index Management
|
|
181
|
-
*/
|
|
182
|
-
createIndex(options: CreateIndexOptions): Promise<void>;
|
|
183
|
-
listIndexes(tableName?: string): Promise<IndexInfo[]>;
|
|
184
|
-
describeIndex(indexName: string): Promise<StorageIndexStats>;
|
|
185
|
-
dropIndex(indexName: string): Promise<void>;
|
|
186
|
-
/**
|
|
187
|
-
* Tracing / Observability
|
|
188
|
-
*/
|
|
189
|
-
private getObservabilityStore;
|
|
190
|
-
createSpan(span: SpanRecord): Promise<void>;
|
|
191
|
-
updateSpan({ spanId, traceId, updates, }: {
|
|
192
|
-
spanId: string;
|
|
193
|
-
traceId: string;
|
|
194
|
-
updates: Partial<UpdateSpanRecord>;
|
|
195
|
-
}): Promise<void>;
|
|
196
|
-
getTrace(traceId: string): Promise<TraceRecord | null>;
|
|
197
|
-
getTracesPaginated(args: TracesPaginatedArg): Promise<{
|
|
198
|
-
pagination: PaginationInfo;
|
|
199
|
-
spans: SpanRecord[];
|
|
200
|
-
}>;
|
|
201
|
-
batchCreateSpans(args: {
|
|
202
|
-
records: SpanRecord[];
|
|
203
|
-
}): Promise<void>;
|
|
204
|
-
batchUpdateSpans(args: {
|
|
205
|
-
records: {
|
|
206
|
-
traceId: string;
|
|
207
|
-
spanId: string;
|
|
208
|
-
updates: Partial<UpdateSpanRecord>;
|
|
209
|
-
}[];
|
|
210
|
-
}): Promise<void>;
|
|
211
|
-
batchDeleteTraces(args: {
|
|
212
|
-
traceIds: string[];
|
|
213
|
-
}): Promise<void>;
|
|
214
|
-
/**
|
|
215
|
-
* Scorers
|
|
216
|
-
*/
|
|
217
|
-
getScoreById({ id: _id }: {
|
|
218
|
-
id: string;
|
|
219
|
-
}): Promise<ScoreRowData | null>;
|
|
220
|
-
listScoresByScorerId({ scorerId: _scorerId, pagination: _pagination, entityId: _entityId, entityType: _entityType, source: _source, }: {
|
|
221
|
-
scorerId: string;
|
|
222
|
-
pagination: StoragePagination;
|
|
223
|
-
entityId?: string;
|
|
224
|
-
entityType?: string;
|
|
225
|
-
source?: ScoringSource;
|
|
226
|
-
}): Promise<{
|
|
227
|
-
pagination: PaginationInfo;
|
|
228
|
-
scores: ScoreRowData[];
|
|
229
|
-
}>;
|
|
230
|
-
saveScore(score: SaveScorePayload): Promise<{
|
|
231
|
-
score: ScoreRowData;
|
|
232
|
-
}>;
|
|
233
|
-
listScoresByRunId({ runId: _runId, pagination: _pagination, }: {
|
|
234
|
-
runId: string;
|
|
235
|
-
pagination: StoragePagination;
|
|
236
|
-
}): Promise<{
|
|
237
|
-
pagination: PaginationInfo;
|
|
238
|
-
scores: ScoreRowData[];
|
|
239
|
-
}>;
|
|
240
|
-
listScoresByEntityId({ entityId: _entityId, entityType: _entityType, pagination: _pagination, }: {
|
|
241
|
-
pagination: StoragePagination;
|
|
242
|
-
entityId: string;
|
|
243
|
-
entityType: string;
|
|
244
|
-
}): Promise<{
|
|
245
|
-
pagination: PaginationInfo;
|
|
246
|
-
scores: ScoreRowData[];
|
|
247
|
-
}>;
|
|
248
|
-
listScoresBySpan({ traceId, spanId, pagination: _pagination, }: {
|
|
249
|
-
traceId: string;
|
|
250
|
-
spanId: string;
|
|
251
|
-
pagination: StoragePagination;
|
|
252
|
-
}): Promise<{
|
|
253
|
-
pagination: PaginationInfo;
|
|
254
|
-
scores: ScoreRowData[];
|
|
255
|
-
}>;
|
|
256
137
|
}
|
|
257
138
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEhG,OAAO,GAAG,MAAM,OAAO,CAAC;AAMxB;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAChC,GAAG,CACA;IACE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC;CAC1B,GACD;IACE,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC;CACxB,GACD;IACE,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CACJ,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC;AAS1C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,UAAW,SAAQ,aAAa;IACpC,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC;IAChC,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,WAAW,CAAiC;IACpD,MAAM,EAAE,cAAc,CAAC;gBAEX,MAAM,EAAE,eAAe;IAmE7B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBb,8BAA8B;IAS5C,IAAW,QAAQ,IAAI,eAAe,CAYrC;IAED;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/mssql",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.8",
|
|
4
4
|
"description": "MSSQL provider for Mastra - db storage capabilities",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -23,7 +23,6 @@
|
|
|
23
23
|
"mssql": "^11.0.1"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@microsoft/api-extractor": "^7.52.8",
|
|
27
26
|
"@types/mssql": "^9.1.8",
|
|
28
27
|
"@types/node": "22.13.17",
|
|
29
28
|
"@vitest/coverage-v8": "4.0.12",
|
|
@@ -33,9 +32,9 @@
|
|
|
33
32
|
"typescript": "^5.8.3",
|
|
34
33
|
"vitest": "4.0.12",
|
|
35
34
|
"@internal/lint": "0.0.53",
|
|
36
|
-
"@internal/storage-test-utils": "0.0.49",
|
|
37
35
|
"@internal/types-builder": "0.0.28",
|
|
38
|
-
"@mastra/core": "1.0.0-beta.
|
|
36
|
+
"@mastra/core": "1.0.0-beta.15",
|
|
37
|
+
"@internal/storage-test-utils": "0.0.49"
|
|
39
38
|
},
|
|
40
39
|
"peerDependencies": {
|
|
41
40
|
"@mastra/core": ">=1.0.0-0 <2.0.0-0"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/operations/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,EAQhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,GAAG,MAAM,OAAO,CAAC;AAIxB,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;AAEjE,qBAAa,oBAAqB,SAAQ,eAAe;IAChD,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,mBAAmB,CAAkC;IAE7D,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,UAAQ,EAAE,eAAe,UAAQ,GAAG,MAAM;gBAmC5F,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;QAAE,IAAI,EAAE,GAAG,CAAC,cAAc,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAM7E,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAalD,WAAW;IA2CnB,MAAM,CAAC,EACX,SAAS,EACT,MAAM,EACN,WAAW,GACZ,EAAE;QACD,SAAS,EAAE,WAAW,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5B,WAAW,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCX,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B1E,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM;IAaxD,WAAW,CAAC,EAChB,SAAS,EACT,MAAM,GACP,EAAE;QACD,SAAS,EAAE,WAAW,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;KACvC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoGjB;;;;;OAKG;IACG,UAAU,CAAC,EACf,SAAS,EACT,MAAM,EACN,WAAW,GACZ,EAAE;QACD,SAAS,EAAE,WAAW,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACtC,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqDX,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IA0CtG,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB9G,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBzE;;OAEG;IACH,OAAO,CAAC,YAAY;IA4CpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAwBpB;;OAEG;IACG,MAAM,CAAC,EACX,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,WAAW,GACZ,EAAE;QACD,SAAS,EAAE,WAAW,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,WAAW,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC;IA0EjB;;OAEG;IACG,WAAW,CAAC,EAChB,SAAS,EACT,OAAO,GACR,EAAE;QACD,SAAS,EAAE,WAAW,CAAC;QACvB,OAAO,EAAE,KAAK,CAAC;YACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;SAC3B,CAAC,CAAC;KACJ,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BjB;;OAEG;IACG,WAAW,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqD9G;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqE7D;;OAEG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2DjD;;OAEG;IACG,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IA2F3D;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgFlE;;;;OAIG;IACH,SAAS,CAAC,4BAA4B,IAAI,kBAAkB,EAAE;IAiD9D;;;OAGG;IACG,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;CAuB9C"}
|