@rool-dev/sdk 0.11.7 → 0.11.9-dev.38b242c
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 +26 -26
- package/dist/client.d.ts +1 -1
- package/dist/client.js +1 -1
- package/dist/graphql.d.ts +10 -8
- package/dist/graphql.d.ts.map +1 -1
- package/dist/graphql.js +26 -31
- package/dist/graphql.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/space-session.d.ts +88 -106
- package/dist/space-session.d.ts.map +1 -1
- package/dist/space-session.js +242 -354
- package/dist/space-session.js.map +1 -1
- package/dist/space.d.ts +11 -6
- package/dist/space.d.ts.map +1 -1
- package/dist/space.js +16 -30
- package/dist/space.js.map +1 -1
- package/dist/types.d.ts +13 -16
- package/dist/types.d.ts.map +1 -1
- package/dist/webdav.d.ts +2 -0
- package/dist/webdav.d.ts.map +1 -1
- package/dist/webdav.js +2 -0
- package/dist/webdav.js.map +1 -1
- package/package.json +1 -1
package/dist/space-session.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { GraphQLClient } from './graphql.js';
|
|
|
3
3
|
import type { RestClient } from './rest.js';
|
|
4
4
|
import { type RoolWebDAV } from './webdav.js';
|
|
5
5
|
import type { Logger } from './logger.js';
|
|
6
|
-
import type { RoolObject, GetObjectsResult,
|
|
6
|
+
import type { RoolObject, GetObjectsResult, RoolSpaceEvents, RoolUserRole, PromptOptions, UpdateObjectOptions, MoveObjectOptions, SpaceEvent, Interaction, Conversation, ConversationMeta, SpaceSchema, CollectionDef, FieldDef, CollectionOptions } from './types.js';
|
|
7
7
|
export declare function generateEntityId(): string;
|
|
8
8
|
export interface SpaceOperationsConfig {
|
|
9
9
|
id: string;
|
|
@@ -11,14 +11,8 @@ export interface SpaceOperationsConfig {
|
|
|
11
11
|
role: RoolUserRole;
|
|
12
12
|
/** Current user's ID (for identifying own interactions) */
|
|
13
13
|
userId: string;
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
/** Collection schema */
|
|
17
|
-
schema: SpaceSchema;
|
|
18
|
-
/** Space metadata */
|
|
19
|
-
meta: Record<string, unknown>;
|
|
20
|
-
/** Conversations keyed by ID. */
|
|
21
|
-
conversations: Record<string, Conversation>;
|
|
14
|
+
/** Conversation metadata list (from openSpace). Contents are fetched on demand. */
|
|
15
|
+
conversationMeta: ConversationMeta[];
|
|
22
16
|
graphqlClient: GraphQLClient;
|
|
23
17
|
restClient: RestClient;
|
|
24
18
|
webdav: RoolWebDAV;
|
|
@@ -26,13 +20,20 @@ export interface SpaceOperationsConfig {
|
|
|
26
20
|
onClose: () => void;
|
|
27
21
|
}
|
|
28
22
|
/**
|
|
29
|
-
*
|
|
23
|
+
* A thin handle over a space's raw APIs (GraphQL, WebDAV, REST) plus the
|
|
24
|
+
* conversation roster the server pushes over SSE. It holds no schema, metadata,
|
|
25
|
+
* or conversation *content* state — schema and meta live in the filesystem
|
|
26
|
+
* (`/space/<collection>/.schema.json`, `/space/.meta.json`) and are read on
|
|
27
|
+
* demand via {@link readSchema} / {@link readMeta}; conversation contents live
|
|
28
|
+
* on {@link ConversationHandle} objects acquired on demand via
|
|
29
|
+
* {@link conversation}. The lightweight conversation meta list (ids + names +
|
|
30
|
+
* counts) is maintained here from openSpace + SSE. Reactive consumers (e.g. the
|
|
31
|
+
* Svelte wrapper) own any cached presentation of that state; this class just
|
|
32
|
+
* wraps the wire.
|
|
30
33
|
*
|
|
31
|
-
* Objects are addressed by machine path (`/space/.../*.json`). Conversation
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* fetched on demand. Object/file reactivity is exposed at the space level via
|
|
35
|
-
* WebDAV sync notifications.
|
|
34
|
+
* Objects are addressed by machine path (`/space/.../*.json`). Conversation
|
|
35
|
+
* handles carry attribution headers for WebDAV writes. Object/file reactivity
|
|
36
|
+
* is exposed via `filesChanged` / `filesReset` plus WebDAV `syncCollection()`.
|
|
36
37
|
*/
|
|
37
38
|
export declare class SpaceOperations extends EventEmitter<RoolSpaceEvents> {
|
|
38
39
|
protected _id: string;
|
|
@@ -45,11 +46,7 @@ export declare class SpaceOperations extends EventEmitter<RoolSpaceEvents> {
|
|
|
45
46
|
protected _webdav: RoolWebDAV;
|
|
46
47
|
protected _onCloseCallback: () => void;
|
|
47
48
|
protected _logger: Logger;
|
|
48
|
-
protected
|
|
49
|
-
protected _schema: SpaceSchema;
|
|
50
|
-
protected _conversations: Record<string, Conversation>;
|
|
51
|
-
protected _objectStats: Map<string, RoolObjectStat>;
|
|
52
|
-
protected _activeLeaves: Map<string, string>;
|
|
49
|
+
protected _conversationMeta: ConversationMeta[];
|
|
53
50
|
constructor(config: SpaceOperationsConfig);
|
|
54
51
|
/**
|
|
55
52
|
* Handle an event from the shared space subscription.
|
|
@@ -57,44 +54,32 @@ export declare class SpaceOperations extends EventEmitter<RoolSpaceEvents> {
|
|
|
57
54
|
* @internal
|
|
58
55
|
*/
|
|
59
56
|
_handleEvent(event: SpaceEvent): void;
|
|
60
|
-
/**
|
|
61
|
-
* Apply resync data after reconnection. Called by the client, which
|
|
62
|
-
* fetches space data once and applies it.
|
|
63
|
-
* @internal
|
|
64
|
-
*/
|
|
65
|
-
_applyResyncData(data: {
|
|
66
|
-
meta: Record<string, unknown>;
|
|
67
|
-
schema: SpaceSchema;
|
|
68
|
-
objectStats: Record<string, RoolObjectStat>;
|
|
69
|
-
conversations: Record<string, Conversation>;
|
|
70
|
-
}): void;
|
|
71
57
|
get id(): string;
|
|
72
58
|
get name(): string;
|
|
73
59
|
get role(): RoolUserRole;
|
|
74
60
|
/** Current user's ID (for identifying own interactions) */
|
|
75
61
|
get userId(): string;
|
|
76
62
|
get isReadOnly(): boolean;
|
|
77
|
-
/** @internal */
|
|
78
|
-
_getInteractionsImpl(conversationId: string): Interaction[];
|
|
79
|
-
/** @internal */
|
|
80
|
-
_getTreeImpl(conversationId: string): Record<string, Interaction>;
|
|
81
|
-
/** @internal */
|
|
82
|
-
_getActiveLeafImpl(conversationId: string): string | undefined;
|
|
83
|
-
/** @internal */
|
|
84
|
-
_setActiveLeafImpl(interactionId: string, conversationId: string): void;
|
|
85
63
|
/**
|
|
86
|
-
*
|
|
87
|
-
*
|
|
64
|
+
* Lightweight conversation roster (no interaction bodies). Maintained from
|
|
65
|
+
* openSpace + SSE; reactive consumers mirror this list.
|
|
88
66
|
*/
|
|
89
|
-
getConversations():
|
|
67
|
+
getConversations(): ConversationMeta[];
|
|
90
68
|
/**
|
|
91
|
-
* Delete a conversation
|
|
69
|
+
* Delete a conversation. The server confirms via SSE (`conversation_updated`
|
|
70
|
+
* with a null conversation), which updates the roster and any live handle.
|
|
92
71
|
*/
|
|
93
72
|
deleteConversation(conversationId: string): Promise<void>;
|
|
94
73
|
/**
|
|
95
|
-
* Get a handle for a
|
|
74
|
+
* Get a handle for a conversation. The handle holds its own interaction tree
|
|
75
|
+
* + cursor; call {@link ConversationHandle.load} to fetch an existing
|
|
76
|
+
* conversation's contents, or just {@link ConversationHandle.prompt} to start
|
|
77
|
+
* a new one (SSE fills the tree). Consumers feed SSE updates into the handle
|
|
78
|
+
* via {@link ConversationHandle.applyUpdate}.
|
|
96
79
|
*/
|
|
97
80
|
conversation(conversationId: string): ConversationHandle;
|
|
81
|
+
/** @internal — fetch a conversation's full contents from the server. */
|
|
82
|
+
_fetchConversationImpl(conversationId: string): Promise<Conversation | null>;
|
|
98
83
|
/**
|
|
99
84
|
* Close this space session and clean up resources.
|
|
100
85
|
*/
|
|
@@ -121,51 +106,57 @@ export declare class SpaceOperations extends EventEmitter<RoolSpaceEvents> {
|
|
|
121
106
|
getObject(path: string): Promise<RoolObject | undefined>;
|
|
122
107
|
/** Get object JSON files by machine path in bulk. Duplicate paths are fetched once. */
|
|
123
108
|
getObjects(paths: string[]): Promise<GetObjectsResult>;
|
|
124
|
-
/**
|
|
125
|
-
|
|
126
|
-
/** @internal */
|
|
127
|
-
_putObjectImpl(path: string, body: Record<string, unknown>, conversationId: string): Promise<{
|
|
109
|
+
/** Create or replace an object JSON file. */
|
|
110
|
+
putObject(path: string, body: Record<string, unknown>): Promise<{
|
|
128
111
|
object: RoolObject;
|
|
129
112
|
message: string;
|
|
130
113
|
}>;
|
|
131
|
-
/**
|
|
132
|
-
|
|
114
|
+
/** Patch an existing object JSON file. */
|
|
115
|
+
patchObject(path: string, options: UpdateObjectOptions): Promise<{
|
|
133
116
|
object: RoolObject;
|
|
134
117
|
message: string;
|
|
135
118
|
}>;
|
|
136
|
-
/**
|
|
137
|
-
|
|
119
|
+
/** Move (rename/relocate) an object. */
|
|
120
|
+
moveObject(from: string, to: string, options?: MoveObjectOptions): Promise<{
|
|
138
121
|
object: RoolObject;
|
|
139
122
|
message: string;
|
|
140
123
|
}>;
|
|
141
|
-
/**
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
124
|
+
/** Delete object JSON files by path. */
|
|
125
|
+
deleteObjects(paths: string[]): Promise<void>;
|
|
126
|
+
/**
|
|
127
|
+
* Read space metadata from `/space/.meta.json`. Returns `{}` when the space has
|
|
128
|
+
* no metadata file yet. Stateless — callers (e.g. a reactive wrapper) cache and
|
|
129
|
+
* re-fetch this on their own schedule, typically when a file-tree sync reports
|
|
130
|
+
* the node changed.
|
|
131
|
+
*/
|
|
132
|
+
readMeta(): Promise<Record<string, unknown>>;
|
|
133
|
+
/**
|
|
134
|
+
* Write the full metadata blob to `/space/.meta.json`, attributed to a
|
|
135
|
+
* conversation. Callers compose the blob (e.g. read-merge-write) — this does no
|
|
136
|
+
* merging.
|
|
137
|
+
*/
|
|
138
|
+
writeMeta(meta: Record<string, unknown>): Promise<void>;
|
|
139
|
+
/**
|
|
140
|
+
* Read the collection schema: one `/space/<name>/.schema.json` per collection
|
|
141
|
+
* directory under `/space`. Returns `{}` for a space with no collections.
|
|
142
|
+
* Stateless — reactive callers re-fetch when a `.schema.json` node changes.
|
|
143
|
+
*/
|
|
144
|
+
readSchema(): Promise<SpaceSchema>;
|
|
145
|
+
/** Create a new collection (MKCOL + schema JSON). */
|
|
146
|
+
createCollection(name: string, fields: FieldDef[] | CollectionDef, options?: CollectionOptions): Promise<CollectionDef>;
|
|
147
|
+
/** Alter an existing collection's schema JSON. */
|
|
148
|
+
alterCollection(name: string, fields: FieldDef[] | CollectionDef, options?: CollectionOptions): Promise<CollectionDef>;
|
|
149
|
+
/** Drop a collection (DELETE). */
|
|
150
|
+
dropCollection(name: string): Promise<void>;
|
|
153
151
|
/** @internal */
|
|
154
152
|
_setSystemInstructionImpl(instruction: string | null, conversationId: string): Promise<void>;
|
|
155
153
|
/** @internal */
|
|
156
154
|
_renameConversationImpl(name: string, conversationId: string): Promise<void>;
|
|
157
155
|
/** @internal */
|
|
158
|
-
_ensureConversationImpl(conversationId: string): void;
|
|
159
|
-
/** @internal */
|
|
160
|
-
_setMetadataImpl(key: string, value: unknown, conversationId: string): void;
|
|
161
|
-
/** Get a space-level metadata value. */
|
|
162
|
-
getMetadata(key: string): unknown;
|
|
163
|
-
/** Get all space-level metadata. */
|
|
164
|
-
getAllMetadata(): Record<string, unknown>;
|
|
165
|
-
/** @internal */
|
|
166
156
|
_promptImpl(prompt: string, options: PromptOptions | undefined, conversationId: string): Promise<{
|
|
167
157
|
message: string;
|
|
168
158
|
objects: RoolObject[];
|
|
159
|
+
creditsUsed: number;
|
|
169
160
|
}>;
|
|
170
161
|
/**
|
|
171
162
|
* Request that the server stop a specific in-flight interaction by ID.
|
|
@@ -174,8 +165,6 @@ export declare class SpaceOperations extends EventEmitter<RoolSpaceEvents> {
|
|
|
174
165
|
* already finished). Stopping is best-effort — see {@link ConversationHandle.stop}.
|
|
175
166
|
*/
|
|
176
167
|
stopInteraction(interactionId: string): Promise<boolean>;
|
|
177
|
-
/** @internal */
|
|
178
|
-
_stopImpl(conversationId: string): Promise<boolean>;
|
|
179
168
|
/**
|
|
180
169
|
* Fetch an external URL via the server proxy, bypassing CORS restrictions.
|
|
181
170
|
*/
|
|
@@ -185,27 +174,44 @@ export declare class SpaceOperations extends EventEmitter<RoolSpaceEvents> {
|
|
|
185
174
|
body?: unknown;
|
|
186
175
|
}): Promise<Response>;
|
|
187
176
|
private uploadAttachment;
|
|
188
|
-
private ensureCollection;
|
|
189
177
|
/**
|
|
190
178
|
* Handle a space event from the subscription.
|
|
191
179
|
* @internal
|
|
192
180
|
*/
|
|
193
181
|
private applySpaceContentEvent;
|
|
182
|
+
/** Maintain the conversation meta list from an SSE update. */
|
|
183
|
+
private _updateConversationMeta;
|
|
194
184
|
}
|
|
195
185
|
/**
|
|
196
|
-
* A
|
|
186
|
+
* A stateful handle for a single conversation. Holds the interaction tree and a
|
|
187
|
+
* client-side branch cursor (active leaf). Acquired on demand via
|
|
188
|
+
* {@link SpaceOperations.conversation}; a fresh handle each call — the SDK
|
|
189
|
+
* holds no handle map. The handle starts unloaded; call {@link load} to fetch
|
|
190
|
+
* an existing conversation's contents, or just {@link prompt} to start a new
|
|
191
|
+
* one. Feed SSE updates via {@link applyUpdate}.
|
|
197
192
|
*/
|
|
198
193
|
export declare class ConversationHandle {
|
|
199
|
-
/** @internal */
|
|
200
194
|
private _space;
|
|
201
195
|
private _conversationId;
|
|
196
|
+
private _data;
|
|
197
|
+
private _activeLeaf;
|
|
202
198
|
/** @internal */
|
|
203
199
|
constructor(space: SpaceOperations, conversationId: string);
|
|
204
200
|
/** The conversation ID this handle is scoped to. */
|
|
205
201
|
get conversationId(): string;
|
|
206
|
-
/**
|
|
202
|
+
/** Whether the conversation contents have been loaded. */
|
|
203
|
+
get loaded(): boolean;
|
|
204
|
+
/** Fetch the full conversation from the server. Skips the overwrite if SSE
|
|
205
|
+
* already filled the tree during the fetch (SSE is the real-time source of
|
|
206
|
+
* truth). Pass `true` to force a reload — used after a reconnect `reset`,
|
|
207
|
+
* where we may have missed SSE updates while disconnected. */
|
|
208
|
+
load(force?: boolean): Promise<void>;
|
|
209
|
+
/** Apply an SSE conversation update — updates the tree + cursor. Pass `null`
|
|
210
|
+
* for a deletion. */
|
|
211
|
+
applyUpdate(conversation: Conversation | null): void;
|
|
212
|
+
/** Get the active branch as a flat array (root → leaf). Empty until loaded. */
|
|
207
213
|
getInteractions(): Interaction[];
|
|
208
|
-
/** Get the full interaction tree as a record. */
|
|
214
|
+
/** Get the full interaction tree as a record. Empty until loaded. */
|
|
209
215
|
getTree(): Record<string, Interaction>;
|
|
210
216
|
/** Get the active leaf interaction ID, or undefined if empty. */
|
|
211
217
|
get activeLeafId(): string | undefined;
|
|
@@ -219,29 +225,12 @@ export declare class ConversationHandle {
|
|
|
219
225
|
rename(name: string): Promise<void>;
|
|
220
226
|
/** Delete this conversation. */
|
|
221
227
|
delete(): Promise<void>;
|
|
222
|
-
/**
|
|
223
|
-
|
|
224
|
-
object: RoolObject;
|
|
225
|
-
message: string;
|
|
226
|
-
}>;
|
|
227
|
-
/** Patch an existing object JSON file. */
|
|
228
|
-
patchObject(path: string, options: UpdateObjectOptions): Promise<{
|
|
229
|
-
object: RoolObject;
|
|
230
|
-
message: string;
|
|
231
|
-
}>;
|
|
232
|
-
/** Move (rename/relocate) an object. */
|
|
233
|
-
moveObject(from: string, to: string, options?: MoveObjectOptions): Promise<{
|
|
234
|
-
object: RoolObject;
|
|
235
|
-
message: string;
|
|
236
|
-
}>;
|
|
237
|
-
/** Delete object JSON files by path. */
|
|
238
|
-
deleteObjects(paths: string[]): Promise<void>;
|
|
239
|
-
/** @deprecated Use deleteObjects instead. */
|
|
240
|
-
deletePaths(paths: string[]): Promise<void>;
|
|
241
|
-
/** Send a prompt to the AI agent, scoped to this conversation's history. */
|
|
228
|
+
/** Send a prompt to the AI agent, scoped to this conversation's history.
|
|
229
|
+
* Auto-continues from the active leaf unless `parentInteractionId` is set. */
|
|
242
230
|
prompt(text: string, options?: PromptOptions): Promise<{
|
|
243
231
|
message: string;
|
|
244
232
|
objects: RoolObject[];
|
|
233
|
+
creditsUsed: number;
|
|
245
234
|
}>;
|
|
246
235
|
/**
|
|
247
236
|
* Stop this conversation's in-flight interaction, if any. No-op returning
|
|
@@ -249,12 +238,5 @@ export declare class ConversationHandle {
|
|
|
249
238
|
* {@link RoolSpace.stopInteraction}.
|
|
250
239
|
*/
|
|
251
240
|
stop(): Promise<boolean>;
|
|
252
|
-
/** Create a new collection schema. */
|
|
253
|
-
createCollection(name: string, fields: FieldDef[] | CollectionDef, options?: CollectionOptions): Promise<CollectionDef>;
|
|
254
|
-
/** Alter an existing collection schema. */
|
|
255
|
-
alterCollection(name: string, fields: FieldDef[] | CollectionDef, options?: CollectionOptions): Promise<CollectionDef>;
|
|
256
|
-
/** Drop a collection schema. */
|
|
257
|
-
dropCollection(name: string): Promise<void>;
|
|
258
|
-
setMetadata(key: string, value: unknown): void;
|
|
259
241
|
}
|
|
260
242
|
//# sourceMappingURL=space-session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"space-session.d.ts","sourceRoot":"","sources":["../src/space-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"space-session.d.ts","sourceRoot":"","sources":["../src/space-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,QAAQ,EACR,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAOpB,wBAAgB,gBAAgB,IAAI,MAAM,CAMzC;AA0JD,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,eAAgB,SAAQ,YAAY,CAAC,eAAe,CAAC;IAChE,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC;IAC9B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,OAAO,EAAE,OAAO,CAAS;IACnC,SAAS,CAAC,cAAc,EAAE,aAAa,CAAC;IACxC,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC;IAClC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC;IAC9B,SAAS,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IACvC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAI1B,SAAS,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;gBAEpC,MAAM,EAAE,qBAAqB;IAezC;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAIrC,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,YAAY,CAEvB;IAED,2DAA2D;IAC3D,IAAI,MAAM,IAAI,MAAM,CAEnB;IAID,IAAI,UAAU,IAAI,OAAO,CAExB;IAGD;;;OAGG;IACH,gBAAgB,IAAI,gBAAgB,EAAE;IAItC;;;OAGG;IACG,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D;;;;;;OAMG;IACH,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,kBAAkB;IAIxD,wEAAwE;IAClE,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAIlF;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;OAEG;IACG,UAAU,CAAC,MAAM,GAAE,MAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAO5D,iDAAiD;IAC3C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAKjC,iDAAiD;IAC3C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAKjC,uDAAuD;IACjD,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAK9B,mDAAmD;IAC7C,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAK9B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAMnC,OAAO,CAAC,UAAU;YAMJ,UAAU;IAaxB,qFAAqF;IAC/E,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAI9D,uFAAuF;IACjF,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoB5D,6CAA6C;IACvC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAoB9G,0CAA0C;IACpC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAyB/G,wCAAwC;IAClC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IA0BzH,wCAAwC;IAClC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBnD;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAUlD;;;;OAIG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7D;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC;IAoBxC,qDAAqD;IAC/C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAW7H,kDAAkD;IAC5C,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAU5H,kCAAkC;IAC5B,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD,gBAAgB;IACV,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlG,gBAAgB;IACV,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlF,gBAAgB;IACV,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,SAAS,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAkDvK;;;;;OAKG;IACG,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9D;;OAEG;IACG,KAAK,CACT,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3E,OAAO,CAAC,QAAQ,CAAC;YAIN,gBAAgB;IAc9B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAgB9B,8DAA8D;IAC9D,OAAO,CAAC,uBAAuB;CA0BhC;AAED;;;;;;;GAOG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,WAAW,CAAqB;IAExC,gBAAgB;gBACJ,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM;IAK1D,oDAAoD;IACpD,IAAI,cAAc,IAAI,MAAM,CAAiC;IAE7D,0DAA0D;IAC1D,IAAI,MAAM,IAAI,OAAO,CAAgC;IAErD;;;mEAG+D;IACzD,IAAI,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxC;0BACsB;IACtB,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI;IAsBpD,+EAA+E;IAC/E,eAAe,IAAI,WAAW,EAAE;IAOhC,qEAAqE;IACrE,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;IAKtC,iEAAiE;IACjE,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAIrC;IAED,+DAA+D;IAC/D,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAO1C,wDAAwD;IACxD,oBAAoB,IAAI,MAAM,GAAG,SAAS;IAI1C,4EAA4E;IACtE,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrE,gCAAgC;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,gCAAgC;IAC1B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B;mFAC+E;IACzE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAU7H;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;CAO/B"}
|